hasExpired()) { $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; } function get_guild_position($rid) { $rid = (int)$rid; $data = mysql_select_single("SELECT `level` FROM `guild_ranks` WHERE `id`={$rid};"); return ($data !== false) ? $data['level'] : false; } // Check guild logo function logo_exists($guild) { $guild = sanitize($guild); echo (file_exists('engine/guildimg/'.$guild.'.gif')) ? 'engine/guildimg/'.$guild.'.gif' : 'engine/guildimg/default@logo.gif'; } // Remove cid invitation from guild (gid) function guild_remove_invitation($cid, $gid) { $cid = (int)$cid; $gid = (int)$gid; mysql_delete(" DELETE FROM `guild_invites` WHERE `player_id`='{$cid}' AND `guild_id`='{$gid}' ;"); } function update_player_guildnick_10($cid, $nick) { $cid = (int)$cid; $nick = sanitize($nick); mysql_update("UPDATE `guild_membership` SET `nick`='{$nick}' WHERE `player_id`={$cid}"); } function guild_player_join($cid, $gid) { $cid = (int)$cid; $gid = (int)$gid; // Find rank id for regular member in this guild $guildrank = mysql_select_single(" SELECT `id` FROM `guild_ranks` WHERE `guild_id`='{$gid}' AND `level`='1' LIMIT 1; "); if ($guildrank !== false) { $rid = $guildrank['id']; // Remove invite mysql_delete("DELETE FROM `guild_invites` WHERE `player_id`='{$cid}';"); // Add to guild mysql_insert(" INSERT INTO `guild_membership` (`player_id`, `guild_id`, `rank_id`, `nick`) VALUES ('{$cid}', '{$gid}', '{$rid}', '') ;"); // Return success return true; } return false; } function guild_player_leave_10($cid) { $cid = (int)$cid; mysql_delete("DELETE FROM `guild_membership` WHERE `player_id`='{$cid}' LIMIT 1;"); } function update_player_guild_position_10($cid, $rid) { $cid = (int)$cid; $rid = (int)$rid; mysql_update("UPDATE `guild_membership` SET `rank_id`='{$rid}' WHERE `player_id`={$cid}"); } function guild_invite_player($cid, $gid) { $cid = (int)$cid; $gid = (int)$gid; mysql_insert("INSERT INTO `guild_invites` (`player_id`, `guild_id`) VALUES ('{$cid}', '{$gid}')"); } function guild_remove_invites($gid) { $gid = (int)$gid; mysql_delete("DELETE FROM `guild_invites` WHERE `guild_id`='{$gid}';"); } function guild_delete($gid) { $gid = (int)$gid; mysql_delete("DELETE FROM `guilds` WHERE `id`='{$gid}';"); } // Get guild data, using guild id. function get_guild_rank_data($gid) { $gid = (int)$gid; return mysql_select_multi("SELECT `id`, `guild_id`, `name`, `level` FROM `guild_ranks` WHERE `guild_id`='{$gid}' ORDER BY `id` DESC LIMIT 0, 30"); } // Changes leadership of a guild to player_id function guild_new_leader($new_leader, $gid) { $new_leader = (int)$new_leader; $gid = (int)$gid; mysql_update("UPDATE `guilds` SET `ownerid`='{$new_leader}' WHERE `id`={$gid}"); } // Change guild leader (parameters: cid, new and old leader). function guild_change_leader($nCid, $oCid) { $nCid = (int)$nCid; $oCid = (int)$oCid; $gid = guild_leader_gid($oCid); $ranks = get_guild_rank_data($gid); $leader_rid = 0; $vice_rid = 0; // Get rank id for leader and vice leader. foreach ($ranks as $rank) { if ($rank['level'] == 3) $leader_rid = $rank['id']; if ($rank['level'] == 2) $vice_rid = $rank['id']; } $status = ($leader_rid > 0 && $vice_rid > 0) ? true : false; if ($status) { // Update players and set their new rank id mysql_update("UPDATE `guild_membership` SET `rank_id`='{$leader_rid}' WHERE `player_id`={$nCid} LIMIT 1;"); mysql_update("UPDATE `guild_membership` SET `rank_id`='{$vice_rid}' WHERE `player_id`={$oCid} LIMIT 1;"); // Update guilds set new ownerid guild_new_leader($nCid, $gid); } return $status; } // Creates a guild, where cid is the owner of the guild, and name is the name of guild. function create_guild($cid, $name) { $cid = (int)$cid; $name = trim(preg_replace('/\s\s+/', ' ', str_replace("\n", " ", sanitize($name)))); $time = time(); // Create the guild mysql_insert("INSERT INTO `guilds` (`name`, `ownerid`, `creationdata`, `motd`) VALUES ('{$name}', '{$cid}', '{$time}', '');"); // Get guild id $gid = get_guild_id($name); // Get rank id for guild leader $data = mysql_select_single("SELECT `id` FROM `guild_ranks` WHERE `guild_id`='{$gid}' AND `level`='3' LIMIT 1;"); $rid = ($data !== false) ? $data['id'] : false; // Give player rank id for leader of his guild mysql_insert("INSERT INTO `guild_membership` (`player_id`, `guild_id`, `rank_id`, `nick`) VALUES ('{$cid}', '{$gid}', '{$rid}', '');"); } // Returns total members in a guild (integer) function count_guild_members($gid) { $gid = (int)$gid; $data = mysql_select_single("SELECT COUNT('guild_id') AS `total` FROM `guild_membership` WHERE `guild_id`='{$gid}';"); return ($data !== false) ? $data['total'] : false; } // Guildwar functions function guild_war_invitation($cid, $gid) { $cid = (int)$cid; $gid = (int)$gid; $gname = get_guild_name($cid); $ename = get_guild_name($gid); $time = time(); mysql_insert(" INSERT INTO `guild_wars` (`guild1`, `guild2`, `name1`, `name2`, `status`, `started`, `ended`) VALUES ('{$cid}', '{$gid}', '{$gname}', '{$ename}', '0', '{$time}', '0') ;"); } function accept_war_invitation($cid, $gid) { $cid = (int)$cid; $gid = (int)$gid; mysql_update("UPDATE `guild_wars` SET `status` = 1 WHERE `guild1` = '{$cid}' AND `guild2` = '{$gid}' AND `status` = 0;"); } function reject_war_invitation($cid, $gid) { $cid = (int)$cid; $gid = (int)$gid; $time = time(); mysql_update("UPDATE `guild_wars` SET `status` = 2, `ended` = '{$time}' WHERE `guild1` = '{$cid}' AND `guild2` = '{$gid}';"); } function cancel_war_invitation($cid, $gid) { $cid = (int)$cid; $gid = (int)$gid; $time = time(); mysql_update("UPDATE `guild_wars` SET `status` = 3, `ended` = '{$time}' WHERE `guild2` = '{$cid}' AND `guild1` = '{$gid}';"); } 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; } // Display the guild list if (empty($_GET['name'])) { //data_dump($guild, false, "guild data"); $guilds = guild_list($config['ServerEngine']); if (isset($guilds) && !empty($guilds) && $guilds !== false) { //data_dump($guilds, false, "Guilds"); ?> = 1) { $url = url("guilds.php?name=". $guild['name']); ?> '. getClock($guild['creationdata'], true) .''; } } ?>
Logo Description Guild data
0) echo '
'.$guild['motd']; ?>


