Guest User

Untitled

a guest
Oct 9th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 31.62 KB | None | 0 0
  1. <?php require_once 'engine/init.php';
  2. if ($config['require_login']['guilds']) protect_page();
  3. $isOtx = ($config['CustomVersion'] == 'OTX') ? true : false;
  4.  
  5. function guild_list($TFSVersion) {
  6.     $cache = new Cache('engine/cache/guildlist');
  7.     if ($cache->hasExpired()) {
  8.         if ($TFSVersion != 'TFS_10') $guilds = mysql_select_multi("SELECT `t`.`id`, `t`.`name`, `t`.`creationdata`, `motd`, (SELECT count(p.rank_id) FROM players AS p LEFT JOIN guild_ranks AS gr ON gr.id = p.rank_id WHERE gr.guild_id =`t`.`id`) AS `total` FROM `guilds` as `t` ORDER BY `t`.`name`;");
  9.         else $guilds = mysql_select_multi("SELECT `id`, `name`, `creationdata`, `motd`, (SELECT COUNT('guild_id') FROM `guild_membership` WHERE `guild_id`=`id`) AS `total` FROM `guilds` ORDER BY `name`;");
  10.        
  11.         // Add level data info to guilds
  12.         if ($guilds !== false)
  13.             for ($i = 0; $i < count($guilds); $i++)
  14.                 $guilds[$i]['level'] = get_guild_level_data($guilds[$i]['id']);
  15.  
  16.         $cache->setContent($guilds);
  17.         $cache->save();
  18.     } else {
  19.         $guilds = $cache->load();
  20.     }
  21.     return $guilds;
  22. }
  23.  
  24. include 'layout/overall/header.php';
  25.  
  26. if (user_logged_in() === true) {
  27.    
  28.     // fetch data
  29.     $char_count = user_character_list_count($session_user_id);
  30.     $char_array = user_character_list($user_data['id']);
  31.     $characters = array();
  32.     $charactersId = array();
  33.     $charactersRank = array();
  34.     if ($char_array !== false) {
  35.         foreach ($char_array as $value) {
  36.             $characters[] = $value['name'];
  37.             $charactersId[] = $value['id'];
  38.             $charactersRank[] = $value['rank_id'];
  39.         }
  40.     }
  41. } else {
  42.     $char_count = 0;
  43. }
  44.  
  45. if (empty($_GET['name'])) {
  46. // Display the guild list
  47.  
  48. //data_dump($guild, false, "guild data");
  49.  
  50. $guilds = guild_list($config['TFSVersion']);
  51.  
  52. if (isset($guilds) && !empty($guilds) && $guilds !== false) {
  53.     //data_dump($guilds, false, "Guilds");
  54. ?>
  55. <table id="guildsTable" class="table table-striped table-hover">
  56.     <tr class="yellow">
  57.         <th>Logo</th>
  58.         <th>Description</th>
  59.         <th>Guild data</th>
  60.         <!-- <th>Founded:</th> -->
  61.     </tr>
  62.         <?php
  63.         foreach ($guilds as $guild) {
  64.             if ($guild['total'] >= 1) {
  65.                 ?>
  66.                 <tr class="special">
  67.                     <td style="width: 100px;">
  68.                         <img style="max-height: 100px; margin: auto; display: block;" src="<?php logo_exists($guild['name']); ?>">
  69.                     </td>
  70.                     <td>
  71.                         <a href="guilds.php?name=<?php echo $guild['name']; ?>"><?php echo $guild['name']; ?></a><b></b>
  72.                         <?php if (strlen($guild['motd']) > 0) echo '<br>'.$guild['motd']; ?>
  73.                     </td>
  74.                     <td>
  75.                         <?php echo "Total members: ".$guild['level']['players']; ?>
  76.                         <br><?php echo "Average level: ".$guild['level']['avg'].""; ?>
  77.                         <br><?php echo "Guild level: ".$guild['level']['total']; ?>
  78.                     </td>
  79.                 </tr>
  80.                 <?php
  81.                 //echo '<td>'. getClock($guild['creationdata'], true) .'</td>';
  82.             }
  83.         }
  84.         ?>
  85. </table>
  86. <?php } else echo '<p>Guild list is empty.</p>';?>
  87. <!-- user stuff -->
  88. <?php
  89. if (user_logged_in() === true) {   
  90.     // post verifications
  91.     // CREATE GUILD
  92.     if (!empty($_POST['selected_char']) && !empty($_POST['guild_name'])) {
  93.         if (user_character_account_id($_POST['selected_char']) === $session_user_id) {
  94.             //code here
  95.             $name = sanitize($_POST['selected_char']);
  96.             $user_id = user_character_id($name);
  97.             if ($config['TFSVersion'] !== 'TFS_10') $char_data = user_character_data($user_id, 'level', 'online');
  98.             else {
  99.                 $char_data = user_character_data($user_id, 'level');
  100.                 $char_data['online'] = (user_is_online_10($user_id)) ? 1 : 0;
  101.             }
  102.            
  103.             // If character level is high enough
  104.             if ($char_data['level'] >= $config['create_guild_level']) {
  105.            
  106.                 // If character is offline
  107.                 if ($char_data['online'] == 0) {
  108.                     $acc_data = user_data($user_data['id'], 'premdays');
  109.                    
  110.                     // If character is premium
  111.                     if ($config['guild_require_premium'] == false || $acc_data['premdays'] > 0) {
  112.                    
  113.                         if (get_character_guild_rank($user_id) < 1) {
  114.                        
  115.                             if (preg_match("/^[a-zA-Z_ ]+$/", $_POST['guild_name'])) {
  116.                             // Only allow normal symbols as guild name
  117.                                
  118.                                 $guildname = sanitize($_POST['guild_name']);
  119.                                
  120.                                 $gid = get_guild_id($guildname);
  121.                                 if ($gid === false) {
  122.                                     create_guild($user_id, $guildname);
  123.                                     // Re-cache the guild list
  124.                                     $guilds = guild_list($config['TFSVersion']);
  125.                                     header('Location: success.php');
  126.                                     exit();
  127.                                 } else echo 'A guild with that name already exist.';
  128.                             } else echo 'Guild name may only contain a-z, A-Z and spaces.';
  129.                         } else echo 'You are already in a guild.';
  130.                     } else echo 'You need a premium account to create a guild.';
  131.                 } else echo 'Your character must be offline to create a guild.';
  132.             } else echo $name .' is level '. $char_data['level'] .'. But you need level '. $config['create_guild_level'] .'+ to create your own guild!';
  133.         }
  134.     }
  135.     // end 
  136.     ?>
  137.    
  138.    
  139.     <!-- FORMS TO CREATE GUILD-->
  140.     <form action="" method="post">
  141.         <ul>
  142.             <li>
  143.                 Create Guild:<br>
  144.                 <select name="selected_char">
  145.                 <?php
  146.                 for ($i = 0; $i < $char_count; $i++) {
  147.                     echo '<option value="'. $characters[$i] .'">'. $characters[$i] .'</option>';    
  148.                 }
  149.                 ?>
  150.                 </select>
  151.                 <input type="text" name="guild_name">
  152.                
  153.                 <input type="submit" value="Create Guild">
  154.             </li>
  155.         </ul>
  156.     </form>
  157.    
  158.     <?php
  159. } else echo 'You need to be logged in to create guilds.';
  160. ?>
  161. <!-- end user-->
  162.  
  163. <?php
  164. } else { // GUILD OVERVIEW
  165.     $guild = get_guild_data($_GET['name']);
  166.     $gid = $guild['id'];
  167.     if ($gid === false) {
  168.         header('Location: guilds.php');
  169.         exit();
  170.     }
  171.     $gcount = count_guild_members($gid);
  172.     if ($gcount < 1) {
  173.         header('Location: guilds.php');
  174.         exit();
  175.     }
  176.     $inv_data = guild_invite_list($gid);
  177.     $players = get_guild_players($gid);
  178.     $inv_count = 0;
  179.    
  180.     // Calculate invite count
  181.     if ($inv_data !== false) {
  182.         foreach ($inv_data as $inv) {
  183.             ++$inv_count;
  184.         }
  185.     }
  186.    
  187.     // calculate visitor access
  188.     $highest_access = 0;
  189.     if (user_logged_in() === true) {
  190.         // Get visitor access in this guild
  191.         foreach ($players as $player) {
  192.             $rid = $player['rank_id'];
  193.            
  194.             for ($i = 0; $i < $char_count; $i++) {
  195.                
  196.                 $playerRank = $charactersRank[$i];
  197.  
  198.                 if ($playerRank == $rid) {
  199.                     $access = get_guild_position($playerRank);
  200.                     if ($access == 2 || $access == 3) { //If player got access level vice leader or leader
  201.                         if ($access > $highest_access) $highest_access = $access;
  202.                     }
  203.                 }
  204.  
  205.             }
  206.         }
  207.     }
  208.     // Display the specific guild page
  209. ?>
  210.  
  211. <div id="guildTitleDiv">
  212.     <?php echo (isset($_GET['error'])) ? "<font size='5' color='red'>".sanitize($_GET['error'])."</font><br><br>" : ""; ?>
  213.     <?php if ($config['use_guild_logos']): ?>
  214.     <div id="guildImageDiv" style="float: left; margin-right: 10px;">
  215.         <img style="max-width: 100px; max-height: 100px;" src="<?php logo_exists(sanitize($_GET['name'])); ?>">
  216.     </div>
  217.     <?php endif; ?>
  218.     <div id="guildDescription">
  219.         <h1>Guild: <?php echo sanitize($_GET['name']); ?></h1>
  220.         <p><?php echo $guild['motd']; ?></p>
  221.     </div>
  222. </div>
  223. <table id="guildViewTable" class="table table-striped">
  224.     <tr class="yellow">
  225.         <th>Rank:</th>
  226.         <th>Name:</th>
  227.         <th>Level:</th>
  228.         <th>Vocation:</th>
  229.         <th>Status:</th>
  230.     </tr>
  231.         <?php
  232.         if ($config['TFSVersion'] == 'TFS_10') {
  233.             $onlinelist = array();
  234.             $gplayers = array();
  235.             foreach ($players as $player) {
  236.                 $gplayers[] = $player['id'];
  237.             }
  238.             $gplayers = join(',',$gplayers);
  239.             $onlinequery = mysql_select_multi("SELECT `player_id` FROM `players_online` WHERE `player_id` IN ($gplayers);");
  240.             if ($onlinequery !== false) foreach ($onlinequery as $online) {
  241.                 $onlinelist[] = $online['player_id'];
  242.             }
  243.         }
  244.         //data_dump($players, false, "Data");
  245.         $rankName = '';
  246.         foreach ($players as $player) {
  247.             if ($config['TFSVersion'] !== 'TFS_10') {
  248.                 $chardata['online'] = $player['online'];
  249.             } else $chardata['online'] = (in_array($player['id'], $onlinelist)) ? 1 : 0;
  250.             echo '<tr>';
  251.             echo '<td>' . ($rankName !== $player['rank_name'] ? $player['rank_name'] : '') . '</td>';
  252.             $rankName = $player['rank_name'];
  253.             echo '<td><a href="characterprofile.php?name='. $player['name'] .'">'. $player['name'] .'</a>';
  254.             if (!empty($player['guildnick'])) {
  255.                 echo ' ('. $player['guildnick'] .')';
  256.             }
  257.             echo '</td>';
  258.             echo '<td>'. $player['level'] .'</td>';
  259.             echo '<td>'. $config['vocations'][$player['vocation']]['name'] .'</td>';
  260.             if ($chardata['online'] == 1) echo '<td> <b><font color="green"> Online </font></b></td>';
  261.             else echo '<td> Offline </td>';
  262.             echo '</tr>';
  263.         }
  264.         ?>
  265. </table>
  266.  
  267. <?php if ($inv_count > 0) { ?>
  268. <h3>Invited characters</h3>
  269. <table>
  270.     <tr class="yellow">
  271.         <td>Name:</td>
  272.         <?php
  273.         if ($highest_access == 2 || $highest_access == 3) {
  274.             echo '<td>Remove:</td>';
  275.         }
  276.         // Shuffle through visitor characters
  277.         for ($i = 0; $i < $char_count; $i++) {
  278.             $exist = false;
  279.             // Shuffle through invited character, see if they match your character.
  280.             if ($inv_data !== false) foreach ($inv_data as $inv) {
  281.                 if ($charactersId[$i] == $inv['player_id']) {
  282.                     $exist = true;
  283.                 }
  284.             }
  285.             if ($exist) echo '<td>Join Guild:</td><td>Reject Invitation:</td>';
  286.         }
  287.         ?>
  288.     </tr>
  289.         <?php
  290.         $bool = false;
  291.         if ($inv_data !== false) foreach ($inv_data as $inv) {
  292.             echo '<tr>';
  293.             echo '<td>'. $inv['name'] .'</td>';
  294.             // Remove invitation
  295.             if ($highest_access == 2 || $highest_access == 3) {
  296.             ?> <form action="" method="post"> <?php
  297.                 echo '<td>';
  298.                 echo '<input type="hidden" name="uninvite" value="' . $inv['player_id'] . '" />';
  299.                 echo '<input type="submit" value="Remove Invitation">';
  300.                 echo '</td>';
  301.             ?> </form> <?php
  302.             }
  303.             // Join Guild
  304.             ?> <form action="" method="post"> <?php
  305.                 for ($i = 0; $i < $char_count; $i++) {
  306.                     if ($charactersId[$i] == $inv['player_id']) {
  307.                         echo '<td>';
  308.                         echo '<input type="hidden" name="joinguild" value="' . $inv['player_id'] . '" />';
  309.                         echo '<input type="submit" value="Join Guild">';
  310.                         echo '</td>';
  311.                         $bool = true;
  312.                     }
  313.                 }
  314.                 if (isset($bool, $exist) && !$bool && $exist) {
  315.                     echo '<td></td>';
  316.                     $bool = false;
  317.                 }
  318.             ?> </form> <?php
  319.             // Reject invitation
  320.             ?> <form action="" method="post"> <?php
  321.                 for ($i = 0; $i < $char_count; $i++) {
  322.                     if ($charactersId[$i] == $inv['player_id']) {
  323.                         echo '<td>';
  324.                         echo '<input type="hidden" name="uninvite" value="' . $inv['player_id'] . '" />';
  325.                         echo '<input type="submit" value="Reject Invitation">';
  326.                         echo '</td>';
  327.                         $bool = true;
  328.                     }
  329.                 }
  330.                 if (isset($bool, $exist) && !$bool && $exist) {
  331.                     echo '<td></td>';
  332.                     $bool = false;
  333.                 }
  334.             ?> </form> <?php
  335.             echo '</tr>';
  336.         }
  337.         ?>
  338. </table>
  339. <?php } ?>
  340. <!-- Leader stuff -->
  341. <?php
  342. // Only guild leaders
  343. if (user_logged_in() === true) {
  344.    
  345.     // Uninvite and joinguild is also used for visitors who reject their invitation.
  346.     if (!empty($_POST['uninvite'])) {
  347.         //
  348.         guild_remove_invitation($_POST['uninvite'], $gid);
  349.         header('Location: guilds.php?name='. $_GET['name']);
  350.         exit();
  351.     }
  352.     if (!empty($_POST['joinguild'])) {
  353.         //
  354.         foreach ($inv_data as $inv) {
  355.             if ($inv['player_id'] == $_POST['joinguild']) {
  356.                 if ($config['TFSVersion'] !== 'TFS_10') $chardata = user_character_data($_POST['joinguild'], 'online');
  357.                 else $chardata['online'] = (user_is_online_10($_POST['joinguild'])) ? 1 : 0;
  358.                 if ($chardata['online'] == 0) {
  359.                     if (guild_player_join($_POST['joinguild'], $gid)) {
  360.                         header('Location: guilds.php?name='. $_GET['name']);
  361.                         exit();
  362.                     } else echo '<font color="red" size="4">Failed to find guild position representing member.</font>';
  363.                 } else echo '<font color="red" size="4">Character must be offline before joining guild.</font>';
  364.             }
  365.         }
  366.     }
  367.    
  368.     if (!empty($_POST['leave_guild'])) {
  369.         $name = sanitize($_POST['leave_guild']);
  370.         $cidd = user_character_id($name);
  371.         // If character is offline
  372.         if ($config['TFSVersion'] !== 'TFS_10') $chardata = user_character_data($cidd, 'online');
  373.         else $chardata['online'] = (user_is_online_10($cidd)) ? 1 : 0;
  374.         if ($chardata['online'] == 0) {
  375.             if ($config['TFSVersion'] !== 'TFS_10') guild_player_leave($cidd);
  376.             else guild_player_leave_10($cidd);
  377.             header('Location: guilds.php?name='. $_GET['name']);
  378.             exit();
  379.         } else echo '<font color="red" size="4">Character must be offline first!</font>';
  380.     }
  381.    
  382. if ($highest_access >= 2) {
  383.     // Guild leader stuff
  384.    
  385.     // Change Guild Nick
  386.     if (!empty($_POST['player_guildnick'])) {
  387.         $p_cid = user_character_id($_POST['player_guildnick']);
  388.         $p_guild = get_player_guild_data($p_cid);
  389.         if (preg_match("/^[a-zA-Z_ ]+$/", $_POST['guildnick']) || empty($_POST['guildnick'])) {
  390.             // Only allow normal symbols as guild nick
  391.             $p_nick = sanitize($_POST['guildnick']);
  392.             if ($p_guild['guild_id'] == $gid) {
  393.                 if ($config['TFSVersion'] !== 'TFS_10') $chardata = user_character_data($p_cid, 'online');
  394.                 else $chardata['online'] = (user_is_online_10($p_cid)) ? 1 : 0;
  395.                 if ($chardata['online'] == 0) {
  396.                     if ($config['TFSVersion'] !== 'TFS_10') update_player_guildnick($p_cid, $p_nick);
  397.                     else update_player_guildnick_10($p_cid, $p_nick);
  398.                     header('Location: guilds.php?name='. $_GET['name']);
  399.                     exit();
  400.                 } else echo '<font color="red" size="4">Character not offline.</font>';
  401.             }      
  402.         } else echo '<font color="red" size="4">Character guild nick may only contain a-z, A-Z and spaces.</font>';
  403.     }
  404.    
  405.     // Promote character to guild position
  406.     if (!empty($_POST['promote_character']) && !empty($_POST['promote_position'])) {
  407.         // Verify that promoted character is from this guild.
  408.         $p_rid = $_POST['promote_position'];
  409.         $p_cid = user_character_id($_POST['promote_character']);
  410.         $p_guild = get_player_guild_data($p_cid);
  411.        
  412.         if ($p_guild['guild_id'] == $gid) {
  413.             // Do the magic.
  414.             if ($config['TFSVersion'] !== 'TFS_10') $chardata = user_character_data($p_cid, 'online');
  415.             else $chardata['online'] = (user_is_online_10($p_cid)) ? 1 : 0;
  416.             if ($chardata['online'] == 0) {
  417.                 if ($config['TFSVersion'] !== 'TFS_10') update_player_guild_position($p_cid, $p_rid);
  418.                 else update_player_guild_position_10($p_cid, $p_rid);
  419.                 header('Location: guilds.php?name='. $_GET['name']);
  420.                 exit();
  421.             } else echo '<font color="red" size="4">Character not offline.</font>';
  422.            
  423.         }
  424.     }
  425.     if (!empty($_POST['invite'])) {
  426.         if (user_character_exist($_POST['invite'])) {
  427.             // Make sure they are not in another guild
  428.            
  429.             if ($config['TFSVersion'] != 'TFS_10') {
  430.                 $charname = sanitize($_POST['invite']);
  431.                 $playerdata = mysql_select_single("SELECT `id`, `rank_id` FROM `players` WHERE `name`='$charname' LIMIT 1;");
  432.                 $charid = $playerdata['id'];
  433.                 $membership = ($playerdata['rank_id'] > 0) ? true : false;
  434.             } else {
  435.                 $charid = user_character_id($_POST['invite']);
  436.                 $membership = mysql_select_single("SELECT `rank_id` FROM `guild_membership` WHERE `player_id`='$charid' LIMIT 1;");
  437.             }
  438.             if (!$membership) {
  439.                 //
  440.                 $status = false;
  441.                 if ($inv_data !== false) {
  442.                     foreach ($inv_data as $inv) {
  443.                         if ($inv['player_id'] == user_character_id($_POST['invite'])) $status = true;
  444.                     }
  445.                 }
  446.                 foreach ($players as $player) {
  447.                     if ($player['name'] == $_POST['invite']) $status = true;
  448.                 }
  449.                
  450.                 if ($status == false) {
  451.                     guild_invite_player($charid, $gid);
  452.                     header('Location: guilds.php?name='. $_GET['name']);
  453.                     exit();
  454.                 } else echo '<font color="red" size="4">That character is already invited(or a member) on this guild.</font>';
  455.             } else echo '<font color="red" size="4">That character is already in a guild.</font>';
  456.  
  457.         } else echo '<font color="red" size="4">That character name does not exist.</font>';
  458.     }
  459.     // Guild Message (motd)
  460.     if (!empty($_POST['motd'])) {
  461.         $motd = sanitize($_POST['motd']);
  462.         mysql_update("UPDATE `guilds` SET `motd`='$motd' WHERE `id`='$gid' LIMIT 1;");
  463.         header('Location: guilds.php?name='. $_GET['name']);
  464.         exit();
  465.     }
  466.    
  467.     if (!empty($_POST['disband'])) {
  468.         //
  469.         $gidd = (int)$_POST['disband'];
  470.         $members = get_guild_players($gidd);
  471.         $online = false;
  472.        
  473.         // First figure out if anyone are online.
  474.         foreach ($members as $member) {
  475.             if ($config['TFSVersion'] !== 'TFS_10') $chardata = user_character_data(user_character_id($member['name']), 'online');
  476.             else $chardata['online'] = (user_is_online_10(user_character_id($member['name']))) ? 1 : 0;
  477.             if ($chardata['online'] == 1) {
  478.                 $online = true;
  479.             }
  480.         }
  481.        
  482.         if (!$online) {
  483.             // Then remove guild rank from every player.
  484.             if ($config['TFSVersion'] !== 'TFS_10') foreach ($members as $member) guild_player_leave(user_character_id($member['name']));
  485.             else foreach ($members as $member) guild_player_leave_10(user_character_id($member['name']));
  486.            
  487.             // Remove all guild invitations to this guild
  488.             if ($inv_count > 0) guild_remove_invites($gidd);
  489.            
  490.             // Then remove the guild itself.
  491.             guild_delete($gidd);
  492.             header('Location: success.php');
  493.             exit();
  494.         } else echo '<font color="red" size="4">All members must be offline to disband the guild.</font>';
  495.     }
  496.    
  497.     if (!empty($_POST['new_leader'])) {
  498.         $new_leader = (int)$_POST['new_leader'];
  499.         $old_leader = guild_leader($gid);
  500.        
  501.         $online = false;
  502.         if ($config['TFSVersion'] !== 'TFS_10') {
  503.             $newData = user_character_data($new_leader, 'online');
  504.             $oldData = user_character_data($old_leader, 'online');
  505.         } else {
  506.             $newData['online'] = (user_is_online_10($new_leader)) ? 1 : 0;
  507.             $oldData['online'] = (user_is_online_10($old_leader)) ? 1 : 0;
  508.         }
  509.         if ($newData['online'] == 1 || $oldData['online'] == 1) $online = true;
  510.        
  511.         if ($online == false) {
  512.             if (guild_change_leader($new_leader, $old_leader)) {
  513.                 header('Location: guilds.php?name='. $_GET['name']);
  514.                 exit();
  515.             } else echo '<font color="red" size="4">Something went wrong when attempting to change leadership.</font>';
  516.         } else echo '<font color="red" size="4">The new and old leader must be offline to change leadership.</font>';
  517.     }
  518.    
  519.     if (!empty($_POST['change_ranks'])) {
  520.         $c_gid = (int)$_POST['change_ranks'];
  521.         $c_ranks = get_guild_rank_data($c_gid);
  522.         $rank_data = array();
  523.         $rank_ids = array();
  524.        
  525.         // Feed new rank data
  526.         foreach ($c_ranks as $rank) {
  527.             $tmp = 'rank_name!'. $rank['level'];
  528.             if (!empty($_POST[$tmp])) {
  529.                 $rank_data[$rank['level']] = sanitize($_POST[$tmp]);
  530.                 $rank_ids[$rank['level']] = $rank['id'];
  531.             }
  532.         }
  533.        
  534.         foreach ($rank_data as $level => $name) {
  535.             guild_change_rank($rank_ids[$level], $name);
  536.         }
  537.        
  538.         header('Location: guilds.php?name='. $_GET['name']);
  539.         exit();
  540.     }
  541.    
  542.     if (!empty($_POST['remove_member'])) {
  543.         $name = sanitize($_POST['remove_member']);
  544.         $cid = user_character_id($name);
  545.        
  546.         if ($config['TFSVersion'] !== 'TFS_10') guild_remove_member($cid);
  547.         else guild_remove_member_10($cid);
  548.         header('Location: guilds.php?name='. $_GET['name']);
  549.         exit();
  550.     }
  551.  
  552.     if (!empty($_POST['forumGuildId'])) {
  553.         if ($config['forum']['guildboard'] === true) {
  554.             $forumExist = mysql_select_single("SELECT `id` FROM `znote_forum` WHERE `guild_id`='$gid' LIMIT 1;");
  555.                 if ($forumExist === false) {
  556.                     // Insert data
  557.                     mysql_insert("INSERT INTO `znote_forum` (`name`, `access`, `closed`, `hidden`, `guild_id`)
  558.                         VALUES ('Guild',
  559.                             '1',
  560.                             '0',
  561.                             '0',
  562.                             '$gid');");
  563.                     echo '<h1>Guild board has been created.</h1>';
  564.                 } else echo '<h1>Guild board already exist.</h1>';
  565.            
  566.         } else {
  567.             echo '<h1>Error: Guild board system is disabled.</h1>';
  568.         }
  569.     }
  570.    
  571.     if ($config['TFSVersion'] == 'TFS_02' || $config['TFSVersion'] == 'TFS_10' && $config['guildwar_enabled'] === true) {
  572.         if (!empty($_POST['warinvite'])) {
  573.             if (get_guild_id($_POST['warinvite'])) {
  574.                 $status = false;
  575.                 $war_invite = mysql_select_single("SELECT `id` FROM `guilds` WHERE `id` = '$gid';");
  576.                 $targetGuild = get_guild_id($_POST['warinvite']);
  577.                 if ($war_invite !== false) {
  578.                     foreach ($war_invite as $inv) {
  579.                         if ($inv['id'] == $targetGuild) $status = true;
  580.                     }
  581.                 }
  582.                
  583.                 $check_guild = get_guild_name($gid);
  584.                 foreach ($check_guild as $guild) {
  585.                     if ($guild['name'] == $_POST['warinvite']) $status = true;
  586.                 }
  587.                
  588.                 $wars = mysql_select_multi("SELECT `id`, `guild1`, `guild2`, `status` FROM `guild_wars` WHERE (`guild1` = '$gid' OR `guild1` = '$targetGuild') AND (`guild2` = '$gid' OR `guild2` = '$targetGuild') AND `status` IN (0, 1);");
  589.                 if ($status == false && $wars == false) {
  590.                     guild_war_invitation($gid, $targetGuild);
  591.                     $limit = (empty($_POST['limit'])) ? 100 : (int)$_POST['limit'];
  592.                     mysql_insert("INSERT INTO `znote_guild_wars` (`limit`) VALUES ('$limit');");
  593.                     header('Location: guilds.php?name='. $_GET['name']);
  594.                     exit();
  595.                 } else echo '<font color="red" size="4">This guild has already been invited to war(or you\'re trying to invite your own).</FONT>';
  596.             } else echo '<font color="red" size="4">That guild name does not exist.</font>';
  597.         }
  598.    
  599.         if (!empty($_POST['cancel_war_invite'])) {
  600.             cancel_war_invitation($_POST['cancel_war_invite'], $gid);
  601.             header('Location: guilds.php?name='. $_GET['name']);
  602.             exit();
  603.         }
  604.    
  605.         if (!empty($_POST['reject_war_invite'])) {
  606.             reject_war_invitation($_POST['reject_war_invite'], $gid);
  607.             header('Location: guilds.php?name='. $_GET['name']);
  608.             exit();
  609.         }
  610.    
  611.         if (!empty($_POST['accept_war_invite'])) {
  612.             accept_war_invitation($_POST['accept_war_invite'], $gid);
  613.             header('Location: guilds.php?name='. $_GET['name']);
  614.             exit();
  615.         }
  616.     }
  617.    
  618.     $members = count_guild_members($gid);
  619.     $ranks = get_guild_rank_data($gid);
  620.     ?>
  621.         <!-- Form to create guild -->
  622.         <?php
  623.             if ($config['forum']['guildboard'] === true && $config['forum']['enabled'] === true) {
  624.                 $forumExist = mysql_select_single("SELECT `id` FROM `znote_forum` WHERE `guild_id`='$gid' LIMIT 1;");
  625.                 if ($forumExist === false) {
  626.                     ?>
  627.                     <form action="" method="post">
  628.                         <ul>
  629.                             <li>Create forum guild board:<br>
  630.                             <input type="hidden" name="forumGuildId" value="<?php echo $gid; ?>">
  631.                             <input type="submit" value="Create Guild Board">
  632.                         </ul>
  633.                     </form>
  634.                     <?php
  635.                 }
  636.             }
  637.  
  638.         if ($config['use_guild_logos']) {
  639.  
  640.         ?>
  641.  
  642.             <!-- form to upload guild logo -->
  643.             <form action="" method="post" enctype="multipart/form-data">
  644.                 <ul>
  645.                     <li>Upload guild logo [.gif images only, 100x100px size]:<br>
  646.                         <input type="file" name="file" id="file" accept="image/gif">
  647.                         <input type="submit" name="submit" value="Upload guild logo">
  648.                     </li>
  649.                 </ul>
  650.             </form>
  651.  
  652.         <?php
  653.  
  654.             if (!empty($_FILES['file'])) {
  655.  
  656.                 check_image($_FILES['file']);
  657.  
  658.                 echo '<br><br>';
  659.             }
  660.  
  661.         } ?>
  662.         <!-- forms to invite character -->
  663.         <form action="" method="post">
  664.             <ul>
  665.                 <li>Invite Character to guild:<br>
  666.                     <input type="text" name="invite" placeholder="Character name">
  667.                     <input type="submit" value="Invite Character">
  668.                 </li>
  669.             </ul>
  670.         </form>
  671.         <!-- Guild message of the day motd -->
  672.         <form action="" method="post">
  673.             <ul>
  674.                 <li>Change guild message:</li>
  675.                 <li>
  676.                     <textarea name="motd" placeholder="Guild Message" cols="50" rows="3"><?php echo $guild['motd']; ?></textarea><br>
  677.                     <input type="submit" value="Update guild message">
  678.                 </li>
  679.             </ul>
  680.         </form>
  681.         <!-- FORMS TO CHANGE GUILD NICK -->
  682.         <form action="" method="post">
  683.             <ul>
  684.                 <li>
  685.                     Change Guild Nick:<br>
  686.                     <select name="player_guildnick">
  687.                     <?php
  688.                     //$gid = get_guild_id($_GET['name']);
  689.                     //$players = get_guild_players($gid);
  690.  
  691.                     foreach ($players as $player) {
  692.                         if ($player['rank_level'] != 3) {
  693.                             echo '<option value="'. $player['name'] .'">'. $player['name'] .'</option>';
  694.                         } else {
  695.                             if ($highest_access == 3) {
  696.                                 echo '<option value="'. $player['name'] .'">'. $player['name'] .'</option>';
  697.                             }
  698.                         }
  699.                     }
  700.                     ?>
  701.                     </select>
  702.                     <input type="text" name="guildnick" maxlength="15" placeholder="leave blank to erase">
  703.                     <input type="submit" value="Change Nick">
  704.                 </li>
  705.             </ul>
  706.         </form>
  707.         <!-- END FORMS TO CHANGE GUILD NICK -->
  708.         <?php if ($members > 1) { ?>
  709.         <!-- FORMS TO PROMOTE CHARACTER-->
  710.         <form action="" method="post">
  711.             <ul>
  712.                 <li>
  713.                     Promote Character:<br>
  714.                     <select name="promote_character">
  715.                     <?php
  716.                     //$gid = get_guild_id($_GET['name']);
  717.                     //$players = get_guild_players($gid);
  718.                     foreach ($players as $player) {
  719.                         if ($player['rank_level'] != 3) {
  720.                             echo '<option value="'. $player['name'] .'">'. $player['name'] .'</option>';
  721.                         }  
  722.                     }
  723.                     ?>
  724.                     </select>
  725.                     <select name="promote_position">
  726.                         <?php
  727.                         foreach ($ranks as $rank) {
  728.                             if ($rank['level'] != 3) {
  729.                                 if ($rank['level'] != 2) {
  730.                                     echo '<option value="'. $rank['id'] .'">'. $rank['name'] .'</option>';
  731.                                 } else {
  732.                                     if ($highest_access == 3) {
  733.                                         echo '<option value="'. $rank['id'] .'">'. $rank['name'] .'</option>';
  734.                                     }
  735.                                 }
  736.                             }
  737.                         }
  738.                         ?>
  739.                     </select>
  740.                     <input type="submit" value="Promote Member">
  741.                 </li>
  742.             </ul>
  743.         </form>
  744.         <!-- Remove member from guild -->
  745.         <form action="" method="post">
  746.             <ul>
  747.                 <li>
  748.                     Kick member from guild:<br>
  749.                     <select name="remove_member">
  750.                     <?php
  751.                     //$gid = get_guild_id($_GET['name']);
  752.                     //$players = get_guild_players($gid);
  753.                     foreach ($players as $player) {
  754.                         if ($player['rank_level'] != 3) {
  755.                             if ($player['rank_level'] != 2) {
  756.                                 echo '<option value="'. $player['name'] .'">'. $player['name'] .'</option>';
  757.                             } else if ($highest_access == 3) echo '<option value="'. $player['name'] .'">'. $player['name'] .'</option>';
  758.                         }
  759.                     }
  760.                     ?>
  761.                     </select>
  762.                     <input type="submit" value="Remove member">
  763.                 </li>
  764.             </ul>
  765.         </form>
  766.         <?php } ?>
  767.         <br><br>
  768.         <?php if ($highest_access == 3) { ?>
  769.         <!-- forms to change rank titles -->
  770.         <form action="" method="post">
  771.             <ul>
  772.                 <li><b>Change rank titles:</b><br>
  773.                     <?php
  774.                         $rank_count = 1;
  775.                         foreach ($ranks as $rank) {
  776.                             echo '<input type="text" name="rank_name!'. $rank['level'] .'" value="'. $rank['name'] .'">';
  777.                         }
  778.                         echo '<input type="hidden" name="change_ranks" value="' . $gid . '" />';
  779.                     ?>
  780.                     <input type="submit" value="Update Ranks">
  781.                 </li>
  782.             </ul>
  783.         </form>
  784.         <!-- forms to disband guild -->
  785.         <form action="" method="post">
  786.             <ul>
  787.                 <li><b>DELETE GUILD (All members must be offline):</b><br>
  788.                     <?php echo '<input type="hidden" name="disband" value="' . $gid . '" />'; ?>
  789.                     <input type="submit" value="Disband Guild">
  790.                 </li>
  791.             </ul>
  792.         </form>
  793.         <!-- forms to change leadership-->
  794.         <?php if ($members > 1) { ?>
  795.         <form action="" method="post">
  796.             <ul>
  797.                 <li><b>Change Leadership with:</b><br>
  798.                     <select name="new_leader">
  799.                     <?php
  800.                     //$gid = get_guild_id($_GET['name']);
  801.                     //$players = get_guild_players($gid);
  802.                     foreach ($players as $player) {
  803.                         if ($player['rank_level'] != 3) {
  804.                             echo '<option value="'. $player['id'] .'">'. $player['name'] .'</option>';
  805.                         }
  806.                     }
  807.                     ?>
  808.                     </select>
  809.                     <input type="submit" value="Change Leadership">
  810.                 </li>
  811.             </ul>
  812.         </form>
  813.         <?php } ?>
  814.         <?php if ($config['TFSVersion'] == 'TFS_02' || $config['TFSVersion'] == 'TFS_10' && $config['guildwar_enabled'] === true) { ?>
  815.         <h2>Guild War Management:</h2>
  816.         <form action="" method="post">
  817.             <ul>
  818.                 <li>Invite guild to war:<br>
  819.                     <input type="text" name="warinvite" placeholder="Guild name">
  820.                     <input type="number" min="10" max="999" name="limit">
  821.                     <input type="submit" value="Invite Guild">
  822.                 </li>
  823.             </ul>
  824.         </form>
  825.         <style type="text/css">
  826.             form {display: inline;}
  827.             #btnspace{margin-left:100px;}
  828.         </style>
  829.         <table id="guildsTable" class="table table-striped table-hover"><tr class="yellow"><th>Aggressor</th><th>Information</th><th>Enemy</th></tr>
  830.         <?php
  831.         $i = 0;
  832.         $wars = mysql_select_multi("SELECT `guild1`, `guild2`, `name1`, `name2`, `started`, (SELECT `limit` FROM `znote_guild_wars` WHERE `znote_guild_wars`.`id` = `guild_wars`.`id`) AS `limit` FROM `guild_wars` WHERE (`guild1` = '$gid' OR `guild2` = '$gid') AND `status` = 0 ORDER BY `started` DESC");
  833.         if (!empty($wars) || $wars !== false) {
  834.             foreach($wars as $war) {
  835.                 $i++;
  836.                 echo '<tr><td><a href="guilds.php?name='.$war['name1'].'">'.$war['name1'].'</a></td><td>';
  837.                 echo '<center><b>Pending invitation</b><br />Invited on ' . getClock($war['started'], true) . '.<br />The frag limit is set to ' . $war['limit'] . ' frags.<br />';
  838.                 if ($war['guild1'] == $gid) {
  839.                     echo '<br /><form action="" method="post"><input type="hidden" name="cancel_war_invite" value="'.$war['guild2'].'" /><input type="submit" value="Cancel Invitation"></form>';
  840.                 } else if ($war['guild2'] == $gid) {
  841.                     echo '<br><form action="" method="post"><input type="hidden" name="accept_war_invite" value="'.$war['guild1'].'" /><input type="submit" value="Accept Invitation"></form>';
  842.                     echo '<form action="" method="post"><input type="hidden" name="reject_war_invite" value="'.$war['guild1'].'" /><input type="submit" ID="btnspace" value="Reject Invitation"></form>';
  843.                 }
  844.                 echo '</center></td><td><a href="guilds.php?name='.$war['name2'].'">'.$war['name2'].'</a></td></tr>';
  845.             }
  846.         }
  847.    
  848.             if ($i == 0)
  849.                 echo '<tr><td colspan="3"><center>Currently there are no pending invitations.</center></td></tr>';
  850.                 echo '</table>';
  851.         } } ?>
  852.         <?php
  853.     }
  854. }
  855. ?>
  856. <!-- end leader-->
  857. <?php
  858. if ($config['guildwar_enabled'] === true) {
  859.     if ($config['TFSVersion'] == 'TFS_02' || $config['TFSVersion'] == 'TFS_10') $wardata = get_guild_wars();
  860.     else if ($config['TFSVersion'] == 'TFS_03') $wardata = get_guild_wars03();
  861.     else die("Can't recognize TFS version. It has to be either TFS_02 or TFS_03. Correct this in config.php");
  862.     $war_exist = false;
  863.     if ($wardata !== false) {
  864.         foreach ($wardata as $wars) {
  865.             if ($wars['guild1'] == $gid || $wars['guild2'] == $gid) $war_exist = true;
  866.         }
  867.     }
  868.     if ($war_exist) {
  869.         ?>
  870.         <h2>War overview:</h2>
  871.         <table>
  872.             <tr class="yellow">
  873.                 <td>Attacker:</td>
  874.                 <td>Defender:</td>
  875.                 <td>status:</td>
  876.                 <td>started:</td>
  877.             </tr>
  878.                 <?php
  879.                 foreach ($wardata as $wars) {
  880.                     if ($wars['guild1'] == $gid || $wars['guild2'] == $gid) {
  881.                         echo '<tr class="special">';
  882.                         echo '<td>'. $wars['name1'] .'</td>';
  883.                         echo '<td>'. $wars['name2'] .'</td>';
  884.                         echo '<td><a href="guildwar.php?warid='. $wars['id'] . '">'. $config['war_status'][$wars['status']] .'</a></td>';
  885.                         echo '<td>'. getClock($wars['started'], true) .'</td>';
  886.                         echo '</tr>';
  887.                     }
  888.                 }
  889.                 ?>
  890.         </table>
  891.         <?php
  892.     }
  893. }
  894. ?>
  895. <!-- leave guild with character -->
  896. <?php
  897. $bool = false;
  898. if (user_logged_in() === true) {
  899.     for ($i = 0; $i < $char_count; $i++) {
  900.         foreach ($players as $player) {
  901.             if ($player['name'] == $characters[$i]) $bool = true;
  902.         }
  903.     }
  904.     if ($bool) {
  905. $forumExist = mysql_select_single("SELECT `id` FROM `znote_forum` WHERE `guild_id`='$gid' LIMIT 1;");
  906. if ($forumExist !== false) {
  907.     ?> - <font size="4"><a href="forum.php?cat=<?php echo $forumExist['id']; ?>">Visit Guild Board</a></font><br><br><br><?php
  908. }
  909. ?>
  910.  
  911. <form action="" method="post">
  912.     <ul>
  913.         <li>
  914.             Leave Guild:<br>
  915.             <select name="leave_guild">
  916.                 <option disabled>With...</option>
  917.             <?php
  918.             for ($i = 0; $i < $char_count; $i++) {
  919.                 foreach ($players as $player) {
  920.                     if ($player['name'] == $characters[$i]) {
  921.                         $data = get_player_guild_data($player['id']);
  922.                         if ($data['rank_level'] != 3) echo '<option value="'. $characters[$i] .'">'. $characters[$i] .'</option>';
  923.                         else echo '<option disabled>'. $characters[$i] .' [disabled:Leader]</option>';
  924.                     }
  925.                 }
  926.             }
  927.             ?>
  928.             </select>
  929.             <input type="submit" value="Leave Guild">
  930.         </li>
  931.     </ul>
  932. </form>
  933. <?php
  934. } // display form if user has a character in guild
  935. } // user logged in
  936. } // if warname as $_GET
  937. include 'layout/overall/footer.php'; ?>
Add Comment
Please, Sign In to add comment