<?php
/**
 * Conexão com o Banco de Dados - Sistema Lico Lico V2
 * Suporta arquivo .env para configuração em nuvem
 */

// Carregar .env se existir
$env_file = dirname(__DIR__) . '/.env';
if (file_exists($env_file)) {
    $lines = file($env_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    foreach ($lines as $line) {
        if (strpos(trim($line), '#') === 0) continue;
        if (strpos($line, '=') !== false) {
            list($key, $value) = explode('=', $line, 2);
            $_ENV[trim($key)] = trim($value);
        }
    }
}

// Configurações do banco (prioriza .env, senão usa padrão local)
$db_host = $_ENV['DB_HOST'] ?? 'localhost';
$db_name = $_ENV['DB_NAME'] ?? 'sistema_licolico';
$db_user = $_ENV['DB_USER'] ?? 'root';
$db_pass = $_ENV['DB_PASS'] ?? '';
$db_port = $_ENV['DB_PORT'] ?? '3306';

// Evitar reconexão se já conectado
if (!isset($pdo)) {
    try {
        $pdo = new PDO(
            "mysql:host={$db_host};port={$db_port};dbname={$db_name};charset=utf8mb4",
            $db_user,
            $db_pass,
            [
                PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
                PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
                PDO::ATTR_EMULATE_PREPARES   => false,
            ]
        );
    } catch (PDOException $e) {
        // Mostrar erro detalhado para facilitar debug
        http_response_code(500);
        die("<div style='font-family:Arial;padding:30px;background:#1e293b;color:#f87171;border-radius:10px;max-width:600px;margin:50px auto;'>"
            . "<h3 style='color:#fff;'>Erro de Conexao com o Banco</h3>"
            . "<p><strong>Host:</strong> {$db_host}:{$db_port}</p>"
            . "<p><strong>Banco:</strong> {$db_name}</p>"
            . "<p><strong>Usuario:</strong> {$db_user}</p>"
            . "<p><strong>Erro:</strong> " . htmlspecialchars($e->getMessage()) . "</p>"
            . "<hr style='border-color:#334155;'>"
            . "<p style='color:#94a3b8;font-size:13px;'>Verifique se o MySQL esta rodando no XAMPP e se o banco '{$db_name}' existe.</p>"
            . "</div>");
    }
}