* @author Slawkens * @copyright 2017 MyAAC * @link http://my-aac.org */ defined('MYAAC') or die('Direct access not allowed!'); $guild_name = isset($_REQUEST['guild']) ? urldecode($_REQUEST['guild']) : null; $name = stripslashes($_REQUEST['name']); if(!$logged) $errors[] = 'You are not logged in. You can\'t delete invitations.'; if(!Validator::guildName($guild_name)) $errors[] = Validator::getLastError(); if(!Validator::characterName($name)) $errors[] = 'Invalid name format.'; 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)) { $rank_list = $guild->getGuildRanksList(); $rank_list->orderBy('level', POT::ORDER_DESC); $guild_leader = false; $guild_vice = false; $account_players = $account_logged->getPlayers(); foreach($account_players as $player) { $player_rank = $player->getRank(); if($player_rank->isLoaded()) { foreach($rank_list as $rank_in_guild) { if($rank_in_guild->getId() == $player_rank->getId()) { $players_from_account_in_guild[] = $player->getName(); if($player_rank->getLevel() > 1) { $guild_vice = true; $level_in_guild = $player_rank->getLevel(); } if($guild->getOwner()->getId() == $player->getId()) { $guild_vice = true; $guild_leader = true; } } } } } if(!$guild_vice) $errors[] = 'You are not a leader or vice leader of guild ' . $guild_name . '.'; } if(empty($errors)) { $player = new OTS_Player(); $player->find($name); if(!$player->isLoaded()) $errors[] = 'Player with name ' . $name . ' doesn\'t exist.'; } if(empty($errors)) { include(SYSTEM . 'libs/pot/InvitesDriver.php'); new InvitesDriver($guild); $invited_list = $guild->listInvites(); if(count($invited_list) > 0) { $is_invited = false; foreach($invited_list as $invited) if($invited->getName() == $player->getName()) $is_invited = true; if(!$is_invited) $errors[] = ''.$player->getName().' isn\'t invited to your guild.'; } else $errors[] = 'No one is invited to your guild.'; } if(!empty($errors)) { echo $twig->render('error_box.html.twig', array('errors' => $errors)); echo $twig->render('guilds.back_button.html.twig', array('action' => '?subtopic=guilds&action=show&guild=' . $guild_name)); } else { if(isset($_REQUEST['todo']) && $_REQUEST['todo'] == 'save') { $guild->deleteInvite($player); echo $twig->render('success.html.twig', array( 'title' => 'Deleted player invitation', 'description' => 'Player with name ' . $player->getName() . ' has been deleted from invites list.', 'custom_buttons' => $twig->render('guilds.back_button.html.twig', array('action' => '?subtopic=guilds&action=show&guild=' . $guild_name)) )); } else { echo $twig->render('guilds.delete_invite.html.twig', array( 'player_name' => $player->getName(), 'guild_name' => $guild->getName() )); } }