コード例 #1
0
<?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") {
コード例 #2
0
ファイル: user.php プロジェクト: Ansty93/ogame-opensource
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;
}