Guild list is empty.

';?> = $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 ?>
$highest_access) $highest_access = $access; } } } } } // Display the specific guild page ?>
".sanitize($_GET['error'])."

"; if ($config['use_guild_logos']): ?>

Guild:

'; echo ''; $rankName = $player['rank_name']; echo ''; echo ''; echo ''; if ($chardata['online'] == 1) echo ''; else echo ''; echo ''; } ?>
Rank: Name: Level: Vocation: Status:
' . ($rankName !== $player['rank_name'] ? $player['rank_name'] : '') . ''. $player['name'] .''; if (!empty($player['guildnick'])) { echo ' ('. $player['guildnick'] .')'; } echo ''. $player['level'] .''. $config['vocations'][$player['vocation']]['name'] .' Online Offline
0): ?>

Invited characters

Remove:'; } // 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 ''; } ?> '; echo ''; // Remove invitation if ($highest_access == 2 || $highest_access == 3) { ?> '; echo ''; echo ''; echo ''; ?> '; echo ''; echo ''; echo ''; $bool = true; } } if (isset($bool, $exist) && !$bool && $exist) { echo ''; $bool = false; } ?> '; echo ''; echo ''; echo ''; $bool = true; } } if (isset($bool, $exist) && !$bool && $exist) { echo ''; $bool = false; } ?> '; } ?>
Name: Join Guild:Reject Invitation:
'. $inv['name'] .'
Join guild request sent from wrong account.'; include 'layout/overall/footer.php'; exit(); } // Join a guild if ($inv_data !== false) foreach ($inv_data as $inv) { if ((int)$inv['player_id'] == $joining_player_id) { $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 'Failed to find guild position representing member.'; } else { $already_guild = get_player_guild_data($joining_player_id); $already_guild_name = get_guild_name($already_guild['guild_id']); echo "You are already {$already_guild['rank_name']} of another guild: {$already_guild_name}.
You need to leave that guild first before you can join another one.
"; } } else echo 'Character must be offline before joining guild.'; } } } // leave guild if (!empty($_POST['leave_guild'])) { $name = sanitize($_POST['leave_guild']); $cidd = user_character_id($name); $leave_account = (int)user_character_account_id($name); if ($leave_account !== $session_user_id) { echo 'Leave guild request sent from wrong account.'; include 'layout/overall/footer.php'; exit(); } // If character is offline $chardata['online'] = (user_is_online_10($cidd)) ? 1 : 0; if ($chardata['online'] == 0) { guild_player_leave_10($cidd); header('Location: guilds.php?name='. $_GET['name']); exit(); } else echo 'Character must be offline first!'; } // vice leader (and guild leader) actions if ($highest_access >= 2) { // Vice-leaders and leaders // 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) { $chardata['online'] = (user_is_online_10($p_cid)) ? 1 : 0; if ($chardata['online'] == 0) { update_player_guildnick_10($p_cid, $p_nick); header('Location: guilds.php?name='. $_GET['name']); exit(); } else echo 'Character not offline.'; } } else echo 'Character guild nick may only contain a-z, A-Z and spaces.'; } else echo 'Change guild nickname feature has been disabled.'; } // Invite character to guild if (!empty($_POST['invite'])) { if (user_character_exist($_POST['invite'])) { // Make sure they are not in another guild $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 'That character is already invited(or a member) on this guild.'; } else echo 'That character is already in a guild.'; } else echo 'That character name does not exist.'; } // 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(); } // Remove guild member if (!empty($_POST['remove_member'])) { $name = sanitize($_POST['remove_member']); $cid = user_character_id($name); $p_guild = get_player_guild_data($cid); if ($p_guild['guild_id'] == $gid) { guild_remove_member_10($cid); header('Location: guilds.php?name='. $_GET['name']); exit(); } } // Create forum guild board 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 '

