* @author Slawkens * @copyright 2017 MyAAC * @link http://my-aac.org */ defined('MYAAC') or die('Direct access not allowed!'); //set rights in guild $guild_name = urldecode($_REQUEST['guild']); $name = stripslashes($_REQUEST['name']); if(!$logged) { $errors[] = 'You are not logged in. You can\'t kick characters.'; } if(!Validator::guildName($guild_name)) { $errors[] = Validator::getLastError(); } if(!Validator::characterName($name)) { $errors[] = 'Invalid name format.'; } if(empty($errors)) { $guild = $ots->createObject('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(empty($errors)) { if(!$guild_leader && $level_in_guild < 3) { $errors[] = 'You are not a leader of guild '.$guild_name.'. You can\'t kick players.'; } } if(empty($errors)) { $player = new OTS_Player(); $player->find($name); if(!$player->isLoaded()) { $errors[] = 'Character '.$name.' doesn\'t exist.'; } else { if($player->getRank()->isLoaded() && $player->getRank()->getGuild()->isLoaded() && $player->getRank()->getGuild()->getName() != $guild->getName()) { $errors[] = 'Character '.$name.' isn\'t from your guild.'; } } } if(empty($errors)) { if($player->getRank()->isLoaded() && $player->getRank()->getLevel() >= $level_in_guild && !$guild_leader) { $errors[] = 'You can\'t kick character '.$name.'. Too high access level.'; } } if(empty($errors)) { if($guild->getOwner()->getName() == $player->getName()) { $errors[] = 'It\'s not possible to kick guild owner!'; } } if(!empty($errors)) { echo $twig->render('error_box.html.twig', array('errors' => $errors)); echo $twig->render('guilds.back_button.html.twig', array( 'action' => getLink('guilds') . '/' . $guild_name )); } else { if(isset($_REQUEST['todo']) && $_REQUEST['todo'] == 'save') { $player->setRank(); echo $twig->render('success.html.twig', array( 'title' => 'Kick player', 'description' => 'Player with name '.$player->getName().' has been kicked from your guild.', 'custom_buttons' => $twig->render('guilds.back_button.html.twig', array( 'action' => getLink('guilds') . '/' . $guild_name )) )); } else { echo $twig->render('guilds.kick_player.html.twig', array( 'player_name' => $player->getName(), 'guild_name' => $guild->getName() )); } } ?>