<?php
/**
 * Configuração de conexão com o banco de dados MySQL via PDO
 * Carrega credenciais do arquivo .env
 */

// Carregador simples de .env (sem necessidade de Composer)
function loadEnv($path) {
    if (!file_exists($path)) {
        error_log("AVISO: Arquivo .env não encontrado em: $path");
        return false;
    }
    $lines = file($path, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    foreach ($lines as $line) {
        $line = trim($line);
        if ($line === '' || strpos($line, '#') === 0) continue;
        if (strpos($line, '=') === false) continue;
        list($name, $value) = explode('=', $line, 2);
        $name = trim($name);
        $value = trim($value);
        // Remove aspas se existirem
        $value = trim($value, '"\'');
        $_ENV[$name] = $value;
        putenv("$name=$value");
    }
    return true;
}

// Caminho absoluto do .env no servidor cPanel
$envPath = '/home/asbd/mec12/.env';

// Fallback: tenta o caminho relativo se o absoluto não funcionar
if (!loadEnv($envPath)) {
    loadEnv(__DIR__ . '/../.env');
}

$host   = $_ENV['DB_HOST'] ?? getenv('DB_HOST') ?: 'localhost';
$dbname = $_ENV['DB_NAME'] ?? getenv('DB_NAME') ?: 'asbd_basemec';
$user   = $_ENV['DB_USER'] ?? getenv('DB_USER') ?: 'root';
$pass   = $_ENV['DB_PASS'] ?? getenv('DB_PASS') ?: '';

try {
    $pdo = new PDO(
        "mysql:host=$host;dbname=$dbname;charset=utf8mb4",
        $user,
        $pass,
        [
            PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
            PDO::ATTR_EMULATE_PREPARES   => false,
        ]
    );
} catch (PDOException $e) {
    // Em produção, não expor detalhes do erro
    error_log("Erro DB: " . $e->getMessage());
    die("Erro na conexão com o banco de dados. Verifique as configurações no arquivo .env");
}
