// Панель администратора. // Главная панель представляет собой типичную админскую панель с категориями. // К админке имеют доступ только специальные пользователи: операторы и админы. // Категории админки (GET параметр mode). К некоторым категориям операторы не могут получить доступ. // - Контроль полётов (все) // - История переходов (только админ) // - Жалобы (все) // - Баны (все) // - Пользователи (операторы могут только смотреть и часть изменять (например отключать проверку IP), админ может изменять) // - Планеты (операторы могут только смотреть и часть изменять (например названия планет), админ может изменять) // - Задания (только админ) // - Настройки Вселенной (только админ) // - Ошибки (только админ) if ($GlobalUser['admin'] == 0) { RedirectHome(); } // обычным пользователям доступ запрещен loca_add("menu", $GlobalUser['lang']); loca_add("fleetorder", $GlobalUser['lang']); loca_add("admin", $GlobalUser['lang']); $AdminMessage = ""; $AdminError = ""; $session = $_GET['session']; $mode = $_GET['mode']; // Админ-панель для быстрого перехода. function AdminPanel() { global $session; ?>
function CheckSession($session) { global $db_prefix, $GlobalUser, $loca_lang, $Languages, $GlobalUni; // Получить ID-пользователя и номер вселенной из публичной сессии. $query = "SELECT * FROM " . $db_prefix . "users WHERE session = '" . $session . "'"; $result = dbquery($query); if (dbrows($result) == 0) { RedirectHome(); return FALSE; } $GlobalUser = dbarray($result); $unitab = $GlobalUni; $uni = $unitab['num']; $ip = $_SERVER['REMOTE_ADDR']; $prsess = $_COOKIE['prsess_' . $GlobalUser['player_id'] . '_' . $uni]; if ($prsess !== $GlobalUser['private_session']) { InvalidSessionPage(); return FALSE; } if ($ip !== "127.0.0.1" && !$GlobalUser['deact_ip']) { if ($ip !== $GlobalUser['ip_addr']) { InvalidSessionPage(); return FALSE; } } $loca_lang = $GlobalUser['lang']; if (!key_exists($loca_lang, $Languages)) { $GlobalUser['lang'] = $loca_lang = 'en'; } return TRUE; }