* @author Slawkens * @copyright 2017 MyAAC * @link http://my-aac.org */ defined('MYAAC') or die('Direct access not allowed!'); $title = 'Guilds'; $guild_name = isset($_REQUEST['guild']) ? urldecode($_REQUEST['guild']) : null; if(!Validator::guildName($guild_name)) $errors[] = Validator::getLastError(); if(empty($errors)) { $guild = new OTS_Guild(); $guild->find($guild_name); if(!$guild->isLoaded()) $errors[] = 'Guild with name '.$guild_name.' doesn\'t exist.'; } if(!empty($errors)) { echo $twig->render('error_box.html.twig', array('errors' => $errors)); echo $twig->render('guilds.back_button.html.twig'); } else { $title = $guild->getName() . ' - ' . $title; //check is it vice or/and leader account (leader has vice + leader rights) $guild_leader_char = $guild->getOwner(); $rank_list = $guild->getGuildRanksList(); $rank_list->orderBy('level', POT::ORDER_DESC); $guild_leader = false; $guild_vice = false; $level_in_guild = 0; $players_from_account_in_guild = array(); if($logged) { $players_from_account_ids = array(); $account_players = $account_logged->getPlayers(); foreach($account_players as $player) { $players_from_account_ids[] = $player->getId(); $player_rank = $player->getRank(); if($player_rank->isLoaded()) { foreach($rank_list as $rank_in_guild) { if($rank_in_guild->isLoaded() && $player_rank->isLoaded() && $rank_in_guild->getId() == $player_rank->getId()) { $players_from_account_in_guild[] = $player->getName(); if($guild->getOwner()->getId() == $player->getId()) { $guild_vice = true; $guild_leader = true; } else if($player_rank->getLevel() > 1) { $guild_vice = true; $level_in_guild = $player_rank->getLevel(); } } } } } } //show guild page $guild_logo = $guild->getCustomField('logo_name'); if(empty($guild_logo) || !file_exists('images/guilds/' . $guild_logo)) $guild_logo = "default.gif"; $description = $guild->getCustomField('description'); $description_with_lines = str_replace(array("\r\n", "\n", "\r"), '
', $description, $count); if($count < $config['guild_description_lines_limit']) $description = wordwrap(nl2br($description), 60, "
", true); //$description = $description_with_lines; $guild_owner = $guild->getOwner(); if($guild_owner->isLoaded()) $guild_owner = $guild_owner->getName(); echo '

'.$guild->getName().'


'.$description.'

'.$guild_owner.' is guild leader of '.$guild->getName().'.
The guild was founded on '.$config['lua']['serverName'].' on '.date("j F Y", $guild->getCreationData()).'.'; if($guild_leader) echo '   Manage Guild'; echo '

'; //Slaw stats values //$s_total_members = 0; //$s_members_online = 0; //$s_total_level = 0; //End Slaw stats values $showed_players = 1; foreach($rank_list as $rank) { if($db->hasTable(GUILD_MEMBERS_TABLE)) $players_with_rank = $db->query('SELECT `players`.`id` as `id`, `' . GUILD_MEMBERS_TABLE . '`.`rank_id` as `rank_id` FROM `players`, `' . GUILD_MEMBERS_TABLE . '` WHERE `' . GUILD_MEMBERS_TABLE . '`.`rank_id` = ' . $rank->getId() . ' AND `players`.`id` = `' . GUILD_MEMBERS_TABLE . '`.`player_id` ORDER BY `name`;'); else if($db->hasColumn('players', 'rank_id')) $players_with_rank = $db->query('SELECT `id`, `rank_id` FROM `players` WHERE `rank_id` = ' . $rank->getId() . ' AND `deleted` = 0;'); $players_with_rank_number = $players_with_rank->rowCount(); if($players_with_rank_number > 0) { $bgcolor = getStyle($showed_players); $showed_players++; echo ' '; } } echo '
Guild Members
Rank Name, title, level & status
'.$rank->getName().' '; foreach($players_with_rank as $result) { $player = new OTS_Player(); $player->load($result['id']); if(!$player->isLoaded()) continue; //$s_total_members++; //$s_total_level += $player->getLevel(); echo ''; } echo '
' . getPlayerLink($player->getName()) . '
'; $guild_nick = $player->getGuildNick(); if($logged) { if(in_array($player->getId(), $players_from_account_ids)) echo ' ()'; else { if(!empty($guild_nick)) echo ' ('.htmlentities($player->getGuildNick()).')'; } } else if(!empty($guild_nick)) echo ' ('.htmlentities($player->getGuildNick()).')'; if($level_in_guild > $rank->getLevel() || $guild_leader) if($guild_leader_char->getName() != $player->getName()) echo ' {KICK}'; echo '
'.$player->getLevel().'Online' : 'red">Offline').'
'; /* //Statistics ;) echo '
'; //guild hall? $houseInfo = $db->query('SELECT `id`, `name` FROM `houses` WHERE `owner` = ' . $guild->getId() . ' AND `guild` = 1'); if($houseInfo->rowCount() > 0) //have guild hall { $houseInfo = $houseInfo->fetch(); echo ''; } echo '
Statistics
Total members: '.$s_total_members.'
Members currently online: '.$s_members_online.'
Total members level: '.$s_total_level.'
Average members level: '.ceil($s_total_level/$s_total_members).'
Frags: '.$guild->getCustomField('frags').'
Guildhall: '.$houseInfo['name'].'
'; */ //End statistics //Lets update some stuff in database //$db->query('UPDATE `guilds` SET `total_members` = '.$s_total_members.', `members_online` = '.$s_members_online.', `total_level` = '.$s_total_level.', `average_level` = '.ceil($s_total_level/$s_total_members).' WHERE `id` = '.$guild->getId()); include(SYSTEM . 'libs/pot/InvitesDriver.php'); new InvitesDriver($guild); $invited_list = $guild->listInvites(); $show_accept_invite = 0; if(count($invited_list) == 0) echo '
Invited Characters
No invited characters found.
'; else { echo '

'; $showed_invited = 1; foreach($invited_list as $invited_player) { if($logged && count($account_players) > 0) foreach($account_players as $player_from_acc) if($player_from_acc->getName() == $invited_player->getName()) $show_accept_invite++; if(is_int($showed_invited / 2)) { $bgcolor = $config['darkborder']; } else { $bgcolor = $config['lightborder']; } $showed_invited++; echo ''; } echo '
Invited Characters
' . getPlayerLink($invited_player->getName()); if($guild_vice) echo ' (Cancel Invitation)'; echo '
'; } echo '

'; if(!$logged) echo ''; else { if($show_accept_invite > 0) echo ''; if($guild_vice) { echo ''; echo ''; } if(count($players_from_account_in_guild) > 0) echo ''; } echo '
' . $twig->render('buttons.back.html.twig') . '
'; }