<?php
// Kopiraj ovaj fajl u config.php i izmeni vrednosti prema cPanel nalogu.

// Na cPanel shared hostingu tajne mogu da stoje van public_html u fajlu:
// /home/CPANEL_USER/sos-infrastruktura-secrets.php
$cpanelHome = getenv('HOME');
if ((!is_string($cpanelHome) || $cpanelHome === '') && isset($_SERVER['HOME']) && is_string($_SERVER['HOME'])) {
    $cpanelHome = $_SERVER['HOME'];
}
$externalSecretsCandidates = [];
if (is_string($cpanelHome) && $cpanelHome !== '') {
    $externalSecretsCandidates[] = rtrim($cpanelHome, '/\\') . DIRECTORY_SEPARATOR . 'sos-infrastruktura-secrets.php';
}
// Isti fallback kao u postojećem config.php kada PHP ne prosledi HOME.
$externalSecretsCandidates[] = dirname(__DIR__) . DIRECTORY_SEPARATOR . 'sos-infrastruktura-secrets.php';
foreach (array_unique($externalSecretsCandidates) as $externalSecretsPath) {
    if (is_file($externalSecretsPath) && is_readable($externalSecretsPath)) {
        require_once $externalSecretsPath;
        break;
    }
}
unset($cpanelHome, $externalSecretsCandidates, $externalSecretsPath);

define('APP_NAME', 'SOS Tiketing');
define('APP_ORGANIZATION', 'SOS Dečija sela Srbija');
define('APP_TIMEZONE', 'Europe/Belgrade');
define('SESSION_NAME', 'sos_tiketing_session');

// Preporuka za cPanel: ostaviti 'auto'. Aplikacija koristi relativne putanje i radi u root-u i u podfolderu.
define('BASE_URL', 'auto');

// Ostaviti false. Uključiti true samo ako svesno želite apsolutne URL putanje iz BASE_URL.
define('USE_ABSOLUTE_BASE_URL', false);

// MySQL/MariaDB podešavanja iz cPanel-a.
define('DB_HOST', 'localhost');
define('DB_NAME', 'cpaneluser_ticketing');
define('DB_USER', 'cpaneluser_ticketuser');
define('DB_PASS', 'change_this_password');

// Javna registracija treba da ostane false za interni sistem.
define('ALLOW_PUBLIC_REGISTRATION', false);
// Dozvoljeno: USERF (Fondacija) ili USERDS (Dečije selo).
define('DEFAULT_REGISTERED_ROLE', 'USERF');

// Automatska odjava: 10 minuta stvarne neaktivnosti, zatim 60 sekundi upozorenja.
define('APP_SESSION_IDLE_SECONDS', 600);
define('APP_SESSION_WARNING_SECONDS', 60);
// Maksimalna učestalost serverske potvrde stvarne aktivnosti korisnika.
define('APP_SESSION_ACTIVITY_THROTTLE_SECONDS', 60);

// Produkcija koja radi isključivo preko HTTPS-a treba da ostavi true.
// Za lokalni HTTP development može privremeno biti false.
define('APP_FORCE_SECURE_COOKIE', true);

// Proxy zaglavlja se veruju samo ovim neposrednim proxy IP adresama.
// Ostaviti prazno kada aplikacija nije iza poznatog reverse proxy-ja.
define('TRUSTED_PROXY_IPS', []);

// Generišite najmanje 32 nasumična karaktera i čuvajte samo u config.php.
define('APP_RATE_LIMIT_SECRET', '');

// Microsoft Entra ID / Microsoft 365 autentikacija.
// Vrednosti se čitaju iz server environment-a; nikada ne upisujte client secret u Git.
defined('ENTRA_CLIENT_ID') || define('ENTRA_CLIENT_ID', getenv('ENTRA_CLIENT_ID') ?: '');
defined('ENTRA_TENANT_ID') || define('ENTRA_TENANT_ID', getenv('ENTRA_TENANT_ID') ?: '');
defined('ENTRA_CLIENT_SECRET') || define('ENTRA_CLIENT_SECRET', getenv('ENTRA_CLIENT_SECRET') ?: '');
defined('ENTRA_REDIRECT_URI') || define('ENTRA_REDIRECT_URI', getenv('ENTRA_REDIRECT_URI') ?: 'https://infrastruktura.sos-decijasela.rs/auth/entra/callback');

// Prilozi uz zahtev: najviše 10 fajlova i ukupno 50 MB po zahtevu.
// PHP post_max_size mora biti veći od ovog limita zbog ostalih polja forme.
define('TICKET_ATTACHMENT_MAX_FILES', 10);
define('TICKET_ATTACHMENT_MAX_TOTAL_BYTES', 50 * 1024 * 1024);

// Lokacije dostupne u formi "Novi zahtev". Ključ ostaje stabilan, naziv može da se menja.
define('TICKET_LOCATION_OPTIONS', [
    'centrala' => 'Centrala (Bulevar kralja Aleksandra 251)',
    'fundraising' => 'Odeljenje za prikupljanje sredstava (Milorada Ruvidića 2)',
    'pjp-zemun' => 'PJP Zemun (Prvomajska 118)',
    'pjp-obrenovac' => 'PJP Obrenovac (Kneza Mihaila 5/5)',
    'pjp-nis' => 'PJP Niš (Svetozara Markovića 1/2)',
    'pjp-gadzin-han' => 'PJP Gadžin Han (Vuka Karadžića 1)',
    'decije-selo-kraljevo' => 'Dečije selo Kraljevo (Prvomajska 46-A)',
    'pjp-kraljevo' => 'PJP Kraljevo (Prvomajska 46-A)',
    'pjp-cacak' => 'PJP Čačak (Lomina 53)',
    'pjp-vrnjacka-banja' => 'PJP Vrnjačka Banja',
    'pjp-raska' => 'PJP Raška (Studenička 2)',
    'pjp-trstenik' => 'PJP Trstenik',
]);
