<?php // Сообщения (пока вариант без Командира). loca_add("menu", $GlobalUni['lang']); if (key_exists('cp', $_GET)) { SelectPlanet($GlobalUser['player_id'], intval($_GET['cp'])); } $GlobalUser['aktplanet'] = GetSelectedPlanet($GlobalUser['player_id']); $now = time(); UpdateQueue($now); $aktplanet = GetPlanet($GlobalUser['aktplanet']); $aktplanet = ProdResources($aktplanet, $aktplanet['lastpeek'], $now); UpdatePlanetActivity($aktplanet['planet_id']); UpdateLastClick($GlobalUser['player_id']); PageHeader("messages"); // ******************************************************************* $MAXMSG = 25; // Количество сообщений на странице. $uni = LoadUniverse(); DeleteExpiredMessages($GlobalUser['player_id']); // Удалить сообщения которые хранятся дольше 24 часов. // Заголовок таблицы echo "<!-- CONTENT AREA -->\n"; echo "<div id='content'>\n"; echo "<center>\n"; //echo "GET: "; print_r ($_GET); echo "<br>"; //echo "POST: "; print_r ($_POST); echo "<br>"; if (method() === "POST") { //print_r ($_POST); $player_id = $GlobalUser['player_id']; if ($_POST['deletemessages'] === "deleteall") {
function Login($login, $pass, $passmd = "", $from_validate = 0) { global $db_prefix, $db_secret; $unitab = LoadUniverse(); $uni = $unitab['num']; if ($player_id = CheckPassword($login, $pass, $passmd)) { // Пользователь заблокирован? $user = LoadUser($player_id); if ($user['banned']) { UpdateLastClick($player_id); // Обновить активность пользователя, чтобы можно было продлять удаление. echo "<html><head><meta http-equiv='refresh' content='0;url=" . hostname() . "game/reg/errorpage.php?errorcode=3&arg1={$uni}&arg2={$login}&arg3=" . $user['banned_until'] . "' /></head><body></body>"; ob_end_flush(); exit; } $lastlogin = time(); // Создать приватную сессию. $prsess = md5($login . $lastlogin . $db_secret); // Создать публичную сессию $sess = substr(md5($prsess . sha1($pass) . $db_secret . $lastlogin), 0, 12); // Записать приватную сессию в кукисы и обновить БД. setcookie("prsess_" . $player_id . "_" . $uni, $prsess, time() + 24 * 60 * 60, "/"); $query = "UPDATE " . $db_prefix . "users SET lastlogin = {$lastlogin}, session = '" . $sess . "', private_session = '" . $prsess . "' WHERE player_id = {$player_id}"; dbquery($query); // Записать IP-адрес. $ip = $_SERVER['REMOTE_ADDR']; $query = "UPDATE " . $db_prefix . "users SET ip_addr = '" . $ip . "' WHERE player_id = {$player_id}"; dbquery($query); //echo "ID пользователя: $player_id<br>Приватная сессия: $prsess<br>Публичная сессия: $sess<br>IP-адрес: $ip"; // Выбрать Главную планету текущей. $query = "SELECT * FROM " . $db_prefix . "users WHERE session = '" . $sess . "'"; $result = dbquery($query); $user = dbarray($result); SelectPlanet($player_id, $user['hplanetid']); // Задание глобальной отгрузки игроков, чистки виртуальных ПО, чистки уничтоженных планет, пересчёт статистики альянсов и прочие глобальные события AddReloginEvent(); AddCleanDebrisEvent(); AddCleanPlanetsEvent(); AddCleanPlayersEvent(); AddRecalcAllyPointsEvent(); // Задание пересчёта очков игрока. AddUpdateStatsEvent(); AddRecalcPointsEvent($player_id); setcookie('ogamelang', $user['lang'], time() + 60 * 60 * 24 * 9999, "/"); // Редирект на Обзор Главной планеты. header("Location: " . hostname() . "game/index.php?page=overview&session=" . $sess . "&lgn=1"); echo "<html><head><meta http-equiv='refresh' content='0;url=" . hostname() . "game/index.php?page=overview&session=" . $sess . "&lgn=1' /></head><body></body>"; LogIPAddress($ip, $player_id); } else { header("Location: " . hostname() . "game/reg/errorpage.php?errorcode=2&arg1={$uni}&arg2={$login}"); echo "<html><head><meta http-equiv='refresh' content='0;url=" . hostname() . "game/reg/errorpage.php?errorcode=2&arg1={$uni}&arg2={$login}' /></head><body></body>"; } ob_end_flush(); exit; }