<?php
/**
 * (c) ININOUT & PYXIS. All Rights Reserved.
 * Wszelkie modyfikacje tego pliku wymagaja zgloszenia oraz zgody autorow.
 * Any modifications to this file require notification and consent of the authors.
 */
/**
 * i-BOK 5 - Konfiguracja
 */

// Strefa czasowa
date_default_timezone_set('Europe/Warsaw');

// Ścieżka bazowa
define('IBOK_ROOT', __DIR__);
define('IBOK_ADMIN_DIR', IBOK_ROOT . '/admin');
define('IBOK_LOGS_DIR', IBOK_ROOT . '/logs');
define('IBOK_CFG_DIR', IBOK_ROOT . '/cfg');

// Katalog danych (PDF-y klientów itp.)
define('IBOK_DATA_DIR', IBOK_ROOT . '/data');

// Sesja
define('IBOK_SESSION_NAME', 'IBOK_SESSION');
define('IBOK_SESSION_TIMEOUT', 1800); // 30 minut domyślnie
define('IBOK_SESSION_TIMEOUT_MINUTES', 30);

// Brute-force
define('IBOK_MAX_LOGIN_ATTEMPTS', 5);
define('IBOK_LOCKOUT_TIME', 900); // 15 minut

/**
 * Sprawdź czy panel działa w trybie demo
 */
function ibok_is_demo(): bool {
    static $demo = null;
    if ($demo === null) {
        $file = IBOK_CFG_DIR . '/demo.cfg';
        $demo = false;
        if (file_exists($file)) {
            $d = @json_decode(file_get_contents($file), true);
            $demo = !empty($d['enabled']);
        }
    }
    return $demo;
}

// Domyślne wartości (nadpisywane z bazy przez config_load_from_db)
$admin_email = '';
$nazwa_firmy = 'i-BOK';
$site_title = 'i-BOK - Internetowe Biuro Obsługi Klienta';
$stan_na_dzien = '';

/**
 * Załaduj konfigurację panelu z bazy danych (Podmioty + vUserdb)
 * Wywołać PO załadowaniu db_config.php
 */
function config_load_from_db() {
    global $nazwa_firmy, $site_title, $admin_email, $stan_na_dzien;

    if (!function_exists('db_get_pdo')) return;
    $pdo = db_get_pdo();
    if (!$pdo) return;

    try {
        // Dane firmy z Podmioty
        $stmt = $pdo->query(
            'SELECT P_NAZWA1, P_TELEFONEMAIL
             FROM Podmioty
             WHERE P_CZYAKTYWNY = 1
             ORDER BY P_INDEX
             LIMIT 1'
        );
        $row = $stmt->fetch();
        if ($row) {
            $nazwa = trim($row['P_NAZWA1'] ?? '');
            if (!empty($nazwa)) {
                $nazwa_firmy = $nazwa;
                $site_title = 'i-BOK - ' . $nazwa;
            }
            $email = trim($row['P_TELEFONEMAIL'] ?? '');
            if (!empty($email) && strpos($email, '@') !== false) {
                $admin_email = $email;
            }
        }

        // Dane czytane na żywo z bazy — pokazuj aktualny czas
        $stan_na_dzien = date('d.m.Y H:i');
    } catch (PDOException $e) {
        // Ciche — domyślne wartości zostają
    }
}
