function CreateAlly($owner_id, $tag, $name) { global $db_prefix; $tag = mb_substr($tag, 0, 8, "UTF-8"); // Огранчить длину строк $name = mb_substr($name, 0, 30, "UTF-8"); // Добавить альянс. $ally = array(null, $tag, $name, $owner_id, "", "", 1, 0, "Добро пожаловать на страничку альянса", "", "", 0, "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); $id = AddDBRow($ally, "ally"); // Добавить ранги "Основатель" (0) и "Новичок" (1) . SetRank($id, AddRank($id, "Основатель"), 0x1ff); SetRank($id, AddRank($id, "Новичок"), 0); // Обновить информацию пользователя-основателя. $joindate = time(); $query = "UPDATE " . $db_prefix . "users SET ally_id = {$id}, joindate = {$joindate}, allyrank = 0 WHERE player_id = {$owner_id}"; dbquery($query); return $id; }
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> " . $rank['name'] . " </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 }