<?php
// Este script establece la configuración de SQL Mode sin ONLY_FULL_GROUP_BY
require_once '../includes/db.php';

// Iniciar la sesión para manejar mensajes
session_start();

try {
    // Obtener la conexión a la base de datos
    $db = new Database();
    $pdo = $db->getPDO();
    
    // Obtener el SQL Mode actual
    $stmt = $pdo->query("SELECT @@sql_mode");
    $currentMode = $stmt->fetchColumn();
    
    // Mostrar el modo actual
    echo "<h2>SQL Mode actual:</h2>";
    echo "<pre>" . htmlspecialchars($currentMode) . "</pre>";
    
    // Eliminar ONLY_FULL_GROUP_BY del SQL Mode
    $newMode = preg_replace('/,?ONLY_FULL_GROUP_BY,?/', ',', $currentMode);
    $newMode = trim($newMode, ',');
    
    // Si el mode resulta vacío, establecer un valor mínimo
    if (empty($newMode)) {
        $newMode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION";
    }
    
    // Establecer el nuevo SQL Mode
    $pdo->exec("SET SESSION sql_mode = '$newMode'");
    
    // Verificar el nuevo SQL Mode
    $stmt = $pdo->query("SELECT @@sql_mode");
    $updatedMode = $stmt->fetchColumn();
    
    echo "<h2>SQL Mode actualizado:</h2>";
    echo "<pre>" . htmlspecialchars($updatedMode) . "</pre>";
    
    // Mensaje de éxito
    echo "<div style='background-color: #d4edda; color: #155724; padding: 15px; margin-top: 20px; border-radius: 5px;'>
            <strong>¡Configuración actualizada correctamente!</strong><br>
            El modo ONLY_FULL_GROUP_BY ha sido desactivado para la sesión actual.
          </div>";
    
    // Añadir un enlace para volver al historial de facturas
    echo "<div style='margin-top: 20px;'>
            <a href='historial_facturas.php' style='background-color: #007bff; color: white; padding: 10px 15px; text-decoration: none; border-radius: 5px;'>
                Volver al historial de facturas
            </a>
          </div>";
    
} catch (PDOException $e) {
    // Mensaje de error
    echo "<div style='background-color: #f8d7da; color: #721c24; padding: 15px; margin-top: 20px; border-radius: 5px;'>
            <strong>Error:</strong> " . htmlspecialchars($e->getMessage()) . "
          </div>";
    
    // Añadir un enlace para volver al historial de facturas
    echo "<div style='margin-top: 20px;'>
            <a href='historial_facturas.php' style='background-color: #6c757d; color: white; padding: 10px 15px; text-decoration: none; border-radius: 5px;'>
                Volver al historial de facturas
            </a>
          </div>";
}
?>
