Esempio n. 1
0
function rgnum($num)
{
    if ($num < 0) {
        return "<font color=\"#FF0000\">" . nicenum($num) . "</font>";
    } else {
        if ($num > 0) {
            return "<font color=\"#00FF00\">" . nicenum($num) . "</font>";
        } else {
            return nicenum($num);
        }
    }
}
}
// Рассчитать расстояние, время полёта и затраты дейтерия.
$dist = FlightDistance($aktplanet['g'], $aktplanet['s'], $aktplanet['p'], $galaxy, $system, $planet);
$slowest_speed = FlightSpeed($fleet, $GlobalUser['r115'], $GlobalUser['r117'], $GlobalUser['r118']);
$flighttime = FlightTime($dist, $slowest_speed, $speed, $unispeed);
$arr = FlightCons($fleet, $dist, $flighttime, $GlobalUser['r115'], $GlobalUser['r117'], $GlobalUser['r118'], $unispeed);
$cons = $arr['fleet'] + $arr['probes'];
if ($aktplanet['d'] < $cons) {
    AjaxSendError(613);
}
// не хватает дейта на полёт
if ($cargo < $cons) {
    AjaxSendError(615);
}
// нет места в грузовом отсеке для дейтерия
// Fleet lock
$fleetlock = "temp/fleetlock_" . $aktplanet['planet_id'];
if (file_exists($fleetlock)) {
    AjaxSendError();
}
$f = fopen($fleetlock, 'w');
fclose($f);
// Отправить флот.
$fleet_id = DispatchFleet($fleet, $aktplanet, $target, $order, $flighttime, 0, 0, 0, $cons, time(), 0);
UserLog($aktplanet['owner_id'], "FLEET", "Отправка флота {$fleet_id} (AJAX): " . GetMissionNameDebug($order) . " " . $aktplanet['name'] . " [" . $aktplanet['g'] . ":" . $aktplanet['s'] . ":" . $aktplanet['p'] . "] -&gt; " . $target['name'] . " [" . $target['g'] . ":" . $target['s'] . ":" . $target['p'] . "]<br>" . DumpFleet($fleet) . "<br>" . "Время полёта: " . BuildDurationFormat($flighttime) . ", затраты дейтерия: " . nicenum($cons));
// Поднять флот с планеты.
AdjustResources(0, 0, $cons, $aktplanet['planet_id'], '-');
AdjustShips($fleet, $aktplanet['planet_id'], '-');
UpdatePlanetActivity($aktplanet['planet_id']);
unlink($fleetlock);
AjaxSendDone($nowfleet + 1, $probes, $recyclers, $missiles);
Esempio n. 3
0
    ?>
<tr>
<td class="c" colspan="8">
<?php 
    if ($aktplanet["f210"] > 0) {
        echo "<span id=\"probes\">" . nicenum($aktplanet["f210"]) . "</span> Шпионские зонды &nbsp;&nbsp;&nbsp;&nbsp;";
    }
    if ($aktplanet["f209"] > 0) {
        echo "<span id=\"recyclers\">" . nicenum($aktplanet["f209"]) . "</span> Переработчик  &nbsp;&nbsp;&nbsp;&nbsp;";
    }
    if ($aktplanet["d503"] > 0) {
        echo "<span id=\"missiles\">" . nicenum($aktplanet["d503"]) . "</span> Межпланетные ракеты  &nbsp;&nbsp;&nbsp;&nbsp;";
    }
    ?>
Дейтерий:  <?php 
    echo nicenum($aktplanet["d"]);
    ?>
&nbsp;&nbsp;&nbsp;&nbsp;<br/><span id='slots'><?php 
    echo $nowfleet;
    ?>
</span>&nbsp;из <?php 
    echo $maxfleet;
    ?>
 слотов находятся в эксплуатации</td>
