<?php
// ─────────────────────────────────────────────────────────────────
//  SIGVP — Conexiones a base de datos
//  Base principal : sigvp
//  Base origen    : tecnopolisedu_matriculate  (para migración)
// ─────────────────────────────────────────────────────────────────

// ── SIGVP (base principal) ────────────────────────────────────────
define('DB_HOST',    'localhost');
define('DB_NAME',    'sigvp');
define('DB_USER',    'user_sigvp');
define('DB_PASS',    'Ecuador2007??');
define('DB_CHARSET', 'utf8mb4');

// ── BASE DE MATRÍCULA (origen de la migración) ────────────────────
define('DB_MAT_HOST',    'localhost');
define('DB_MAT_NAME',    'tecnopolisedu_matriculate');
define('DB_MAT_USER',    'root');
define('DB_MAT_PASS',    '');
define('DB_MAT_CHARSET', 'utf8mb4');

// ── Conexión SIGVP ─────────────────────────────────────────────────
function getDB(): PDO
{
    static $pdo = null;
    if ($pdo === null) {
        $dsn = sprintf('mysql:host=%s;dbname=%s;charset=%s', DB_HOST, DB_NAME, DB_CHARSET);
        $options = [
            PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
            PDO::ATTR_EMULATE_PREPARES   => false,
        ];
        try {
            $pdo = new PDO($dsn, DB_USER, DB_PASS, $options);
        } catch (PDOException $e) {
            http_response_code(500);
            die('<div style="font-family:monospace;padding:30px;background:#1c2230;color:#ff9d93;border:1px solid #ff9d9344;border-radius:8px;max-width:600px;margin:40px auto;">
                <strong>❌ Error de conexión SIGVP</strong><br><br>
                Verifica en <code>config/database.php</code> los datos de conexión.<br>
                <small>Detalle: ' . htmlspecialchars($e->getMessage()) . '</small>
            </div>');
        }
    }
    return $pdo;
}

// ── Conexión tecnopolisedu_matriculate ─────────────────────────────
function getDBMatriculate(): ?PDO
{
    static $pdo = null;
    if ($pdo === null) {
        $dsn = sprintf('mysql:host=%s;dbname=%s;charset=%s', DB_MAT_HOST, DB_MAT_NAME, DB_MAT_CHARSET);
        $options = [
            PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
            PDO::ATTR_EMULATE_PREPARES   => false,
        ];
        try {
            $pdo = new PDO($dsn, DB_MAT_USER, DB_MAT_PASS, $options);
        } catch (PDOException) {
            return null;
        }
    }
    return $pdo;
}
