<?php
/**
 * Migración: claves del servidor Evolution GLOBAL en config_sistema (grupo
 * whatsapp). Con ellas el CRM crea/administra instancias y muestra el QR
 * directo desde la pantalla de Instancias. Vacías = solo registro manual.
 *
 * Uso: C:\wamp\bin\php\php5.5.12\php.exe database\migracion_evolution_global.php
 */
$env = include __DIR__ . '/../.env.php';
$pdo = new PDO(
    'mysql:host=' . $env['DB_HOST'] . ';dbname=' . $env['DB_NAME'] . ';charset=utf8mb4',
    $env['DB_USER'], $env['DB_PASS'],
    array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)
);

// URL por defecto: la del servidor ya usado por las instancias existentes
$urlDefecto = '';
$fila = $pdo->query("SELECT api_url FROM whatsapp_instancias ORDER BY id ASC LIMIT 1")->fetch(PDO::FETCH_ASSOC);
if ($fila) $urlDefecto = rtrim($fila['api_url'], '/');

$claves = array(
    array('EVOLUTION_URL_GLOBAL', $urlDefecto, 'URL base del servidor Evolution API (para crear instancias desde el CRM)'),
    array('EVOLUTION_APIKEY_GLOBAL', '', 'API key GLOBAL del servidor Evolution (AUTHENTICATION_API_KEY); vacía = creación desde el CRM desactivada'),
);
$stmtExiste = $pdo->prepare("SELECT id FROM config_sistema WHERE clave = ?");
$stmtInsert = $pdo->prepare("INSERT INTO config_sistema (clave, valor, descripcion, grupo) VALUES (?, ?, ?, 'whatsapp')");
foreach ($claves as $c) {
    $stmtExiste->execute(array($c[0]));
    if ($stmtExiste->fetch()) {
        echo "Clave {$c[0]} ya existe.\n";
    } else {
        $stmtInsert->execute($c);
        echo "Clave {$c[0]} sembrada" . ($c[1] !== '' ? " ({$c[1]})" : '') . ".\n";
    }
}
echo "Migración completada.\n";
