<?php
$page_title = 'Mi Cuenta';
include __DIR__ . '/header.php';
require_once __DIR__ . '/../config/db_auto.php';

// Proteger la página
if (!isset($_SESSION['user_id'])) {
    header('Location: login.php');
    exit;
}

include __DIR__ . '/navbar.php';

// Obtener datos actuales del usuario
$stmt = $pdo->prepare("SELECT usuario, email_corporativo, smtp_pass FROM usuarios WHERE id = ?");
$stmt->execute([$_SESSION['user_id']]);
$user_data = $stmt->fetch(PDO::FETCH_ASSOC);

$msg = '';
$error = '';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $email = trim($_POST['email_corporativo'] ?? '');
    // Microsoft entrega las contraseñas de aplicación con espacios (ej: xxxx xxxx xxxx xxxx)
    // Pero para SMTP deben ir sin espacios. Las limpiamos automáticamente.
    $pass = str_replace(' ', '', $_POST['smtp_pass'] ?? '');
    
    // Validar @paineduca.cl si es obligatorio
    if (!empty($email) && strpos($email, '@paineduca.cl') === false) {
        $error = "El correo debe ser del dominio @paineduca.cl";
    } else {
        try {
            $stmt_update = $pdo->prepare("UPDATE usuarios SET email_corporativo = ?, smtp_pass = ? WHERE id = ?");
            if ($stmt_update->execute([$email, $pass, $_SESSION['user_id']])) {
                $msg = "Configuración actualizada correctamente.";
                $user_data['email_corporativo'] = $email;
                $user_data['smtp_pass'] = $pass;
            } else {
                $error = "No se pudo actualizar la configuración.";
            }
        } catch (Exception $e) {
            $error = "Error: " . $e->getMessage();
        }
    }
}
?>
<div class="container py-4">
    <div class="row justify-content-center">
        <div class="col-md-8">
            <div class="card shadow-sm border-0">
                <div class="card-header bg-white py-3 border-0">
                    <h4 class="mb-0 text-primary">
                        <i class="bi bi-person-gear me-2"></i>Mi Configuración de Correo
                    </h4>
                </div>
                <div class="card-body p-4">
                    <?php if ($msg): ?>
                        <div class="alert alert-success alert-dismissible fade show" role="alert">
                            <i class="bi bi-check-circle me-2"></i> <?php echo $msg; ?>
                            <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                        </div>
                    <?php endif; ?>

                    <?php if ($error): ?>
                        <div class="alert alert-danger" role="alert">
                            <i class="bi bi-exclamation-triangle me-2"></i> <?php echo $error; ?>
                        </div>
                    <?php endif; ?>

                    <p class="text-muted mb-4">
                        Configura tu cuenta institucional de Microsoft 365 para enviar citaciones directamente desde tu correo personal <strong>(@paineduca.cl)</strong>.
                    </p>

                    <form method="POST">
                        <div class="mb-3">
                            <label for="usuario" class="form-label fw-bold">Nombre de Usuario</label>
                            <input type="text" class="form-control bg-light" value="<?php echo htmlspecialchars($user_data['usuario']); ?>" readonly>
                        </div>

                        <div class="mb-3">
                            <label for="email_corporativo" class="form-label fw-bold">Correo Institucional (@paineduca.cl)</label>
                            <input type="email" class="form-control" id="email_corporativo" name="email_corporativo" 
                                   value="<?php echo htmlspecialchars($user_data['email_corporativo'] ?? ''); ?>" 
                                   required placeholder="ejemplo@paineduca.cl">
                        </div>

                        <div class="mb-4">
                            <label for="smtp_pass" class="form-label fw-bold">Contraseña de Aplicación Microsoft</label>
                            <div class="input-group">
                                <input type="password" class="form-control" id="smtp_pass" name="smtp_pass" 
                                       value="<?php echo htmlspecialchars($user_data['smtp_pass'] ?? ''); ?>" 
                                       required placeholder="••••••••••••••••">
                                <button class="btn btn-outline-secondary" type="button" id="btnTogglePass">
                                    <i class="bi bi-eye"></i>
                                </button>
                            </div>
                            <div class="form-text mt-2">
                                <i class="bi bi-info-circle me-1"></i> 
                                No ingreses tu contraseña normal. 
                                <a href="https://mysignins.microsoft.com/security-info" target="_blank" class="text-decoration-none">
                                    Genera una contraseña de aplicación aquí
                                </a>.
                            </div>
                        </div>

                        <div class="d-grid gap-2">
                            <button type="submit" class="btn btn-primary py-2">
                                <i class="bi bi-save me-2"></i> Guardar Configuración
                            </button>
                            <a href="convivencia_educativa.php" class="btn btn-link text-muted">Cancelar</a>
                        </div>
                    </form>
                </div>
            </div>

            <div class="card mt-4 border-0 bg-light">
                <div class="card-body">
                    <h6 class="fw-bold"><i class="bi bi-question-circle me-2"></i>¿Cómo configurar mi cuenta?</h6>
                    <ol class="small text-muted mb-0">
                        <li>Inicia sesión en tu cuenta de <a href="https://portal.office.com" target="_blank">Office.com</a>.</li>
                        <li>Ve a <strong>Información de seguridad</strong> en tu perfil.</li>
                        <li>Haz clic en <strong>Agregar método</strong> y selecciona <strong>Contraseña de aplicación</strong>.</li>
                        <li>Dale un nombre (ej: "Sistema GGEE") y copia la contraseña que te entreguen.</li>
                        <li>Pega esa contraseña en el formulario de arriba y haz clic en guardar.</li>
                    </ol>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btnToggle = document.getElementById('btnTogglePass');
    if (btnToggle) {
        btnToggle.addEventListener('click', function() {
            const passInput = document.getElementById('smtp_pass');
            const icon = this.querySelector('i');
            if (passInput) {
                if (passInput.type === 'password') {
                    passInput.type = 'text';
                    icon.classList.remove('bi-eye');
                    icon.classList.add('bi-eye-slash');
                } else {
                    passInput.type = 'password';
                    icon.classList.remove('bi-eye-slash');
                    icon.classList.add('bi-eye');
                }
            }
        });
    }
});
</script>

<?php include __DIR__ . '/footer.php'; ?>
