From: <ko...@us...> - 2009-02-23 19:17:48
|
Revision: 3103 http://planeshift.svn.sourceforge.net/planeshift/?rev=3103&view=rev Author: kougaro Date: 2009-02-23 19:17:45 +0000 (Mon, 23 Feb 2009) Log Message: ----------- Fixed PS#2496, that was causing a server crash after guild removal from an alliance Modified Paths: -------------- trunk/src/server/guildmanager.cpp Modified: trunk/src/server/guildmanager.cpp =================================================================== --- trunk/src/server/guildmanager.cpp 2009-02-23 09:21:47 UTC (rev 3102) +++ trunk/src/server/guildmanager.cpp 2009-02-23 19:17:45 UTC (rev 3103) @@ -1174,6 +1174,11 @@ void GuildManager::EndGuild(psGuildInfo *guild,int clientnum) { + //if this guild is in an alliance, it must be removed from it + psGuildAlliance * alliance = CacheManager::GetSingleton().FindAlliance(guild->GetAllianceID()); + if(alliance) + alliance->RemoveMember(guild); + if (!guild->RemoveGuild() ) { psserver->SendSystemError(clientnum,db->GetLastError()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2009-06-20 10:30:54
|
Revision: 3851 http://planeshift.svn.sourceforge.net/planeshift/?rev=3851&view=rev Author: weltall2 Date: 2009-06-20 10:30:52 +0000 (Sat, 20 Jun 2009) Log Message: ----------- removed (null) from showing up in members notes Modified Paths: -------------- trunk/src/server/guildmanager.cpp Modified: trunk/src/server/guildmanager.cpp =================================================================== --- trunk/src/server/guildmanager.cpp 2009-06-19 22:10:39 UTC (rev 3850) +++ trunk/src/server/guildmanager.cpp 2009-06-20 10:30:52 UTC (rev 3851) @@ -922,7 +922,7 @@ open.AppendFmt("<m char_id=\"%i\" name=\"%s\" public=\"%s\" private=\"%s\" points=\"%i\" level=\"%i\"/>", member->char_id.Unbox(), EscpXML(member->name).GetData(), - EscpXML(member->public_notes).GetData(), escpxml_privatenotes.GetData(), + EscpXML(member->public_notes).GetDataSafe(), escpxml_privatenotes.GetDataSafe(), member->guild_points, member->guildlevel->level); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2009-07-20 09:54:18
|
Revision: 4083 http://planeshift.svn.sourceforge.net/planeshift/?rev=4083&view=rev Author: weltall2 Date: 2009-07-20 09:54:15 +0000 (Mon, 20 Jul 2009) Log Message: ----------- Added some additional alliance notifications Modified Paths: -------------- trunk/src/server/guildmanager.cpp Modified: trunk/src/server/guildmanager.cpp =================================================================== --- trunk/src/server/guildmanager.cpp 2009-07-20 05:42:03 UTC (rev 4082) +++ trunk/src/server/guildmanager.cpp 2009-07-20 09:54:15 UTC (rev 4083) @@ -2318,6 +2318,14 @@ alliance->AddNewMember(inviteeGuild); psserver->GetGuildManager()->SendAllianceNotifications(alliance); + + if(client->GetActor()) + { + text.Format("The guild %s has been added in the alliance!", guild->GetName() ); + psChatMessage guildmsg(client->GetClientNum(),0,"System",0,text,CHAT_ALLIANCE, false); + chatserver->SendGuild(client->GetName(), client->GetActor()->GetEID(), alliance, guildmsg); + } + } }; @@ -2401,7 +2409,16 @@ psGuildAlliance * alliance = CacheManager::GetSingleton().FindAlliance(guild->alliance); if (alliance != NULL) + { SendAllianceNotifications(alliance); + csString text; + if(client->GetActor()) + { + text.Format("The alliance %s has been created by %s!", msg.alliancename, guild->GetName() ); + psChatMessage guildmsg(client->GetClientNum(),0,"System",0,text,CHAT_ALLIANCE, false); + chatserver->SendGuild(client->GetName(), client->GetActor()->GetEID(), alliance, guildmsg); + } + } } void GuildManager::AllianceInvite(psGuildCmdMessage &msg, Client *client) @@ -2527,10 +2544,21 @@ if (alliance->RemoveMember(removedGuild)) psserver->SendSystemInfo(clientnum,"Guild \"%s\" was removed from alliance.", removedGuild->name.GetData()); else + { psserver->SendSystemInfo(clientnum,"Failed to remove guild from alliance: %s", psGuildAlliance::lastError.GetData()); + return; + } SendNoAllianceNotifications(removedGuild); SendAllianceNotifications(alliance); + + if(client->GetActor()) + { + text.Format("The guild %s is no longer in the alliance!", guild->GetName() ); + psChatMessage guildmsg(client->GetClientNum(),0,"System",0,text,CHAT_ALLIANCE, false); + chatserver->SendGuild(client->GetName(), client->GetActor()->GetEID(), alliance, guildmsg); + } + } void GuildManager::AllianceLeader(psGuildCmdMessage &msg, Client *client) @@ -2571,9 +2599,19 @@ if (alliance->SetLeader(newLeader)) psserver->SendSystemInfo(clientnum,"Alliance leadership was transfered to %s.", newLeader->name.GetData()); else + { psserver->SendSystemInfo(clientnum,"Failed to transfer alliance leadership: %s.", psGuildAlliance::lastError.GetData()); + return; + } SendAllianceNotifications(alliance); + + if(client->GetActor()) + { + text.Format("The alliance leader is now %s!", newLeader->GetName() ); + psChatMessage guildmsg(client->GetClientNum(),0,"System",0,text,CHAT_ALLIANCE, false); + chatserver->SendGuild(client->GetName(), client->GetActor()->GetEID(), alliance, guildmsg); + } } void GuildManager::EndAlliance(psGuildCmdMessage &msg, Client *client) @@ -2587,6 +2625,13 @@ return; SendNoAllianceNotifications(alliance); + + if(client->GetActor()) + { + text.Format("The alliance is being disbanded!", newLeader->GetName() ); + psChatMessage guildmsg(client->GetClientNum(),0,"System",0,text,CHAT_ALLIANCE, false); + chatserver->SendGuild(client->GetName(), client->GetActor()->GetEID(), alliance, guildmsg); + } if (CacheManager::GetSingleton().RemoveAlliance(alliance)) psserver->SendSystemInfo(clientnum,"Alliance was disbanded."); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2009-07-20 11:21:01
|
Revision: 4085 http://planeshift.svn.sourceforge.net/planeshift/?rev=4085&view=rev Author: weltall2 Date: 2009-07-20 11:21:01 +0000 (Mon, 20 Jul 2009) Log Message: ----------- Fixed compiling Modified Paths: -------------- trunk/src/server/guildmanager.cpp Modified: trunk/src/server/guildmanager.cpp =================================================================== --- trunk/src/server/guildmanager.cpp 2009-07-20 11:10:58 UTC (rev 4084) +++ trunk/src/server/guildmanager.cpp 2009-07-20 11:21:01 UTC (rev 4085) @@ -1098,7 +1098,7 @@ if (!guild->MeetsMinimumRequirements()) { - printf("Removing guild <%s> for failure to meet minimum requirements.\n",guild->GetName().GetDataSafe() ); + printf("Removing guild <%s> for failure to meet minimum requirements.\n",guild->GetName().GetDataSafe()); EndGuild(guild,0); } } @@ -2321,9 +2321,10 @@ if(client->GetActor()) { - text.Format("The guild %s has been added in the alliance!", guild->GetName() ); + csString text; + text.Format("The guild %s has been added in the alliance!", guild->GetName().GetDataSafe()); psChatMessage guildmsg(client->GetClientNum(),0,"System",0,text,CHAT_ALLIANCE, false); - chatserver->SendGuild(client->GetName(), client->GetActor()->GetEID(), alliance, guildmsg); + psserver->GetChatManager()->SendAlliance(client->GetName(), client->GetActor()->GetEID(), alliance, guildmsg); } } @@ -2411,12 +2412,13 @@ if (alliance != NULL) { SendAllianceNotifications(alliance); - csString text; + if(client->GetActor()) { - text.Format("The alliance %s has been created by %s!", msg.alliancename, guild->GetName() ); + csString text; + text.Format("The alliance %s has been created by %s!", msg.alliancename.GetDataSafe(), guild->GetName().GetDataSafe()); psChatMessage guildmsg(client->GetClientNum(),0,"System",0,text,CHAT_ALLIANCE, false); - chatserver->SendGuild(client->GetName(), client->GetActor()->GetEID(), alliance, guildmsg); + chatserver->SendAlliance(client->GetName(), client->GetActor()->GetEID(), alliance, guildmsg); } } } @@ -2554,9 +2556,10 @@ if(client->GetActor()) { - text.Format("The guild %s is no longer in the alliance!", guild->GetName() ); + csString text; + text.Format("The guild %s is no longer in the alliance!", guild->GetName().GetDataSafe()); psChatMessage guildmsg(client->GetClientNum(),0,"System",0,text,CHAT_ALLIANCE, false); - chatserver->SendGuild(client->GetName(), client->GetActor()->GetEID(), alliance, guildmsg); + chatserver->SendAlliance(client->GetName(), client->GetActor()->GetEID(), alliance, guildmsg); } } @@ -2608,9 +2611,10 @@ if(client->GetActor()) { - text.Format("The alliance leader is now %s!", newLeader->GetName() ); + csString text; + text.Format("The alliance leader is now %s!", newLeader->GetName().GetDataSafe()); psChatMessage guildmsg(client->GetClientNum(),0,"System",0,text,CHAT_ALLIANCE, false); - chatserver->SendGuild(client->GetName(), client->GetActor()->GetEID(), alliance, guildmsg); + chatserver->SendAlliance(client->GetName(), client->GetActor()->GetEID(), alliance, guildmsg); } } @@ -2628,9 +2632,9 @@ if(client->GetActor()) { - text.Format("The alliance is being disbanded!", newLeader->GetName() ); + csString text = "The alliance is being disbanded!"; psChatMessage guildmsg(client->GetClientNum(),0,"System",0,text,CHAT_ALLIANCE, false); - chatserver->SendGuild(client->GetName(), client->GetActor()->GetEID(), alliance, guildmsg); + chatserver->SendAlliance(client->GetName(), client->GetActor()->GetEID(), alliance, guildmsg); } if (CacheManager::GetSingleton().RemoveAlliance(alliance)) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2009-07-24 09:01:05
|
Revision: 4114 http://planeshift.svn.sourceforge.net/planeshift/?rev=4114&view=rev Author: weltall2 Date: 2009-07-24 09:00:55 +0000 (Fri, 24 Jul 2009) Log Message: ----------- private notes can be always be edited by the owner (even if without the permission). fix appending behaviour who says i can expect a new line at the end of the text? Modified Paths: -------------- trunk/src/server/guildmanager.cpp Modified: trunk/src/server/guildmanager.cpp =================================================================== --- trunk/src/server/guildmanager.cpp 2009-07-24 07:42:35 UTC (rev 4113) +++ trunk/src/server/guildmanager.cpp 2009-07-24 09:00:55 UTC (rev 4114) @@ -815,13 +815,18 @@ } else { - if ( !CheckClientRights(client, RIGHTS_EDIT_PRIVATE) ) + //allows to add private notes to others and to edit them for the member target of the + //notes (else he will get an infinitely filling entry which he can't clean when read) + if ( !CheckClientRights(client, RIGHTS_EDIT_PRIVATE) || client->GetPID() == char_id) { psserver->SendSystemError(client->GetClientNum(),"You do not have the rights to edit private notes."); return; } if (client->GetPID() != char_id)// if this is not my info - notes = member->private_notes + notes+ "\n";// append the notes to the end + { + if(member->private_notes.Length()) // append the notes to the end + notes = member->private_notes + (member->private_notes.Length() ? "\n" : "") + notes; + } } guild->SetMemberNotes(member, notes, isPublic); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2009-07-25 19:47:23
|
Revision: 4129 http://planeshift.svn.sourceforge.net/planeshift/?rev=4129&view=rev Author: weltall2 Date: 2009-07-25 19:47:16 +0000 (Sat, 25 Jul 2009) Log Message: ----------- logic error Modified Paths: -------------- trunk/src/server/guildmanager.cpp Modified: trunk/src/server/guildmanager.cpp =================================================================== --- trunk/src/server/guildmanager.cpp 2009-07-25 17:41:33 UTC (rev 4128) +++ trunk/src/server/guildmanager.cpp 2009-07-25 19:47:16 UTC (rev 4129) @@ -817,7 +817,7 @@ { //allows to add private notes to others and to edit them for the member target of the //notes (else he will get an infinitely filling entry which he can't clean when read) - if ( !CheckClientRights(client, RIGHTS_EDIT_PRIVATE) || client->GetPID() == char_id) + if ( !CheckClientRights(client, RIGHTS_EDIT_PRIVATE) && client->GetPID() != char_id) { psserver->SendSystemError(client->GetClientNum(),"You do not have the rights to edit private notes."); return; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Kha...@us...> - 2009-09-24 19:20:15
|
Revision: 4529 http://planeshift.svn.sourceforge.net/planeshift/?rev=4529&view=rev Author: Khakilord Date: 2009-09-24 19:19:58 +0000 (Thu, 24 Sep 2009) Log Message: ----------- Removed overzealous use of asterisks when a guild is automatically deleted Modified Paths: -------------- trunk/src/server/guildmanager.cpp Modified: trunk/src/server/guildmanager.cpp =================================================================== --- trunk/src/server/guildmanager.cpp 2009-09-24 19:04:47 UTC (rev 4528) +++ trunk/src/server/guildmanager.cpp 2009-09-24 19:19:58 UTC (rev 4529) @@ -1066,9 +1066,7 @@ if (!guild->MeetsMinimumRequirements()) { Warning4(LOG_ANY, - "***********************************************************\n" - "Guild %s has %zu members and will be deleted in %d minutes.\n" - "***********************************************************\n", + "Guild %s has %zu members and will be deleted in %d minutes.\n", guild->name.GetData(), guild->members.GetSize(), GUILD_KICK_GRACE); if (!notify) // If not auto-notifying the leader, find the leader if online This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-02-22 03:06:28
|
Revision: 5620 http://planeshift.svn.sourceforge.net/planeshift/?rev=5620&view=rev Author: weltall2 Date: 2010-02-22 03:06:21 +0000 (Mon, 22 Feb 2010) Log Message: ----------- fixed alliance notifications Modified Paths: -------------- trunk/src/server/guildmanager.cpp Modified: trunk/src/server/guildmanager.cpp =================================================================== --- trunk/src/server/guildmanager.cpp 2010-02-21 23:37:12 UTC (rev 5619) +++ trunk/src/server/guildmanager.cpp 2010-02-22 03:06:21 UTC (rev 5620) @@ -467,7 +467,7 @@ if (!topNode) return false; - csString allianceNotifications = topNode->GetAttributeValue("alliancednotifications"); + csString allianceNotifications = topNode->GetAttributeValue("alliancenotifications"); return (allianceNotifications == "yes"); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-06-01 05:27:56
|
Revision: 5952 http://planeshift.svn.sourceforge.net/planeshift/?rev=5952&view=rev Author: weltall2 Date: 2010-06-01 05:27:50 +0000 (Tue, 01 Jun 2010) Log Message: ----------- fixed crash Modified Paths: -------------- trunk/src/server/guildmanager.cpp Modified: trunk/src/server/guildmanager.cpp =================================================================== --- trunk/src/server/guildmanager.cpp 2010-05-31 19:08:47 UTC (rev 5951) +++ trunk/src/server/guildmanager.cpp 2010-06-01 05:27:50 UTC (rev 5952) @@ -1474,7 +1474,7 @@ Client * inviterClient = clients->Find(invite->inviterClientNum); EID inviterEID; - if (inviteeClient != NULL) + if (inviterClient != NULL) inviterEID = inviterClient->GetActor()->GetEID(); psGuildInfo * guild = psserver->GetCacheManager()->FindGuild(invite->guildID); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-07-12 20:14:44
|
Revision: 6034 http://planeshift.svn.sourceforge.net/planeshift/?rev=6034&view=rev Author: weltall2 Date: 2010-07-12 20:14:35 +0000 (Mon, 12 Jul 2010) Log Message: ----------- made a command actually make what it said Modified Paths: -------------- trunk/src/server/guildmanager.cpp Modified: trunk/src/server/guildmanager.cpp =================================================================== --- trunk/src/server/guildmanager.cpp 2010-07-10 23:57:15 UTC (rev 6033) +++ trunk/src/server/guildmanager.cpp 2010-07-12 20:14:35 UTC (rev 6034) @@ -1804,25 +1804,27 @@ csString permissionText = "Player " + msg.player + " has these permissions: "; if(target->HasRights(RIGHTS_VIEW_CHAT)) permissionText.Append("view_chat "); - if(target->HasRights(RIGHTS_VIEW_CHAT)) + if(target->HasRights(RIGHTS_CHAT)) permissionText.Append("chat "); - if(target->HasRights(RIGHTS_VIEW_CHAT)) + if(target->HasRights(RIGHTS_INVITE)) permissionText.Append("invite "); - if(target->HasRights(RIGHTS_VIEW_CHAT)) + if(target->HasRights(RIGHTS_REMOVE)) permissionText.Append("remove "); - if(target->HasRights(RIGHTS_VIEW_CHAT)) + if(target->HasRights(RIGHTS_PROMOTE)) permissionText.Append("promote "); - if(target->HasRights(RIGHTS_VIEW_CHAT)) + if(target->HasRights(RIGHTS_EDIT_LEVEL)) permissionText.Append("edit_level "); - if(target->HasRights(RIGHTS_VIEW_CHAT)) + if(target->HasRights(RIGHTS_EDIT_POINTS)) permissionText.Append("edit_points "); - if(target->HasRights(RIGHTS_VIEW_CHAT)) + if(target->HasRights(RIGHTS_EDIT_GUILD)) permissionText.Append("edit_public "); - if(target->HasRights(RIGHTS_VIEW_CHAT)) + if(target->HasRights(RIGHTS_EDIT_PRIVATE)) + permissionText.Append("edit_private "); + if(target->HasRights(RIGHTS_VIEW_CHAT_ALLIANCE)) permissionText.Append("alliance_view_chat "); - if(target->HasRights(RIGHTS_VIEW_CHAT)) + if(target->HasRights(RIGHTS_CHAT_ALLIANCE)) permissionText.Append("alliance_chat "); - if(target->HasRights(RIGHTS_VIEW_CHAT)) + if(target->HasRights(RIGHTS_USE_BANK)) permissionText.Append("guild_bank "); psserver->SendSystemInfo(clientnum,permissionText.Trim().GetDataSafe()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-07-13 05:03:16
|
Revision: 6035 http://planeshift.svn.sourceforge.net/planeshift/?rev=6035&view=rev Author: weltall2 Date: 2010-07-13 05:03:10 +0000 (Tue, 13 Jul 2010) Log Message: ----------- added missing check for permissions Modified Paths: -------------- trunk/src/server/guildmanager.cpp Modified: trunk/src/server/guildmanager.cpp =================================================================== --- trunk/src/server/guildmanager.cpp 2010-07-12 20:14:35 UTC (rev 6034) +++ trunk/src/server/guildmanager.cpp 2010-07-13 05:03:10 UTC (rev 6035) @@ -1817,6 +1817,8 @@ if(target->HasRights(RIGHTS_EDIT_POINTS)) permissionText.Append("edit_points "); if(target->HasRights(RIGHTS_EDIT_GUILD)) + permissionText.Append("edit_guild "); + if(target->HasRights(RIGHTS_EDIT_PUBLIC)) permissionText.Append("edit_public "); if(target->HasRights(RIGHTS_EDIT_PRIVATE)) permissionText.Append("edit_private "); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wel...@us...> - 2010-12-02 16:56:13
|
Revision: 6468 http://planeshift.svn.sourceforge.net/planeshift/?rev=6468&view=rev Author: weltall2 Date: 2010-12-02 16:56:06 +0000 (Thu, 02 Dec 2010) Log Message: ----------- fixed PS#720 - ban guild name command needed in some cases patch by mikesflowers Modified Paths: -------------- trunk/src/server/guildmanager.cpp Modified: trunk/src/server/guildmanager.cpp =================================================================== --- trunk/src/server/guildmanager.cpp 2010-12-02 11:19:42 UTC (rev 6467) +++ trunk/src/server/guildmanager.cpp 2010-12-02 16:56:06 UTC (rev 6468) @@ -56,6 +56,7 @@ #include "netmanager.h" #include "invitemanager.h" #include "globals.h" +#include "psserverchar.h" class PendingGuildInvite : public PendingInvite @@ -1164,6 +1165,12 @@ psserver->SendSystemError(clientnum,"Guild name contains invaild characters (A-Z,a-z and space is allowed)."); return; } + + if(psserver->GetCharManager()->IsBanned(msg.guildname)) + { + psserver->SendSystemError(clientnum, "The name %s is banned", msg.guildname.GetData()); + return; + } psCharacter *chardata=client->GetCharacterData(); if (chardata==NULL) @@ -1379,6 +1386,12 @@ return; } + if(psserver->GetCharManager()->IsBanned(msg.guildname)) + { + psserver->SendSystemError(clientnum, "The name %s is banned.", msg.guildname.GetData()); + return; + } + if (guild->SetName(msg.guildname)) { psserver->SendSystemInfo(clientnum,"Your guild name has been changed to: %s",msg.guildname.GetData()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |