<?php /** * Bans * * @package MyAAC * @author Gesior <jerzyskalski@wp.pl> * @author Slawkens <slawkens@gmail.com> * @copyright 2017 MyAAC * @link http://my-aac.org */ defined('MYAAC') or die('Direct access not allowed!'); $title = 'Bans list'; if($config['otserv_version'] == TFS_02) { echo 'Bans page doesnt work on TFS 0.2/1.0.'; return; } if(!$config['bans_display_all']) echo 'Last ' . $config['bans_limit'] . ' banishments.<br/><br/>'; if($config['bans_display_all']) { $_page = isset($_GET['page']) ? $_GET['page'] : 0; $offset = $_page * $config['bans_limit'] + 1; } $bans = $db->query('SELECT * FROM ' . $db->tableName('bans') . ' WHERE ' . $db->fieldName('active') . ' = 1 ORDER BY ' . $db->fieldName('added') . ' DESC LIMIT ' . ($config['bans_limit'] + 1) . (isset($offset) ? ' OFFSET ' . $offset : '')); if(!$bans->rowCount()) { ?> There are no banishments yet. <?php return; } ?> <table border="0" cellspacing="1" cellpadding="4" width="100%"> <tr align="center" bgcolor="<?php echo $config['vdarkborder']; ?>" class="white"> <td><span style="color: white"><b>Nick</b></span></td> <td><span style="color: white"><b>Type</b></span></td> <td><span style="color: white"><b>Expires</b></span></td> <td><span style="color: white"><b>Reason</b></span></td> <td><span style="color: white"><b>Comment</b></span></td> <td><span style="color: white"><b>Added by:</b></span></td> </tr> <?php foreach($bans as $ban) { if($i++ > 100) { $next_page = true; break; } ?> <tr align="center" bgcolor="<?php echo getStyle($i); ?>"> <td height="50" width="140"><?php echo getPlayerLink(getPlayerNameByAccount($ban['value'])); ?></td> <td><?php echo getBanType($ban['type']); ?></td> <td> <?php if($ban['expires'] == "-1") echo 'Never'; else echo date("H:i:s", $ban['expires']) . '<br/>' . date("d M Y", $ban['expires']); ?> </td> <td><?php echo getBanReason($ban['reason']); ?></td> <td><?php echo $ban['comment']; ?></td> <td> <?php if($ban['admin_id'] == "0") echo 'Autoban'; else echo getPlayerLink(getPlayerNameByAccount($ban['admin_id'])); echo '<br/>' . date("d.m.Y", $ban['added']); ?> </td> </tr> <?php } ?> </table> <table border="0" cellpadding="4" cellspacing="1" width="100%"> <?php if($_page > 0) echo '<tr><td width="100%" align="right" valign="bottom"><a href="?subtopic=bans&page=' . ($_page - 1) . '" class="size_xxs">Previous Page</a></td></tr>'; if($next_page) echo '<tr><td width="100%" align="right" valign="bottom"><a href="?subtopic=bans&page=' . ($_page + 1) . '" class="size_xxs">Next Page</a></td></tr>'; ?> </table> <?php function getBanReason($reasonId) { switch($reasonId) { case 0: return "Offensive Name"; case 1: return "Invalid Name Format"; case 2: return "Unsuitable Name"; case 3: return "Name Inciting Rule Violation"; case 4: return "Offensive Statement"; case 5: return "Spamming"; case 6: return "Illegal Advertising"; case 7: return "Off-Topic Public Statement"; case 8: return "Non-English Public Statement"; case 9: return "Inciting Rule Violation"; case 10: return "Bug Abuse"; case 11: return "Game Weakness Abuse"; case 12: return "Using Unofficial Software to Play"; case 13: return "Hacking"; case 14: return "Multi-Clienting"; case 15: return "Account Trading or Sharing"; case 16: return "Threatening Gamemaster"; case 17: return "Pretending to Have Influence on Rule Enforcement"; case 18: return "False Report to Gamemaster"; case 19: return "Destructive Behaviour"; case 20: return "Excessive Unjustified Player Killing"; case 21: return "Invalid Payment"; case 22: return "Spoiling Auction"; } return "Unknown Reason"; } function getBanType($typeId) { switch($typeId) { case 1: return "IP Banishment"; case 2: return "Namelock"; case 3: return "Banishment"; case 4: return "Notation"; case 5: return "Deletion"; } return "Unknown Type"; } function getPlayerNameByAccount($id) { global $vowels, $ots, $db; if(is_numeric($id)) { $player = new OTS_Player(); $player->load($id); if($player->isLoaded()) return $player->getName(); else { $playerQuery = $db->query('SELECT `id` FROM `players` WHERE `account_id` = ' . $id . ' ORDER BY `lastlogin` DESC LIMIT 1;')->fetch(); $tmp = "*Error*"; /* $acco = new OTS_Account(); $acco->load($id); if(!$acco->isLoaded()) return "Unknown name"; foreach($acco->getPlayersList() as $p) { $player= new OTS_Player(); $player->find($p);*/ $player->load($playerQuery['id']); //echo 'id gracza = ' . $p . '<br/>'; if($player->isLoaded()) $tmp = $player->getName(); // break; //} return $tmp; } } return ''; } ?>