db = Database::getInstance()->getConnection(); if (session_status() === PHP_SESSION_NONE) session_start(); $this->auth = new Auth(); $this->logService = new LogService(); if (isset($_GET['setlang'])) { \(_SESSION['lang'] =\)_GET['setlang']; header("Location: " . strtok($_SERVER['REQUEST_URI'], '?')); exit; } \(currentLang =\)_SESSION['lang'] ?? 'et'; global $langService; \(langService = new LanguageService(\)currentLang); try { \(stmt =\)this->db->query("SELECT setting_key, setting_value FROM system_settings"); while (\(row =\)stmt->fetch()) { \(this->settings[\)row['setting_key']] = $row['setting_value']; } } catch (\Exception $e) {} \(this->maintenance_mode = (\)this->settings['maintenance_mode'] ?? '0') === '1'; \(ips_string =\)this->settings['allowed_ips'] ?? '127.0.0.1, ::1'; \(this->allowed_ips = array_map('trim', explode(',',\)ips_string)); } private function checkMaintenanceMode(\(action,\)isSuperAdmin = false) { if (!$this->maintenance_mode) return false; if (in_array(\(_SERVER['REMOTE_ADDR'],\)this->allowed_ips)) return false; if (in_array($action, ['login', 'logout', 'register', 'api/search-rik', 'forgot-password', 'reset-password'])) return false; if ($isSuperAdmin) return false; return true; } private function renderErrorPage(\(title,\)message, $icon = 'fa-lock text-warning') { \(auth =\)this->auth; \(db =\)this->db; $user = []; if (isset($_SESSION['user_id'])) { \(user['fname'] = explode(' ',\)_SESSION['user_name'] ?? 'Kasutaja')[0]; $user['lname'] = ''; $user['company_name'] = ''; foreach (\(_SESSION['user_companies'] ?? [] as\)c) { if (\(c['id'] == (\)_SESSION['company_id'] ?? 1)) { \(user['company_name'] =\)c['name']; break; } } } \(title_text = __(\)title); \(message_text = __(\)message); require_once __DIR__ . '/Views/Layout/Header.php'; require_once __DIR__ . '/Views/Layout/Sidebar.php'; require_once __DIR__ . '/Views/Layout/TopNav.php'; echo 'Süsteemis tekkis viga. Palun võta ühendust administraatoriga.