"; echo "💾 Guardar Configuración WhatsApp"; echo ""; echo "

💾 GUARDADOR DE CONFIGURACIÓN WHATSAPP

"; // Cargar configuración try { require_once 'config/config.php'; } catch (Exception $e) { echo "
❌ Error cargando configuración: " . htmlspecialchars($e->getMessage()) . "
"; exit; } // Procesar formulario if ($_POST) { echo "
"; echo "

💾 GUARDANDO EN BASE DE DATOS...

"; $config_updates = [ 'whatsapp_token' => trim($_POST['whatsapp_token'] ?? ''), 'whatsapp_phone_number_id' => trim($_POST['phone_id'] ?? ''), 'webhook_verify_token' => trim($_POST['webhook_token'] ?? ''), 'whatsapp_api_url' => trim($_POST['api_url'] ?? 'https://graph.facebook.com/v22.0/') ]; try { $pdo = new PDO( "mysql:host=" . DB_HOST . ";port=" . DB_PORT . ";dbname=" . DB_NAME . ";charset=" . DB_CHARSET, DB_USER, DB_PASS, [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC ] ); $updated = 0; $inserted = 0; foreach ($config_updates as $key => $value) { if (empty($value)) continue; // Verificar si ya existe $stmt = $pdo->prepare("SELECT id FROM system_config WHERE config_key = ?"); $stmt->execute([$key]); if ($stmt->rowCount() > 0) { // Actualizar existente $stmt = $pdo->prepare("UPDATE system_config SET config_value = ?, updated_at = NOW() WHERE config_key = ?"); $stmt->execute([$value, $key]); $updated++; echo "
✅ Actualizado: $key
"; } else { // Insertar nuevo $descriptions = [ 'whatsapp_token' => 'Token de acceso de WhatsApp Business API', 'whatsapp_phone_number_id' => 'ID del número de teléfono de WhatsApp', 'webhook_verify_token' => 'Token de verificación para webhook', 'whatsapp_api_url' => 'URL base de la API de WhatsApp' ]; $stmt = $pdo->prepare("INSERT INTO system_config (config_key, config_value, description) VALUES (?, ?, ?)"); $stmt->execute([$key, $value, $descriptions[$key] ?? 'Configuración de WhatsApp']); $inserted++; echo "
✅ Insertado: $key
"; } } echo "
📊 Total actualizados: $updated
"; echo "
📊 Total insertados: $inserted
"; // Verificar que se guardó correctamente echo "
🔄 Verificando configuración guardada...
"; foreach ($config_updates as $key => $value) { if (empty($value)) continue; $stmt = $pdo->prepare("SELECT config_value FROM system_config WHERE config_key = ?"); $stmt->execute([$key]); $row = $stmt->fetch(); if ($row && $row['config_value'] === $value) { echo "
✅ $key guardado correctamente
"; } else { echo "
❌ $key NO se guardó correctamente
"; } } } catch (PDOException $e) { echo "
❌ Error de base de datos: " . htmlspecialchars($e->getMessage()) . "
"; } echo "
"; } // Mostrar configuración actual echo "
"; echo "

⚙️ CONFIGURACIÓN ACTUAL

"; try { $pdo = new PDO( "mysql:host=" . DB_HOST . ";port=" . DB_PORT . ";dbname=" . DB_NAME . ";charset=" . DB_CHARSET, DB_USER, DB_PASS, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION] ); $stmt = $pdo->query("SELECT config_key, config_value FROM system_config WHERE config_key IN ('whatsapp_token', 'whatsapp_phone_number_id', 'webhook_verify_token', 'whatsapp_api_url')"); $current_config = []; while ($row = $stmt->fetch()) { $current_config[$row['config_key']] = $row['config_value']; } // Mostrar configuración $configs_to_show = [ 'whatsapp_token' => 'Token de WhatsApp', 'whatsapp_phone_number_id' => 'Phone Number ID', 'webhook_verify_token' => 'Webhook Verify Token', 'whatsapp_api_url' => 'API URL' ]; foreach ($configs_to_show as $key => $label) { if (isset($current_config[$key])) { $value = $current_config[$key]; if (in_array($key, ['whatsapp_token', 'webhook_verify_token'])) { $display = substr($value, 0, 10) . '...' . substr($value, -10) . " (" . strlen($value) . " chars)"; } else { $display = $value; } echo "
✅ $label: $display
"; } else { echo "
❌ $label: No configurado en BD
"; } } } catch (PDOException $e) { echo "
❌ Error consultando BD: " . htmlspecialchars($e->getMessage()) . "
"; } echo "
"; // Formulario echo "
"; echo "

📝 ACTUALIZAR CONFIGURACIÓN

"; echo "
"; echo "
"; echo ""; echo ""; echo "
• Se guardará en la base de datos
"; echo "
"; echo "
"; echo ""; echo ""; echo "
• ID numérico del teléfono
"; echo "
"; echo "
"; echo ""; echo ""; echo "
• Token para verificar webhook
"; echo "
"; echo "
"; echo ""; echo ""; echo "
• URL base de la API de WhatsApp
"; echo "
"; echo "
"; echo ""; echo "
"; echo "
"; echo "
"; // Test de las constantes actuales echo "
"; echo "

🔍 VALORES ACTUALES DE LAS CONSTANTES

"; $constants_to_check = [ 'WHATSAPP_TOKEN' => 'Token actual en memoria', 'WHATSAPP_PHONE_NUMBER_ID' => 'Phone ID actual en memoria', 'WEBHOOK_VERIFY_TOKEN' => 'Webhook token actual en memoria', 'WHATSAPP_API_URL' => 'API URL actual en memoria' ]; foreach ($constants_to_check as $const => $desc) { if (defined($const)) { $value = constant($const); if (in_array($const, ['WHATSAPP_TOKEN', 'WEBHOOK_VERIFY_TOKEN'])) { if (strlen($value) > 20) { $display = substr($value, 0, 10) . '...' . substr($value, -10); } else { $display = $value; } } else { $display = $value; } echo "
✅ $desc: $display
"; } else { echo "
❌ $desc: No definida
"; } } echo "
NOTA: Después de guardar, recarga esta página para ver los nuevos valores
"; echo "
"; echo ""; ?>