<?php
// =====================================================================
// Database Connection
// =====================================================================


// Reads Environment Configfile
$envFile = __DIR__ . '/../.env';
if (file_exists($envFile)) {
    $lines = file($envFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    foreach ($lines as $line) {
        if (strpos(trim($line), '#') === 0) continue;
        list($key, $value) = array_map('trim', explode('=', $line, 2));
        putenv("$key=$value");
    }
}

// Defines Environment Variables
$host = getenv('POSTGRES_HOST');
$port = getenv('POSTGRES_PORT');
$db   = getenv('POSTGRES_DB');
$user = getenv('POSTGRES_USER');
$pass = getenv('POSTGRES_PASSWORD');

// Output Buffering and Session Start
ob_start();
session_start();

// Initializes Database Connection
try {
    $opt = [
        PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
        PDO::ATTR_EMULATE_PREPARES   => false
    ];
    $dsn = "pgsql:host=$host;dbname=$db;port=$port";
    $pdo = new PDO($dsn, $user, $pass, $opt);
    
// Creates Error Message
} catch(PDOException $e) {
    echo "Error: ".$e->getMessage();
}

?>