</tr>
<tr style="display: none;" id="fleetstatusrow"><th colspan="8"><!--<div id="fleetstatus"></div>-->
<table style="font-weight: bold;" width=100% id="fleetstatustable">
<!-- will be filled with content later on while processing ajax replys -->
</table>
</th>
</tr>
function Admin_Users()
{
    global $session;
    global $db_prefix;
    global $GlobalUser;
    global $FleetMissionList;
    $now = time();
    $resmap = array(106, 108, 109, 110, 111, 113, 114, 115, 117, 118, 120, 121, 122, 123, 124, 199);
    $unitab = LoadUniverse();
    $speed = $unitab['speed'];
    // Обработка POST-запроса.
    if (method() === "POST" && $GlobalUser['admin'] >= 2) {
        if (key_exists('player_id', $_GET)) {
            $player_id = intval($_GET['player_id']);
        } else {
            $player_id = 0;
        }
        if (key_exists('action', $_GET) && $player_id) {
            $action = $_GET['action'];
        } else {
            $action = "";
        }
        if ($action === "update") {
            $query = "UPDATE " . $db_prefix . "users SET ";
            foreach ($resmap as $i => $gid) {
                $query .= "r{$gid} = " . intval($_POST["r{$gid}"]) . ", ";
            }
            if ($_POST['deaktjava'] === "on") {
                $query .= "disable = 1, disable_until = " . ($now + 7 * 24 * 60 * 60) . ", ";
            } else {
                $query .= "disable = 0, ";
            }
            if ($_POST['vacation'] === "on") {
                $query .= "vacation = 1, vacation_until = " . ($now + 2 * 24 * 60 * 60 / $speed) . ", ";
            } else {
                $query .= "vacation = 0, ";
            }
            if ($_POST['banned'] !== "on") {
                $query .= "banned = 0, ";
            }
            if ($_POST['noattack'] !== "on") {
                $query .= "noattack = 0, ";
            }
            $query .= "pemail = '" . $_POST['pemail'] . "', ";
            $query .= "email = '" . $_POST['email'] . "', ";
            $query .= "admin = '" . $_POST['admin'] . "', ";
            $query .= "validated = " . ($_POST['validated'] === "on" ? 1 : 0) . ", ";
            $query .= "sniff = " . ($_POST['sniff'] === "on" ? 1 : 0) . ", ";
            $query .= "debug = " . ($_POST['debug'] === "on" ? 1 : 0) . ", ";
            $query .= "dm = '" . intval($_POST['dm']) . "', ";
            $query .= "dmfree = '" . intval($_POST['dmfree']) . "', ";
            $query .= "sortby = '" . intval($_POST['settings_sort']) . "', ";
            $query .= "sortorder = '" . intval($_POST['settings_order']) . "', ";
            $query .= "skin = '" . $_POST['dpath'] . "', ";
            $query .= "useskin = " . ($_POST['design'] === "on" ? 1 : 0) . ", ";
            $query .= "deact_ip = " . ($_POST['deact_ip'] === "on" ? 1 : 0) . ", ";
            $query .= "maxspy = '" . intval($_POST['spio_anz']) . "', ";
            $query .= "maxfleetmsg = '" . intval($_POST['settings_fleetactions']) . "' ";
            $query .= " WHERE player_id={$player_id};";
            dbquery($query);
            $qname = array('CommanderOff', 'AdmiralOff', 'EngineerOff', 'GeologeOff', 'TechnocrateOff');
            foreach ($qname as $i => $qcmd) {
                $days = intval($_POST[$qcmd]);
                if ($days > 0) {
                    RecruitOfficer($player_id, $qcmd, $days * 24 * 60 * 60);
                }
            }
        }
        if ($action === "create_planet") {
            $g = $_POST['g'];
            if ($g === "") {
                $g = 1;
            }
            $s = $_POST['s'];
            if ($s === "") {
                $s = 1;
            }
            $p = $_POST['p'];
            if ($p === "") {
                $p = 1;
            }
            if (!HasPlanet($g, $s, $p)) {
                $planet_id = CreatePlanet($g, $s, $p, $_GET['player_id']);
                $query = "UPDATE " . $db_prefix . "planets SET mprod = 0, kprod = 0, dprod = 0 WHERE planet_id = " . $planet_id;
                dbquery($query);
            }
        }
    }
    // Обработка GET-запроса.
    if (method() === "GET" && $GlobalUser['admin'] >= 2) {
        if (key_exists('player_id', $_GET)) {
            $player_id = intval($_GET['player_id']);
        } else {
            $player_id = 0;
        }
        if (key_exists('action', $_GET) && $player_id) {
            $action = $_GET['action'];
        } else {
            $action = "";
        }
        $now = time();
        if ($action === "recalc_stats") {
            RecalcStats($player_id);
            RecalcRanks();
        }
        if ($action === "reactivate") {
            ReactivateUser($player_id);
        }
        if ($action === "bot_start") {
            StartBot($player_id);
        }
        if ($action === "bot_stop") {
            StopBot($player_id);
        }
    }
    if (key_exists("player_id", $_GET)) {
        // Информация об игроке
        InvalidateUserCache();
        $user = LoadUser(intval($_GET['player_id']));
        ?>

    <?php 
        echo AdminPanel();
        ?>

    <table>
    <form action="index.php?page=admin&session=<?php 
        echo $session;
        ?>
&mode=Users&action=update&player_id=<?php 
        echo $user['player_id'];
        ?>
" method="POST" >
    <tr><td class=c><?php 
        echo AdminUserName($user);
        ?>
</td><td class=c>Настройки</td><td class=c>Исследования</td></tr>

        <th valign=top><table>
            <tr><th>ID</th><th><?php 
        echo $user['player_id'];
        ?>
</th></tr>
            <tr><th>Дата регистрации</th><th><?php 
        echo date("Y-m-d H:i:s", $user['regdate']);
        ?>
</th></tr>
            <tr><th>Альянс</th><th>
<?php 
        if ($user['ally_id']) {
            $ally = LoadAlly($user['ally_id']);
            echo "[" . $ally['tag'] . "] " . $ally['name'];
        }
        ?>
</th></tr>
            <tr><th>Дата вступления</th><th>
<?php 
        if ($user['ally_id']) {
            echo date("Y-m-d H:i:s", $user['joindate']);
        }
        ?>
</th></tr>
            <tr><th>Постоянный адрес</th><th><input type="text" name="pemail" maxlength="100" size="20" value="<?php 
        echo $user['pemail'];
        ?>
" /></th></tr>
            <tr><th>Временный адрес</th><th><input type="text" name="email" maxlength="100" size="20" value="<?php 
        echo $user['email'];
        ?>
" /></th></tr>
            <tr><th>Удалить игрока</th><th><input type="checkbox" name="deaktjava"  <?php 
        echo IsChecked($user, "disable");
        ?>
/>
      <?php 
        if ($user['disable']) {
            echo date("Y-m-d H:i:s", $user['disable_until']);
        }
        ?>
</th></tr>
            <tr><th>Режим отпуска</th><th><input type="checkbox" name="vacation"  <?php 
        echo IsChecked($user, "vacation");
        ?>
/>
      <?php 
        if ($user['vacation']) {
            echo date("Y-m-d H:i:s", $user['vacation_until']);
        }
        ?>
</th></tr>
            <tr><th>Заблокирован</th><th><input type="checkbox" name="banned"  <?php 
        echo IsChecked($user, "banned");
        ?>
/>
      <?php 
        if ($user['banned']) {
            echo date("Y-m-d H:i:s", $user['banned_until']);
        }
        ?>
</th></tr>
            <tr><th>Бан атак</th><th><input type="checkbox" name="noattack"  <?php 
        echo IsChecked($user, "noattack");
        ?>
/>
      <?php 
        if ($user['noattack']) {
            echo date("Y-m-d H:i:s", $user['noattack_until']);
        }
        ?>
</th></tr>
            <tr><th>Последний вход</th><th><?php 
        echo date("Y-m-d H:i:s", $user['lastlogin']);
        ?>
</th></tr>
            <tr><th>Активность</th><th>
<?php 
        $now = time();
        echo date("Y-m-d H:i:s", $user['lastclick']);
        if ($now - $user['lastclick'] < 60 * 60) {
            echo " (" . floor(($now - $user['lastclick']) / 60) . " min)";
        }
        ?>
</th></tr>
            <tr><th>IP адрес</th><th><a href="http://nic.ru/whois/?query=<?php 
        echo $user['ip_addr'];
        ?>
" target=_blank><?php 
        echo $user['ip_addr'];
        ?>
</a></th></tr>
            <tr><th>Активирован</th><th><input type="checkbox" name="validated" <?php 
        echo IsChecked($user, "validated");
        ?>
 /> <a href="index.php?page=admin&session=<?php 
        echo $session;
        ?>
&mode=Users&action=reactivate&player_id=<?php 
        echo $user['player_id'];
        ?>
">выслать пароль</a></th></tr>
            <tr><th>Главная планета</th><th>
<?php 
        $planet = GetPlanet($user['hplanetid']);
        echo "[" . $planet['g'] . ":" . $planet['s'] . ":" . $planet['p'] . "] <a href=\"index.php?page=admin&session={$session}&mode=Planets&cp=" . $planet['planet_id'] . "\">" . $planet['name'] . "</a>";
        ?>
</th></tr>
            <tr><th>Текущая планета</th><th>
<?php 
        $planet = GetPlanet($user['aktplanet']);
        echo "[" . $planet['g'] . ":" . $planet['s'] . ":" . $planet['p'] . "] <a href=\"index.php?page=admin&session={$session}&mode=Planets&cp=" . $planet['planet_id'] . "\">" . $planet['name'] . "</a>";
        ?>
</th></tr>
            <tr><th>Права</th><th>
   <select name="admin">
     <option value="0" <?php 
        echo IsSelected($user, "admin", 0);
        ?>
>Пользователь</option>
     <option value="1" <?php 
        echo IsSelected($user, "admin", 1);
        ?>
>Оператор</option>
     <option value="2" <?php 
        echo IsSelected($user, "admin", 2);
        ?>
>Администратор</option>
   </select>
</th></tr>
            <tr><th>Включить слежение</th><th><input type="checkbox" name="sniff" <?php 
        echo IsChecked($user, "sniff");
        ?>
 /></th></tr>
            <tr><th>Отладочная информация</th><th><input type="checkbox" name="debug" <?php 
        echo IsChecked($user, "debug");
        ?>
 /></th></tr>

<?php 
        if (IsBot($user['player_id'])) {
            ?>
            <tr><th colspan=2><a href="index.php?page=admin&session=<?php 
            echo $session;
            ?>
&mode=Users&action=bot_stop&player_id=<?php 
            echo $user['player_id'];
            ?>
" >[Остановить бота]</a></th></tr>
<?php 
        } else {
            ?>
            <tr><th colspan=2><a href="index.php?page=admin&session=<?php 
            echo $session;
            ?>
&mode=Users&action=bot_start&player_id=<?php 
            echo $user['player_id'];
            ?>
" >[Запустить бота]</a></th></tr>
<?php 
        }
        ?>
        </table></th>

        <th valign=top><table>
            <tr><th>Сортировка планет</th><th>
   <select name="settings_sort">
    <option value="0" <?php 
        echo IsSelected($user, "sortby", 0);
        ?>
 >порядку колонизации</option>
    <option value="1" <?php 
        echo IsSelected($user, "sortby", 1);
        ?>
 >координатам</option>
    <option value="2" <?php 
        echo IsSelected($user, "sortby", 2);
        ?>
 >алфавиту</option>
   </select>
</th></tr>
            <tr><th>Порядок сортировки</th><th>
   <select name="settings_order">
     <option value="0" <?php 
        echo IsSelected($user, "sortorder", 0);
        ?>
>по возрастанию</option>
     <option value="1" <?php 
        echo IsSelected($user, "sortorder", 1);
        ?>
>по убыванию</option>
   </select>
</th></tr>
            <tr><th>Скин</th><th><input type=text name="dpath" maxlength="80" size="40" value="<?php 
        echo $user['skin'];
        ?>
" /></th></tr>
            <tr><th>Использовать скин</th><th><input type="checkbox" name="design" <?php 
        echo IsChecked($user, "useskin");
        ?>
 /></th></tr>
            <tr><th>Декативировать проверку IP</th><th><input type="checkbox" name="deact_ip" <?php 
        echo IsChecked($user, "deact_ip");
        ?>
 /></th></tr>
            <tr><th>Количество зондов</th><th><input type="text" name="spio_anz" maxlength="2" size="2" value="<?php 
        echo $user['maxspy'];
        ?>
" /></th></tr>
            <tr><th>Количество сообщений флота</th><th><input type="text" name="settings_fleetactions" maxlength="2" size="2" value="<?php 
        echo $user['maxfleetmsg'];
        ?>
" /></th></tr>

            <tr><th colspan=2>&nbsp</th></tr>
            <tr><td class=c colspan=2>Статистика</td></tr>
            <tr><th>Очки (старые)</th><th><?php 
        echo nicenum($user['oldscore1'] / 1000);
        ?>
 / <?php 
        echo nicenum($user['oldplace1']);
        ?>
</th></tr>
            <tr><th>Флот (старые)</th><th><?php 
        echo nicenum($user['oldscore2']);
        ?>
 / <?php 
        echo nicenum($user['oldplace2']);
        ?>
</th></tr>
            <tr><th>Исследования (старые)</th><th><?php 
        echo nicenum($user['oldscore3']);
        ?>
 / <?php 
        echo nicenum($user['oldplace3']);
        ?>
</th></tr>
            <tr><th>Очки</th><th><?php 
        echo nicenum($user['score1'] / 1000);
        ?>
 / <?php 
        echo nicenum($user['place1']);
        ?>
</th></tr>
            <tr><th>Флот</th><th><?php 
        echo nicenum($user['score2']);
        ?>
 / <?php 
        echo nicenum($user['place2']);
        ?>
</th></tr>
            <tr><th>Исследования</th><th><?php 
        echo nicenum($user['score3']);
        ?>
 / <?php 
        echo nicenum($user['place3']);
        ?>
</th></tr>
            <tr><th>Дата старой статистики</th><th><?php 
        echo date("Y-m-d H:i:s", $user['scoredate']);
        ?>
</th></tr>
            <tr><th colspan=2><a href="index.php?page=admin&session=<?php 
        echo $session;
        ?>
&mode=Users&action=recalc_stats&player_id=<?php 
        echo $user['player_id'];
        ?>
" >[Пересчитать статистику]</a></th></tr>

            <tr><th colspan=2>&nbsp</th></tr>
            <tr><td class=c colspan=2>Офицеры</td></tr>
            <tr><th colspan=2><table><tr>
<?php 
        $oname = array('Командир ОГейма', 'Адмирал', 'Инженер', 'Геолог', 'Технократ');
        $odesc = array('', '<font size=1 color=skyblue>&amp;nbsp;Макс. кол-во флотов +2</font>', '<font size=1 color=skyblue>Сокращает вдвое потери в обороне+10% больше энергии</font>', '<font size=1 color=skyblue>+10% доход от шахты</font>', '<font size=1 color=skyblue>+2 уровень шпионажа, 25% меньше времени на исследования</font>');
        $qname = array('CommanderOff', 'AdmiralOff', 'EngineerOff', 'GeologeOff', 'TechnocrateOff');
        $imgname = array('commander', 'admiral', 'ingenieur', 'geologe', 'technokrat');
        $now = time();
        foreach ($qname as $i => $qcmd) {
            $end = GetOfficerLeft($user['player_id'], $qname[$i]);
            $img = "";
            if ($end <= $now) {
                $img = "_un";
                $days = "";
            } else {
                $d = ($end - $now) / (60 * 60 * 24);
                if ($d > 0) {
                    $days = "&lt;font color=lime&gt;Активен&lt;/font&gt; ещё " . ceil($d) . " д.";
                }
            }
            echo "    <td align='center' width='35' class='header'>\n";
            echo "\t<img border='0' src='img/" . $imgname[$i] . "_ikon" . $img . ".gif' width='32' height='32' alt='" . $oname[$i] . "'\n";
            echo "\tonmouseover=\"return overlib('<center><font size=1 color=white><b>" . $days . "<br>" . $oname[$i] . "</font><br>" . $odesc[$i] . "<br></b></center>', LEFT, WIDTH, 150);\" onmouseout='return nd();'>\n";
            echo "    </td> <td><input type=\"text\" name=\"" . $qname[$i] . "\" size=\"3\" /></td>\n\n";
        }
        ?>
        </tr></table></th></tr>

            <tr><th colspan=2><i>Чтобы продлить офицера укажите необходимое количество дней в полях ввода</i></th></tr>

        </table></th>

        <th valign=top><table>
<?php 
        foreach ($resmap as $i => $gid) {
            echo "<tr><th>" . loca("NAME_{$gid}") . "</th><th><input type=\"text\" size=3 name=\"r{$gid}\" value=\"" . $user["r{$gid}"] . "\" /></th></tr>\n";
        }
        ?>
        <tr><th>Найденная Тёмная Материя</th><th><input type="text" size=5 name="dmfree" value="<?php 
        echo $user['dmfree'];
        ?>
" /></th></tr>
        <tr><th>Покупная Тёмная Материя</th><th><input type="text" size=5 name="dm" value="<?php 
        echo $user['dm'];
        ?>
" /></th></tr>
        </table></th>
    <tr><th colspan=3><input type="submit" value="Сохранить" /></th></tr>
    </form>
    </table>

    <br>
    <table> 
    <form action="index.php?page=admin&session=<?php 
        echo $session;
        ?>
&mode=Users&action=create_planet&player_id=<?php 
        echo $user['player_id'];
        ?>
" method="POST" >
    <tr><td class=c colspan=20>Список планет</td></tr>
    <tr>
<?php 
        $query = "SELECT * FROM " . $db_prefix . "planets WHERE owner_id = '" . intval($_GET['player_id']) . "' ORDER BY g ASC, s ASC, p ASC, type DESC";
        $result = dbquery($query);
        $rows = dbrows($result);
        $counter = 0;
        while ($rows--) {
            $p = dbarray($result);
            ?>
    <td> <img src="<?php 
            echo GetPlanetSmallImage("../evolution/", $p);
            ?>
" width="32px" height="32px"></td>
    <td> <a href="index.php?page=admin&session=<?php 
            echo $session;
            ?>
&mode=Planets&cp=<?php 
            echo $p['planet_id'];
            ?>
"> <?php 
            echo $p['name'];
            ?>
 </a>
            [<a href="index.php?page=galaxy&session=<?php 
            echo $session;
            ?>
&galaxy=<?php 
            echo $p['g'];
            ?>
&system=<?php 
            echo $p['s'];
            ?>
"><?php 
            echo $p['g'];
            ?>
:<?php 
            echo $p['s'];
            ?>
:<?php 
            echo $p['p'];
            ?>
</a>] </td>
<?php 
            $counter++;
            if ($counter > 9) {
                $counter = 0;
                echo "</tr>\n<tr>\n";
            }
        }
        ?>
    </tr>
    <tr><td colspan=20> Координаты: <input name="g" size=2> <input name="s" size=2> <input name="p" size=2> <input type="submit" value="Создать планету"></td></tr>
    </form>
    </table>

    <br>
    <table>

<?php 
        if ($_GET['action'] === 'fleetlogs') {
            echo "<tr><td class=c colspan=12>Логи полётов</td></tr>\n";
            if ($_GET['from'] == 1) {
                $result = FleetlogsFromPlayer($user['player_id'], $FleetMissionList[$_GET['mission']]);
            } else {
                $result = FleetlogsToPlayer($user['player_id'], $FleetMissionList[$_GET['mission']]);
            }
            $anz = $rows = dbrows($result);
            echo "<tr><td class=c>N</td> <td class=c>Таймер</td> <td class=c>Задание</td> <td class=c>Отправлен</td> <td class=c>Прибывает</td><td class=c>Время полёта</td> <td class=c>Старт</td> <td class=c>Цель</td> <td class=c>Флот</td> <td class=c>Ресурсы на планете</td> <td class=c>Груз</td> <td class=c>САБ</td> </tr>\n";
            $bxx = 1;
            while ($rows--) {
                $fleet_obj = dbarray($result);
                $fleet_price = FleetPrice($fleet_obj);
                $points = $fleet_price['points'];
                $fpoints = $fleet_price['fpoints'];
                $style = "";
                if ($points >= 100000000) {
                    if ($fleet_obj['mission'] <= 2) {
                        $style = " style=\"background-color: FireBrick;\" ";
                    } else {
                        $style = " style=\"background-color: DarkGreen;\" ";
                    }
                }
                ?>
        <tr <?php 
                echo $style;
                ?>
 >

        <th <?php 
                echo $style;
                ?>
 > <?php 
                echo $bxx;
                ?>
 </th>

        <th <?php 
                echo $style;
                ?>
 >
<?php 
                echo "<table><tr {$style} ><th {$style} ><div id='bxx" . $bxx . "' title='" . ($fleet_obj['end'] - $now) . "' star='" . $fleet_obj['start'] . "'> </th>";
                echo "<tr><th {$style} >" . date("d.m.Y H:i:s", $fleet_obj['end']) . "</th></tr></table>";
                ?>
        </th>
        <th <?php 
                echo $style;
                ?>
 >
<?php 
                echo FleetlogsMissionText($fleet_obj['mission']);
                ?>
        </th>
        <th <?php 
                echo $style;
                ?>
 ><?php 
                echo date("d.m.Y", $fleet_obj['start']);
                ?>
 <br> <?php 
                echo date("H:i:s", $fleet_obj['start']);
                ?>
</th>
        <th <?php 
                echo $style;
                ?>
 ><?php 
                echo date("d.m.Y", $fleet_obj['end']);
                ?>
 <br> <?php 
                echo date("H:i:s", $fleet_obj['end']);
                ?>
</th>
        <th <?php 
                echo $style;
                ?>
 >
<?php 
                echo "<nobr>" . BuildDurationFormat($fleet_obj['flight_time']) . "</nobr><br>";
                echo "<nobr>" . $fleet_obj['flight_time'] . " сек.</nobr>";
                ?>
        </th>
        <th <?php 
                echo $style;
                ?>
 >
<?php 
                echo "[" . $fleet_obj['origin_g'] . ":" . $fleet_obj['origin_s'] . ":" . $fleet_obj['origin_p'] . "]";
                $u = LoadUser($fleet_obj['owner_id']);
                echo " <br>" . AdminUserName($u);
                ?>
        </th>
        <th <?php 
                echo $style;
                ?>
 >
<?php 
                echo "[" . $fleet_obj['target_g'] . ":" . $fleet_obj['target_s'] . ":" . $fleet_obj['target_p'] . "]";
                $u = LoadUser($fleet_obj['target_id']);
                echo " <br>" . AdminUserName($u);
                ?>
        </th>
        <th <?php 
                echo $style;
                ?>
 >
<?php 
                $fleetmap = array(202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215);
                foreach ($fleetmap as $i => $gid) {
                    $amount = $fleet_obj["ship" . $gid];
                    if ($amount > 0) {
                        echo loca("NAME_{$gid}") . ":" . nicenum($amount) . " ";
                    }
                }
                ?>
        </th>
        <th <?php 
                echo $style;
                ?>
 >
<?php 
                $total = $fleet_obj['pm'] + $fleet_obj['pk'] + $fleet_obj['pd'];
                if ($total > 0) {
                    echo "М: " . nicenum($fleet_obj['pm']) . "<br>";
                    echo "К: " . nicenum($fleet_obj['pk']) . "<br>";
                    echo "Д: " . nicenum($fleet_obj['pd']);
                } else {
                    echo "-";
                }
                ?>
        </th>
        <th <?php 
                echo $style;
                ?>
 >
<?php 
                $total = $fleet_obj['m'] + $fleet_obj['k'] + $fleet_obj['d'];
                if ($total > 0) {
                    echo "М: " . nicenum($fleet_obj['m']) . "<br>";
                    echo "К: " . nicenum($fleet_obj['k']) . "<br>";
                    echo "Д: " . nicenum($fleet_obj['d']);
                } else {
                    echo "-";
                }
                ?>
        </th>
        <th <?php 
                echo $style;
                ?>
 >
<?php 
                if ($fleet_obj['union_id']) {
                    echo $fleet_obj['union_id'];
                } else {
                    echo "-";
                }
                ?>
        </th>

        </tr>
<?php 
                $bxx++;
            }
            echo "<script language=javascript>anz={$anz};t();</script>\n";
        } else {
            ?>

    <tr><td class=c colspan=3>Логи полётов</td></tr>
    <tr><td>Задание</td><td>от <?php 
            echo $user['oname'];
            ?>
</td><td>на <?php 
            echo $user['oname'];
            ?>
</td></tr>
    <tr><td>Все</td><td><?php 
            echo LinkFleetsFrom($user, 0);
            ?>
</td><td><?php 
            echo LinkFleetsTo($user, 0);
            ?>
</td></tr>
    <tr><td>Атака</td><td><?php 
            echo LinkFleetsFrom($user, 1);
            ?>
</td><td><?php 
            echo LinkFleetsTo($user, 1);
            ?>
</td></tr>
    <tr><td>Совместная атака</td><td><?php 
            echo LinkFleetsFrom($user, 2);
            ?>
</td><td><?php 
            echo LinkFleetsTo($user, 2);
            ?>
</td></tr>
    <tr><td>Транспорт</td><td><?php 
            echo LinkFleetsFrom($user, 3);
            ?>
</td><td><?php 
            echo LinkFleetsTo($user, 3);
            ?>
</td></tr>
    <tr><td>Оставить</td><td><?php 
            echo LinkFleetsFrom($user, 4);
            ?>
</td><td><?php 
            echo LinkFleetsTo($user, 4);
            ?>
</td></tr>
    <tr><td>Держаться</td><td><?php 
            echo LinkFleetsFrom($user, 5);
            ?>
</td><td><?php 
            echo LinkFleetsTo($user, 5);
            ?>
</td></tr>
    <tr><td>Шпионаж</td><td><?php 
            echo LinkFleetsFrom($user, 6);
            ?>
</td><td><?php 
            echo LinkFleetsTo($user, 6);
            ?>
</td></tr>
    <tr><td>Колонизировать</td><td><?php 
            echo LinkFleetsFrom($user, 7);
            ?>
</td><td><?php 
            echo LinkFleetsTo($user, 7);
            ?>
</td></tr>
    <tr><td>Переработать</td><td><?php 
            echo LinkFleetsFrom($user, 8);
            ?>
</td><td><?php 
            echo LinkFleetsTo($user, 8);
            ?>
</td></tr>
    <tr><td>Уничтожить</td><td><?php 
            echo LinkFleetsFrom($user, 9);
            ?>
</td><td><?php 
            echo LinkFleetsTo($user, 9);
            ?>
</td></tr>
    <tr><td>Экспедиция</td><td><?php 
            echo LinkFleetsFrom($user, 15);
            ?>
</td><td><?php 
            echo LinkFleetsTo($user, 15);
            ?>
</td></tr>
    <tr><td>Ракетная атака</td><td><?php 
            echo LinkFleetsFrom($user, 20);
            ?>
</td><td><?php 
            echo LinkFleetsTo($user, 20);
            ?>
</td></tr>
    <tr><td>Атака (САБ)</td><td><?php 
            echo LinkFleetsFrom($user, 21);
            ?>
</td><td><?php 
            echo LinkFleetsTo($user, 21);
            ?>
</td></tr>
    </table>

<?php 
        }
        ?>

<?php 
    } else {
        $query = "SELECT * FROM " . $db_prefix . "users ORDER BY regdate DESC LIMIT 25";
        $result = dbquery($query);
        AdminPanel();
        echo "    </th> \n";
        echo "   </tr> \n";
        echo "</table> \n";
        echo "Новые пользователи:<br>\n";
        echo "<table>\n";
        echo "<tr><td class=c>Дата регистрации</td><td class=c>Главная планета</td><td class=c>Имя игрока</td></tr>\n";
        $rows = dbrows($result);
        while ($rows--) {
            $user = dbarray($result);
            $hplanet = GetPlanet($user['hplanetid']);
            echo "<tr><th>" . date("Y-m-d H:i:s", $user['regdate']) . "</th>";
            echo "<th>[" . $hplanet['g'] . ":" . $hplanet['s'] . ":" . $hplanet['p'] . "] <a href=\"index.php?page=admin&session={$session}&mode=Planets&cp=" . $hplanet['planet_id'] . "\">" . $hplanet['name'] . "</a></th>";
            echo "<th>" . AdminUserName($user) . "</th></tr>\n";
        }
        echo "</table>\n";
        ?>

    <br>
    <table>
<?php 
        $when = time() - 24 * 60 * 60;
        $query = "SELECT * FROM " . $db_prefix . "users WHERE lastclick >= {$when} ORDER BY oname ASC";
        $result = dbquery($query);
        $rows = dbrows($result);
        ?>
    <tr><td class=c>Активные за последние 24 часа (<?php 
        echo $rows;
        ?>
)</td></tr>
    <tr><td>
<?php 
        $first = true;
        while ($rows--) {
            $user = dbarray($result);
            if ($first) {
                $first = false;
            } else {
                echo ", ";
            }
            echo AdminUserName($user);
        }
        ?>
    </td></tr>
    </table>

<?php 
    }
    // Поиск пользователей
}
echo nicenum($GlobalUser['dm']);
?>
&lt;/span&gt;&lt;br/&gt;Найденная: &lt;span class=''&gt;<?php 
echo nicenum($GlobalUser['dmfree']);
?>
&lt;/span&gt;">
				<a href="index.php?page=premium&session=<?php 
