<?php require_once 'engine/init.php';
if ($config['require_login']['guilds']) protect_page();
$isOtx = ($config['CustomVersion'] == 'OTX') ? true : false;

function guild_list($TFSVersion) {
	$cache = new Cache('engine/cache/guildlist');
	if ($cache->hasExpired()) {
		if ($TFSVersion != 'TFS_10')
			if ($TFSVersion === 'OTHIRE')
				$guilds = mysql_select_multi("SELECT `t`.`id`, `t`.`name`, `t`.`creationdate`, (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`;");
			else
				$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`;");
		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`;");

		// Add level data info to guilds
		if ($guilds !== false)
			for ($i = 0; $i < count($guilds); $i++)
				$guilds[$i]['level'] = get_guild_level_data($guilds[$i]['id']);

		$cache->setContent($guilds);
		$cache->save();
	} else {
		$guilds = $cache->load();
	}
	return $guilds;
}

include 'layout/overall/header.php';

if (user_logged_in() === true) {

	// fetch data
	$char_count = user_character_list_count($session_user_id);
	$char_array = user_character_list($user_data['id']);
	$characters = array();
	$charactersId = array();
	$charactersRank = array();
	if ($char_array !== false) {
		foreach ($char_array as $value) {
			$characters[] = $value['name'];
			$charactersId[] = $value['id'];
			$charactersRank[] = $value['rank_id'];
		}
	}
} else {
	$char_count = 0;
}