Guild board has been created.

'; } else echo '

Guild board already exist.

'; } else { echo '

Error: Guild board system is disabled.

'; } } // Guildwar actions if ($config['guildwar_enabled'] === true) { // Invite another guild to war 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 'This guild has already been invited to war(or you\'re trying to invite your own).'; } else echo 'That guild name does not exist.'; } 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 board 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) { ?>

'; } } ?>
1): ?>


Character not offline.'; } } // Disband guild if (!empty($_POST['disband'])) { //$gidd = (int)$_POST['disband']; $members = get_guild_players($gid); $online = false; // First figure out if anyone are online. foreach ($members as $member) { $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. 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($gid); // Then remove the guild itself. guild_delete($gid); header('Location: success.php'); exit(); } else echo 'All members must be offline to disband the guild.'; } // Change guild leader if (!empty($_POST['new_leader'])) { $new_leader = (int)$_POST['new_leader']; $old_leader = guild_leader($gid); $online = false; $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 'Something went wrong when attempting to change leadership.'; } else echo 'The new and old leader must be offline to change leadership.'; } // Change guild ranks if (!empty($_POST['change_ranks'])) { //$c_gid = (int)$_POST['change_ranks']; $c_ranks = get_guild_rank_data($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']; } } // Change guild rank name. foreach ($rank_data as $level => $name) { $rid = (int)$rank_ids[$level]; $name = sanitize($name); mysql_update("UPDATE `guild_ranks` SET `name`='{$name}' WHERE `id`={$rid}"); } header('Location: guilds.php?name='. $_GET['name']); exit(); } ?>
1): ?>

Guild War Management:

"; $row .= ""; $row .= ''; $row .= ""; $row .= ''; echo $row; endforeach; } if ($i == 0) echo ''; ?>
Aggressor Information Enemy
{$war['name1']}
'; $row .= 'Pending invitation'; $row .= '
Invited on '. getClock($war['started'], true) .'.'; $row .= "
The frag limit is set to {$war['limit']} frags.
"; if ($war['guild1'] == $gid) { $row .= '
'; $row .= ""; $row .= ''; $row .= '
'; } else if ($war['guild2'] == $gid) { $row .= '
'; $row .= ""; $row .= ''; $row .= '
'; $row .= '
'; $row .= ""; $row .= ''; $row .= '
'; } $row .= '
{$war['name2']}
Currently there are no pending invitations.

War overview:

Attacker: Defender: status: started:
- Visit Guild Board