echo $session;
?>
&openDetail=1">
					<img src="red_images/layout/ressourcen_DM.gif" />
				</a>
                <span class="value">
                	<span id="resources_darkmatter">
						<?php 
echo nicenum($GlobalUser['dm'] + $GlobalUser['dmfree']);
?>
					</span>
                </span>
            </li>
      </ul>
      	<div id="officers">
      				<a href="index.php?page=premium&session=<?php 
echo $session;
?>
&openDetail=2" class="tipsTitle on  pic1" title="Нанять Командира|Активен ещё 62 дней.">
            	<img src="red_images/3e567d6f16d040326c7a0ea29a4f41.gif" width="30" height="30"/>
            </a>
      				<a href="index.php?page=premium&session=<?php 
echo $session;
?>
Esempio n. 6
0
<?php 
if ($ShowActivateDlg) {
    ?>

<form action="" method="POST" accept-charset="text/plain; charset=utf-8">
<input type="hidden" name="action" value="activate">
<input type="hidden" name="couponcode" value="<?php 
    echo $coupon['code'];
    ?>
">
<table class="ordertable">
<tbody>
<tr><td class="c" colspan="2">
<big>
Тёмная материя <?php 
    echo nicenum($coupon['amount']);
    ?>
 !
</big>
</td></tr>
<tr><td colspan="2"><center><input type="submit" value="Зачислить!"></center></td></tr>
</tbody></table>
</form>

<?php 
} else {
    ?>

<form action="" method="POST" accept-charset="text/plain; charset=utf-8">
<input type="hidden" name="action" value="check">
<table class="ordertable">
Esempio n. 7
0
function uploadFile($tmpfile, $source, $sourcedata)
{
    // upload file from multiple sources
    global $uperrs;
    $povedlo = false;
    echo "<b>Adding file {$tmpfile}:</b><br>";
    if (!file_exists($tmpfile)) {
        switch ($source) {
            case "paste":
                echo "Creating file from text field...";
                if (file_put_contents($tmpfile, $sourcedata)) {
                    echo "OK";
                    $povedlo = true;
                } else {
                    echo "ERROR!";
                }
                break;
            case "upload":
                $hashfile = $sourcedata;
                $hashchyba = $hashfile["error"];
                if ($hashchyba == 0) {
                    echo "Moving uploaded file...";
                    if (move_uploaded_file($hashfile["tmp_name"], $tmpfile) && file_exists($tmpfile)) {
                        echo "OK";
                        $povedlo = true;
                    } else {
                        echo "ERROR";
                    }
                } else {
                    echo "Upload file error: " . $uperrs[$hashchyba];
                }
                break;
            case "import":
                echo "Loading imported file...";
                if (file_exists("import/" . $sourcedata)) {
                    rename("import/" . $sourcedata, $tmpfile);
                    if (file_exists($tmpfile)) {
                        echo "OK";
                        $povedlo = true;
                    } else {
                        echo "DST ERROR";
                    }
                } else {
                    echo "SRC ERROR";
                }
                break;
            case "url":
                $local = basename($sourcedata);
                echo "Downloading remote file <a href=\"{$sourcedata}\" target=\"_blank\">{$local}</a>...";
                $furl = fopen($sourcedata, "rb");
                if (!$furl) {
                    echo "SRC ERROR";
                } else {
                    $floc = fopen($tmpfile, "w");
                    if (!$floc) {
                        echo "DST ERROR";
                    } else {
                        $downed = 0;
                        $bufsize = 131072;
                        $cas_pinfo = time();
                        while (!feof($furl)) {
                            if (!($data = fread($furl, $bufsize))) {
                                echo "READ ERROR";
                                break;
                            }
                            fwrite($floc, $data);
                            $downed += strlen($data);
                            if ($cas_pinfo < time() - 10) {
                                echo nicenum($downed, 1024) . "B...\n";
                                $cas_pinfo = time();
                                flush();
                            }
                        }
                        fclose($floc);
                        echo "OK (" . nicenum($downed, 1024) . "B)";
                        $povedlo = true;
                    }
                    fclose($furl);
                }
                break;
            default:
                echo "Wrong file source.";
        }
    } else {
        echo "File already exists.";
    }
    echo "<br>";
    return $povedlo;
}
Esempio n. 8
0
    <th>
<?php 
        echo FleetMissionText($fleet['mission']);
        ?>
    </th>
    <th> <a title="<?php 
        $totalships = 0;
        foreach ($fleetmap as $i => $gid) {
            if ($fleet["ship{$gid}"] > 0) {
                echo loca("NAME_{$gid}") . ": " . nicenum($fleet["ship{$gid}"]) . " \n";
                $totalships += $fleet["ship{$gid}"];
            }
        }
        ?>
"><?php 
        echo nicenum($totalships);
        ?>
</a></th>
    <th><a href="index.php?page=galaxy&galaxy=<?php 
        echo $origin['g'];
        ?>
&system=<?php 
        echo $origin['s'];
        ?>
&position=<?php 
        echo $origin['p'];
        ?>
&session=<?php 
        echo $session;
        ?>
" >[<?php 
function Exp_FleetFound($queue, $fleet_obj, $fleet, $origin, $target)
{
    global $UnitParam;
    $fleetmap = array(202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215);
    $small = array(loca("EXP_FLEET_SMALL_1"), loca("EXP_FLEET_SMALL_2"), loca("EXP_FLEET_SMALL_3"), loca("EXP_FLEET_SMALL_4"));
    $medium = array(loca("EXP_FLEET_MED_1"), loca("EXP_FLEET_MED_2"));
    $large = array(loca("EXP_FLEET_LARGE_1"), loca("EXP_FLEET_LARGE_2"));
    $footer = array(loca("EXP_FLEET_LOGBOOK_1"), loca("EXP_FLEET_LOGBOOK_2"), loca("EXP_FLEET_LOGBOOK_3"));
    $points = $fpoints = 0;
    $found = array();
    // Рассчитать количество найденного флота
    $chance = mt_rand(0, 99);
    if ($chance >= 99) {
        // крупный
        $roll = mt_rand(101, 200);
        $n = mt_rand(0, count($large) - 1);
        $msg = $large[$n];
    } else {
        if ($chance >= 90) {
            // средний
            $roll = mt_rand(51, 100);
            $n = mt_rand(0, count($medium) - 1);
            $msg = $medium[$n];
        } else {
            // маленький
            $roll = mt_rand(2, 50);
            $n = mt_rand(0, count($small) - 1);
            $msg = $small[$n];
        }
    }
    // Рассчитать структуру найденного флота.
    $epoints = min(ExpPoints($fleet), ExpUpperLimit());
    $structure = max(7000, floor($roll * $epoints / 2));
    $no_structure = false;
    // Возможные типы найденных кораблей
    if ($fleet[210] > 0) {
        $found = array(210, 202);
    }
    // шпик
    if ($fleet[202] > 0) {
        $found = array(210, 202, 203);
    }
    // мт
    if ($fleet[204] > 0) {
        $found = array(210, 202, 204, 203);
    }
    // ли
    if ($fleet[203] > 0) {
        $found = array(210, 202, 204, 203, 205);
    }
    // бт
    if ($fleet[205] > 0) {
        $found = array(210, 202, 204, 203, 205, 206);
    }
    // ти
    if ($fleet[206] > 0) {
        $found = array(210, 202, 204, 203, 205, 206, 207);
    }
    // крейсер
    if ($fleet[207] > 0) {
        $found = array(210, 202, 204, 203, 205, 206, 207, 215);
    }
    // линкор
    if ($fleet[215] > 0) {
        $found = array(210, 202, 204, 203, 205, 206, 207, 215, 211);
    }
    // линейка
    if ($fleet[211] > 0) {
        $found = array(210, 202, 204, 203, 205, 206, 207, 215, 211, 213);
    }
    // бомбер
    if ($fleet[213] > 0) {
        $found = array(210, 202, 204, 203, 205, 206, 207, 215, 211, 213);
    }
    // уник
    // Составить список найденных типов кораблей, каждый тип корабля может быть найден с равной вероятностью.
    $found_ids = array();
    if (count($found) > 0) {
        shuffle($found);
        $chance = floor(1 / count($found) * 100);
        foreach ($found as $i => $id) {
            $roll = mt_rand(0, 99);
            if ($roll < $chance) {
                $found_ids[] = $id;
            }
        }
    }
    // Соcтавить список найденного флота.
    $found_fleet = array();
    foreach ($found_ids as $i => $id) {
        $max = floor($structure / $UnitParam[$id][0]);
        if ($max > 0) {
            $amount = mt_rand(1, $max);
        } else {
            $amount = 0;
        }
        if ($amount == 0) {
            $no_structure = true;
            break;
        }
        // не хватило структуры для остального флота
        $found_fleet[$id] = $amount;
        $structure -= $amount * $UnitParam[$id][0];
    }
    // Вывести список найденного флота и посчитать его стоимость.
    if (count($found_fleet) > 0) {
        $msg .= loca("EXP_FLEET_FOUND");
        foreach ($found_fleet as $id => $amount) {
            $res = ShipyardPrice($id);
            $m = $res['m'];
            $k = $res['k'];
            $d = $res['d'];
            $e = $res['e'];
            $points += ($m + $k + $d) * $amount;
            $fpoints += $amount;
            $msg .= "<br>" . loca("NAME_{$id}") . " " . nicenum($amount);
            $fleet[$id] += $amount;
            // Добавить корабли к экспедиционному флоту
        }
    }
    // Зачислить очки, если найден хотя бы один корабль
    if ($fpoints > 0) {
        AdjustStats($fleet_obj['owner_id'], $points, $fpoints, 0, '+');
        RecalcRanks();
    }
    if ($no_structure) {
        $n = mt_rand(0, count($footer) - 1);
        $msg .= "<br><br>" . $footer[$n];
    }
    // Вернуть флот.
    // В качестве времени полёта используется время удержания.
    DispatchFleet($fleet, $origin, $target, 115, $fleet_obj['deploy_time'], $fleet_obj['m'], $fleet_obj['k'], $fleet_obj['d'], 0, $queue['end']);
    return $msg;
}
function Cargo($m, $k, $d, $mission, $text)
{
    if ($m + $k + $d != 0) {
        return "<a href='#' onmouseover='return overlib(\"&lt;font color=white&gt;&lt;b&gt;Транспорт: &lt;br /&gt; Металл: " . nicenum($m) . "&lt;br /&gt;Кристалл: " . nicenum($k) . "&lt;br /&gt;Дейтерий: " . nicenum($d) . "&lt;/b&gt;&lt;/font&gt;\");' " . "onmouseout='return nd();'' class='{$mission}'>{$text}</a><a href='#' title='Транспорт: Металл: " . nicenum($m) . " Кристалл: " . nicenum($k) . " Дейтерий: " . nicenum($d) . "'></a>";
    } else {
        return "<span class='class'>{$text}</span>";
    }
}
Esempio n. 11
0
function RocketAttack($fleet_id, $planet_id)
{
    global $UnitParam;
    $fleet = LoadFleet($fleet_id);
    $amount = $fleet['ipm_amount'];
    $primary = $fleet['ipm_target'];
    $origin = GetPlanet($fleet['start_planet']);
    $target = GetPlanet($planet_id);
    $origin_user = LoadUser($origin['owner_id']);
    $target_user = LoadUser($target['owner_id']);
    // Отбить атаку МПР перехватчиками
    $ipm = $amount;
    $abm = $target['d502'];
    $ipm = max(0, $ipm - $abm);
    $ipm_destroyed = $amount - $ipm;
    $target['d502'] -= $ipm_destroyed;
    $maxdamage = $ipm * 12000 * (1 + $origin_user['r109'] / 10);
    // Произвести атаку первичной цели
    if ($primary > 0 && $ipm > 0) {
        $armor = $UnitParam[$primary][0] * (1 + 0.1 * $target_user['r111']) / 10;
        $count = $target["d{$primary}"];
        $destroyed = min(floor($maxdamage / $armor), $count);
        $target["d{$primary}"] -= $destroyed;
        $maxdamage -= $destroyed * $armor;
        $maxdamage -= $destroyed;
    }
    // Расчитать потери обороны, если еще остались МПР
    if ($maxdamage > 0) {
        $defmap = array(401, 402, 403, 404, 405, 406, 407, 408, 502, 503);
        foreach ($defmap as $i => $id) {
            if ($id == $primary) {
                continue;
            }
            $armor = $UnitParam[$id][0] * (1 + 0.1 * $target_user['r111']) / 10;
            $count = $target["d{$id}"];
            if ($count == 0) {
                continue;
            }
            $destroyed = min(floor($maxdamage / $armor), $count);
            $target["d{$id}"] -= $destroyed;
            $maxdamage -= $destroyed * $armor;
            $maxdamage -= $destroyed;
            if ($maxdamage <= 0) {
                break;
            }
        }
    }
    // Записать назад потери обороны.
    SetPlanetDefense($planet_id, $target);
    // Изменить статистику игроков
    RecalcRanks();
    $text = "{$amount} ракетам из общего числа выпущенных ракет с планеты " . $origin['name'] . " <a href=# onclick=showGalaxy(" . $origin['g'] . "," . $origin['s'] . "," . $origin['p'] . "); >[" . $origin['g'] . ":" . $origin['s'] . ":" . $origin['p'] . "]</a>  ";
    $text .= "удалось попасть на Вашу планету " . $target['name'] . " <a href=# onclick=showGalaxy(" . $target['g'] . "," . $target['s'] . "," . $target['p'] . "); >[" . $target['g'] . ":" . $target['s'] . ":" . $target['p'] . "]</a> !<br>";
    if ($ipm_destroyed) {
        $text .= "{$ipm_destroyed} ракет(-ы) было уничтожено Вашими ракетами-перехватчиками<br>:<br>";
    }
    $defmap = array(503, 502, 408, 407, 406, 405, 404, 403, 402, 401);
    $text .= "<table width=400><tr><td class=c colspan=4>Поражённая оборона</td></tr>";
    $n = 0;
    foreach ($defmap as $i => $gid) {
        if ($n % 2 == 0) {
            $text .= "</tr>";
        }
        if ($target["d{$gid}"]) {
            $text .= "<td>" . loca("NAME_{$gid}") . "</td><td>" . nicenum($target["d{$gid}"]) . "</td>";
            $n++;
        }
    }
    $text .= "</table><br>\n";
    // Обновить активность на планете.
    $queue = GetFleetQueue($fleet_id);
    UpdatePlanetActivity($planet_id, $queue['end']);
    SendMessage($target_user['player_id'], "Командование флотом", "Ракетная атака", $text, 2);
}
Esempio n. 12
0
function Admin_BattleSim()
{
    global $session;
    global $db_prefix;
    global $GlobalUser;
    $fleetmap = array(202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215);
    $defmap = array(401, 402, 403, 404, 405, 406, 407, 408);
    $unitab = LoadUniverse();
    $rf = $unitab['rapid'];
    $fid = $unitab['fid'];
    $did = $unitab['did'];
    $debug = false;
    $maxslot = $unitab['acs'] * $unitab['acs'];
    $BattleReport = "";
    $aloss = $dloss = 0;
    // --------------------------------------------------------------------------------------------------------------------------
    // Обработка POST-запроса.
    if (method() === "POST" && $GlobalUser['admin'] >= 2) {
        //print_r ( $_POST );
        //echo "<hr>";
        // Сформировать список атакующих и обороняющихся
        $a = array();
        $d = array();
        $anum = intval($_POST['anum']);
        $dnum = intval($_POST['dnum']);
        // Атакующие
        for ($i = 0; $i < $anum; $i++) {
            if ($_POST["a" . $i . "_weap"] === "") {
                $_POST["a" . $i . "_weap"] = 0;
            }
            if ($_POST["a" . $i . "_shld"] === "") {
                $_POST["a" . $i . "_shld"] = 0;
            }
            if ($_POST["a" . $i . "_armor"] === "") {
                $_POST["a" . $i . "_armor"] = 0;
            }
            $a[$i]['r109'] = intval($_POST["a" . $i . "_weap"]);
            $a[$i]['r110'] = intval($_POST["a" . $i . "_shld"]);
            $a[$i]['r111'] = intval($_POST["a" . $i . "_armor"]);
            $a[$i]['oname'] = "Attacker{$i}";
            $a[$i]['g'] = mt_rand(1, 9);
            $a[$i]['s'] = mt_rand(1, 499);
            $a[$i]['p'] = mt_rand(1, 15);
            $a[$i]['fleet'] = array();
            foreach ($fleetmap as $n => $gid) {
                if ($_POST["a" . $i . "_{$gid}"] === "") {
                    $_POST["a" . $i . "_{$gid}"] = 0;
                }
                $a[$i]['fleet'][$gid] = intval($_POST["a" . $i . "_{$gid}"]);
            }
        }
        // Обороняющиеся
        for ($i = 0; $i < $dnum; $i++) {
            if ($_POST["d" . $i . "_weap"] === "") {
                $_POST["d" . $i . "_weap"] = 0;
            }
            if ($_POST["d" . $i . "_shld"] === "") {
                $_POST["d" . $i . "_shld"] = 0;
            }
            if ($_POST["d" . $i . "_armor"] === "") {
                $_POST["d" . $i . "_armor"] = 0;
            }
            $d[$i]['r109'] = intval($_POST["d" . $i . "_weap"]);
            $d[$i]['r110'] = intval($_POST["d" . $i . "_shld"]);
            $d[$i]['r111'] = intval($_POST["d" . $i . "_armor"]);
            $d[$i]['oname'] = "Defender{$i}";
            $d[$i]['g'] = mt_rand(1, 9);
            $d[$i]['s'] = mt_rand(1, 499);
            $d[$i]['p'] = mt_rand(1, 15);
            $d[$i]['fleet'] = array();
            foreach ($fleetmap as $n => $gid) {
                if ($_POST["d" . $i . "_{$gid}"] === "") {
                    $_POST["d" . $i . "_{$gid}"] = 0;
                }
                $d[$i]['fleet'][$gid] = intval($_POST["d" . $i . "_{$gid}"]);
            }
            $d[$i]['defense'] = array();
            foreach ($defmap as $n => $gid) {
                if ($_POST["d" . $i . "_{$gid}"] === "") {
                    $_POST["d" . $i . "_{$gid}"] = 0;
                }
                $d[$i]['defense'][$gid] = intval($_POST["d" . $i . "_{$gid}"]);
            }
        }
        // Симулировать битву
        $battle_result = 0;
        if ($_POST['debug'] === "on") {
            $debug = true;
        } else {
            $debug = false;
        }
        if ($_POST['rapid'] === "on") {
            $rf = true;
        } else {
            $rf = 0;
        }
        if ($_POST['fid'] === "") {
            $fid = 0;
        } else {
            $fid = intval($_POST['fid']);
        }
        if ($_POST['did'] === "") {
            $did = 0;
        } else {
            $did = intval($_POST['did']);
        }
        $BattleReport = SimBattle($a, $d, $rf, $fid, $did, $debug, &$battle_result, &$aloss, &$dloss);
    }
    // --------------------------------------------------------------------------------------------------------------------------
    // Таблица ввода параметров симуляции.
    function getval($name)
    {
        if ($_POST[$name] != "") {
            return "value=\"" . $_POST[$name] . "\" ";
        }
    }
    function getval2($arr, $id)
    {
        if ($_POST[$arr][$id] != 0) {
            return "value=\"" . $_POST[$arr][$id] . "\" ";
        } else {
            return "";
        }
    }
    ?>

<script language="JavaScript">

var maxslot = <?php 
    echo $maxslot;
    ?>
;

function toint (num)
{
    if ( typeof (num) == "undefined" ) num = 0;
    return parseInt (num);
}

// Пересчитать количество атакующих и обороняющихся.
function RecalcAttackersDefendersNum ()
{
    var anum = dnum = 1;
    var fleet = [ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215 ];
    var defense = [ 401, 402, 403, 404, 405, 406, 407, 408 ];

    for ( n=0; n<maxslot; n++ )        // Атакующие
    {
        sum = 0;
        for (var i in fleet) {
            value = toint (document.getElementById ( "a"+n+"_" + fleet[i] ).value);
            if ( value ) sum += value;
        }
        if ( sum > 0 ) anum = n + 1;
    }

    for ( n=0; n<maxslot; n++ )        // Обороняющиеся
    {
        sum = 0;
        for (var i in fleet) {
            value = toint (document.getElementById ( "d"+n+"_" + fleet[i] ).value);
            if ( value ) sum += value;
        }
        for (var i in defense) {
            value = toint (document.getElementById ( "d"+n+"_" + defense[i] ).value);
            if ( value ) sum += value;
        }
        if ( sum > 0 ) dnum = n + 1;
    }

    document.getElementById ( "anum" ).value = anum;
    document.getElementById ( "dnum" ).value = dnum;
    //alert ( "Атакующих : " + anum + ", Обороняющихся : " + dnum );
}

// При смене слота - занести данные из массива слотов в ячейки ввода
function OnChangeSlot (attacker)
{
    var fleet = [ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215 ];
    var defense = [ 401, 402, 403, 404, 405, 406, 407, 408 ];

    if (attacker) {
        slot = document.simForm.aslot.value - 1;
        for (var i in fleet) {
            value = toint (document.getElementById ( "a"+slot+"_" + fleet[i] ).value);
            if (value) document.getElementById ( "a_" + fleet[i] ).value = value;
            else document.getElementById ( "a_" + fleet[i] ).value = "";
        }
    }
    else {
        slot = document.simForm.dslot.value - 1;
        for (var i in fleet) {
            value = toint (document.getElementById ( "d"+slot+"_" + fleet[i] ).value);
            if ( value ) document.getElementById ( "d_" + fleet[i] ).value = value;
            else document.getElementById ( "d_" + fleet[i] ).value = "";
        }
        for (var i in defense) {
            value = toint (document.getElementById ( "d"+slot+"_" + defense[i] ).value);
            if (value) document.getElementById ( "d_" + defense[i] ).value = value;
            else document.getElementById ( "d_" + defense[i] ).value = "";
        }
    }
}

// При изменении ячейки - внести данные из неё в массив слотов
function OnChangeValue (attacker, id)
{
    if (attacker) {
        slot = document.simForm.aslot.value - 1;
        document.getElementById ( "a"+slot+"_" + id ).value = document.getElementById ( "a_" + id ).value;
    }
    else {
        slot = document.simForm.dslot.value - 1;
        document.getElementById ( "d"+slot+"_" + id ).value = document.getElementById ( "d_" + id ).value;
    }

    RecalcAttackersDefendersNum ();
}

RecalcAttackersDefendersNum ();

</script>

<?php 
    echo AdminPanel();
    ?>

<table cellpadding=0 cellspacing=0>
<form name="simForm" action="index.php?page=admin&session=<?php 
    echo $session;
    ?>
&mode=BattleSim" method="POST" >

<?php 
    for ($n = 0; $n < $maxslot; $n++) {
        foreach ($fleetmap as $i => $gid) {
            echo "<input type=\"hidden\" id=\"a" . $n . "_{$gid}\" name=\"a" . $n . "_{$gid}\" value=\"0\"> \n";
        }
        foreach ($fleetmap as $i => $gid) {
            echo "<input type=\"hidden\" id=\"d" . $n . "_{$gid}\" name=\"d" . $n . "_{$gid}\" value=\"0\"> \n";
        }
        foreach ($defmap as $i => $gid) {
            echo "<input type=\"hidden\" id=\"d" . $n . "_{$gid}\" name=\"d" . $n . "_{$gid}\" value=\"0\"> \n";
        }
        echo "<input type=\"hidden\" id=\"a" . $n . "_weap\" name=\"a" . $n . "_weap\" size=2 > <input type=\"hidden\" id=\"a" . $n . "_shld\" name=\"a" . $n . "_shld\" size=2 > <input type=\"hidden\" id=\"a" . $n . "_armor\" name=\"a" . $n . "_armor\" size=2 > \n";
        echo "<input type=\"hidden\" id=\"d" . $n . "_weap\" name=\"d" . $n . "_weap\" size=2 > <input type=\"hidden\" id=\"d" . $n . "_shld\" name=\"d" . $n . "_shld\" size=2 > <input type=\"hidden\" id=\"d" . $n . "_armor\" name=\"d" . $n . "_armor\" size=2 > \n";
    }
    ?>

<input type="hidden" id="anum" name="anum" value="1" />
<input type="hidden" id="anum" name="dnum" value="1" />

<tr>        <td class=c>Атакующий</td>                <td class=c>Оборояющийся</td>  </tr>

<tr> 
<td> Вооружение: <input id="a_weap" size=2 > Щиты: <input id="a_shld" size=2 > Броня: <input id="a_armor" size=2 ></td>   
<td> Вооружение: <input id="d_weap" size=2 > Щиты: <input id="d_shld" size=2 > Броня: <input id="d_armor" size=2 ></td>   
</tr>

        <tr> <th valign=top>
        <table>
<?php 
    echo "<tr><td class=c><b>Флот</b></td> ";
    if ($maxslot > 0) {
        echo "<td>Слот: <select name=\"aslot\" onchange=\"OnChangeSlot(1);\">\n";
        for ($n = 1; $n <= $maxslot; $n++) {
            echo "<option value=\"{$n}\">{$n}</option>\n";
        }
        echo "</select> </td> ";
    }
    echo " </tr>\n";
    foreach ($fleetmap as $i => $gid) {
        ?>
           <tr><td> <?php 
        echo loca("NAME_{$gid}");
        ?>
 </td> <td> <input id="a_<?php 
        echo $gid;
        ?>
" size=5  onKeyUp="OnChangeValue(1, <?php 
        echo $gid;
        ?>
);"> </td> </tr>
<?php 
    }
    ?>

<tr><td colspan=2> 
<table>
<tr><td class=c colspan=2>Настройки</td></tr>
<tr><td>Отладочная информация</td><td><input type="checkbox" name="debug" <? if($debug) echo "checked"; ?> ></td></tr>
<tr><td>Скорострел</td><td><input type="checkbox" name="rapid" <? if($rf) echo "checked"; ?> ></td></tr>
<tr><td>Флот в обломки</td><td><input name="fid" size=3 value="<?php 
    echo $fid;
    ?>
"> </td></tr>
<tr><td>Оборона в обломки</td><td><input name="did" size=3 value="<?php 
    echo $did;
    ?>
"></td></tr>
</table>
</td></tr>

        </table>
        </th>

        <th valign=top>
        <table>
<?php 
    echo "<tr><td class=c><b>Флот</b></td>";
    if ($maxslot > 0) {
        echo "<td>Слот: <select name=\"dslot\" onchange=\"OnChangeSlot(0);\">\n";
        for ($n = 1; $n <= $maxslot; $n++) {
            echo "<option value=\"{$n}\">{$n}</option>\n";
        }
        echo "</select> </td> ";
    }
    echo "</tr>\n";
    foreach ($fleetmap as $i => $gid) {
        ?>
           <tr><td> <?php 
        echo loca("NAME_{$gid}");
        ?>
 </td> <td> <input id="d_<?php 
        echo $gid;
        ?>
" size=5 onKeyUp="OnChangeValue(0, <?php 
        echo $gid;
        ?>
);"> </td> </tr>
<?php 
    }
    echo "<tr><td class=c><b>Оборона</b></td></tr>\n";
    foreach ($defmap as $i => $gid) {
        ?>
           <tr><td> <?php 
        echo loca("NAME_{$gid}");
        ?>
 </td> <td> <input id="d_<?php 
        echo $gid;
        ?>
" size=5 onKeyUp="OnChangeValue(0, <?php 
        echo $gid;
        ?>
);"> </td> </tr>
<?php 
    }
    ?>
        </table>
        </th></tr>

<tr><td colspan=2><center><input type="submit" value="Начать бой"></center></td></tr>
</form>
</table>

<?php 
    if ($BattleReport !== "") {
        $a_result = array(0 => "combatreport_ididattack_iwon", 1 => "combatreport_ididattack_ilost", 2 => "combatreport_ididattack_draw");
        $bericht = SendMessage($GlobalUser['player_id'], "Командование флотом", "Боевой доклад", $BattleReport, 6);
        MarkMessage($GlobalUser['player_id'], $bericht);
        $subj = "<a href=\"#\" onclick=\"fenster('index.php?page=bericht&session={$session}&bericht={$bericht}', 'Bericht_Kampf');\" ><span class=\"" . $a_result[$battle_result] . "\">Боевой доклад [" . $d[0]['g'] . ":" . $d[0]['s'] . ":" . $d[0]['p'] . "] (V:" . nicenum($dloss) . ",A:" . nicenum($aloss) . ")</span></a>";
        echo "{$subj}<br>";
    }
    ?>

<?php 
}
Esempio n. 13
0
                        </th>           
        </TR>
        
        <TR>
            <th class="c" align="center" width=25% >Дейтерий</th>
<?php 
    if ($GlobalUser['trader'] == 3) {
        echo "                          <th class=\"c\" align='center' width=25% ><span id=\"3_value\">0</span></th>\n";
    } else {
        echo "                          <th class=\"c\" align='center' width=25% ><input type=\"text\" size=\"9\" name=\"3_value\" value=\"0\" style=\"text-align:right;\" onkeyup='checkValue(3);'> <a href=\"#\" onClick=\"setMaxValue(3);\">max</a></th>\n";
    }
    ?>
              <th class="c" align='center' width=25% >
<?php 
    if ($GlobalUser['trader'] != 3) {
        echo "<span id=\"3_storage\">" . nicenum($dmax) . "</span>";
    } else {
        echo "---";
    }
    ?>
</th>
                        
            <th class="c" align='center' width=25% >
<?php 
    if ($GlobalUser['trader'] != 3) {
        ?>
                          <a href=# onmouseover="return overlib('<font color=white><?php 
        echo va("Один #1 даёт #2 #3", $resname[$GlobalUser['trader']], round($GlobalUser['rate_d'] / $ratewhat, 2), $resname[3]);
        ?>
</font>');" onmouseout="return nd();">
<?php 
    ?>
"
                           title="|&lt;B&gt;<?php 
    echo $planet['name'];
    ?>
 [<?php 
    echo $planet['g'];
    ?>
:<?php 
    echo $planet['s'];
    ?>
:<?php 
    echo $planet['p'];
    ?>
]&lt;/B&gt;&lt;BR&gt;<?php 
    echo nicenum($planet['diameter']);
    ?>
км (<?php 
    echo $planet['fields'];
    ?>
/<?php 
    echo $planet['maxfields'];
    ?>
)&lt;BR&gt;от <?php 
    echo $planet['temp'];
    ?>
°C до <?php 
    echo $planet['temp'] + 40;
    ?>
°C"
                           class="planetlink <?php 
Esempio n. 15
0
function ResourceList($m, $k, $d, $enow, $emax, $dm, $mmax, $kmax, $dmax)
{
    global $GlobalUser;
    $sess = $GlobalUser['session'];
    $mcol = $kcol = $dcol = $ecol = "";
    if ($m >= $mmax) {
        $mcol = "color='#ff0000'";
    }
    if ($k >= $kmax) {
        $kcol = "color='#ff0000'";
    }
    if ($d >= $dmax) {
        $dcol = "color='#ff0000'";
    }
    if ($enow < 0) {
        $ecol = "color='#ff0000'";
    }
    echo "<td class='header'><table class='header' id='resources' border='0' cellspacing='0' cellpadding='0' padding-right='30' >\n";
    echo "<tr class='header'>\n";
    echo "<td align='center' width='85' class='header'>\n";
    echo "<img border='0' src='" . UserSkin() . "images/metall.gif' width='42' height='22'>\n</td>\n";
    echo "<td align='center' width='85' class='header'>\n";
    echo "<img border='0' src='" . UserSkin() . "images/kristall.gif' width='42' height='22'>\n</td>\n";
    echo "<td align='center' width='85' class='header'>\n";
    echo "<img border='0' src='" . UserSkin() . "images/deuterium.gif' width='42' height='22'>\n</td>\n";
    echo "<td align='center' width='85' class='header'>\n";
    echo "<a href=index.php?page=micropayment&session={$sess}>\n";
    echo "<img border='0' src='img/dm_klein_2.jpg' width='42' height='22' title='" . loca("DM") . "'></a>\n</td>\n";
    echo "<td align='center' width='85' class='header'>\n";
    echo "<img border='0' src='" . UserSkin() . "images/energie.gif' width='42' height='22'>\n</td>\n</tr>\n";
    echo "<tr class='header'>\n";
    echo "    <td align='center' class='header' width='85'><i><b><font color='#ffffff'>" . loca("METAL") . "</font></b></i></td>\n";
    echo "    <td align='center' class='header' width='85'><i><b><font color='#ffffff'>" . loca("CRYSTAL") . "</font></b></i></td>\n";
    echo "    <td align='center' class='header' width='85'><i><b><font color='#ffffff'>" . loca("DEUTERIUM") . "</font></b></i></td>\n";
    echo "    <td align='center' class='header' width='85'><i><b><font color='#ffffff'>" . loca("DM") . "</font></b></i></td>\n";
    echo "    <td align='center' class='header' width='85'><i><b><font color='#ffffff'>" . loca("ENERGY") . "</font></b></i></td>\n";
    echo "</tr>\n";
    echo "<tr class='header'>\n";
    echo "    <td align='center' class='header' width='90'><font {$mcol}>" . nicenum($m) . "</font></td>\n";
    echo "    <td align='center' class='header' width='90'><font {$kcol}>" . nicenum($k) . "</font></td>\n";
    echo "    <td align='center' class='header' width='90'><font {$dcol}>" . nicenum($d) . "</font></td>\n";
    echo "    <td align='center' class='header' width='90'><font color='#FFFFFF'>" . nicenum($dm) . "</font></td>\n";
    echo "    <td align='center' class='header' width='90'><font {$ecol}>" . nicenum($enow) . "</font>/" . nicenum($emax) . "</td>\n\n";
    echo "</tr>\n";
    echo "</table></td>\n";
}
Esempio n. 16
0
function Admin_Fleetlogs()
{
    global $session;
    global $db_prefix;
    global $GlobalUser;
    $now = time();
    // Обработка POST-запросов.
    $player_id = 0;
    if (method() === "POST" && $GlobalUser['admin'] >= 2) {
        if (key_exists("order_2min", $_POST)) {
            // -2 минуты до оконачания задания
            $id = intval($_POST['order_2min']);
            $queue = LoadQueue($id);
            $fleet_obj = LoadFleet($queue['sub_id']);
            if ($fleet_obj['union_id']) {
                UpdateUnionTime($fleet_obj['union_id'], $now + 2 * 60, 0, true);
            } else {
                $query = "UPDATE " . $db_prefix . "queue SET end=" . ($now + 2 * 60) . " WHERE task_id={$id}";
                dbquery($query);
            }
        }
        if (key_exists("order_end", $_POST)) {
            // Завершить задание
            $id = intval($_POST['order_end']);
            $queue = LoadQueue($id);
            $fleet_obj = LoadFleet($queue['sub_id']);
            if ($fleet_obj['union_id']) {
                UpdateUnionTime($fleet_obj['union_id'], $now, 0, true);
            } else {
                $query = "UPDATE " . $db_prefix . "queue SET end={$now} WHERE task_id={$id}";
                dbquery($query);
            }
        }
        if (key_exists("order_return", $_POST)) {
            // Развернуть флот
            $queue = LoadQueue(intval($_POST['order_return']));
            RecallFleet($queue['sub_id']);
        }
    }
    $query = "SELECT * FROM " . $db_prefix . "queue WHERE type='Fleet' ORDER BY end ASC";
    $result = dbquery($query);
    $anz = $rows = dbrows($result);
    $bxx = 1;
    AdminPanel();
    echo "<table>\n";
    echo "<tr><td class=c>N</td> <td class=c>Таймер</td> <td class=c>Задание</td> <td class=c>Отправлен</td> <td class=c>Прибывает</td><td class=c>Время полёта</td> <td class=c>Старт</td> <td class=c>Цель</td> <td class=c>Флот</td> <td class=c>Груз</td> <td class=c>Топливо</td> <td class=c>САБ</td> <td class=c colspan=3>Приказ</td> </tr>\n";
    while ($rows--) {
        $queue = dbarray($result);
        $fleet_obj = LoadFleet($queue['sub_id']);
        $fleet_price = FleetPrice($fleet_obj);
        $points = $fleet_price['points'];
        $fpoints = $fleet_price['fpoints'];
        $style = "";
        if ($points >= 100000000) {
            if ($fleet_obj['mission'] <= 2) {
                $style = " style=\"background-color: FireBrick;\" ";
            } else {
                $style = " style=\"background-color: DarkGreen;\" ";
            }
        }
        ?>

        <tr <?php 
        echo $style;
        ?>
 >

        <th <?php 
        echo $style;
        ?>
 > <?php 
        echo $bxx;
        ?>
 </th>

        <th <?php 
        echo $style;
        ?>
 >
<?php 
        echo "<table><tr {$style} ><th {$style} ><div id='bxx" . $bxx . "' title='" . ($queue['end'] - $now) . "' star='" . $queue['start'] . "'> </th>";
        echo "<tr><th {$style} >" . date("d.m.Y H:i:s", $queue['end']) . "</th></tr></table>";
        ?>
        </th>
        <th <?php 
        echo $style;
        ?>
 >
<?php 
        echo FleetlogsMissionText($fleet_obj['mission']);
        ?>
        </th>
        <th <?php 
        echo $style;
        ?>
 ><?php 
        echo date("d.m.Y", $queue['start']);
        ?>
 <br> <?php 
        echo date("H:i:s", $queue['start']);
        ?>
</th>
        <th <?php 
        echo $style;
        ?>
 ><?php 
        echo date("d.m.Y", $queue['end']);
        ?>
 <br> <?php 
        echo date("H:i:s", $queue['end']);
        ?>
</th>
        <th <?php 
        echo $style;
        ?>
 >
<?php 
        echo "<nobr>" . BuildDurationFormat($fleet_obj['flight_time']) . "</nobr><br>";
        echo "<nobr>" . $fleet_obj['flight_time'] . " сек.</nobr>";
        ?>
        </th>
        <th <?php 
        echo $style;
        ?>
 >
<?php 
        $planet = GetPlanet($fleet_obj['start_planet']);
        $user = LoadUser($planet['owner_id']);
        echo AdminPlanetName($planet) . " " . AdminPlanetCoord($planet) . " <br>";
        echo AdminUserName($user);
        ?>
        </th>
        <th <?php 
        echo $style;
        ?>
 >
<?php 
        $planet = GetPlanet($fleet_obj['target_planet']);
        $user = LoadUser($planet['owner_id']);
        echo AdminPlanetName($planet) . " " . AdminPlanetCoord($planet) . " <br>";
        echo AdminUserName($user);
        ?>
        </th>
        <th <?php 
        echo $style;
        ?>
 >
<?php 
        $fleetmap = array(202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215);
        foreach ($fleetmap as $i => $gid) {
            $amount = $fleet_obj["ship" . $gid];
            if ($amount > 0) {
                echo loca("NAME_{$gid}") . ":" . nicenum($amount) . " ";
            }
        }
        ?>
        </th>
        <th <?php 
        echo $style;
        ?>
 >
<?php 
        $total = $fleet_obj['m'] + $fleet_obj['k'] + $fleet_obj['d'];
        if ($total > 0) {
            echo "М: " . nicenum($fleet_obj['m']) . "<br>";
            echo "К: " . nicenum($fleet_obj['k']) . "<br>";
            echo "Д: " . nicenum($fleet_obj['d']);
        } else {
            echo "-";
        }
        ?>
        </th>
        <th <?php 
        echo $style;
        ?>
 >
        <?php 
        echo nicenum($fleet_obj['fuel']);
        ?>
        </th>
        <th <?php 
        echo $style;
        ?>
 >
<?php 
        if ($fleet_obj['union_id']) {
            echo $fleet_obj['union_id'];
        } else {
            echo "-";
        }
        ?>
        </th>

        <th <?php 
        echo $style;
        ?>
 >
         <form action="index.php?page=admin&session=<?php 
        echo $session;
        ?>
&mode=Fleetlogs" method="POST">
    <input type="hidden" name="order_2min" value="<?php 
        echo $queue['task_id'];
        ?>
" />
        <input type="submit" value="2m" />
     </form>
        </th>
        <th <?php 
        echo $style;
        ?>
 >
         <form action="index.php?page=admin&session=<?php 
        echo $session;
        ?>
&mode=Fleetlogs" method="POST">
    <input type="hidden" name="order_end" value="<?php 
        echo $queue['task_id'];
        ?>
" />
        <input type="submit" value="F" />
     </form>
        </th><th <?php 
        echo $style;
        ?>
 >
         <form action="index.php?page=admin&session=<?php 
        echo $session;
        ?>
&mode=Fleetlogs" method="POST">
    <input type="hidden" name="order_return" value="<?php 
        echo $queue['task_id'];
        ?>
" />
        <input type="submit" value="R" />
     </form>
        </th>
        </tr>

<?php 
        $bxx++;
    }
    echo "<script language=javascript>anz={$anz};t();</script>\n";
    echo "</table>\n";
}
function Admin_Planets()
{
    global $loca_lang, $Languages;
    global $session;
    global $db_prefix;
    global $GlobalUser;
    $SearchResult = "";
    $buildmap = array(1, 2, 3, 4, 12, 14, 15, 21, 22, 23, 24, 31, 33, 34, 41, 42, 43, 44);
    $fleetmap = array(202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215);
    $defmap = array(401, 402, 403, 404, 405, 406, 407, 408, 502, 503);
    // Обработка POST-запроса.
    if (method() === "POST" && $GlobalUser['admin'] >= 2) {
        $cp = intval($_GET['cp']);
        $action = $_GET['action'];
        $now = time();
        //print_r ( $_POST);
        if ($action === "update") {
            $param = array('b1', 'b2', 'b3', 'b4', 'b12', 'b14', 'b15', 'b21', 'b22', 'b23', 'b24', 'b31', 'b33', 'b34', 'b41', 'b42', 'b43', 'b44', 'd401', 'd402', 'd403', 'd404', 'd405', 'd406', 'd407', 'd408', 'd502', 'd503', 'f202', 'f203', 'f204', 'f205', 'f206', 'f207', 'f208', 'f209', 'f210', 'f211', 'f212', 'f213', 'f214', 'f215', 'm', 'k', 'd', 'g', 's', 'p', 'diameter', 'type', 'temp', 'mprod', 'kprod', 'dprod', 'sprod', 'fprod', 'ssprod');
            $moon_param = array('g', 's', 'p');
            $query = "UPDATE " . $db_prefix . "planets SET lastpeek={$now}, ";
            foreach ($param as $i => $p) {
                if (strpos($p, "prod")) {
                    $query .= ", {$p}='" . $_POST[$p] . "'";
                } else {
                    if ($i == 0) {
                        $query .= "{$p}=" . intval($_POST[$p]);
                    } else {
                        $query .= ", {$p}=" . intval($_POST[$p]);
                    }
                }
            }
            $query .= " WHERE planet_id={$cp};";
            if (key_exists("delete_planet", $_POST)) {
                $planet = GetPlanet($cp);
                $user = LoadUser($planet['owner_id']);
                if ($user['hplanetid'] != $cp) {
                    DestroyPlanet($cp);
                    $_GET['cp'] = $user['hplanetid'];
                    // перенаправить на главную планету.
                }
            } else {
                // Обновить данные планеты
                $moon_id = PlanetHasMoon($cp);
                // Переместить луну за планетой.
                if ($moon_id) {
                    $mquery = "UPDATE " . $db_prefix . "planets SET lastpeek={$now}, ";
                    foreach ($moon_param as $i => $p) {
                        if ($i == 0) {
                            $mquery .= "{$p}=" . intval($_POST[$p]);
                        } else {
                            $mquery .= ", {$p}=" . intval($_POST[$p]);
                        }
                    }
                    $mquery .= " WHERE planet_id={$moon_id};";
                    dbquery($mquery);
                }
                dbquery($query);
                RecalcFields($cp);
            }
        } else {
            if ($action === "search") {
                $searchtype = $_POST['type'];
                if ($_POST['searchtext'] === "") {
                    $SearchResult .= "Укажите строку для поиска<br>\n";
                    $searchtype = "none";
                }
                if ($searchtype === "playername") {
                    $query = "SELECT player_id FROM " . $db_prefix . "users WHERE oname LIKE '" . $_POST['searchtext'] . "%'";
                    $query = "SELECT * FROM " . $db_prefix . "planets WHERE owner_id = ANY ({$query});";
                } else {
                    if ($searchtype === "planetname") {
                        $query = "SELECT * FROM " . $db_prefix . "planets WHERE name LIKE '" . $_POST['searchtext'] . "%';";
                    } else {
                        if ($searchtype === "allytag") {
                            $query = "SELECT ally_id FROM " . $db_prefix . "ally WHERE tag LIKE '" . $_POST['searchtext'] . "%'";
                            $query = "SELECT player_id FROM " . $db_prefix . "users WHERE ally_id <> 0 AND ally_id = ANY ({$query})";
                            $query = "SELECT * FROM " . $db_prefix . "planets WHERE owner_id = ANY ({$query});";
                        }
                    }
                }
                if ($query) {
                    $result = dbquery($query);
                }
                $SearchResult .= "<table>\n";
                $rows = dbrows($result);
                if ($rows > 0) {
                    while ($rows--) {
                        $planet = dbarray($result);
                        $user = LoadUser($planet['owner_id']);
                        $SearchResult .= "<tr><th>" . date("Y-m-d H:i:s", $planet['date']) . "</th><th>" . AdminPlanetCoord($planet) . "</th>";
                        $SearchResult .= "<th><a href=\"index.php?page=admin&session={$session}&mode=Planets&cp=" . $planet['planet_id'] . "\">" . $planet['name'] . "</a></th>";
                        $SearchResult .= "<th><a href=\"index.php?page=admin&session={$session}&mode=Users&player_id=" . $user['player_id'] . "\">" . $user['oname'] . "</a></th></tr>\n";
                    }
                } else {
                    $SearchResult .= "Ничего не найдено<br>\n";
                }
                $SearchResult .= "</table>\n";
            }
        }
    }
    // Обработка GET-запроса.
    if (method() === "GET" && $GlobalUser['admin'] >= 2) {
        if (key_exists('cp', $_GET)) {
            $cp = intval($_GET['cp']);
        } else {
            $cp = 0;
        }
        if (key_exists('action', $_GET) && $cp) {
            $action = $_GET['action'];
        } else {
            $action = "";
        }
        $now = time();
        if ($action === "create_moon") {
            $planet = GetPlanet($cp);
            if ($planet['type'] > 0 && $planet['type'] < 10000) {
                if (PlanetHasMoon($cp) == 0) {
                    CreatePlanet($planet['g'], $planet['s'], $planet['p'], $planet['owner_id'], 0, 1, 20);
                }
            }
        } else {
            if ($action === "create_debris") {
                $planet = GetPlanet($cp);
                if ($planet['type'] > 0 && $planet['type'] < 10000) {
                    if (HasDebris($planet['g'], $planet['s'], $planet['p']) == 0) {
                        CreateDebris($planet['g'], $planet['s'], $planet['p'], $planet['owner_id']);
                    }
                }
            } else {
                if ($action === "cooldown_gates") {
                    $planet = GetPlanet($cp);
                    if ($planet['type'] == 0) {
                        $query = "UPDATE " . $db_prefix . "planets SET gate_until=0 WHERE planet_id=" . $planet['planet_id'];
                        dbquery($query);
                    }
                } else {
                    if ($action === "warmup_gates") {
                        $planet = GetPlanet($cp);
                        if ($planet['type'] == 0) {
                            $query = "UPDATE " . $db_prefix . "planets SET gate_until=" . ($now + 59 * 60 + 59) . " WHERE planet_id=" . $planet['planet_id'];
                            dbquery($query);
                        }
                    } else {
                        if ($action === "recalc_fields") {
                            RecalcFields($cp);
                        } else {
                            if ($action === "random_diam") {
                                $planet = GetPlanet($cp);
                                if (GetPlanetType($planet) == 1) {
                                    $p = $planet['p'];
                                    if ($p <= 3) {
                                        $diam = mt_rand(50, 120) * 72;
                                    } else {
                                        if ($p >= 4 && $p <= 6) {
                                            $diam = mt_rand(50, 150) * 120;
                                        } else {
                                            if ($p >= 7 && $p <= 9) {
                                                $diam = mt_rand(50, 120) * 120;
                                            } else {
                                                if ($p >= 10 && $p <= 12) {
                                                    $diam = mt_rand(50, 120) * 96;
                                                } else {
                                                    if ($p >= 13 && $p <= 15) {
                                                        $diam = mt_rand(50, 150) * 96;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                    $query = "UPDATE " . $db_prefix . "planets SET diameter={$diam} WHERE planet_id=" . $planet['planet_id'];
                                    dbquery($query);
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    if (key_exists("cp", $_GET)) {
        // Информация о планете.
        $planet = GetPlanet(intval($_GET['cp']));
        $user = LoadUser($planet['owner_id']);
        $moon_id = PlanetHasMoon($planet['planet_id']);
        $debris_id = HasDebris($planet['g'], $planet['s'], $planet['p']);
        $now = time();
        // Парсер шпионских докладов.
        ?>
<script>

function php_str_replace(search, replace, subject) {
    // http://kevin.vanzonneveld.net
    var s = subject;
    var ra = r instanceof Array, sa = s instanceof Array;
    var f = [].concat(search);
    var r = [].concat(replace);
    var i = (s = [].concat(s)).length;
    var j = 0;
    while (j = 0, i--) {
        if (s[i]) {
            while (s[i] = (s[i]+'').split(f[j]).join(ra ? r[j] || '' : r[0]), ++j in f){};
        }
    }
    return sa ? s : s[0];
}

function spio ()
{
    global $GlobalUni;

    //
    // Перечислить все технологии для всех языков, а также ресурсы
    //

    var TechNames = {
<?php 
        foreach ($Languages as $lang => $langname) {
            loca_add("common", $lang);
            loca_add("technames", $lang);
        }
        $old_lang = $loca_lang;
        foreach ($Languages as $lang => $langname) {
            $loca_lang = $lang;
            foreach ($buildmap as $i => $gid) {
                echo "\"" . loca("NAME_{$gid}") . "\": {$gid}, ";
            }
            foreach ($fleetmap as $i => $gid) {
                echo "\"" . loca("NAME_{$gid}") . "\": {$gid}, ";
            }
            foreach ($defmap as $i => $gid) {
                echo "\"" . loca("NAME_{$gid}") . "\": {$gid}, ";
            }
        }
        ?>
    };
    var ResNames = {
<?php 
        foreach ($Languages as $lang => $langname) {
            $loca_lang = $lang;
            echo "\"" . loca("METAL") . "\": 'm', ";
            echo "\"" . loca("CRYSTAL") . "\": 'k', ";
            echo "\"" . loca("DEUTERIUM") . "\": 'd', ";
        }
        $loca_lang = $old_lang;
        ?>
    };

    var text = document.getElementById ("spiotext" ).value;
    text = php_str_replace (".", "", text);
    text = php_str_replace (":", "", text);

    for ( var name in TechNames ) {
        var id = TechNames[name];
        pos = text.indexOf ( name );
        if ( pos > 0 ) {
            obj = text.substr ( pos );
            found = obj.match ("("+name+"[\\s]+)([0-9]{1,})");
            document.getElementById ( "obj" + id ) . value = parseInt(found[2]);
        }
    }

    for ( var name in ResNames ) {
        var id = ResNames[name];
        pos = text.indexOf ( name );
        if ( pos > 0 ) {
            obj = text.substr ( pos );
            found = obj.match ("("+name+"[\\s]+)([0-9]{1,})");
            document.getElementById ( "obj" + id ) . value = parseInt(found[2]);
        }
    }

}

function reset ()
{
    var ids = [
<?php 
        foreach ($buildmap as $i => $gid) {
            echo "{$gid}, ";
        }
        foreach ($fleetmap as $i => $gid) {
            echo "{$gid}, ";
        }
        foreach ($defmap as $i => $gid) {
            echo "{$gid}, ";
        }
        ?>
    ];

    for ( var i in ids ) {
        document.getElementById ( "obj" + ids[i] ) . value = 0;
    }
}
</script>

<?php 
        AdminPanel();
        echo "<table>\n";
        echo "<form action=\"index.php?page=admin&session={$session}&mode=Planets&action=update&cp=" . $planet['planet_id'] . "\" method=\"POST\" >\n";
        echo "<tr><td class=c colspan=2>Планета \"" . $planet['name'] . "\" (<a href=\"index.php?page=admin&session={$session}&mode=Users&player_id=" . $user['player_id'] . "\">" . $user['oname'] . "</a>)</td>\n";
        echo "       <td class=c >Постройки</td> <td class=c >Флот</td> <td class=c >Оборона</td> </tr>\n";
        echo "<tr><th><img src=\"" . GetPlanetImage(UserSkin(), $planet) . "\"> <br>Тип: " . $planet['type'];
        $pp = PlanetPrice($planet);
        echo "<br>Стоимость : " . nicenum($pp['points'] / 1000);
        echo "<br>Постройки : " . nicenum(($pp['points'] - ($pp['fleet_pts'] + $pp['defense_pts'])) / 1000);
        echo "<br>Флот : " . nicenum($pp['fleet_pts'] / 1000);
        echo "<br>Оборона : " . nicenum($pp['defense_pts'] / 1000);
        if ($planet['type'] == 10000) {
            echo "<br>М: " . nicenum($planet['m']) . "<br>К: " . nicenum($planet['k']) . "<br>";
        }
        echo "</th><th>";
        if ($planet['type'] > 0 && $planet['type'] < 10000) {
            if ($moon_id) {
                $moon = GetPlanet($moon_id);
                echo "<a href=\"index.php?page=admin&session={$session}&mode=Planets&cp=" . $moon['planet_id'] . "\"><img src=\"" . GetPlanetSmallImage(UserSkin(), $moon) . "\"><br>\n";
                echo $moon['name'] . "</a>";
            } else {
                echo "<a href=\"index.php?page=admin&session={$session}&mode=Planets&action=create_moon&cp=" . $planet['planet_id'] . "\" >Создать луну</a>\n";
            }
            echo "<br/><br/>\n";
            if ($debris_id) {
                $debris = GetPlanet($debris_id);
                echo "<a href=\"index.php?page=admin&session={$session}&mode=Planets&cp=" . $debris['planet_id'] . "\"><img src=\"" . UserSkin() . "planeten/debris.jpg\"><br>\n";
                echo $debris['name'] . "</a>";
                echo "<br>М: " . nicenum($debris['m']) . "<br>К: " . nicenum($debris['k']) . "<br>";
            } else {
                echo "<a href=\"index.php?page=admin&session={$session}&mode=Planets&action=create_debris&cp=" . $planet['planet_id'] . "\" >Создать поле обломков</a>\n";
            }
        } else {
            $parent = LoadPlanet($planet['g'], $planet['s'], $planet['p'], 1);
            echo "<a href=\"index.php?page=admin&session={$session}&mode=Planets&cp=" . $parent['planet_id'] . "\"><img src=\"" . GetPlanetSmallImage(UserSkin(), $parent) . "\"><br>\n";
            echo $parent['name'] . "</a>";
        }
        ?>
        <br><br><textarea rows=10 cols=10 id="spiotext"></textarea>
        <a href="#" onclick="javascript:spio();">Разобрать данные доклада</a> <br>
        <a href="#" onclick="javascript:reset();">Сбросить</a>
<?php 
        echo "</th>";
        echo "<th valign=top><table>\n";
        foreach ($buildmap as $i => $gid) {
            echo "<tr><th>" . loca("NAME_{$gid}");
            if ($gid == 43 && $planet['type'] == 0) {
                // управление воротами.
                if ($now >= $planet["gate_until"]) {
                    // ворота готовы
                    echo " <a href=\"index.php?page=admin&session={$session}&mode=Planets&action=warmup_gates&cp=" . $planet['planet_id'] . "\" >нагреть</a>";
                } else {
                    // ворота НЕ готовы
                    $delta = $planet["gate_until"] - $now;
                    echo " " . date('i\\m s\\s', $delta) . " <a href=\"index.php?page=admin&session={$session}&mode=Planets&action=cooldown_gates&cp=" . $planet['planet_id'] . "\">остудить</a>";
                }
            }
            echo "</th><th><nobr><input id=\"obj{$gid}\" type=\"text\" size=3 name=\"b{$gid}\" value=\"" . $planet["b{$gid}"] . "\" />";
            // управление шахтами и выработкой энергии.
            if ($gid == 1 && $planet['type'] != 0) {
                echo "<select name='mprod'>\n";
                for ($prc = 0; $prc <= 1; $prc += 0.1) {
                    echo "<option value='{$prc}' ";
                    if ($planet["mprod"] == $prc . "") {
                        echo " selected";
                    }
                    echo ">" . $prc * 100 . "</option>\n";
                }
                echo "</select>\n";
            }
            if ($gid == 2 && $planet['type'] != 0) {
                echo "<select name='kprod'>\n";
                for ($prc = 0; $prc <= 1; $prc += 0.1) {
                    echo "<option value='{$prc}' ";
                    if ($planet["kprod"] == $prc . "") {
                        echo " selected";
                    }
                    echo ">" . $prc * 100 . "</option>\n";
                }
                echo "</select>\n";
            }
            if ($gid == 3 && $planet['type'] != 0) {
                echo "<select name='dprod'>\n";
                for ($prc = 0; $prc <= 1; $prc += 0.1) {
                    echo "<option value='{$prc}' ";
                    if ($planet["dprod"] == $prc . "") {
                        echo " selected";
                    }
                    echo ">" . $prc * 100 . "</option>\n";
                }
                echo "</select>\n";
            }
            if ($gid == 4 && $planet['type'] != 0) {
                echo "<select name='sprod'>\n";
                for ($prc = 0; $prc <= 1; $prc += 0.1) {
                    echo "<option value='{$prc}' ";
                    if ($planet["sprod"] == $prc . "") {
                        echo " selected";
                    }
                    echo ">" . $prc * 100 . "</option>\n";
                }
                echo "</select>\n";
            }
            if ($gid == 12 && $planet['type'] != 0) {
                echo "<select name='fprod'>\n";
                for ($prc = 0; $prc <= 1; $prc += 0.1) {
                    echo "<option value='{$prc}' ";
                    if ($planet["fprod"] == $prc . "") {
                        echo " selected";
                    }
                    echo ">" . $prc * 100 . "</option>\n";
                }
                echo "</select>\n";
            }
            echo "</nobr></th></tr>\n";
        }
        echo "</table></th>\n";
        echo "<th valign=top><table>\n";
        foreach ($fleetmap as $i => $gid) {
            echo "<tr><th>" . loca("NAME_{$gid}") . "</th><th><nobr><input id=\"obj{$gid}\" type=\"text\" size=6 name=\"f{$gid}\" value=\"" . $planet["f{$gid}"] . "\" />";
            if ($gid == 212 && $planet['type'] != 0) {
                echo "<select name='ssprod'>\n";
                for ($prc = 0; $prc <= 1; $prc += 0.1) {
                    echo "<option value='{$prc}' ";
                    if ($planet["ssprod"] == $prc . "") {
                        echo " selected";
                    }
                    echo ">" . $prc * 100 . "</option>\n";
                }
                echo "</select>\n";
            }
            echo "</nobr></th></tr>\n";
        }
        echo "</table></th>\n";
        echo "<th valign=top><table>\n";
        foreach ($defmap as $i => $gid) {
            echo "<tr><th>" . loca("NAME_{$gid}") . "</th><th><input id=\"obj{$gid}\" type=\"text\" size=6 name=\"d{$gid}\" value=\"" . $planet["d{$gid}"] . "\" /></th></tr>\n";
        }
        echo "</table></th>\n";
        echo "</tr>\n";
        echo "<tr><th>Дата создания</th><th>" . date("Y-m-d H:i:s", $planet['date']) . "</th> <td colspan=10 class=c>Очередь построек</td></tr>";
        echo "<tr><th>Дата удаления</th><th>" . date("Y-m-d H:i:s", $planet['remove']) . "</th> <th colspan=3 rowspan=12 valign=top style='text-align: left;'> ";
        $query = "SELECT * FROM " . $db_prefix . "buildqueue WHERE planet_id = " . $planet['planet_id'] . " ORDER BY list_id ASC";
        $result = dbquery($query);
        $anz = dbrows($result);
        echo "<table>";
        $bxx = 1;
        $duration = 0;
        while ($row = dbarray($result)) {
            echo "<tr><td> <table><tr><th><div id='bxx" . $bxx . "' title='" . ($row['end'] - $row['start'] - ($now - ($row['start'] + $duration))) . "' star='" . $duration . "'></th>";
            echo "<tr><th>" . date("d.m.Y H:i:s", $row['end'] + $duration) . "</th></tr></table></td>";
            echo "<td><img width='32px' src='" . UserSkin() . "gebaeude/" . $row['tech_id'] . ".gif'></td>";
            echo "<td><b>" . loca("NAME_" . $row['tech_id']) . "</b><br>уровень " . $row['level'] . "</td></tr>";
            $bxx++;
            $duration += $row['end'] - $row['start'];
        }
        echo "</table>";
        echo "<script language=javascript>anz={$anz};t();</script>\n";
        ?>

<?php 
        echo "</th> </tr>";
        echo "<tr><th>Последняя активность</th><th>" . date("Y-m-d H:i:s", $planet['lastakt']) . "</th>  \n";
        echo "<input type=\"hidden\" name=\"type\" value=\"" . $planet['type'] . "\" >\n";
        echo "</th> </tr>\n";
        echo "<tr><th>Последнее обновление</th><th>" . date("Y-m-d H:i:s", $planet['lastpeek']) . "</th></tr>\n";
        echo "<tr><th>Диаметр <br><a href=\"index.php?page=admin&session={$session}&mode=Planets&action=random_diam&cp=" . $planet['planet_id'] . "\" >новый диаметр</a>  </th><th><input size=5 type=\"text\" name=\"diameter\" value=\"" . $planet['diameter'] . "\" /> км (" . $planet['fields'] . " из " . $planet['maxfields'] . " полей) ";
        echo "<a href=\"index.php?page=admin&session={$session}&mode=Planets&action=recalc_fields&cp=" . $planet['planet_id'] . "\" >пересчитать поля</a> ";
        echo "</th></tr>\n";
        echo "<tr><th>Температура</th><th>от <input size=5 type=\"text\" name=\"temp\" value=\"" . $planet['temp'] . "\" />°C до " . ($planet['temp'] + 40) . "°C</th></tr>\n";
        echo "<tr><th>Координаты</th><th>[<input type=\"text\" name=\"g\" value=\"" . $planet['g'] . "\" size=1 />:<input type=\"text\" name=\"s\" value=\"" . $planet['s'] . "\" size=2 />:<input type=\"text\" name=\"p\" value=\"" . $planet['p'] . "\" size=1 />]</th></tr>\n";
        echo "<tr><td class=c colspan=2>Ресурсы</td></tr>\n";
        echo "<tr><th>Металл</th><th><input id=\"objm\" type=\"text\" name=\"m\" value=\"" . ceil($planet['m']) . "\" /></th></tr>\n";
        echo "<tr><th>Кристалл</th><th><input id=\"objk\" type=\"text\" name=\"k\" value=\"" . ceil($planet['k']) . "\" /></th></tr>\n";
        echo "<tr><th>Дейтерий</th><th><input id=\"objd\" type=\"text\" name=\"d\" value=\"" . ceil($planet['d']) . "\" /></th></tr>\n";
        echo "<tr><th>Энергия</th><th>" . $planet['e'] . " / " . $planet['emax'] . "</th></tr>\n";
        echo "<tr><th>Коэффициент производства</th><th>" . $planet['factor'] . "</th></tr>\n";
        echo "<tr><th colspan=8><input type=\"submit\" value=\"Сохранить\" />  <input type=\"submit\" name=\"delete_planet\" value=\"Удалить\" /> </th></tr>\n";
        echo "</form>\n";
        echo "</table>\n";
    } else {
        $query = "SELECT * FROM " . $db_prefix . "planets ORDER BY date DESC LIMIT 25";
        $result = dbquery($query);
        AdminPanel();
        echo "    </th> \n";
        echo "   </tr> \n";
        echo "</table> \n";
        echo "Новые планеты:<br>\n";
        echo "<table>\n";
        echo "<tr><td class=c>Дата создания</td><td class=c>Координаты</td><td class=c>Планета</td><td class=c>Игрок</td></tr>\n";
        $rows = dbrows($result);
        while ($rows--) {
            $planet = dbarray($result);
            $user = LoadUser($planet['owner_id']);
            echo "<tr><th>" . date("Y-m-d H:i:s", $planet['date']) . "</th><th>" . AdminPlanetCoord($planet) . "</th>";
            echo "<th><a href=\"index.php?page=admin&session={$session}&mode=Planets&cp=" . $planet['planet_id'] . "\">" . $planet['name'] . "</a></th>";
            echo "<th>" . AdminUserName($user) . "</th></tr>\n";
        }
        echo "</table>\n";
        ?>
       </th> 
       </tr> 
    </table>
    Искать:<br>
 <form action="index.php?page=admin&session=<?php 
        echo $session;
        ?>
&mode=Planets&action=search" method="post">
 <table>
  <tr>
   <th>
    <select name="type">
     <option value="playername">Имя игрока</option>
     <option value="planetname" >Имя планеты</option>
     <option value="allytag" >Аббревиатура альянса</option>
    </select>
    &nbsp;&nbsp;
    <input type="text" name="searchtext" value=""/>
    &nbsp;&nbsp;
    <input type="submit" value="Искать" />
   </th>
  </tr>
 </table>
 </form>
<?php 
        if ($SearchResult !== "") {
            ?>
       </th> 
       </tr> 
    </table>
    Результаты поиска:<br>
    <?php 
            echo $SearchResult;
        }
    }
}
Esempio n. 18
0
$erej = mysqli_fetch_array(mysqli_query($dblink, "SELECT COUNT(DISTINCT agents.id) AS agents, COUNT(DISTINCT tasks.id) AS tasks, COUNT(DISTINCT tasks.hashlist) AS hashlists, SUM(DISTINCT hashlists.hashcount)-SUM(DISTINCT hashlists.cracked) AS hashes, SUM(assignments.speed) AS speed FROM assignments JOIN tasks ON assignments.task=tasks.id JOIN hashlists ON tasks.hashlist=hashlists.id JOIN agents ON assignments.agent=agents.id JOIN chunks ON chunks.task=tasks.id AND chunks.agent=agents.id AND GREATEST(chunks.dispatchtime,chunks.solvetime)>=UNIX_TIMESTAMP()-(tasks.statustimer*1.2)"), MYSQLI_ASSOC);
imagestring($pik, 3, 173, 11, $erej["agents"], 0);
imagestring($pik, 3, 173, 23, $erej["tasks"], 0);
imagestring($pik, 3, 173, 35, $erej["hashlists"], 0);
imagestring($pik, 3, 173, 47, $erej["hashes"], 0);
imagestring($pik, 3, 173, 59, nicenum($erej["speed"], 100000, 1000) . "H/s", 0);
$erej = mysqli_fetch_array(mysqli_query($dblink, "SELECT (SELECT COUNT(id) FROM tasks WHERE progress=keyspace AND keyspace>0 AND hashlist IS NOT NULL) AS tasks, (SELECT COUNT(id) FROM hashlists WHERE cracked=hashcount) AS hashlists, (SELECT SUM(cracked) FROM hashlists) AS hashes"), MYSQLI_ASSOC);
imagestring($pik, 3, 267, 11, "-", 0);
imagestring($pik, 3, 267, 23, $erej["tasks"], 0);
imagestring($pik, 3, 267, 35, $erej["hashlists"], 0);
imagestring($pik, 3, 267, 47, nicenum($erej["hashes"], 1000, 1000), 0);
$erej = mysqli_fetch_array(mysqli_query($dblink, "SELECT (SELECT COUNT(id) FROM agents) AS agents, (SELECT COUNT(id) FROM tasks WHERE hashlist IS NOT NULL) AS tasks, (SELECT COUNT(id) FROM hashlists) AS hashlists, (SELECT SUM(hashcount) FROM hashlists) AS hashes"), MYSQLI_ASSOC);
imagestring($pik, 3, 355, 11, $erej["agents"], 0);
imagestring($pik, 3, 355, 23, $erej["tasks"], 0);
imagestring($pik, 3, 355, 35, $erej["hashlists"], 0);
imagestring($pik, 3, 355, 47, nicenum($erej["hashes"], 1000, 1000), 0);
// simply return the header for png and output the picture
header("Content-type: image/gif");
header("Cache-Control: no-cache");
imagegif($pik);
function nicenum($num, $treshold = 1024, $divider = 1024)
{
    // display nicely formated number divided into correct units
    $r = 0;
    while ($num > $treshold) {
        $num /= $divider;
        $r++;
    }
    $rs = array("", "k", "M", "G");
    $vysnew = niceround($num, 2);
    return $vysnew . " " . $rs[$r];
Esempio n. 19
0
function TitleFleet($fleet, $summary)
{
    $fleetmap = array(202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215);
    $sum = 0;
    if ($summary) {
        foreach ($fleetmap as $i => $gid) {
            $sum += $fleet[$gid];
        }
        $res = "Численность кораблей: {$sum} ";
    }
    foreach ($fleetmap as $i => $gid) {
        $amount = $fleet[$gid];
        if ($amount > 0) {
            $res .= loca("NAME_{$gid}") . " " . nicenum($amount);
        }
    }
    return $res;
}
Esempio n. 20
0
function nicenum2($num)
{
    return nicenum(round($num));
    //return $num;
}
Esempio n. 21
0
function DumpFleet($fleet)
{
    $fleetmap = array(202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215);
    $result = "";
    foreach ($fleetmap as $i => $gid) {
        $amount = $fleet[$gid];
        if ($amount != 0) {
            $result .= loca("NAME_{$gid}") . " " . nicenum($amount) . " ";
        }
    }
    return $result;
}
:<?php 
echo $aktplanet['p'];
?>
]</a>";
	textContent[6] = "Очки:";
	textContent[7] = "<a href='index.php?page=highscore&session=<?php 
echo $session;
?>
'><?php 
echo nicenum(floor($GlobalUser['score1'] / 1000));
?>
 (Место <?php 
echo nicenum($GlobalUser['place1']);
?>
 из <?php 
echo nicenum($GlobalUni['usercount']);
?>
)</a>";

	var textDestination = new Array();

	textDestination[0] = "diameterField";
	textDestination[1] = "diameterContentField";
	textDestination[2] = "temperatureField";
	textDestination[3] = "temperatureContentField";
	textDestination[4] = "positionField";
	textDestination[5] = "positionContentField";
	textDestination[6] = "scoreField";
	textDestination[7] = "scoreContentField";

	var currentIndex = 0;
Esempio n. 23
0
function PlayerDetails($player_id)
{
    global $galaxy, $stats, $ally;
    if (!key_exists($player_id, $stats)) {
        return;
    }
    $planets = array();
    $moons = array();
    echo "<br><br><font size=+2>" . $stats[$player_id]['name'] . ":</font>";
    echo "<table cellpadding=0 cellspacing=0><tr>";
    echo "<td class=b style=\"vertical-align:top\">";
    echo va(loca("GALATOOL_POINTS"), nicenum($stats[$player_id]['points'] / 1000)) . "<br>";
    echo va(loca("GALATOOL_FLEET"), nicenum($stats[$player_id]['fpoints'])) . "<br>";
    echo va(loca("GALATOOL_RESEARCH"), nicenum($stats[$player_id]['rpoints'])) . "<br>";
    if ($stats[$player_id]['ally_id']) {
        echo va(loca("GALATOOL_ALLY"), $ally[$stats[$player_id]['ally_id']]['name']) . "<br>";
    }
    echo "</td>";
    foreach ($galaxy as $planet_id => $planet) {
        if ($planet['owner_id'] == $player_id && $planet['type'] < 10000) {
            $num = 1000000 * $planet['g'] + 1000 * $planet['s'] + 15 * $planet['p'];
            if ($planet['type'] == 0) {
                $moons[$num] = array();
                $moons[$num]['name'] = $planet['name'];
                $moons[$num]['type'] = 0;
                $moons[$num]['present'] = 1;
            } else {
                $planets[$planet_id] = array();
                $planets[$planet_id]['name'] = $planet['name'];
                $planets[$planet_id]['num'] = $num;
                $planets[$planet_id]['g'] = $planet['g'];
                $planets[$planet_id]['s'] = $planet['s'];
                $planets[$planet_id]['p'] = $planet['p'];
                $planets[$planet_id]['planet_id'] = $planet_id;
                $planets[$planet_id]['type'] = 1;
            }
        }
    }
    $planets = sksort($planets, 'num', true);
    echo "<td class=b><b>" . loca("GALATOOL_PLANETS") . "</b>:";
    echo "<table>";
    foreach ($planets as $id => $planet) {
        echo "<tr><td align=center><img src=\"" . GetPlanetSmallImage(hostname() . "/evolution/", $planet) . "\" height=30px><br>\n";
        echo $planet['name'];
        echo " [" . $planet['g'] . ":" . $planet['s'] . ":" . $planet['p'] . "]</td></tr>";
    }
    echo "</table></td>";
    echo "<td class=b><b>" . loca("GALATOOL_MOONS") . "</b>:";
    echo "<table>";
    if (key_exists($planet['num'], $moons)) {
        foreach ($planets as $id => $planet) {
            if ($moons[$planet['num']]['present'] == 1) {
                echo "<tr><td align=center><img src=\"" . GetPlanetSmallImage(hostname() . "/evolution/", $moons[$planet['num']]) . "\" height=30px><br>\n";
                echo $moons[$planet['num']]['name'] . "</td></tr>";
            } else {
                echo "<tr><td height=\"45px\"></td></tr>";
            }
        }
    }
    echo "</table></td>";
    echo "</tr></table>";
}
Esempio n. 24
0
            echo " \t  <a href=\"index.php?page=allianzen&session={$session}\">\n";
            echo "        " . $ally['tag'] . "      </a>\n";
        } else {
            if ($user['ally_id']) {
                $ally = LoadAlly($user['ally_id']);
                echo "   \t  <a href='ainfo.php?allyid=" . $user['ally_id'] . "' target='_ally'>\n";
                echo "        " . $ally['tag'] . "      </a>\n";
            } else {
                echo "      <a href=\"index.php?page=allianzen&session={$session}\"> \n";
                echo "              </a> \n";
            }
        }
        echo "    </th> \n\n";
        echo "    <!-- points --> \n";
        echo "    <th> \n";
        echo "      " . nicenum($score) . "    </th> \n\n";
        echo "  </tr> \n";
    }
    echo "</table>\n";
    echo "<!-- end user -->\n";
}
?>

<!-- end statistic data --><br><br><br><br>
</center>
</div>
<!-- END CONTENT AREA -->

<?php 
PageFooter();
ob_end_flush();
Esempio n. 25
0
 $m = $res['m'];
 $k = $res['k'];
 $d = $res['d'];
 $e = $res['e'];
 echo "<br>" . loca("SHORT_{$id}") . "<br>Стоимость:";
 if ($m) {
     echo " Металл: <b>" . nicenum($m) . "</b>";
 }
 if ($k) {
     echo " Кристалл: <b>" . nicenum($k) . "</b>";
 }
 if ($d) {
     echo " Дейтерий: <b>" . nicenum($d) . "</b>";
 }
 if ($e) {
     echo " Энергия: <b>" . nicenum($e) . "</b>";
 }
 $t = ResearchDuration($id, $level, $reslab, $speed * $r_factor);
 echo "<br>Длительность: " . BuildDurationFormat($t) . "<br></th>";
 echo "<td class=k>";
 if ($operating) {
     if ($id == $resq['obj_id']) {
         ?>
     <div id="bxx" class="z"></div>
     <script   type="text/javascript">
     v=new Date();
     var bxx=document.getElementById('bxx');
     function t(){
         n=new Date();
         ss=<?php 
         echo $resq['end'] - time();
Esempio n. 26
0
            echo "</tr>\n\n";
        }
    }
    dbfree($planet);
}
echo "<tr></tr>\n</table>\n</th>\n\n";
if ($GlobalUser['score1'] < 0) {
    $score = 0;
} else {
    $score = nicenum(floor($GlobalUser['score1'] / 1000));
}
// Параметры планеты
echo "<tr><th> " . va(loca("OVERVIEW_DIAM"), nicenum($aktplanet['diameter'])) . "     " . va(loca("OVERVIEW_FIELDS"), $aktplanet['fields'], $aktplanet['maxfields']) . "   </th></tr>\n";
echo "<tr><th> " . va(loca("OVERVIEW_TEMP"), $aktplanet['temp'], $aktplanet['temp'] + 40) . "   \n";
echo "<tr><th> " . va(loca("OVERVIEW_COORD"), "<a href=\"index.php?page=galaxy&galaxy=" . $aktplanet['g'] . "&system=" . $aktplanet['s'] . "&position=" . $aktplanet['p'] . "&session={$session}\" >[" . $aktplanet['g'] . ":" . $aktplanet['s'] . ":" . $aktplanet['p'] . "]</a>") . "\n";
echo "<tr><th> " . va(loca("OVERVIEW_RANK"), $score, "<a href='index.php?page=statistics&session={$session}&start=" . (floor($GlobalUser['place1'] / 100) * 100 + 1) . "'>" . nicenum($GlobalUser['place1']) . "</a>", nicenum($uni['usercount'])) . "     \n";
echo "</table>\n<br><br><br><br><br>\n";
echo "</center>\n";
echo "</div>\n";
echo "<!-- END CONTENT AREA -->\n\n";
if ($GlobalUser['vacation']) {
    $OverviewError = "<center>\nрежим отпуска<br></center>\n";
}
if ($uni['freeze']) {
    $OverviewError .= "<center>\nВселенная поставлена на паузу.<br></center>\n";
}
if ($GlobalUser['admin'] > 0) {
    $OverviewMessage .= "<center>" . loca("OVERVIEW_ADMIN_NOTE") . "<br></center>\n";
}
PageFooter($OverviewMessage, $OverviewError, false);
ob_end_flush();
Esempio n. 27
0
            $cost = ShipyardPrice($def);
            $m = $cost['m'];
            $k = $cost['k'];
            $d = $cost['d'];
            $e = $cost['e'];
            $meet = IsEnoughResources($planet, $m, $k, $d, $e);
            $color = $meet ? "lime" : "red";
            echo "                <a href=\"index.php?page=buildings&session={$session}&cp=" . $planet['planet_id'] . "&mode=Verteidigung&planettype={$planettype}\">\n";
            echo "                    <font color =\"{$color}\">\n";
            echo "                        " . nicenum($amount) . "                  </font>\n";
            echo "                </a>    \n";
        } else {
            echo "                <font color=\"white\">-</font>\n";
        }
    }
    echo "            <th width=\"75\">" . nicenum($sum) . "</th>\n\n";
    echo "            </th>\n\n";
    echo "       </tr>\n";
}
?>

<!-- ## 
<!-- ## Footer
<!-- ## -->     

</table>
<br><br><br><br>
</center>
</div>
<!-- END CONTENT AREA -->
Esempio n. 28
0
   <tr height="20">
     <th>Время возврата</th><th><?php 
    echo date("D M j G:i:s", $queue['end'] + $flighttime + $hold_time);
    ?>
</th>
    </tr>
   <tr height="20">
     <td class="c" colspan="2">Корабли</td>
   </tr>

<?php 
    // Список кораблей.
    foreach ($fleet as $id => $amount) {
        if ($amount > 0) {
            echo "      <tr height=\"20\">\n";
            echo "     <th width=\"50%\">" . loca("NAME_{$id}") . "</th><th>" . nicenum($amount) . "</th>\n";
            echo "   </tr>\n";
        }
    }
}
?>

   </table>
<br><br><br><br>
</center>
</div>
<!-- END CONTENT AREA -->

<?php 
PageFooter("", $PageError);
ob_end_flush();
?>
</b></a>
                        </td>
                    </tr>

                    <tr>
                        <td class=l style="width:90px;text-align:center; vertical-align:middle;">
                            <a href='index.php?page=micropayment&buynow=1&type=5&days=7&session=<?php 
echo $session;
?>
' >
                            <b><?php 
echo loca("PREM_WEEK");
?>
                          <br><font color=lime><?php 
echo nicenum($price[5]);
?>
</font>

                            <br><?php 
echo loca("DM");
?>
</b></a>
                        </td>
                    </tr>
                        

          </table>
          <br>

<?php 
function PageAlly_MemberSettings()
{
    global $db_prefix;
    global $session;
    global $ally;
    global $GlobalUser;
    global $AllianzenError;
    $selected_user = 0;
    if (key_exists('u', $_GET)) {
        $selected_user = intval($_GET['u']);
    }
    if (method() === "GET" && $_GET['a'] == 13 && $selected_user) {
        $leaver = LoadUser($selected_user);
        $query = "UPDATE " . $db_prefix . "users SET ally_id = 0 WHERE player_id = {$selected_user}";
        dbquery($query);
        // Разослать сообщения членам альянса об исключении игрока
        $result = EnumerateAlly($ally['ally_id']);
        $rows = dbrows($result);
        while ($rows--) {
            $user = dbarray($result);
            SendMessage($user['player_id'], va("Альянс [#1]", $ally['tag']), "Общее сообщение", va("Игрок #1 исключён из альянса.", $leaver['oname']), 0);
        }
        // Сообщение игроку об исключении.
        SendMessage($leaver['player_id'], va("Альянс [#1]", $ally['tag']), va("Членство в альянсе [#1] окончено", $ally['tag']), va("Игрок #1 исключает Вас из альянса [#2] .<br>Теперь Вы можете зарегистрироваться снова", $GlobalUser['oname'], $ally['tag']), 0);
    }
    if (method() === "POST" && $_GET['a'] == 16 && $selected_user) {
        $newrank = intval($_POST['newrang']);
        $query = "UPDATE " . $db_prefix . "users SET allyrank = {$newrank} WHERE player_id = {$selected_user}";
        dbquery($query);
    }
    $now = time();
    $members = CountAllyMembers($ally['ally_id']);
    $sort1 = intval($_GET['sort1']);
    $sort2 = intval($_GET['sort2']) ^ 1;
    ?>
<script src="js/cntchar.js" type="text/javascript"></script><script src="js/win.js" type="text/javascript"></script><br>
<a href="index.php?page=allianzen&session=<?php 
    echo $session;
    ?>
&a=5">Назад к обзору</a>
<table width=519>
<tr><td class='c' colspan='10'>Список членов (кол-во: <?php 
    echo $members;
    ?>
)</td></tr>
<tr>
    <th>N</th>
    <th><a href="index.php?page=allianzen&session=<?php 
    echo $session;
    ?>
&a=7&sort1=1&sort2=<?php 
    echo $sort2;
    ?>
">Имя</a></th>
    <th> </th>
    <th><a href="index.php?page=allianzen&session=<?php 
    echo $session;
    ?>
&a=7&sort1=2&sort2=<?php 
    echo $sort2;
    ?>
">Статус</a></th>
    <th><a href="index.php?page=allianzen&session=<?php 
    echo $session;
    ?>
&a=7&sort1=3&sort2=<?php 
    echo $sort2;
    ?>
">Очки</a></th>
    <th><a href="index.php?page=allianzen&session=<?php 
    echo $session;
    ?>
&a=7&sort1=0&sort2=<?php 
    echo $sort2;
    ?>
">Координаты</a></th>
    <th><a href="index.php?page=allianzen&session=<?php 
    echo $session;
    ?>
&a=7&sort1=4&sort2=<?php 
    echo $sort2;
    ?>
">Вступление</a></th>
    <th><a href="index.php?page=allianzen&session=<?php 
    echo $session;
    ?>
&a=7&sort1=5&sort2=<?php 
    echo $sort2;
    ?>
">Неактивный</a></th>
    <th>Функция</th></tr>

<?php 
    $result = EnumerateAlly($ally['ally_id'], intval($_GET['sort1']), intval($_GET['sort2']));
    for ($i = 0; $i < $members; $i++) {
        $user = dbarray($result);
        $rank = LoadRank($user['ally_id'], $user['allyrank']);
        $hplanet = GetPlanet($user['hplanetid']);
        $days = floor(($now - $user['lastclick']) / (60 * 60 * 24));
        echo "<tr>";
        echo "<th>" . ($i + 1) . "</th>";
        echo "<th>" . $user['oname'] . "</th>";
        if ($GlobalUser['player_id'] != $user['player_id']) {
            echo "<th><a href=\"index.php?page=writemessages&session={$session}&messageziel=" . $user['player_id'] . "\"><img src=\"" . UserSkin() . "img/m.gif\" border=0 alt=\"Написать сообщение\"></a></th>";
        } else {
            echo "<th></th>";
        }
        echo "<th>" . $rank['name'] . "</th>";
        echo "<th>" . nicenum($user['score1'] / 1000) . "</th>";
        echo "<th><a href=\"index.php?page=galaxy&galaxy=" . $hplanet['g'] . "&system=" . $hplanet['s'] . "&position=" . $hplanet['p'] . "&session={$session}\" >[" . $hplanet['g'] . ":" . $hplanet['s'] . ":" . $hplanet['p'] . "]</a></th>";
        echo "<th>" . date("Y-m-d H:i:s", $user['joindate']) . "</th>";
        echo "<th>" . $days . "d</th>";
        if ($user['allyrank'] > 0) {
            echo "<th>";
            echo "<a onmouseover='return overlib(\"<font color=white>Выгнать игрока</font>\", WIDTH, 100);' onmouseout='return nd();' alt='Выгнать игрока' href='javascript:if(confirm(\"Вы уверены, что игрок " . $user['oname'] . " должен покинуть альянс?\"))document.location=\"index.php?page=allianzen&session={$session}&a=13&u=" . $user['player_id'] . "\"';>";
            echo "<img src='" . UserSkin() . "pic/abort.gif' alt='Выгнать игрока' border='0' ></a>";
            echo "<a onmouseover=\"return overlib('<font color=white>Назначить ранг</font>', WIDTH, 100);\" onmouseout='return nd();' alt='Назначить ранг' href=\"index.php?page=allianzen&session={$session}&a=7&u=" . $user['player_id'] . "\">";
            echo "<img src=\"" . UserSkin() . "pic/key.gif\" alt='Назначить ранг' border=0></a>&nbsp;&nbsp;&nbsp;&nbsp;";
            echo "</th>";
            echo "</tr>\n";
            if ($user['player_id'] == $selected_user) {
                $rank_result = EnumRanks($ally['ally_id']);
                $rows = dbrows($rank_result);
                echo "<form action=\"index.php?page=allianzen&session={$session}&a=16&u={$selected_user}\" method=POST><tr><th colspan=3>Ранг для " . $user['oname'] . ":</th><th><select name=\"newrang\">";
                while ($rows--) {
                    $user_rank = dbarray($rank_result);
                    if ($user_rank['rank_id'] == 0) {
                        continue;
                    }
                    echo "<option value=\"" . $user_rank['rank_id'] . "\"";
                    if ($user_rank['rank_id'] == $user['allyrank']) {
                        echo " SELECTED";
                    }
                    echo ">" . $user_rank['name'] . "\n";
                }
                echo "</th><th colspan=5><input type=submit value=\"Сохранить\"></th></tr></form>\n";
            }
        } else {
            echo "<th>&nbsp;</th></tr>\n";
        }
    }
    ?>

</table>
<?php 
}