Пример #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") {
<?php

// Redesign : Обзор
// TODO : меню планеты
// TODO : ПОСТРОЙКИ
// TODO : ИССЛЕДОВАНИЯ
// TODO : ВЕРФЬ
// TODO : картинки лун
if (key_exists('cp', $_GET)) {
    SelectPlanet($GlobalUser['player_id'], (int) $_GET['cp']);
}
$GlobalUser['aktplanet'] = GetSelectedPlanet($GlobalUser['player_id']);
$now = time();
UpdateQueue($now);
$aktplanet = GetPlanet($GlobalUser['aktplanet']);
$aktplanet = ProdResources($aktplanet, $aktplanet['lastpeek'], $now);
UpdateLastClick($GlobalUser['player_id']);
$session = $_GET['session'];
loca_add("common", $GlobalUser['lang']);
loca_add("menu", $GlobalUser['lang']);
loca_add("technames", $GlobalUser['lang']);
loca_add("fleetorder", $GlobalUser['lang']);
loca_add("overview", $GlobalUser['lang']);
##############################################################################################################
include "redesign_header.php";
include "redesign_leftmenu.php";
function planet_header($planet)
{
    $type = $planet['type'];
    if ($type == 0) {
        return "red_images/57a80a58c7a48b8d27316b753dd259.jpg";
Пример #3
0
function DestroyMoon($moon_id, $when, $fleet_id)
{
    global $db_prefix;
    $moon = GetPlanet($moon_id);
    $planet = LoadPlanet($moon['g'], $moon['s'], $moon['p'], 1);
    if ($moon == NULL || $planet == NULL) {
        return;
    }
    // Развернуть флоты летящие на луну
    $query = "SELECT * FROM " . $db_prefix . "fleet WHERE target_planet = {$moon_id} AND mission < 100 AND fleet_id <> {$fleet_id};";
    $result = dbquery($query);
    $rows = dbrows($result);
    while ($rows--) {
        $fleet_obj = dbarray($result);
        RecallFleet($fleet_obj['fleet_id'], $when);
    }
    // Перенаправить возвращающиеся и улетающие флоты на планету.
    $query = "UPDATE " . $db_prefix . "fleet SET start_planet = " . $planet['planet_id'] . " WHERE start_planet = {$moon_id};";
    dbquery($query);
    // Всё остальное уничтожается безвозвратно
    DestroyPlanet($moon_id);
    // Сделать текущей планетой - планету под уничтоженной луной
    SelectPlanet($planet['owner_id'], $planet['planet_id']);
}
Пример #4
0
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;
}
Пример #5
0
                                    $query = "UPDATE " . $db_prefix . "planets SET type = 10001, owner_id = 99999, date = {$now}, remove = {$when}, lastakt = {$now} WHERE planet_id = " . $planet['planet_id'] . ";";
                                }
                                dbquery($query);
                                // Удалить очередь на верфи (планета).
                                $query = "DELETE FROM " . $db_prefix . "queue WHERE type = 'Shipyard' AND sub_id = " . $planet['planet_id'];
                                dbquery($query);
                                // Удалить очередь построек (планета).
                                $result = GetBuildQueue($planet['planet_id']);
                                while ($row = dbarray($result)) {
                                    $query = "DELETE FROM " . $db_prefix . "queue WHERE (type = 'Build' OR type = 'Demolish') AND sub_id = " . $row['id'];
                                    dbquery($query);
                                }
                                $query = "DELETE FROM " . $db_prefix . "buildqueue WHERE planet_id = " . $planet['planet_id'];
                                dbquery($query);
                                // Редирект на Главную планету.
                                SelectPlanet($GlobalUser['player_id'], $GlobalUser['hplanetid']);
                                MyGoto("renameplanet");
                            }
                        }
                    }
                }
            }
        }
    }
}
$name = $aktplanet['name'];
$maxlen = 20;
PageHeader("renameplanet");
echo "<!-- CONTENT AREA -->\n";
echo "<div id='content'>\n";
echo "<center>\n";