<?php
/**
 * Actualizar token de WhatsApp en la tabla system_config
 * Uso: php update_whatsapp_token.php "TOKEN"
 */

require_once __DIR__ . '/../config/config_enhanced.php';
require_once __DIR__ . '/../config/config.php';

if (PHP_SAPI !== 'cli') {
    echo "Use CLI: php update_whatsapp_token.php \"TOKEN\"\n";
    exit(1);
}

$token = $argv[1] ?? null;
if (!$token) {
    echo "Token requerido como parámetro.\n";
    exit(1);
}

try {
    $db = Database::getInstance();
    $stmt = $db->query("INSERT INTO system_config (config_key, config_value) VALUES (?, ?) ON DUPLICATE KEY UPDATE config_value = VALUES(config_value)", ['whatsapp_token', $token]);
    echo "Token actualizado en BD (key=whatsapp_token).\n";
} catch (Exception $e) {
    echo "Error actualizando token: " . $e->getMessage() . "\n";
    exit(1);
}

// Opcional: escribir también en .env para conveniencia (no requerido)
$envFile = dirname(__DIR__) . '/.env';
if (is_writable($envFile)) {
    $contents = file_get_contents($envFile);
    if (strpos($contents, 'WHATSAPP_TOKEN=') !== false) {
        $new = preg_replace('/^WHATSAPP_TOKEN=.*$/m', 'WHATSAPP_TOKEN="' . addcslashes($token, '"') . '"', $contents);
    } else {
        $new = $contents . "\nWHATSAPP_TOKEN=\"" . addcslashes($token, '"') . "\"\n";
    }
    file_put_contents($envFile, $new);
    echo ".env actualizado con nuevo token (si existe y es escribible).\n";
} else {
    echo ".env no escribible o no existe, omitiendo actualización de .env.\n";
}

exit(0);
