<?php
$pageTitle = 'Configuración del Laboratorio';
require_once __DIR__ . '/../../config/config.php';
requireLogin();

// Solo admin puede configurar
if ($_SESSION['rol'] != 'admin') {
    showAlert('No tienes permisos para acceder a esta sección', 'danger');
    header('Location: ' . SITE_URL . '/dashboard.php');
    exit;
}

$db = getDB();

// Obtener configuración actual
$stmt = $db->query("SELECT * FROM configuracion LIMIT 1");
$config = $stmt->fetch();

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    try {
        $nombre_laboratorio = sanitize($_POST['nombre_laboratorio']);
        $direccion = sanitize($_POST['direccion']);
        $telefono = sanitize($_POST['telefono']);
        $email = sanitize($_POST['email']);
        $sitio_web = sanitize($_POST['sitio_web']);
        $jvplc = sanitize($_POST['jvplc'] ?? '');
        $cssp = sanitize($_POST['cssp'] ?? '');
        $whatsapp = sanitize($_POST['whatsapp'] ?? '');
        $pie_pagina = sanitize($_POST['pie_pagina']);
        $informacion_adicional = sanitize($_POST['informacion_adicional']);
        $color_primario = sanitize($_POST['color_primario']);
        $color_secundario = sanitize($_POST['color_secundario']);
        $tema_oscuro = intval($_POST['tema_oscuro'] ?? 0);
        
        // Procesar logo
        $logo = null;
        $logo_ext = null;
        if (isset($_FILES['logo']) && $_FILES['logo']['error'] == 0) {
            $allowed = ['jpg', 'jpeg', 'png'];
            $ext = strtolower(pathinfo($_FILES['logo']['name'], PATHINFO_EXTENSION));
            if (in_array($ext, $allowed) && $_FILES['logo']['size'] <= 2097152) { // 2MB
                $logo = file_get_contents($_FILES['logo']['tmp_name']);
                $logo_ext = $ext;
            }
        }
        
        // Procesar sello JVC
        $sello = null;
        $sello_ext = null;
        if (isset($_FILES['sello_jvc']) && $_FILES['sello_jvc']['error'] == 0) {
            $allowed = ['jpg', 'jpeg', 'png'];
            $ext = strtolower(pathinfo($_FILES['sello_jvc']['name'], PATHINFO_EXTENSION));
            if (in_array($ext, $allowed) && $_FILES['sello_jvc']['size'] <= 2097152) { // 2MB
                $sello = file_get_contents($_FILES['sello_jvc']['tmp_name']);
                $sello_ext = $ext;
            }
        }
        
        if ($config) {
            // Actualizar
            $sql = "UPDATE configuracion SET 
                    nombre_laboratorio = ?, direccion = ?, telefono = ?, email = ?, 
                    sitio_web = ?, jvplc = ?, cssp = ?, whatsapp = ?,
                    pie_pagina = ?, informacion_adicional = ?,
                    color_primario = ?, color_secundario = ?, tema_oscuro = ?";
            $params = [$nombre_laboratorio, $direccion, $telefono, $email, $sitio_web, 
                       $jvplc, $cssp, $whatsapp, $pie_pagina, 
                       $informacion_adicional, $color_primario, $color_secundario, $tema_oscuro];
            
            if ($logo) {
                $sql .= ", logo = ?, logo_extension = ?";
                $params[] = $logo;
                $params[] = $logo_ext;
            }
            
            if ($sello) {
                $sql .= ", sello_jvc = ?, sello_extension = ?";
                $params[] = $sello;
                $params[] = $sello_ext;
            }
            
            $sql .= " WHERE id = ?";
            $params[] = $config['id'];
            
            $stmt = $db->prepare($sql);
            $stmt->execute($params);
        } else {
            // Insertar
            $stmt = $db->prepare("
                INSERT INTO configuracion 
                (nombre_laboratorio, direccion, telefono, email, sitio_web, jvplc, cssp, whatsapp,
                 pie_pagina, informacion_adicional, logo, logo_extension, sello_jvc, sello_extension,
                 color_primario, color_secundario, tema_oscuro)
                VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
            ");
            $stmt->execute([
                $nombre_laboratorio, $direccion, $telefono, $email, $sitio_web,
                $jvplc, $cssp, $whatsapp,
                $pie_pagina, $informacion_adicional, $logo, $logo_ext, $sello, $sello_ext,
                $color_primario, $color_secundario, $tema_oscuro
            ]);
        }
        
        showAlert('Configuración actualizada correctamente');
        header('Location: index.php');
        exit;
        
    } catch (PDOException $e) {
        showAlert('Error: ' . $e->getMessage(), 'danger');
    }
}

