<?php
require_once __DIR__ . '/config.php';

date_default_timezone_set('America/Argentina/Buenos_Aires');

$pdo    = db();
$enviar = isset($_GET['enviar']) ? (int)$_GET['enviar'] : 0;

// ----------------------
// Saludo según la hora
// ----------------------
function saludoMomento() {
    $h = (int)date('G'); // 0..23

    if ($h >= 6 && $h < 12) {
        return 'buenos días';
    } elseif ($h >= 12 && $h < 20) {
        return 'buenas tardes';
    } else {
        return 'buenas noches';
    }
}

$saludo = saludoMomento();

// ----------------------
// Traer contactos pendientes
// ----------------------
// OJO: la tabla se llama `contactos.ofi` (con punto)
$sql = "
    SELECT id, numero, nombre
    FROM `contactos.ofi`
    WHERE flag_color IS NULL OR flag_color = ''
    ORDER BY id DESC
    LIMIT 100
";
$stmt      = $pdo->prepare($sql);
$stmt->execute();
$contactos = $stmt->fetchAll();

?>
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="utf-8" />
    <title>Cargar contactos.ofi al BOT</title>
    <style>
        body { font-family: Arial, Helvetica, sans-serif; font-size: 14px; }
        table { border-collapse: collapse; width: 100%; max-width: 1200px; }
        th, td { border: 1px solid #ccc; padding: 4px 6px; }
        th { background: #f0f0f0; }
        .debug { background: #ffffcc; padding: 10px; margin: 10px 0; }
        pre { background: #111; color: #eee; padding: 10px; overflow-x: auto; }
    </style>
</head>
<body>
<h2>Cargar contactos.ofi en enviador (BOT nodo11)</h2>

<p><strong>Saludo actual según hora Argentina:</strong> <?php echo htmlspecialchars($saludo); ?></p>

<?php if (!$contactos): ?>

    <p>No hay contactos pendientes (flag_color vacío).</p>

<?php else: ?>

    <?php if (!$enviar): ?>
        <!-- VISTA PREVIA -->
        <div class="debug">
            <p><strong>Vista previa:</strong> se muestran hasta 100 contactos de la tabla
                <code>contactos.ofi</code> con <code>flag_color</code> vacío o NULL.</p>
            <p>Cuando hagas clic en <strong>"ENVIAR AHORA POR BOT"</strong> se llamará a
               <code>insert_curl_enviados.php</code> para cada uno y se pondrá
               <code>flag_color = 'enviado'</code>.</p>
        </div>

        <table>
            <tr>
                <th>ID</th>
                <th>Número</th>
                <th>Nombre</th>
                <th>Mensaje que se enviará</th>
            </tr>
            <?php foreach ($contactos as $c): ?>
                <?php
                    $id     = (int)$c['id'];
                    $numero = trim($c['numero']);
                    $nombre = trim($c['nombre']);

                    if ($nombre !== '') {
                        $textoInicio = "Hola {$nombre}, {$saludo}. ";
                    } else {
                        $textoInicio = "Hola, {$saludo}. ";
                    }

                    $mensaje = $textoInicio
                        . "Te contactaba para ver si querías continuar con el trabajo, "
                        . "te puedo hacer un 10% de descuento si te interesa. "
                        . "Gracias, que tengas {$saludo}.";
                ?>
                <tr>
                    <td><?php echo $id; ?></td>
                    <td><?php echo htmlspecialchars($numero); ?></td>
                    <td><?php echo htmlspecialchars($nombre); ?></td>
                    <td><?php echo htmlspecialchars($mensaje); ?></td>
                </tr>
            <?php endforeach; ?>
        </table>

        <form method="get" action="">
            <p>
                <input type="hidden" name="enviar" value="1" />
                <button type="submit">
                    ENVIAR AHORA POR BOT (estos <?php echo count($contactos); ?> contactos)
                </button>
            </p>
        </form>

    <?php else: ?>
        <!-- ENVÍO REAL CON DEBUG -->
        <div class="debug">
            <p><strong>Envío en curso:</strong> se están pasando los contactos a
                <code>insert_curl_enviados.php</code> y marcando
                <code>flag_color = 'enviado'</code> si todo sale bien.</p>
        </div>

        <pre>
<?php
        $baseUrl      = 'https://nodo11.radiosnet.com.ar/whasapp_ofi/insert_curl_enviados.php';
        $enviados_ok  = 0;
        $errores      = 0;

        foreach ($contactos as $c) {
            $id     = (int)$c['id'];
            $numero = trim($c['numero']);
            $nombre = trim($c['nombre']);

            if ($nombre !== '') {
                $textoInicio = "Hola {$nombre}, {$saludo}. ";
            } else {
                $textoInicio = "Hola, {$saludo}. ";
            }

            $mensaje = $textoInicio
                . "Te contactaba para ver si querías continuar con el trabajo, "
                . "te puedo hacer un 10% de descuento si te interesa. "
                . "Gracias, que tengas {$saludo}.";

            // Construir URL de insert
            $url = $baseUrl . '?' . http_build_query([
                'numero'  => $numero,
                'mensaje' => $mensaje
            ]);

            echo "ID {$id} ({$numero}) -> URL: {$url}\n";

            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            $response = curl_exec($ch);
            $err      = curl_error($ch);
            curl_close($ch);

            if ($err) {
                $errores++;
                echo "   ERROR CURL: {$err}\n\n";
                continue;
            }

            echo "   Respuesta insert_curl_enviados: {$response}\n";

            $json = @json_decode($response, true);

            if (is_array($json) && isset($json['status']) && $json['status'] === 'ok') {
                $enviados_ok++;

                // Marcar como enviado en contactos.ofi
                $upd = $pdo->prepare("UPDATE `contactos.ofi` SET flag_color = 'enviado' WHERE id = :id");
                $upd->execute([':id' => $id]);

                echo "   Marcado en contactos.ofi.flag_color = 'enviado'\n\n";
            } else {
                $errores++;
                echo "   ERROR: respuesta inesperada del insert (no status=ok)\n\n";
            }
        }

        echo "Resumen:\n";
        echo "Enviados OK: {$enviados_ok}\n";
        echo "Errores / respuestas inválidas: {$errores}\n";
?>
        </pre>

        <p><a href="cargar_contactos_ofi_enviador.php">Volver a vista previa</a></p>

    <?php endif; // !$enviar ?>

<?php endif; // !$contactos ?>

</body>
</html>