if (empty($_GET['name'])) {
// Display the guild list

//data_dump($guild, false, "guild data");

$guilds = guild_list($config['ServerEngine']);

if (isset($guilds) && !empty($guilds) && $guilds !== false) {
	//data_dump($guilds, false, "Guilds");
?>
<table id="guildsTable" class="table table-striped table-hover">
	<tr class="yellow">
		<th>Logo</th>
		<th>Description</th>
		<th>Guild data</th>
		<!-- <th>Founded:</th> -->
	</tr>
		<?php
		foreach ($guilds as $guild) {
			if ($guild['total'] >= 1) {
				$url = url("guilds.php?name=". $guild['name']);
				?>
				<tr class="special" onclick="javascript:window.location.href='<?php echo $url; ?>'">
					<td style="width: 100px;">
						<img style="max-height: 100px; margin: auto; display: block;" src="<?php logo_exists($guild['name']); ?>">
					</td>
					<td>
						<b><?php echo $guild['name']; ?></b>
						<?php if (strlen($guild['motd']) > 0) echo '<br>'.$guild['motd']; ?>
					</td>
					<td>
						<?php echo "Total members: ".$guild['level']['players']; ?>
						<br><?php echo "Average level: ".$guild['level']['avg'].""; ?>
						<br><?php echo "Guild level: ".$guild['level']['total']; ?>
					</td>
				</tr>
				<?php
				//echo '<td>'. getClock($guild['creationdata'], true) .'</td>';
			}
		}
		?>
</table>
<?php } else echo '<p>Guild list is empty.</p>';?>
<!-- user stuff -->
<?php
if (user_logged_in() === true) {
	// post verifications
	// CREATE GUILD
	if (!empty($_POST['selected_char']) && !empty($_POST['guild_name'])) {
		if (user_character_account_id($_POST['selected_char']) === $session_user_id) {
			//code here
			$name = sanitize($_POST['selected_char']);
			$user_id = user_character_id($name);
			if ($config['ServerEngine'] !== 'TFS_10') $char_data = user_character_data($user_id, 'level', 'online');
			else {
				$char_data = user_character_data($user_id, 'level');
				$char_data['online'] = (user_is_online_10($user_id)) ? 1 : 0;
			}

			// If character level is high enough
			if ($char_data['level'] >= $config['create_guild_level']) {

				// If character is offline
				if ($char_data['online'] == 0) {

					// If character is premium
					if ($config['guild_require_premium'] == false || $user_data['premdays'] > 0) {

						if (get_character_guild_rank($user_id) < 1) {

							if (preg_match("/^[a-zA-Z_ ]+$/", $_POST['guild_name'])) {
							// Only allow normal symbols as guild name
								if (strlen($_POST['guild_name']) < 31) {

								$guildname = sanitize($_POST['guild_name']);

								$gid = get_guild_id($guildname);
								if ($gid === false) {
									create_guild($user_id, $guildname);
									// Re-cache the guild list
									$guilds = guild_list($config['ServerEngine']);
									header('Location: success.php');
									exit();
									} else echo 'A guild with that name already exist.';
								} else echo 'Guild name is to long. It can has to be 30 or less characters long.';
							} else echo 'Guild name may only contain a-z, A-Z and spaces.';
						} else echo 'You are already in a guild.';
					} else echo 'You need a premium account to create a guild.';
				} else echo 'Your character must be offline to create a guild.';
			} else echo $name .' is level '. $char_data['level'] .'. But you need level '. $config['create_guild_level'] .'+ to create your own guild!';
		}
	}
	// end
	?>


	<!-- FORMS TO CREATE GUILD-->
	<form action="" method="post">
		<ul>
			<li>
				Create Guild:<br>
				<select name="selected_char">
				<?php
				for ($i = 0; $i < $char_count; $i++) {
					echo '<option value="'. $characters[$i] .'">'. $characters[$i] .'</option>';
				}
				?>
				</select>
				<input type="text" name="guild_name">

				<input type="submit" value="Create Guild">
			</li>
		</ul>
	</form>

	<?php
} else echo 'You need to be logged in to create guilds.';
?>
<!-- end user-->

<?php
} else { // GUILD OVERVIEW
	$guild = get_guild_data($_GET['name']);
	$gid = (int)$guild['id'];
	if ($gid === false) {
		header('Location: guilds.php');
		exit();
	}
	$gcount = count_guild_members($gid);
	if ($gcount < 1) {
		header('Location: guilds.php');
		exit();
	}
	$inv_data = guild_invite_list($gid);
	$players = get_guild_players($gid);
	$inv_count = 0;

	// Calculate invite count
	if ($inv_data !== false) {
		foreach ($inv_data as $inv) {
			++$inv_count;
		}
	}

	// calculate visitor access
	$highest_access = 0;
	if (user_logged_in() === true) {
		// Get visitor access in this guild
		foreach ($players as $player) {
			$rid = $player['rank_id'];

			for ($i = 0; $i < $char_count; $i++) {

				$playerRank = $charactersRank[$i];

				if ($playerRank == $rid) {
					$access = get_guild_position($playerRank);
					if ($access == 2 || $access == 3) { //If player got access level vice leader or leader
						if ($access > $highest_access) $highest_access = $access;
					}
				}

			}
		}
	}
	// Display the specific guild page
?>

<div id="guildTitleDiv">
	<?php echo (isset($_GET['error'])) ? "<font size='5' color='red'>".sanitize($_GET['error'])."</font><br><br>" : ""; ?>
	<?php if ($config['use_guild_logos']): ?>
	<div id="guildImageDiv" style="float: left; margin-right: 10px;">
		<img style="max-width: 100px; max-height: 100px;" src="<?php logo_exists(sanitize($_GET['name'])); ?>">
	</div>
	<?php endif; ?>
	<div id="guildDescription">
		<h1>Guild: <?php echo sanitize($_GET['name']); ?></h1>
		<p><?php echo $guild['motd']; ?></p>
	</div>
</div>
<table id="guildViewTable" class="table table-striped">
	<tr class="yellow">
		<th>Rank:</th>
		<th>Name:</th>
		<th>Level:</th>
		<th>Vocation:</th>
		<th>Status:</th>
	</tr>
		<?php
		if ($config['ServerEngine'] == 'TFS_10') {
			$onlinelist = array();
			$gplayers = array();
			foreach ($players as $player) {
				$gplayers[] = $player['id'];
			}
			$gplayers = join(',',$gplayers);
			$onlinequery = mysql_select_multi("SELECT `player_id` FROM `players_online` WHERE `player_id` IN ($gplayers);");
			if ($onlinequery !== false) foreach ($onlinequery as $online) {
				$onlinelist[] = $online['player_id'];
			}
		}
		//data_dump($players, false, "Data");
		$rankName = '';
		foreach ($players as $player) {
			if ($config['ServerEngine'] !== 'TFS_10') {
				$chardata['online'] = $player['online'];
			} else $chardata['online'] = (in_array($player['id'], $onlinelist)) ? 1 : 0;
			echo '<tr>';
			echo '<td>' . ($rankName !== $player['rank_name'] ? $player['rank_name'] : '') . '</td>';
			$rankName = $player['rank_name'];
			echo '<td><a href="characterprofile.php?name='. $player['name'] .'">'. $player['name'] .'</a>';
			if (!empty($player['guildnick'])) {
				echo ' ('. $player['guildnick'] .')';
			}
			echo '</td>';
			echo '<td>'. $player['level'] .'</td>';
			echo '<td>'. $config['vocations'][$player['vocation']]['name'] .'</td>';
			if ($chardata['online'] == 1) echo '<td> <b><font color="green"> Online </font></b></td>';
			else echo '<td> Offline </td>';
			echo '</tr>';
		}
		?>
</table>

<?php if ($inv_count > 0) { ?>
<h3>Invited characters</h3>
<table>
	<tr class="yellow">
		<td>Name:</td>
		<?php
		if ($highest_access == 2 || $highest_access == 3) {
			echo '<td>Remove:</td>';
		}
		// Shuffle through visitor characters
		for ($i = 0; $i < $char_count; $i++) {
			$exist = false;
			// Shuffle through invited character, see if they match your character.
			if ($inv_data !== false) foreach ($inv_data as $inv) {
				if ($charactersId[$i] == $inv['player_id']) {
					$exist = true;
				}
			}
			if ($exist) echo '<td>Join Guild:</td><td>Reject Invitation:</td>';
		}
		?>
	</tr>
		<?php
		$bool = false;
		if ($inv_data !== false) foreach ($inv_data as $inv) {
			echo '<tr>';
			echo '<td>'. $inv['name'] .'</td>';
			// Remove invitation
			if ($highest_access == 2 || $highest_access == 3) {
			?> <form action="" method="post"> <?php
				echo '<td>';
				echo '<input type="hidden" name="uninvite" value="' . $inv['player_id'] . '" />';
				echo '<input type="submit" value="Remove Invitation">';
				echo '</td>';
			?> </form> <?php
			}
			// Join Guild
			?> <form action="" method="post"> <?php
				for ($i = 0; $i < $char_count; $i++) {
					if ($charactersId[$i] == $inv['player_id']) {
						echo '<td>';
						echo '<input type="hidden" name="joinguild" value="' . $inv['player_id'] . '" />';
						echo '<input type="submit" value="Join Guild">';
						echo '</td>';
						$bool = true;
					}
				}
				if (isset($bool, $exist) && !$bool && $exist) {
					echo '<td></td>';
					$bool = false;
				}
			?> </form> <?php
			// Reject invitation
			?> <form action="" method="post"> <?php
				for ($i = 0; $i < $char_count; $i++) {
					if ($charactersId[$i] == $inv['player_id']) {
						echo '<td>';
						echo '<input type="hidden" name="uninvite" value="' . $inv['player_id'] . '" />';
						echo '<input type="submit" value="Reject Invitation">';
						echo '</td>';
						$bool = true;
					}
				}
				if (isset($bool, $exist) && !$bool && $exist) {
					echo '<td></td>';
					$bool = false;
				}
			?> </form> <?php
			echo '</tr>';
		}
		?>
</table>
<?php } ?>
<!-- Leader stuff -->
<?php
// Only guild leaders
if (user_logged_in() === true) {

	// Uninvite and joinguild is also used for visitors who reject their invitation.
	if (!empty($_POST['uninvite'])) {
		//
		guild_remove_invitation($_POST['uninvite'], $gid);
		header('Location: guilds.php?name='. $_GET['name']);
		exit();
	}
	if (!empty($_POST['joinguild'])) {
		$joining_player_id = (int)$_POST['joinguild'];
		// Join a guild
		if ($inv_data !== false) foreach ($inv_data as $inv) {
			if ((int)$inv['player_id'] == $joining_player_id) {
				if ($config['ServerEngine'] !== 'TFS_10') $chardata = user_character_data($joining_player_id, 'online');
				else $chardata['online'] = (user_is_online_10($joining_player_id)) ? 1 : 0;
				if ($chardata['online'] == 0) {
					// Ensure player is not already a member of another guild
					if (get_character_guild_rank($joining_player_id) === false) {
						if (guild_player_join($joining_player_id, (int)$gid)) {
							header('Location: guilds.php?name='. $_GET['name']);
							exit();
						} else echo '<font color="red" size="4">Failed to find guild position representing member.</font>';
					} else {
						$already_guild = get_player_guild_data($joining_player_id);
						$already_guild_name = get_guild_name($already_guild['guild_id']);
						echo "<font color='red' size='4'>You are already <strong>{$already_guild['rank_name']}</strong> of another guild: <strong><a href='guilds.php?name={$already_guild_name}'>{$already_guild_name}</a></strong>.<br>You need to leave that guild first before you can join another one.</font>";
					}
				} else echo '<font color="red" size="4">Character must be offline before joining guild.</font>';
			}
		}
	}

	if (!empty($_POST['leave_guild'])) {
		$name = sanitize($_POST['leave_guild']);
		$cidd = user_character_id($name);
		// If character is offline
		if ($config['ServerEngine'] !== 'TFS_10') $chardata = user_character_data($cidd, 'online');
		else $chardata['online'] = (user_is_online_10($cidd)) ? 1 : 0;
		if ($chardata['online'] == 0) {
			if ($config['ServerEngine'] !== 'TFS_10') guild_player_leave($cidd);
			else guild_player_leave_10($cidd);
			header('Location: guilds.php?name='. $_GET['name']);
			exit();
		} else echo '<font color="red" size="4">Character must be offline first!</font>';
	}

if ($highest_access >= 2) {
	// Guild leader stuff

	// Change Guild Nick
	if (!empty($_POST['player_guildnick'])) {
		if ($config['guild_allow_nicknames']) {
			$p_cid = user_character_id($_POST['player_guildnick']);
			$p_guild = get_player_guild_data($p_cid);
			if (preg_match("/^[a-zA-Z_ ]+$/", $_POST['guildnick']) || empty($_POST['guildnick'])) {
				// Only allow normal symbols as guild nick
				$p_nick = sanitize($_POST['guildnick']);
				if ($p_guild['guild_id'] == $gid) {
					if ($config['ServerEngine'] !== 'TFS_10') $chardata = user_character_data($p_cid, 'online');
					else $chardata['online'] = (user_is_online_10($p_cid)) ? 1 : 0;
					if ($chardata['online'] == 0) {
						if ($config['ServerEngine'] !== 'TFS_10') update_player_guildnick($p_cid, $p_nick);
						else update_player_guildnick_10($p_cid, $p_nick);
						header('Location: guilds.php?name='. $_GET['name']);
						exit();
					} else echo '<font color="red" size="4">Character not offline.</font>';
				}
			} else echo '<font color="red" size="4">Character guild nick may only contain a-z, A-Z and spaces.</font>';
		} else echo '<font color="red" size="4">Change guild nickname feature has been disabled.</font>';
	}

	// Promote character to guild position
	if (!empty($_POST['promote_character']) && !empty($_POST['promote_position'])) {
		// Verify that promoted character is from this guild.
		$p_rid = $_POST['promote_position'];
		$p_cid = user_character_id($_POST['promote_character']);
		$p_guild = get_player_guild_data($p_cid);

		if ($p_guild['guild_id'] == $gid) {
			// Do the magic.
			if ($config['ServerEngine'] !== 'TFS_10') $chardata = user_character_data($p_cid, 'online');
			else $chardata['online'] = (user_is_online_10($p_cid)) ? 1 : 0;
			if ($chardata['online'] == 0) {
				if ($config['ServerEngine'] !== 'TFS_10') update_player_guild_position($p_cid, $p_rid);
				else update_player_guild_position_10($p_cid, $p_rid);
				header('Location: guilds.php?name='. $_GET['name']);
				exit();
			} else echo '<font color="red" size="4">Character not offline.</font>';

		}
	}
	if (!empty($_POST['invite'])) {
		if (user_character_exist($_POST['invite'])) {
			// Make sure they are not in another guild

			if ($config['ServerEngine'] != 'TFS_10') {
				$charname = sanitize($_POST['invite']);
				$playerdata = mysql_select_single("SELECT `id`, `rank_id` FROM `players` WHERE `name`='$charname' LIMIT 1;");
				$charid = $playerdata['id'];
				$membership = ($playerdata['rank_id'] > 0) ? true : false;
			} else {
				$charid = user_character_id($_POST['invite']);
				$membership = mysql_select_single("SELECT `rank_id` FROM `guild_membership` WHERE `player_id`='$charid' LIMIT 1;");
			}
			if (!$membership) {
				//
				$status = false;
				if ($inv_data !== false) {
					foreach ($inv_data as $inv) {
						if ($inv['player_id'] == user_character_id($_POST['invite'])) $status = true;
					}
				}
				foreach ($players as $player) {
					if ($player['name'] == $_POST['invite']) $status = true;
				}

				if ($status == false) {
					guild_invite_player($charid, $gid);
					header('Location: guilds.php?name='. $_GET['name']);
					exit();
				} else echo '<font color="red" size="4">That character is already invited(or a member) on this guild.</font>';
			} else echo '<font color="red" size="4">That character is already in a guild.</font>';

		} else echo '<font color="red" size="4">That character name does not exist.</font>';
	}
	// Guild Message (motd)
	if (!empty($_POST['motd'])) {
		$motd = sanitize($_POST['motd']);
		mysql_update("UPDATE `guilds` SET `motd`='$motd' WHERE `id`='$gid' LIMIT 1;");
		header('Location: guilds.php?name='. $_GET['name']);
		exit();
	}

	if (!empty($_POST['disband'])) {
		//
		$gidd = (int)$_POST['disband'];
		$members = get_guild_players($gidd);
		$online = false;

		// First figure out if anyone are online.
		foreach ($members as $member) {
			if ($config['ServerEngine'] !== 'TFS_10') $chardata = user_character_data(user_character_id($member['name']), 'online');
			else $chardata['online'] = (user_is_online_10(user_character_id($member['name']))) ? 1 : 0;
			if ($chardata['online'] == 1) {
				$online = true;
			}
		}

		if (!$online) {
			// Then remove guild rank from every player.
			if ($config['ServerEngine'] !== 'TFS_10') foreach ($members as $member) guild_player_leave(user_character_id($member['name']));
			else foreach ($members as $member) guild_player_leave_10(user_character_id($member['name']));

			// Remove all guild invitations to this guild
			if ($inv_count > 0) guild_remove_invites($gidd);

			// Then remove the guild itself.
			guild_delete($gidd);
			header('Location: success.php');
			exit();
		} else echo '<font color="red" size="4">All members must be offline to disband the guild.</font>';
	}

	if (!empty($_POST['new_leader'])) {
		$new_leader = (int)$_POST['new_leader'];
		$old_leader = guild_leader($gid);

		$online = false;
		if ($config['ServerEngine'] !== 'TFS_10') {
			$newData = user_character_data($new_leader, 'online');
			$oldData = user_character_data($old_leader, 'online');
		} else {
			$newData['online'] = (user_is_online_10($new_leader)) ? 1 : 0;
			$oldData['online'] = (user_is_online_10($old_leader)) ? 1 : 0;
		}
		if ($newData['online'] == 1 || $oldData['online'] == 1) $online = true;

		if ($online == false) {
			if (guild_change_leader($new_leader, $old_leader)) {
				header('Location: guilds.php?name='. $_GET['name']);
				exit();
			} else echo '<font color="red" size="4">Something went wrong when attempting to change leadership.</font>';
		} else echo '<font color="red" size="4">The new and old leader must be offline to change leadership.</font>';
	}

	if (!empty($_POST['change_ranks'])) {
		$c_gid = (int)$_POST['change_ranks'];
		$c_ranks = get_guild_rank_data($c_gid);
		$rank_data = array();
		$rank_ids = array();

		// Feed new rank data
		foreach ($c_ranks as $rank) {
			$tmp = 'rank_name!'. $rank['level'];
			if (!empty($_POST[$tmp])) {
				$rank_data[$rank['level']] = sanitize($_POST[$tmp]);
				$rank_ids[$rank['level']] = $rank['id'];
			}
		}

		foreach ($rank_data as $level => $name) {
			guild_change_rank($rank_ids[$level], $name);
		}

		header('Location: guilds.php?name='. $_GET['name']);
		exit();
	}

	if (!empty($_POST['remove_member'])) {
		$name = sanitize($_POST['remove_member']);
		$cid = user_character_id($name);

		if ($config['ServerEngine'] !== 'TFS_10') guild_remove_member($cid);
		else guild_remove_member_10($cid);
		header('Location: guilds.php?name='. $_GET['name']);
		exit();
	}

	if (!empty($_POST['forumGuildId'])) {
		if ($config['forum']['guildboard'] === true) {
			$forumExist = mysql_select_single("SELECT `id` FROM `znote_forum` WHERE `guild_id`='$gid' LIMIT 1;");
				if ($forumExist === false) {
					// Insert data
					mysql_insert("INSERT INTO `znote_forum` (`name`, `access`, `closed`, `hidden`, `guild_id`)
						VALUES ('Guild',
							'1',
							'0',
							'0',
							'$gid');");
					echo '<h1>Guild board has been created.</h1>';
				} else echo '<h1>Guild board already exist.</h1>';

		} else {
			echo '<h1>Error: Guild board system is disabled.</h1>';
		}
	}

	if ($config['ServerEngine'] == 'TFS_02' || $config['ServerEngine'] == 'OTHIRE' || $config['ServerEngine'] == 'TFS_10' && $config['guildwar_enabled'] === true) {
		if (!empty($_POST['warinvite'])) {
			$targetGuild = get_guild_id($_POST['warinvite']);
			if ($targetGuild) {
				$status = false;
				$war_invite = mysql_select_single("SELECT `id` FROM `guilds` WHERE `id` = '$gid';");
				if ($war_invite !== false) {
					foreach ($war_invite as $inv) {
						if ($inv['id'] == $targetGuild) $status = true;
					}
				}

				$check_guild = get_guild_name($gid);
				foreach ($check_guild as $guild) {
					if ($guild['name'] == $_POST['warinvite']) $status = true;
				}

				if ((int)$gid === (int)$targetGuild) $status = true;

				$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);");
				if ($status == false && $wars == false) {
					guild_war_invitation($gid, $targetGuild);
					$limit = (empty($_POST['limit'])) ? 100 : (int)$_POST['limit'];
					mysql_insert("INSERT INTO `znote_guild_wars` (`limit`) VALUES ('$limit');");
					header('Location: guilds.php?name='. $_GET['name']);
					exit();
				} else echo '<font color="red" size="4">This guild has already been invited to war(or you\'re trying to invite your own).</FONT>';
			} else echo '<font color="red" size="4">That guild name does not exist.</font>';
		}

		if (!empty($_POST['cancel_war_invite'])) {
			cancel_war_invitation($_POST['cancel_war_invite'], $gid);
			header('Location: guilds.php?name='. $_GET['name']);
			exit();
		}

		if (!empty($_POST['reject_war_invite'])) {
			reject_war_invitation($_POST['reject_war_invite'], $gid);
			header('Location: guilds.php?name='. $_GET['name']);
			exit();
		}

		if (!empty($_POST['accept_war_invite'])) {
			accept_war_invitation($_POST['accept_war_invite'], $gid);
			header('Location: guilds.php?name='. $_GET['name']);
			exit();
		}
	}

	$members = count_guild_members($gid);
	$ranks = get_guild_rank_data($gid);
	?>
		<!-- Form to create guild -->
		<?php
			if ($config['forum']['guildboard'] === true && $config['forum']['enabled'] === true) {
				$forumExist = mysql_select_single("SELECT `id` FROM `znote_forum` WHERE `guild_id`='$gid' LIMIT 1;");
				if ($forumExist === false) {
					?>
					<form action="" method="post">
						<ul>
							<li>Create forum guild board:<br>
							<input type="hidden" name="forumGuildId" value="<?php echo $gid; ?>">
							<input type="submit" value="Create Guild Board">
						</ul>
					</form>
					<?php
				}
			}

		if ($config['use_guild_logos']) {

		?>

			<!-- form to upload guild logo -->
			<form action="" method="post" enctype="multipart/form-data">
				<ul>
					<li>Upload guild logo [.gif images only, 100x100px size]:<br>
						<input type="file" name="file" id="file" accept="image/gif">
						<input type="submit" name="submit" value="Upload guild logo">
					</li>
				</ul>
			</form>

		<?php

			if (!empty($_FILES['file'])) {

				check_image($_FILES['file']);

				echo '<br><br>';
			}

		} ?>
		<!-- forms to invite character -->
		<form action="" method="post">
			<ul>
				<li>Invite Character to guild:<br>
					<input type="text" name="invite" placeholder="Character name">
					<input type="submit" value="Invite Character">
				</li>
			</ul>
		</form>
		<!-- Guild message of the day motd -->
		<form action="" method="post">
			<ul>
				<li>Change guild message:</li>
				<li>
					<textarea name="motd" placeholder="Guild Message" cols="50" rows="3"><?php echo $guild['motd']; ?></textarea><br>
					<input type="submit" value="Update guild message">
				</li>
			</ul>
		</form>
		<?php if ($config['guild_allow_nicknames']): ?>
		<!-- FORMS TO CHANGE GUILD NICK -->
			<form action="" method="post">
				<ul>
					<li>
						Change Guild Nick:<br>
						<select name="player_guildnick">
						<?php
						//$gid = get_guild_id($_GET['name']);
						//$players = get_guild_players($gid);

						foreach ($players as $player) {
							if ($player['rank_level'] != 3) {
								echo '<option value="'. $player['name'] .'">'. $player['name'] .'</option>';
							} else {
								if ($highest_access == 3) {
									echo '<option value="'. $player['name'] .'">'. $player['name'] .'</option>';
								}
							}
						}
						?>
						</select>
						<input type="text" name="guildnick" maxlength="15" placeholder="leave blank to erase">
						<input type="submit" value="Change Nick">
					</li>
				</ul>
			</form>
		<?php endif; ?>
		<!-- END FORMS TO CHANGE GUILD NICK -->
		<?php if ($members > 1) { ?>
		<!-- FORMS TO PROMOTE CHARACTER-->
		<form action="" method="post">
			<ul>
				<li>
					Promote Character:<br>
					<select name="promote_character">
					<?php
					//$gid = get_guild_id($_GET['name']);
					//$players = get_guild_players($gid);
					foreach ($players as $player) {
						if ($player['rank_level'] != 3) {
							echo '<option value="'. $player['name'] .'">'. $player['name'] .'</option>';
						}
					}
					?>
					</select>
					<select name="promote_position">
						<?php
						foreach ($ranks as $rank) {
							if ($rank['level'] != 3) {
								if ($rank['level'] != 2) {
									echo '<option value="'. $rank['id'] .'">'. $rank['name'] .'</option>';
								} else {
									if ($highest_access == 3) {
										echo '<option value="'. $rank['id'] .'">'. $rank['name'] .'</option>';
									}
								}
							}
						}
						?>
					</select>
					<input type="submit" value="Promote Member">
				</li>
			</ul>
		</form>
		<!-- Remove member from guild -->
		<form action="" method="post">
			<ul>
				<li>
					Kick member from guild:<br>
					<select name="remove_member">
					<?php
					//$gid = get_guild_id($_GET['name']);
					//$players = get_guild_players($gid);
					foreach ($players as $player) {
						if ($player['rank_level'] != 3) {
							if ($player['rank_level'] != 2) {
								echo '<option value="'. $player['name'] .'">'. $player['name'] .'</option>';
							} else if ($highest_access == 3) echo '<option value="'. $player['name'] .'">'. $player['name'] .'</option>';
						}
					}
					?>
					</select>
					<input type="submit" value="Remove member">
				</li>
			</ul>
		</form>
		<?php } ?>
		<br><br>
		<?php if ($highest_access == 3) { ?>
		<!-- forms to change rank titles -->
		<form action="" method="post">
			<ul>
				<li><b>Change rank titles:</b><br>
					<?php
						$rank_count = 1;
						foreach ($ranks as $rank) {
							echo '<input type="text" name="rank_name!'. $rank['level'] .'" value="'. $rank['name'] .'">';
						}
						echo '<input type="hidden" name="change_ranks" value="' . $gid . '" />';
					?>
					<input type="submit" value="Update Ranks">
				</li>
			</ul>
		</form>
		<!-- forms to disband guild -->
		<form action="" method="post">
			<ul>
				<li><b>DELETE GUILD (All members must be offline):</b><br>
					<?php echo '<input type="hidden" name="disband" value="' . $gid . '" />'; ?>
					<input type="submit" value="Disband Guild">
				</li>
			</ul>
		</form>
		<!-- forms to change leadership-->
		<?php if ($members > 1) { ?>
		<form action="" method="post">
			<ul>
				<li><b>Change Leadership with:</b><br>
					<select name="new_leader">
					<?php
					//$gid = get_guild_id($_GET['name']);
					//$players = get_guild_players($gid);
					foreach ($players as $player) {
						if ($player['rank_level'] != 3) {
							echo '<option value="'. $player['id'] .'">'. $player['name'] .'</option>';
						}
					}
					?>
					</select>
					<input type="submit" value="Change Leadership">
				</li>
			</ul>
		</form>
		<?php } ?>
		<?php if ($config['ServerEngine'] == 'TFS_02' || $config['ServerEngine'] == 'OTHIRE' || $config['ServerEngine'] == 'TFS_10' && $config['guildwar_enabled'] === true) { ?>
		<h2>Guild War Management:</h2>
		<form action="" method="post">
			<ul>
				<li>Invite guild to war:<br>
					<input type="text" name="warinvite" placeholder="Guild name">
					<input type="number" min="10" max="999" name="limit">
					<input type="submit" value="Invite Guild">
				</li>
			</ul>
		</form>
		<style type="text/css">
			form {display: inline;}
			#btnspace{margin-left:100px;}
		</style>
		<table id="guildsTable" class="table table-striped table-hover"><tr class="yellow"><th>Aggressor</th><th>Information</th><th>Enemy</th></tr>
		<?php
		$i = 0;
		$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");
		if (!empty($wars) || $wars !== false) {
			foreach($wars as $war) {
				$i++;
				echo '<tr><td><a href="guilds.php?name='.$war['name1'].'">'.$war['name1'].'</a></td><td>';
				echo '<center><b>Pending invitation</b><br />Invited on ' . getClock($war['started'], true) . '.<br />The frag limit is set to ' . $war['limit'] . ' frags.<br />';
				if ($war['guild1'] == $gid) {
					echo '<br /><form action="" method="post"><input type="hidden" name="cancel_war_invite" value="'.$war['guild2'].'" /><input type="submit" value="Cancel Invitation"></form>';
				} else if ($war['guild2'] == $gid) {
					echo '<br><form action="" method="post"><input type="hidden" name="accept_war_invite" value="'.$war['guild1'].'" /><input type="submit" value="Accept Invitation"></form>';
					echo '<form action="" method="post"><input type="hidden" name="reject_war_invite" value="'.$war['guild1'].'" /><input type="submit" ID="btnspace" value="Reject Invitation"></form>';
				}
				echo '</center></td><td><a href="guilds.php?name='.$war['name2'].'">'.$war['name2'].'</a></td></tr>';
			}
		}

			if ($i == 0)
				echo '<tr><td colspan="3"><center>Currently there are no pending invitations.</center></td></tr>';
				echo '</table>';
		} } ?>
		<?php
	}
}
?>
<!-- end leader-->
<?php
if ($config['guildwar_enabled'] === true) {
	if ($config['ServerEngine'] == 'TFS_02' || $config['ServerEngine'] == 'OTHIRE' || $config['ServerEngine'] == 'TFS_10') $wardata = get_guild_wars();
	else if ($config['ServerEngine'] == 'TFS_03') $wardata = get_guild_wars03();
	else die("Can't recognize TFS version. It has to be either TFS_02 or TFS_03. Correct this in config.php");
	$war_exist = false;
	if ($wardata !== false) {
		foreach ($wardata as $wars) {
			if ($wars['guild1'] == $gid || $wars['guild2'] == $gid) $war_exist = true;
		}
	}
	if ($war_exist) {
		?>
		<h2>War overview:</h2>
		<table>
			<tr class="yellow">
				<td>Attacker:</td>
				<td>Defender:</td>
				<td>status:</td>
				<td>started:</td>
			</tr>
				<?php
				foreach ($wardata as $wars) {
					if ($wars['guild1'] == $gid || $wars['guild2'] == $gid) {
						$url = url("guildwar.php?warid=". $wars['id']);
						echo '<tr class="special" onclick="javascript:window.location.href=\'' . $url . '\'">';
						echo '<td>'. $wars['name1'] .'</td>';
						echo '<td>'. $wars['name2'] .'</td>';
						echo '<td>'. $config['war_status'][$wars['status']] .'</td>';
						echo '<td>'. getClock($wars['started'], true) .'</td>';
						echo '</tr>';
					}
				}
				?>
		</table>
		<?php
	}
}
?>
<!-- leave guild with character -->
<?php
$bool = false;
if (user_logged_in() === true) {
	for ($i = 0; $i < $char_count; $i++) {
		foreach ($players as $player) {
			if ($player['name'] == $characters[$i]) $bool = true;
		}
	}
	if ($bool) {
$forumExist = mysql_select_single("SELECT `id` FROM `znote_forum` WHERE `guild_id`='$gid' LIMIT 1;");
if ($forumExist !== false) {
	?> - <font size="4"><a href="forum.php?cat=<?php echo $forumExist['id']; ?>">Visit Guild Board</a></font><br><br><br><?php
}
?>

<form action="" method="post">
	<ul>
		<li>
			Leave Guild:<br>
			<select name="leave_guild">
				<option disabled>With...</option>
			<?php
			for ($i = 0; $i < $char_count; $i++) {
				foreach ($players as $player) {
					if ($player['name'] == $characters[$i]) {
						$data = get_player_guild_data($player['id']);
						if ($data['rank_level'] != 3) echo '<option value="'. $characters[$i] .'">'. $characters[$i] .'</option>';
						else echo '<option disabled>'. $characters[$i] .' [disabled:Leader]</option>';
					}
				}
			}
			?>
			</select>
			<input type="submit" value="Leave Guild">
		</li>
	</ul>
</form>
<?php
} // display form if user has a character in guild
} // user logged in
} // if warname as $_GET
include 'layout/overall/footer.php'; ?>