function AllyPage_SearchResult($result) { global $SearchResults; $SearchResults = ""; $rows = dbrows($result); if ($rows == 0) { return; } $SearchResults .= "<table width=519>\n"; $SearchResults .= "<tr><td class=c colspan=3>Результаты поиска альянса</th></tr>\n"; $SearchResults .= "<tr><th><center>Аббревиатура альянса</center></th><th><center>Название альянса</center></th><th><center>Количество членов</center></th></tr>\n"; if ($rows > 30) { $rows = 30; } for ($i = 0; $i < $rows; $i++) { $ally = dbarray($result); $enum = EnumerateAlly($ally['ally_id']); $players = dbrows($enum); $SearchResults .= "<tr><th><center>[<a href=\"index.php?page=bewerben&session=" . $_GET['session'] . "&allyid=" . $ally['ally_id'] . "\">" . $ally['tag'] . "</a>]</center></th>\n"; $SearchResults .= "<th><center>" . $ally['name'] . "</center></th>\n"; $SearchResults .= "<th><center>" . $players . "</center></th></tr>\n"; } $SearchResults .= "</table><br>\n"; }
$ally = LoadAlly($GlobalUser['ally_id']); $show = 0; if (key_exists('show', $_GET)) { $show = intval($_GET['show']); } $sort = 1; if (key_exists('sort', $_GET)) { $sort = intval($_GET['sort']) & 1; } if (method() === "POST") { if ($_POST['aktion'] === "Принять" && $show > 0) { $app = LoadApplication($show); $ally_id = $ally['ally_id']; $player_id = $app['player_id']; $newcomer = LoadUser($player_id); $result = EnumerateAlly($ally_id); // Разослать сообщения членам альянса и игроку о принятии. $rows = dbrows($result); while ($rows--) { $user = dbarray($result); SendMessage($user['player_id'], va("Альянс [#1]", $ally['tag']), "Общее сообщение", va("Игрок #1 был принят в наш альянс.", $newcomer['oname']), 0); } SendMessage($player_id, va("Альянс [#1]", $ally['tag']), va("Регистрация [#1] принята", $ally['tag']), va("Сердечно поздравляем, Вы теперь член альянса [#1]", $ally['tag']), 0); $query = "UPDATE " . $db_prefix . "users SET ally_id = {$ally_id}, allyrank = 1, joindate = {$now} WHERE player_id = {$player_id}"; dbquery($query); RemoveApplication($show); } if ($_POST['aktion'] === "Отклонить" && $show > 0) { $app = LoadApplication($show); RemoveApplication($show); // Выслать сообщение об отказе.
function CountAllyMembers($ally_id) { global $db_prefix; if ($ally_id <= 0) { return 0; } $result = EnumerateAlly($ally_id); return dbrows($result); }
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_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> "; 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> </th></tr>\n"; } } ?> </table> <?php }