<?php
session_start();

// Validar que el usuario tenga permisos
if (!isset($_SESSION['usuario_id']) || $_SESSION['rol'] !== 'admin') {
    header('Location: ../login.php');
    exit;
}

require_once '../includes/config.php';
require_once '../includes/db.php';

$db = new Database();

// Procesamiento del formulario
$mensaje = '';
$tipo_mensaje = '';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    try {
        // Verificar si existe la tabla configuracion
        $stmt = $db->query("SHOW TABLES LIKE 'configuracion'");
        if ($stmt->rowCount() == 0) {
            // Crear tabla si no existe
            $db->query("
                CREATE TABLE configuracion (
                    configuracion_id INT AUTO_INCREMENT PRIMARY KEY,
                    nombre_empresa VARCHAR(100) NOT NULL,
                    nombre_comercio VARCHAR(100) NULL,
                    direccion TEXT NULL,
                    ciudad VARCHAR(100) NULL,
                    telefono VARCHAR(20) NULL,
                    email VARCHAR(100) NULL,
                    moneda VARCHAR(10) DEFAULT '$',
                    con_decimales TINYINT(1) DEFAULT 1,
                    logo VARCHAR(255) NULL,
                    fecha_actualizacion TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
                ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
            ");
        }
        
        // Recoger los datos del formulario
        $nombre_empresa = trim($_POST['nombre_empresa']);
        $nombre_comercio = trim($_POST['nombre_comercio']);
        $direccion = trim($_POST['direccion']);
        $ciudad = trim($_POST['ciudad']);
        $telefono = trim($_POST['telefono']);
        $email = trim($_POST['email']);
        $moneda = trim($_POST['moneda']);
        $con_decimales = isset($_POST['con_decimales']) ? 1 : 0;
        
        // Verificar si hay registros en la configuración
        $stmt = $db->query("SELECT COUNT(*) FROM configuracion");
        $count = $stmt->fetchColumn();
        
        if ($count == 0) {
            // Insertar nueva configuración
            $stmt = $db->prepare("
                INSERT INTO configuracion (
                    nombre_empresa, nombre_comercio, direccion, ciudad, 
                    telefono, email, moneda, con_decimales
                ) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
            ");
            $stmt->execute([
                $nombre_empresa, $nombre_comercio, $direccion, $ciudad,
                $telefono, $email, $moneda, $con_decimales
            ]);
        } else {
            // Actualizar configuración existente
            $stmt = $db->prepare("
                UPDATE configuracion SET
                    nombre_empresa = ?,
                    nombre_comercio = ?,
                    direccion = ?,
                    ciudad = ?,
                    telefono = ?,
                    email = ?,
                    moneda = ?,
                    con_decimales = ?
            ");
            $stmt->execute([
                $nombre_empresa, $nombre_comercio, $direccion, $ciudad,
                $telefono, $email, $moneda, $con_decimales
            ]);
        }
        
        $mensaje = "Configuración actualizada correctamente";
        $tipo_mensaje = "success";
    } catch (Exception $e) {
        $mensaje = "Error al actualizar la configuración: " . $e->getMessage();
        $tipo_mensaje = "danger";
    }
}

// Obtener configuración actual
try {
    $stmt = $db->query("SELECT * FROM configuracion LIMIT 1");
    $config = $stmt->fetch(PDO::FETCH_ASSOC);
} catch (Exception $e) {
    $config = [
        'nombre_empresa' => '',
        'nombre_comercio' => '',
        'direccion' => '',
        'ciudad' => '',
        'telefono' => '',
        'email' => '',
        'moneda' => '$',
        'con_decimales' => 1
    ];
}
?>
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Configuración del Sistema</title>
    <link rel="stylesheet" href="../assets/css/bootstrap.min.css">
    <link rel="stylesheet" href="../assets/css/styles.css">
</head>
<body>
    <?php include_once '../includes/header.php'; ?>
    
    <div class="container mt-4">
        <h1>Configuración del Sistema</h1>
        
        <?php if (!empty($mensaje)): ?>
            <div class="alert alert-<?php echo $tipo_mensaje; ?>" role="alert">
                <?php echo htmlspecialchars($mensaje); ?>
            </div>
        <?php endif; ?>
        
        <div class="card">
            <div class="card-header bg-primary text-white">
                <h5 class="mb-0">Información de la Empresa</h5>
            </div>
            <div class="card-body">
                <form method="post" action="">
                    <div class="row">
                        <div class="col-md-6 mb-3">
                            <label for="nombre_empresa" class="form-label">Nombre de la Empresa:</label>
                            <input type="text" class="form-control" id="nombre_empresa" name="nombre_empresa" value="<?php echo htmlspecialchars($config['nombre_empresa'] ?? ''); ?>" required>
                        </div>
                        
                        <div class="col-md-6 mb-3">
                            <label for="nombre_comercio" class="form-label">Nombre Comercial:</label>
                            <input type="text" class="form-control" id="nombre_comercio" name="nombre_comercio" value="<?php echo htmlspecialchars($config['nombre_comercio'] ?? ''); ?>">
                        </div>
                    </div>
                    
                    <div class="mb-3">
                        <label for="direccion" class="form-label">Dirección:</label>
                        <textarea class="form-control" id="direccion" name="direccion" rows="2"><?php echo htmlspecialchars($config['direccion'] ?? ''); ?></textarea>
                    </div>
                    
                    <div class="row">
                        <div class="col-md-6 mb-3">
                            <label for="ciudad" class="form-label">Ciudad:</label>
                            <input type="text" class="form-control" id="ciudad" name="ciudad" value="<?php echo htmlspecialchars($config['ciudad'] ?? ''); ?>">
                        </div>
                        
                        <div class="col-md-6 mb-3">
                            <label for="telefono" class="form-label">Teléfono:</label>
                            <input type="text" class="form-control" id="telefono" name="telefono" value="<?php echo htmlspecialchars($config['telefono'] ?? ''); ?>">
                        </div>
                    </div>
                    
                    <div class="row">
                        <div class="col-md-6 mb-3">
                            <label for="email" class="form-label">Email:</label>
                            <input type="email" class="form-control" id="email" name="email" value="<?php echo htmlspecialchars($config['email'] ?? ''); ?>">
                        </div>
                        
                        <div class="col-md-6 mb-3">
                            <label for="moneda" class="form-label">Símbolo de Moneda:</label>
                            <input type="text" class="form-control" id="moneda" name="moneda" value="<?php echo htmlspecialchars($config['moneda'] ?? '$'); ?>" maxlength="10" required>
                            <small class="form-text text-muted">Ejemplos: $, €, £, ¥, Gs, etc.</small>
                        </div>
                    </div>
                    
                    <div class="mb-3">
                        <div class="form-check">
                            <input type="checkbox" class="form-check-input" id="con_decimales" name="con_decimales" <?php echo (isset($config['con_decimales']) && $config['con_decimales']) ? 'checked' : ''; ?>>
                            <label class="form-check-label" for="con_decimales">Mostrar decimales en los importes</label>
                            <small class="form-text text-muted d-block">Si está activado se mostrarán valores como "$ 100.00", si está desactivado se mostrarán como "$ 100"</small>
                        </div>
                    </div>
                    
                    <div class="mt-4">
                        <button type="submit" class="btn btn-primary">Guardar Configuración</button>
                        <a href="index.php" class="btn btn-secondary">Volver al panel</a>
                    </div>
                </form>
            </div>
        </div>
        
        <div class="mt-4">
            <a href="verificar-configuracion.php" class="btn btn-info">Verificar estructura de configuración</a>
        </div>
    </div>
    
    <?php include_once '../includes/footer.php'; ?>
    
    <script src="../assets/js/bootstrap.bundle.min.js"></script>
</body>
</html>