require_once __DIR__ . '/../../includes/header.php';
?>

<div class="d-flex justify-content-between align-items-center mt-4 mb-4">
    <h2><i class="bi bi-gear"></i> Configuración del Laboratorio</h2>
    <a href="<?= SITE_URL ?>/dashboard.php" class="btn btn-outline-secondary">
        <i class="bi bi-arrow-left"></i> Volver
    </a>
</div>

<div class="card">
    <div class="card-body">
        <form method="POST" enctype="multipart/form-data">
            <h5 class="mb-3"><i class="bi bi-building"></i> Información General</h5>
            
            <div class="row">
                <div class="col-md-6">
                    <div class="mb-3">
                        <label class="form-label">Nombre del Laboratorio *</label>
                        <input type="text" name="nombre_laboratorio" class="form-control" required
                               value="<?= htmlspecialchars($config['nombre_laboratorio'] ?? '') ?>">
                    </div>
                </div>
                <div class="col-md-6">
                    <div class="mb-3">
                        <label class="form-label">Teléfono</label>
                        <input type="text" name="telefono" class="form-control" placeholder="Ej: 2519-4958"
                               value="<?= htmlspecialchars($config['telefono'] ?? '') ?>">
                    </div>
                </div>
            </div>
            
            <div class="row">
                <div class="col-md-6">
                    <div class="mb-3">
                        <label class="form-label">WhatsApp</label>
                        <input type="text" name="whatsapp" class="form-control" placeholder="Ej: 6002-4633"
                               value="<?= htmlspecialchars($config['whatsapp'] ?? '') ?>">
                    </div>
                </div>
                <div class="col-md-6">
                    <div class="mb-3">
                        <label class="form-label">Email</label>
                        <input type="email" name="email" class="form-control"
                               value="<?= htmlspecialchars($config['email'] ?? '') ?>">
                    </div>
                </div>
            </div>

            <div class="row">
                <div class="col-md-6">
                    <div class="mb-3">
                        <label class="form-label">Sitio Web</label>
                        <input type="text" name="sitio_web" class="form-control"
                               value="<?= htmlspecialchars($config['sitio_web'] ?? '') ?>">
                    </div>
                </div>
            </div>
            
            <div class="mb-3">
                <label class="form-label">Dirección</label>
                <textarea name="direccion" class="form-control" rows="2"><?= htmlspecialchars($config['direccion'] ?? '') ?></textarea>
            </div>

            <hr class="my-4">
            
            <h5 class="mb-3"><i class="bi bi-award"></i> Registros Profesionales</h5>
            
            <div class="row">
                <div class="col-md-6">
                    <div class="mb-3">
                        <label class="form-label">J.V.P.L.C. N°</label>
                        <input type="text" name="jvplc" class="form-control" placeholder="Ej: 2398"
                               value="<?= htmlspecialchars($config['jvplc'] ?? '') ?>">
                        <small class="text-muted">Junta de Vigilancia de la Profesión en Laboratorio Clínico</small>
                    </div>
                </div>
                <div class="col-md-6">
                    <div class="mb-3">
                        <label class="form-label">C.S.S.P. N°</label>
                        <input type="text" name="cssp" class="form-control" placeholder="Ej: 1826"
                               value="<?= htmlspecialchars($config['cssp'] ?? '') ?>">
                        <small class="text-muted">Consejo Superior de Salud Pública</small>
                    </div>
                </div>
            </div>
            
            <hr class="my-4">
            
            <h5 class="mb-3"><i class="bi bi-image"></i> Imágenes</h5>
            
            <div class="row">
                <div class="col-md-6">
                    <div class="mb-3">
                        <label class="form-label">Logo del Laboratorio</label>
                        <?php if (!empty($config['logo'])): ?>
                        <div class="mb-2">
                            <img src="imagen.php?tipo=logo" alt="Logo actual" style="max-height: 100px;" class="img-thumbnail">
                        </div>
                        <?php endif; ?>
                        <input type="file" name="logo" class="form-control" accept="image/jpeg,image/jpg,image/png">
                        <small class="text-muted">Formatos: JPG, PNG. Máximo 2MB</small>
                    </div>
                </div>
                
                <div class="col-md-6">
                    <div class="mb-3">
                        <label class="form-label">Sello JVC</label>
                        <?php if (!empty($config['sello_jvc'])): ?>
                        <div class="mb-2">
                            <img src="imagen.php?tipo=sello" alt="Sello actual" style="max-height: 100px;" class="img-thumbnail">
                        </div>
                        <?php endif; ?>
                        <input type="file" name="sello_jvc" class="form-control" accept="image/jpeg,image/jpg,image/png">
                        <small class="text-muted">Formatos: JPG, PNG. Máximo 2MB</small>
                    </div>
                </div>
            </div>
            
            <hr class="my-4">
            
            <h5 class="mb-3"><i class="bi bi-palette"></i> Personalización de Tema</h5>
            
            <div class="row">
                <div class="col-md-4 mb-3">
                    <label class="form-label">Color Primario</label>
                    <input type="color" name="color_primario" class="form-control form-control-color" 
                           value="<?= htmlspecialchars($config['color_primario'] ?? '#1a237e') ?>" 
                           title="Seleccionar color primario">
                    <small class="text-muted">Color principal del sistema</small>
                </div>
                
                <div class="col-md-4 mb-3">
                    <label class="form-label">Color Secundario</label>
                    <input type="color" name="color_secundario" class="form-control form-control-color" 
                           value="<?= htmlspecialchars($config['color_secundario'] ?? '#4caf50') ?>" 
                           title="Seleccionar color secundario">
                    <small class="text-muted">Color de acento y botones de éxito</small>
                </div>
                
                <div class="col-md-4 mb-3">
                    <label class="form-label">Tema Predeterminado</label>
                    <select name="tema_oscuro" class="form-select">
                        <option value="0" <?= ($config['tema_oscuro'] ?? 0) == 0 ? 'selected' : '' ?>>Claro</option>
                        <option value="1" <?= ($config['tema_oscuro'] ?? 0) == 1 ? 'selected' : '' ?>>Oscuro</option>
                    </select>
                    <small class="text-muted">Tema por defecto para nuevos usuarios</small>
                </div>
            </div>
            
            <hr class="my-4">
            
            <h5 class="mb-3"><i class="bi bi-file-text"></i> Información Adicional</h5>
            
            <div class="mb-3">
                <label class="form-label">Información Adicional</label>
                <textarea name="informacion_adicional" class="form-control" rows="3"><?= htmlspecialchars($config['informacion_adicional'] ?? '') ?></textarea>
                <small class="text-muted">Se mostrará en los reportes de resultados</small>
            </div>
            
            <div class="mb-3">
                <label class="form-label">Pie de Página</label>
                <textarea name="pie_pagina" class="form-control" rows="2"><?= htmlspecialchars($config['pie_pagina'] ?? '') ?></textarea>
                <small class="text-muted">Texto que aparecerá al final de los reportes</small>
            </div>
            
            <div class="d-flex gap-2 mt-4">
                <button type="submit" class="btn btn-primary btn-lg">
                    <i class="bi bi-check-lg"></i> Guardar Configuración
                </button>
                <a href="<?= SITE_URL ?>/dashboard.php" class="btn btn-outline-secondary btn-lg">Cancelar</a>
            </div>
        </form>
    </div>
</div>

<?php require_once __DIR__ . '/../../includes/footer.php'; ?>
