function AllyPage_Home()
{
    global $GlobalUser;
    global $session;
    global $ally;
    $now = time();
    $members = CountAllyMembers($ally['ally_id']);
    $rank = LoadRank($GlobalUser['ally_id'], $GlobalUser['allyrank']);
    $result = EnumApplications($ally['ally_id']);
    $apps = dbrows($result);
    ?>
<script src="js/cntchar.js" type="text/javascript"></script><script src="js/win.js" type="text/javascript"></script>
<?php 
    if ($ally['imglogo'] !== "") {
        ?>
<tr><th colspan=2><img src="/game/img/preload.gif" class="reloadimage" title="pic.php?url=<?php 
        echo $ally['imglogo'];
        ?>
"></td></tr>
<?php 
    }
    ?>
<table width=519>
<tr><td class=c colspan=2>Ваш альянс</td></tr>
<tr><th>Аббревиатура</th><th><?php 
    echo $ally['tag'];
    if ($now < $ally['tag_until']) {
        echo " (бывш. " . $ally['old_tag'] . ")";
    }
    ?>
</th></tr>
<tr><th>Имя</th><th><?php 
    echo $ally['name'];
    if ($now < $ally['name_until']) {
        echo " (бывш. " . $ally['old_name'] . ")";
    }
    ?>
</th></tr>
<tr><th>Члены</th><th><?php 
    echo $members;
    if ($rank['rights'] & 0x8) {
        echo " (<a href=\"index.php?page=allianzen&session={$session}&a=4\">список членов</a>)";
    }
    ?>
</th></tr>
<tr><th>Ваш ранг</th><th><?php 
    echo $rank['name'];
    if ($rank['rights'] & 0x20) {
        echo " (<a href=\"index.php?page=allianzen&session={$session}&a=5\">управление альянсом</a>)";
    }
    ?>
</th></tr>
<?php 
    if ($apps > 0) {
        ?>
<tr><th>Заявки</th><th><a href="index.php?page=bewerbungen&session=<?php 
        echo $session;
        ?>
"><?php 
        echo $apps;
        ?>
 Заявление (-я)</a></th></tr>
<?php 
    }
    if ($rank['rights'] & 0x80) {
        ?>
<tr><th>Общее сообщение</th><th><a href="index.php?page=allianzen&session=<?php 
        echo $session;
        ?>
&a=17">Послать общее сообщение</a></th></tr>
<?php 
    }
    ?>
<tr><th colspan=2 height=100><?php 
    echo bb($ally['exttext']);
    ?>
</th></tr>
<tr><th>Домашняя страница</th><th><a href="redir.php?url=<?php 
    echo $ally['homepage'];
    ?>
" target="_blank"><?php 
    echo $ally['homepage'];
    ?>
</a></th></tr>
<tr><td class=c colspan=2>Внутренняя компетенция</th></tr><tr><th colspan=2 height=100><?php 
    echo bb($ally['inttext']);
    ?>
</th></tr>
</table><br>
<?php 
    if ($GlobalUser['allyrank'] != 0) {
        ?>
<table width=519>
<form action="index.php?page=allianzen&session=<?php 
        echo $session;
        ?>
&a=3" method=POST>
<tr><td class=c colspan=2>Покинуть этот альянс</td></tr><tr><th colspan=2><input type=submit value="Да!"></th></tr></table></form>
<?php 
    }
}
function PageAlly_Ranks()
{
    global $GlobalUser;
    global $session;
    global $ally;
    global $AllianzenError;
    $myrank = LoadRank($ally['ally_id'], $GlobalUser['allyrank']);
    if (!($myrank['rights'] & 0x20)) {
        $AllianzenError = "<center>\nНедостаточно прав для проведения операции<br></center>";
        return;
    }
    if (method() === "POST" && $_GET['a'] == 15) {
        if (key_exists('newrangname', $_POST)) {
            if (!preg_match("/^[a-zA-Z0-9\\.\\_\\-]+\$/", $_POST['newrangname'])) {
                $AllianzenError = "<center>\nРанг содержит особые символы<br></center>";
            } else {
                AddRank($ally['ally_id'], $_POST['newrangname']);
            }
        } else {
            $result = EnumRanks($ally['ally_id']);
            $rows = dbrows($result);
            while ($rows--) {
                $rank = dbarray($result);
                if ($rank['rank_id'] == 0 || $rank['rank_id'] == 1) {
                    continue;
                }
                // Основателя и Новичка не меняем.
                $mask = $rank['rights'];
                for ($i = 0; $i < 9; $i++) {
                    if ($_POST["u" . $rank['rank_id'] . "r{$i}"] === "on") {
                        $mask |= 1 << $i;
                    } else {
                        $mask &= ~(1 << $i);
                    }
                }
                SetRank($ally['ally_id'], $rank['rank_id'], $mask);
            }
        }
    }
    if (method() === "GET" && $_GET['a'] == 15) {
        $rank_id = intval($_GET['d']);
        if (!($rank_id == 0 || $rank_id == 1)) {
            RemoveRank($ally['ally_id'], $rank_id);
        }
    }
    ?>
<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="11">Сформировать права</td>
 </tr>
 <form action="index.php?page=allianzen&session=<?php 
    echo $session;
    ?>
&a=15" method="POST">
 <tr>
  <th></th>
  <th>Название ранга</th>
  <th>
   <img src=img/r1.png>
  </th>
  <th>
   <img src=img/r2.png>
  </th>
  <th>
   <img src=img/r3.png>
  </th>
  <th>
   <img src=img/r4.png>
  </th>
  <th>
   <img src=img/r5.png>
  </th>
  <th>
   <img src=img/r6.png>
  </th>
  <th>
   <img src=img/r7.png>
  </th>
  <th>
   <img src=img/r8.png>
  </th>
  <th>
   <img src=img/r9.png>
  </th>
 </tr>
<?php 
    $result = EnumRanks($ally['ally_id']);
    $rows = dbrows($result);
    while ($rows--) {
        $rank = dbarray($result);
        if ($rank['rank_id'] == 0 || $rank['rank_id'] == 1) {
            continue;
        }
        // Основателя и Новичка не показываем.
        echo " <tr>\n";
        echo "  <th><a href=\"index.php?page=allianzen&session={$session}&a=15&d=" . $rank['rank_id'] . "\"><img src=\"" . UserSkin() . "pic/abort.gif\" alt=\"Удалить ранг\" border=\"0\"></a></th>\n";
        echo "  <th>&nbsp;" . $rank['name'] . "&nbsp;</th>\n";
        for ($r = 0; $r < 9; $r++) {
            if ($rank['rights'] & 1 << $r) {
                echo "<th><input type=checkbox name=\"u" . $rank['rank_id'] . "r{$r}\" checked></th>";
            } else {
                echo "<th><input type=checkbox name=\"u" . $rank['rank_id'] . "r{$r}\"></th>";
            }
        }
        echo " </tr>\n";
    }
    ?>
 <tr>
  <th colspan="11"><input type="submit" value="Сохранить"></th>
 </tr>
</form>
</table>
<br /><form action="index.php?page=allianzen&session=<?php 
    echo $session;
    ?>
&a=15" method=POST>
<table width=519>
<tr><td class=c colspan=2>Назначить новый ранг</td></tr>
<tr><th>Название ранга</th><th><input type=text name="newrangname" size=20 maxlength=30></th></tr>
<tr><th colspan=2><input type=submit value="Назначить"></th></tr>
</form></table>

<br/><form action="index.php?page=allianzen&session=<?php 
    echo $session;
    ?>
&a=15" method=POST>
<table width=519>
<tr><td class=c colspan=2>Пояснение прав</td></tr>
<tr><th><img src=img/r1.png></th><th>Распустить альянс</th></tr>
<tr><th><img src=img/r2.png></th><th>Выгнать игрока</th></tr>
<tr><th><img src=img/r3.png></th><th>Посмотреть заявления</th></tr>
<tr><th><img src=img/r4.png></th><th>Посмотреть список членов</th></tr>
<tr><th><img src=img/r5.png></th><th>Редактировать заявления</th></tr>
<tr><th><img src=img/r6.png></th><th>Управление альянсом</th></tr>
<tr><th><img src=img/r7.png></th><th>Посмотреть статус "он-лайн" в списке членов</th></tr>
<tr><th><img src=img/r8.png></th><th>Составить общее сообщение</th></tr>
<tr><th><img src=img/r9.png></th><th>'Правая рука' (необходимо для передачи статуса основателя)</th></tr>
</form></table>
<?php 
}
function AllyPage_Takeover()
{
    global $GlobalUser;
    global $session;
    global $ally;
    global $AllianzenError;
    // Обменять званиями главу и "правую руку".
    if ($_GET['a'] == 18 && $_REQUEST['s'] == 1) {
        $now = time();
        $myrank = LoadRank($ally['ally_id'], $GlobalUser['allyrank']);
        if (!($myrank['rights'] & 0x100)) {
            $AllianzenError = "<center>\nНедостаточно прав для проведения операции<br></center>";
        } else {
            // Выслать всем участникам сообщение что власть поменялась (кроме самого главы).
            $from = va("Альянс [#1]", $ally['tag']);
            $subj = va("Смена власти в альянсе [#1]", $ally['tag']);
            $text = va("Игрок #1, обладающий титулом основателя альянса, покинул его", $GlobalUser['oname'], $ally['tag']);
            $result = EnumerateAlly($ally['ally_id']);
            $rows = dbrows($result);
            while ($rows--) {
                $user = dbarray($result);
                if ($user['player_id'] != $ally['owner_id']) {
                    SendMessage($user['player_id'], $from, $subj, $text, 0);
                }
            }
            // Поменять звания
            $newhead = LoadUser(intval($_REQUEST['uid']));
            $newhead_rank = LoadRank($ally['ally_id'], $newhead['allyrank']);
            if ($newhead['ally_id'] != $ally['ally_id'] || ($newhead_rank['rights'] & 0x100) == 0) {
                $AllianzenError = "<center>\nНедостаточно прав для проведения операции<br></center>";
                return;
            }
            SetUserRank($newhead['player_id'], $GlobalUser['allyrank']);
            SetUserRank($GlobalUser['player_id'], $newhead['allyrank']);
            // Установить нового хозяина альянса
            AllyChangeOwner($ally['ally_id'], $newhead['player_id']);
            ?>
<table width=519>
<form action="index.php?page=allianzen&session=<?php 
            echo $session;
            ?>
" method="POST">
<tr><td class=c>Вы утратили свой статус</td></tr><tr><th><br><input type="submit" value="OK"></th></tr></form></table><br><br><br><br>
<?php 
        }
        return;
    }
    // Ололош, любой игрок по этому параметру может взять на себя права главы, без всяких проверок.....
    if ($_GET['a'] == 18 && $_REQUEST['s'] == 2) {
        ?>
<table width=519>
<form action="index.php?page=allianzen&session=<?php 
        echo $session;
        ?>
" method="POST">
<tr><td class=c>Звание передано</td></tr><tr><th><br><input type="submit" value="OK"></th></tr></form></table><br><br><br><br>
<?php 
        return;
    }
    // Если открыть у НЕ главы страничку:
    if ($ally['owner_id'] != $GlobalUser['player_id']) {
        ?>
<table width=519>
<form action="index.php?page=allianzen&session=<?php 
        echo $session;
        ?>
&a=5" method=POST>
<tr><td class=c>Глава ещё активен</td></tr><tr><th><input type=submit value="Назад"></th></tr></form></table><br><br><br><br>
<?php 
        return;
    }
    // Перечислить всех игроков альянса с правами "правая рука". Если никого нет, то просто вывести кнопку "назад".
    $users = array();
    $rank_result = EnumRanks($ally['ally_id']);
    while ($rank = dbarray($rank_result)) {
        if ($rank['rights'] & 0x100) {
            $result = LoadUsersWithRank($ally['ally_id'], $rank['rank_id']);
            while ($user = dbarray($result)) {
                if ($user['player_id'] == $ally['owner_id']) {
                    continue;
                }
                // не показывать главу
                $user['rankname'] = $rank['name'];
                $users[] = $user;
            }
        }
    }
    if (count($users) == 0) {
        // Никто не найден, вывести кнопку "назад"
        ?>
<table width=519>
<form action="index.php?page=allianzen&session=<?php 
        echo $session;
        ?>
&a=5" method=POST>
<tr><td class=c></th></tr><tr><th><input type=submit value="Назад"></th></tr></form></table><br><br><br><br>
<?php 
    } else {
        // Перечислить найденных пользователей с рангом "правая рука"
        ?>
<table width=519>
<form action="index.php?page=allianzen&session=<?php 
        echo $session;
        ?>
&a=18" method=POST>
<input type=hidden name=s value=1>
<tr><td class=c colspan=2><?php 
        echo va("Перенять руководство над #1", "\"" . $ally['name'] . "\"");
        ?>
</td></tr>
<tr><th>Передача звания</th><th><select name=uid>
<?php 
        foreach ($users as $i => $user) {
            echo "  <option value=" . $user['player_id'] . ">" . $user['oname'] . " (Rang: " . $user['rankname'] . ")\n";
        }
        ?>
</select></th></tr>
<tr><th colspan=2><input type=submit value="Передать"></th></tr></form></table><br><br><br><br>
<?php 
    }
}
function PageAlly_Settings()
{
    global $db_prefix;
    global $session;
    global $ally;
    global $GlobalUser;
    global $AllianzenError;
    $myrank = LoadRank($ally['ally_id'], $GlobalUser['allyrank']);
    if (!($myrank['rights'] & 0x20)) {
        $AllianzenError = "<center>\nНедостаточно прав для проведения операции<br></center>";
        return;
    }
    if ($_GET['t'] < 1 || $_GET['t'] > 3) {
        $_GET['t'] = 1;
    }
    if (method() === "POST") {
        if ($_GET['a'] == 11 && $_GET['d'] == 1) {
            $ally_id = $ally['ally_id'];
            $insertapp = intval($_POST['bewforce']) & 1;
            $text = str_replace('\\"', "&quot;", $_POST['text']);
            $text = str_replace('\'', "&rsquo;", $text);
            $text = str_replace('\\`', "&lsquo;", $text);
            if ($_GET['t'] == 2) {
                $query = "UPDATE " . $db_prefix . "ally SET inttext = '" . $text . "' WHERE ally_id = {$ally_id}";
            } else {
                if ($_GET['t'] == 3) {
                    $query = "UPDATE " . $db_prefix . "ally SET apptext = '" . $text . "', insertapp = {$insertapp} WHERE ally_id = {$ally_id}";
                } else {
                    $query = "UPDATE " . $db_prefix . "ally SET exttext = '" . $text . "' WHERE ally_id = {$ally_id}";
                }
            }
            dbquery($query);
            $ally = LoadAlly($ally['ally_id']);
        }
        if ($_GET['a'] == 11 && $_GET['d'] == 2) {
            $ally_id = $ally['ally_id'];
            $query = "UPDATE " . $db_prefix . "ally SET open = " . (intval($_POST['bew']) == 0 ? 1 : 0);
            $query .= ", homepage = '" . $_POST['hp'] . "'";
            $query .= ", imglogo = '" . $_POST['logo'] . "'";
            $query .= " WHERE ally_id = {$ally_id}";
            dbquery($query);
            if ($_POST['fname'] !== "") {
                // Название ранга основателя
                if (!preg_match("/^[a-zA-Z0-9\\.\\_\\-]+\$/", $_POST['fname'])) {
                    $AllianzenError = "<center>\nРанг содержит особые символы<br></center>";
                } else {
                    $query = "UPDATE " . $db_prefix . "allyranks SET name = '" . $_POST['fname'] . "' WHERE ally_id = {$ally_id} AND rank_id = 0";
                    dbquery($query);
                }
            }
            $ally = LoadAlly($ally['ally_id']);
        }
    }
    $owner = LoadRank($ally['ally_id'], 0);
    $owner_name = $owner['name'];
    if ($owner_name === "Основатель") {
        $owner_name = "";
    }
    ?>
<script src="js/cntchar.js" type="text/javascript"></script><script src="js/win.js" type="text/javascript"></script>
<table width=519>
<tr><td class=c colspan=2>управление альянсом</td></tr>
<tr><th colspan=2><a href="index.php?page=allianzen&session=<?php 
    echo $session;
    ?>
&a=6">Установить ранги</a></th></tr>
<tr><th colspan=2><a href="index.php?page=allianzen&session=<?php 
    echo $session;
    ?>
&a=7">Члены альянса</a></th></tr>
<tr><th colspan=2><a href="index.php?page=allianzen&session=<?php 
    echo $session;
    ?>
&a=9"><img src="<?php 
    echo UserSkin();
    ?>
pic/appwiz.gif" border=0 alt="Изменить аббревиатуру альянса (только 1 раз в неделю)"></a>&nbsp;
<a href="index.php?page=allianzen&session=<?php 
    echo $session;
    ?>
&a=10"><img src="<?php 
    echo UserSkin();
    ?>
pic/appwiz.gif" border=0 alt="Изменить название альянса (только 1 раз в неделю)"></a>
</table><br>

<form action="index.php?page=allianzen&session=<?php 
    echo $session;
    ?>
&a=11&d=1&t=<?php 
    echo intval($_GET['t']);
    ?>
" method=POST>
<table width=519>
<tr><td class=c colspan=3>Редактировать текст</td></tr>
<tr>
    <th><a href="index.php?page=allianzen&session=<?php 
    echo $session;
    ?>
&a=5&t=1">Внешний текст</a></th>
    <th><a href="index.php?page=allianzen&session=<?php 
    echo $session;
    ?>
&a=5&t=2">Внутренний текст</a></th>
    <th><a href="index.php?page=allianzen&session=<?php 
    echo $session;
    ?>
&a=5&t=3">Текст заявки</a></th></tr>
<tr><td class=c colspan=3>
<?php 
    if ($_GET['t'] == 2) {
        echo "Внутренний текст альянса";
    } else {
        if ($_GET['t'] == 3) {
            echo "Пример текста заявки";
        } else {
            echo "Внешний текст альянса";
        }
    }
    ?>
 (<span id="cntChars">
<?php 
    if ($_GET['t'] == 2) {
        echo mb_strlen($ally['inttext'], "UTF-8");
    } else {
        if ($_GET['t'] == 3) {
            echo mb_strlen($ally['apptext'], "UTF-8");
        } else {
            echo mb_strlen($ally['exttext'], "UTF-8");
        }
    }
    ?>
</span> / 5000 символов)</td></tr>
<tr><th colspan=3><textarea name="text" cols=70 rows=15 onkeyup="javascript:cntchar(5000)">
<?php 
    if ($_GET['t'] == 2) {
        echo $ally['inttext'];
    } else {
        if ($_GET['t'] == 3) {
            echo $ally['apptext'];
        } else {
            echo $ally['exttext'];
        }
    }
    ?>
</textarea></th></tr>
<?php 
    if ($_GET['t'] == 3) {
        echo "<tr><th colspan=3>Пример заявки <select name=bewforce><option value=0";
        if ($ally['insertapp'] == 0) {
            echo " SELECTED";
        }
        echo ">не показывать автоматически</option><option value=1";
        if ($ally['insertapp'] == 1) {
            echo " SELECTED";
        }
        echo ">показывать автоматически</option></select></th></tr>";
    }
    ?>
<tr><th colspan=3><input type=reset value="Удалить"> <input type=submit value="Сохранить"></th></tr>
</table>
</form><br>

<form action="index.php?page=allianzen&session=<?php 
    echo $session;
    ?>
&a=11&d=2" method=POST><table width=519>
<tr><td class=c colspan=2>Установки</td></tr>
<tr><th>Домашняя страница</th><th><input type=text name="hp" value="<?php 
    echo $ally['homepage'];
    ?>
" size="70"></th></tr>
<tr><th>Логотип альянса</th><th><input type=text name="logo" value="<?php 
    echo $ally['imglogo'];
    ?>
" size="70"></th></tr>
<tr><th>Заявки</th><th><select name=bew><option value=0 <?php 
    echo as_sel($ally['open'], 1);
    ?>
>Возможны (альянс открыт)</option><option value=1 <?php 
    echo as_sel($ally['open'], 0);
    ?>
>Невозможны (альянс закрыт)</option></select></th></tr>
<tr><th>Имя главы</th><th><input type=text name=fname value="<?php 
    echo $owner_name;
    ?>
" size=30></th>
<tr><th colspan=2><input type=submit value="Сохранить"></th></tr>
</table></form>

<form action="index.php?page=allianzen&session=<?php 
    echo $session;
    ?>
&a=12" method=POST>
<table width=519>
<tr><td class=c>Распустить альянс</td></tr><tr><th><input type=submit value="Дальше"></th></tr>
</table></form>

<form action="index.php?page=allianzen&session=<?php 
    echo $session;
    ?>
&a=18" method=POST>
<table width=519>
<tr><td class=c>Покинуть/перенять этот альянс</td></tr>
<tr><th><input type=submit value="Дальше"></th></tr>
</table></form>
<?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 
}
function AllyPage_CircularMessage()
{
    global $db_prefix;
    global $GlobalUser;
    global $session;
    global $ally;
    global $AllianzenError;
    if (method() === "POST" && key_exists('r', $_POST)) {
        $ally_id = $ally['ally_id'];
        $myrank = LoadRank($ally_id, $GlobalUser['allyrank']);
        if (!($myrank['rights'] & 0x80)) {
            $AllianzenError = "<center>\nНедостаточно прав для проведения операции<br></center>";
            return;
        }
        $rank_id = intval($_POST['r']);
        if ($rank_id == 0) {
            $query = "SELECT * FROM " . $db_prefix . "users WHERE ally_id = {$ally_id}";
        } else {
            $query = "SELECT * FROM " . $db_prefix . "users WHERE ally_id = {$ally_id} AND allyrank = {$rank_id}";
        }
        $result = dbquery($query);
        $rows = dbrows($result);
        if ($rows) {
            ?>
<script src="js/cntchar.js" type="text/javascript"></script><script src="js/win.js" type="text/javascript"></script>
<table width=519>
<form action="index.php?page=allianzen&session=<?php 
            echo $session;
            ?>
" method=POST>
<tr><td class=c>Следующие игроки получили Ваше общее послание</td></tr>
<tr><th>
<?php 
            $text = str_replace('\\"', "&quot;", bb($_POST['text']));
            $text = str_replace('\'', "&rsquo;", $text);
            $text = str_replace('\\`', "&lsquo;", $text);
            while ($rows--) {
                $user = dbarray($result);
                SendMessage($user['player_id'], va("Альянс [#1]", $ally['tag']), va("Общее послание Вашему альянсу [#1]", $ally['tag']), va("Игрок #1 сообщает Вам следующее:<br>#2", $GlobalUser['oname'], $text), 0);
                echo $user['oname'] . "<br>\n";
            }
            ?>
</th></tr>
<tr><th><input type=submit value="Ok"></th></tr>
</table></center></form>
<?php 
        } else {
            ?>
<script src="js/cntchar.js" type="text/javascript"></script><script src="js/win.js" type="text/javascript"></script>
<table width=519>
<form action="index.php?page=allianzen&session=<?php 
            echo $session;
            ?>
&a=17" method=POST>
<tr><td class=c>Ошибка</td></tr>
<tr><th>К сожалению, получатели не найдены</th></tr>
<tr><th><input type=submit value="Назад"></th></tr>
</table></center></form>
<?php 
        }
        return;
    }
    ?>
<script src="js/cntchar.js" type="text/javascript"></script><script src="js/win.js" type="text/javascript"></script>
<table width=519>
<form action="index.php?page=allianzen&session=<?php 
    echo $session;
    ?>
&a=17&sendmail=1" method=POST>
<tr><td class=c colspan=2>Отправить общее сообщение</td></tr>
<tr><th>Получатель</th><th>
<select name=r>
    <option value=0>Все игроки</option>
<?php 
    $result = EnumRanks($ally['ally_id']);
    $rows = dbrows($result);
    while ($rows--) {
        $rank = dbarray($result);
        if ($rank['rank_id'] == 0 || $rank['rank_id'] == 1) {
            continue;
        }
        // Основателя и новичка не показываем
        echo "    <option value=" . $rank['rank_id'] . ">Только определённому рангу: " . $rank['name'] . "</option>\n";
    }
    ?>
</select></th></tr>
<tr><th>Текст сообщения (<span id="cntChars">0</span> / 2000 Симв.)</th><th><textarea name=text cols=60 rows=10 onkeyup="javascript:cntchar(2000)"></textarea></th></tr>
<tr><th colspan=2><input type=submit value="Отправить"></th></tr></table></center></form>
<?php 
}