diff --git a/system/pages/guilds/show.php b/system/pages/guilds/show.php index aeb026ee..25a2d330 100644 --- a/system/pages/guilds/show.php +++ b/system/pages/guilds/show.php @@ -5,7 +5,8 @@ * @package MyAAC * @author Gesior * @author Slawkens - * @copyright 2017 MyAAC + * @author whiteblXK + * @copyright 2019 MyAAC * @link http://my-aac.org */ defined('MYAAC') or die('Direct access not allowed!'); @@ -26,244 +27,136 @@ if(empty($errors)) if(!empty($errors)) { $twig->display('error_box.html.twig', array('errors' => $errors)); - $twig->display('guilds.back_button.html.twig'); + return; } -else + +$guild_name = $guild->getName(); +$title = $guild_name . ' - ' . $title; + +$guild_owner = $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(); +$players_from_account_ids = array(); +if($logged) { - $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 '

+ $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($guild_owner->isLoaded() && $rank_in_guild->isLoaded() && $player_rank->isLoaded() && + $rank_in_guild->getId() == $player_rank->getId()) + { + $players_from_account_in_guild[] = $player->getName(); + if($guild_owner->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"; - //Slaw stats values - //$s_total_members = 0; - //$s_members_online = 0; - //$s_total_level = 0; - //End Slaw stats values +$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; - $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;'); +$guild_owner = $guild->getOwner(); +if($guild_owner->isLoaded()) + $guild_owner_name = $guild_owner->getName(); - $players_with_rank_number = $players_with_rank->rowCount(); - if($players_with_rank_number > 0) - { - $bgcolor = getStyle($showed_players); - $showed_players++; - echo ' - - - '; - } - } - echo '
Guild Members
RankName, title, level & status
'.$rank->getName().' - '; - foreach($players_with_rank as $result) - { - $player = new OTS_Player(); - $player->load($result['id']); - if(!$player->isLoaded()) - continue; +$guild_members = array(); +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;'); - //$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()).')'; + $players_with_rank_number = $players_with_rank->rowCount(); + if($players_with_rank_number > 0) + { + $members = array(); + foreach($players_with_rank as $result) + { + $player = new OTS_Player(); + $player->load($result['id']); + if(!$player->isLoaded()) + continue; - if($level_in_guild > $rank->getLevel() || $guild_leader) - if($guild_leader_char->getName() != $player->getName()) - echo ' {KICK}'; + $members[] = $player; + } - 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 + $guild_members[] = array( + 'rank_name' => $rank->getName(), + 'rank_level' => $rank->getLevel(), + 'members' => $members + ); + } +} - //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') . ' -
-
-
'; -} \ No newline at end of file +include(SYSTEM . 'libs/pot/InvitesDriver.php'); +new InvitesDriver($guild); +$invited_list = $guild->listInvites(); +$show_accept_invite = 0; +if($logged && count($invited_list) > 0) +{ + foreach($invited_list as $invited_player) + { + if(count($account_players) > 0) + { + foreach($account_players as $player_from_acc) + { + if($player_from_acc->isLoaded() && $invited_player->isLoaded() && $player_from_acc->getName() == $invited_player->getName()) + $show_accept_invite++; + } + } + } +} + +$useGuildNick = false; +if($db->hasColumn('players', 'guildnick')) + $useGuildNick = true; + +$twig->display('guilds.view.html.twig', array( + 'logo' => $guild_logo, + 'guild_name' => $guild_name, + 'description' => $description, + 'guild_owner' => $guild_owner->isLoaded() ? $guild_owner : null, + 'guild_creation_date' => $guild->getCreationData(), + 'guild_members' => $guild_members, + 'players_from_account_ids' => $players_from_account_ids, + 'players_from_account_in_guild' => $players_from_account_in_guild, + 'level_in_guild' => $level_in_guild, + 'isLeader' => $guild_leader, + 'isVice' => $guild_vice, + 'logged' => $logged, + 'invited_list' => $invited_list, + 'show_accept_invite' => $show_accept_invite, + 'useGuildNick' => $useGuildNick +)); \ No newline at end of file diff --git a/system/templates/guilds.view.html.twig b/system/templates/guilds.view.html.twig new file mode 100644 index 00000000..2adf6e25 --- /dev/null +++ b/system/templates/guilds.view.html.twig @@ -0,0 +1,343 @@ +
+
+
+ + + + + + + + + + +
+ +

{{ guild_name }}

+ +
+
+ + + + + + + +
+
+
+
+
+ + + + +
Guild Information
+ + + + +
+
+
+ + + + + + + +
+
+ + + + + + +
+
+ {% if descriptions is not empty %} + {{ description }} +
+
+ {% endif %} + + {% if guild_owner is not empty %} + {% set guildOwnerName = guild_owner.getName() %} + + {{ guildOwnerName }} is guild leader of {{ guild_name }}. +
+ {% endif %} + + The guild was founded on {{ config.lua.serverName }} on {{ guild_creation_date|date("j F Y") }}. + {% if isLeader %} + + Manage Guild + + {% endif %} +
+
+
+
+
+
+ +
+
+
+
+
+ + + + +
Guild Members
+ + + + +
+
+
+ + + + + + + +
+
+ + + + + + +
+
+
+ + + + + + + + + + + {% set showedRank, i = false, 0 %} + {% for rank in guild_members if rank.members|length > 0 %} + {% set rankStyle, i = getStyle(i), i + 1 %} + + {% for player in rank.members %} + + + + + + + + + + {% endfor %} + + {% set showedRank = false %} + {% else %} + + + + {% endfor %} + +
RankName{% if useGuildNick %} and Title{% endif %}VocationLevelStatus
+ {% if not showedRank %}{{ rank.rank_name }}{% endif %} + {% set showedRank = true %} + + {% set playerName = player.getName() %} +
+ {{ getPlayerLink(playerName, true)|raw }} + + {% if useGuildNick %} + {% set showGuildNick = false %} + {% if player.getGuildNick() is not empty %} + {% set showGuildNick = true %} + {% set guildNickRaw = player.getGuildNick()|raw %} + {% endif %} + + {% if logged %} + {% if player.getId() in players_from_account_ids %} + () + {% else %} + {% if showGuildNick %} ({{ guildNickRaw }}){% endif %} + {% endif %} + + {% if level_in_guild > rank.rank_level or isLeader %} + {% if guildOwnerName != playerName %} + + {KICK} + + {% endif %} + {% endif %} + {% else %} + {% if showGuildNick %} ({{ guildNickRaw }}){% endif %} + {% endif %} + {% endif %} +
+
{{ player.getVocationName() }}{{ player.getLevel() }} + Online{% else %} red;">Offline{% endif %} +
No guild members found.
+
+
+
+
+
+
+
+ +
+
+
+ + + + +
Invited Characters
+ + + + +
+
+ + + + + + + +
+
+ + + + + + +
+
+ + + + + + + {% set i = 0 %} + {% for invited_player in invited_list if invited_list|length > 0 %} + {% if invited_player.isLoaded() %} + + {% set i = i + 1 %} + + + + {% endif %} + {% else %} + + + + {% endfor %} + +
Name
+ {{ getPlayerLink(invited_player.getName(), true)|raw }} + + {% if isVice %} + + {% endif %} +
+ No invited characters found. +
+
+
+
+
+
+
+ +
+ + + + + + +
+
+ + + + + + +
+
+ + + + {% if not logged %} + + + + {% else %} + {% if show_accept_invite > 0 %} + + + + {% endif %} + + {% if isVice %} + + + + + + + + {% endif %} + + {% if players_from_account_in_guild|length > 0 %} + + + + {% endif %} + {% endif %} + + + + + + +
+ +
+ +
+ +
+ +
+ +
+ {{ include('buttons.back.html.twig') }} +
+
+
+
+
+
+
+
+
\ No newline at end of file