From 9202c33aab83e78f1f3764c61e8fa6ba163653de Mon Sep 17 00:00:00 2001 From: peonso Date: Wed, 10 Sep 2014 16:31:25 -0300 Subject: [PATCH 1/4] Add guildnick - the one between parentheses Necessary changes at users.php and guilds.php to make possible to edit players guildnick (the one that appear between parentheses) --- engine/function/users.php | 35 +++++++++++++++++++++----- guilds.php | 53 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 81 insertions(+), 7 deletions(-) diff --git a/engine/function/users.php b/engine/function/users.php index 26f4408..7cfad3e 100644 --- a/engine/function/users.php +++ b/engine/function/users.php @@ -240,8 +240,9 @@ function shop_account_gender_tickets($accid) { // GUILDS // function guild_remove_member($cid) { - $cid = (int)$cid; - mysql_update("UPDATE `players` SET `rank_id`='0' WHERE `id`=$cid"); + $cid = (int)$cid; + mysql_update("UPDATE `players` SET `rank_id`='0' WHERE `id`=$cid"); + mysql_update("UPDATE `players` SET `guildnick`= NULL WHERE `id`=$cid"); } function guild_remove_member_10($cid) { $cid = (int)$cid; @@ -329,8 +330,9 @@ function guild_delete($gid) { // Player leave guild function guild_player_leave($cid) { - $cid = (int)$cid; - mysql_update("UPDATE `players` SET `rank_id`='0' WHERE `id`=$cid LIMIT 1;"); + $cid = (int)$cid; + mysql_update("UPDATE `players` SET `rank_id`='0' WHERE `id`=$cid LIMIT 1;"); + mysql_update("UPDATE `players` SET `guildnick`= NULL WHERE `id`=$cid"); } function guild_player_leave_10($cid) { $cid = (int)$cid; @@ -409,6 +411,27 @@ function update_player_guild_position_10($cid, $rid) { mysql_update("UPDATE `guild_membership` SET `rank_id`='$rid' WHERE `player_id`=$cid"); } +// Update player's guild nick +function update_player_guildnick($cid, $nick) { + $cid = (int)$cid; + $nick = sanitize($nick); + if (!empty($nick)) { + + mysql_update("UPDATE `players` SET `guildnick`='$nick' WHERE `id`=$cid"); + } else { + mysql_update("UPDATE `players` SET `guildnick`= NULL WHERE `id`=$cid"); + } +} +function update_player_guildnick_10($cid, $nick) { + $cid = (int)$cid; + $nick = sanitize($nick); + if (!empty($nick)) { + mysql_update("UPDATE `guild_membership` SET `nick`='$nick' WHERE `player_id`=$cid"); + } else { + mysql_update("UPDATE `guild_membership` SET `nick`= NULL WHERE `player_id`=$cid"); + } +} + // Get guild data, using guild id. function get_guild_rank_data($gid) { $gid = (int)$gid; @@ -505,8 +528,8 @@ function get_guilds_list() { // Get array of player data related to a guild. function get_guild_players($gid) { $gid = (int)$gid; // Sanitizing the parameter id - if (config('TFSVersion') !== 'TFS_10') return mysql_select_multi("SELECT p.rank_id, p.name, p.level, p.vocation, p.online, gr.name AS `rank_name` FROM players AS p LEFT JOIN guild_ranks AS gr ON gr.id = p.rank_id WHERE gr.guild_id ='$gid' ORDER BY gr.id, p.name;"); - else return mysql_select_multi("SELECT p.id, p.name, p.level, p.vocation, gm.rank_id, gr.name AS `rank_name` FROM players AS p LEFT JOIN guild_membership AS gm ON gm.player_id = p.id LEFT JOIN guild_ranks AS gr ON gr.id = gm.rank_id WHERE gm.guild_id = '$gid' ORDER BY gm.rank_id, p.name"); + if (config('TFSVersion') !== 'TFS_10') return mysql_select_multi("SELECT p.rank_id, p.name, p.level, p.guildnick, p.vocation, p.online, gr.name AS `rank_name` FROM players AS p LEFT JOIN guild_ranks AS gr ON gr.id = p.rank_id WHERE gr.guild_id ='$gid' ORDER BY gr.id, p.name;"); + else return mysql_select_multi("SELECT p.id, p.name, p.level, p.vocation, gm.rank_id, gm.nick AS `guildnick`, gr.name AS `rank_name` FROM players AS p LEFT JOIN guild_membership AS gm ON gm.player_id = p.id LEFT JOIN guild_ranks AS gr ON gr.id = gm.rank_id WHERE gm.guild_id = '$gid' ORDER BY gm.rank_id, p.name"); } // Returns total members in a guild (integer) diff --git a/guilds.php b/guilds.php index 5ae903d..4a96d50 100644 --- a/guilds.php +++ b/guilds.php @@ -212,7 +212,11 @@ if (user_logged_in() === true) { } else $chardata['online'] = (in_array($player['id'], $onlinelist)) ? 1 : 0; echo ''; echo ''. $player['rank_name'] .''; - echo ''. $player['name'] .''; + echo ''. $player['name'] .''; + if (!empty($player['guildnick'])) { + echo ' ('. $player['guildnick'] .')'; + } + echo ''; echo ''. $player['level'] .''; echo ''. $config['vocations'][$player['vocation']] .''; if ($chardata['online'] == 1) echo ' Online '; @@ -341,6 +345,26 @@ if (user_logged_in() === true) { if ($highest_access >= 2) { // Guild leader stuff + // Change Guild Nick + if (!empty($_POST['player_guildnick'])) { + $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['TFSVersion'] !== '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['TFSVersion'] !== '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 'Character not offline.'; + } + } else echo 'Character guild nick may only contain a-z, A-Z and spaces.'; + } + // Promote character to guild position if (!empty($_POST['promote_character']) && !empty($_POST['promote_position'])) { // Verify that promoted character is from this guild. @@ -617,6 +641,33 @@ if ($highest_access >= 2) { + +
+ +
+ 1) { ?>
From ce71cdd16d954c3f89663571690ecff97ccf21b7 Mon Sep 17 00:00:00 2001 From: peonso Date: Wed, 17 Sep 2014 17:14:33 -0300 Subject: [PATCH 2/4] Update users.php --- engine/function/users.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/engine/function/users.php b/engine/function/users.php index 7cfad3e..05d9f80 100644 --- a/engine/function/users.php +++ b/engine/function/users.php @@ -241,8 +241,7 @@ function shop_account_gender_tickets($accid) { // function guild_remove_member($cid) { $cid = (int)$cid; - mysql_update("UPDATE `players` SET `rank_id`='0' WHERE `id`=$cid"); - mysql_update("UPDATE `players` SET `guildnick`= NULL WHERE `id`=$cid"); + mysql_update("UPDATE `players` SET `rank_id`='0', `guildnick`= NULL WHERE `id`=$cid"); } function guild_remove_member_10($cid) { $cid = (int)$cid; @@ -1519,4 +1518,4 @@ function cancel_war_invitation($cid, $gid) { mysql_update("UPDATE `guild_wars` SET `status` = 3, `ended` = '$time' WHERE `guild2` = '$cid' AND `guild1` = '$gid';"); } -?> \ No newline at end of file +?> From 86819b9bfa7431be7029cd960ed2ddbbc0155026 Mon Sep 17 00:00:00 2001 From: peonso Date: Wed, 17 Sep 2014 17:15:00 -0300 Subject: [PATCH 3/4] Update users.php --- engine/function/users.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engine/function/users.php b/engine/function/users.php index 05d9f80..b378f35 100644 --- a/engine/function/users.php +++ b/engine/function/users.php @@ -240,8 +240,8 @@ function shop_account_gender_tickets($accid) { // GUILDS // function guild_remove_member($cid) { - $cid = (int)$cid; - mysql_update("UPDATE `players` SET `rank_id`='0', `guildnick`= NULL WHERE `id`=$cid"); + $cid = (int)$cid; + mysql_update("UPDATE `players` SET `rank_id`='0', `guildnick`= NULL WHERE `id`=$cid"); } function guild_remove_member_10($cid) { $cid = (int)$cid; From 656a5ca04b924f52e0950e25d394e95a013eca8d Mon Sep 17 00:00:00 2001 From: peonso Date: Wed, 17 Sep 2014 17:16:19 -0300 Subject: [PATCH 4/4] Update users.php --- engine/function/users.php | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/engine/function/users.php b/engine/function/users.php index b378f35..ac1571c 100644 --- a/engine/function/users.php +++ b/engine/function/users.php @@ -240,8 +240,8 @@ function shop_account_gender_tickets($accid) { // GUILDS // function guild_remove_member($cid) { - $cid = (int)$cid; - mysql_update("UPDATE `players` SET `rank_id`='0', `guildnick`= NULL WHERE `id`=$cid"); + $cid = (int)$cid; + mysql_update("UPDATE `players` SET `rank_id`='0', `guildnick`= NULL WHERE `id`=$cid"); } function guild_remove_member_10($cid) { $cid = (int)$cid; @@ -329,9 +329,8 @@ function guild_delete($gid) { // Player leave guild function guild_player_leave($cid) { - $cid = (int)$cid; - mysql_update("UPDATE `players` SET `rank_id`='0' WHERE `id`=$cid LIMIT 1;"); - mysql_update("UPDATE `players` SET `guildnick`= NULL WHERE `id`=$cid"); + $cid = (int)$cid; + mysql_update("UPDATE `players` SET `rank_id`='0', `guildnick`= NULL WHERE `id`=$cid LIMIT 1;"); } function guild_player_leave_10($cid) { $cid = (int)$cid;