mirror of
https://github.com/EQEmu/Server.git
synced 2026-03-29 20:52:39 +00:00
Created private utility methods ClearAllGroups and ClearAllGroupLeaders
This commit is contained in:
parent
695e6f2026
commit
586e177f98
@ -1770,6 +1770,19 @@ void Database::SetGroupID(const char* name, uint32 id, uint32 charid, uint32 ism
|
|||||||
LogFile->write(EQEMuLog::Error, "Error adding character to group id: %s", results.ErrorMessage().c_str());
|
LogFile->write(EQEMuLog::Error, "Error adding character to group id: %s", results.ErrorMessage().c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Database::ClearAllGroups(void)
|
||||||
|
{
|
||||||
|
char *query = nullptr;
|
||||||
|
|
||||||
|
auto results = QueryDatabase(query, MakeAnyLenString(&query, "delete from group_id"));
|
||||||
|
safe_delete_array(query);
|
||||||
|
|
||||||
|
if (!results.Success())
|
||||||
|
std::cout << "Unable to clear groups: " << results.ErrorMessage() << std::endl;
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
void Database::ClearGroup(uint32 gid) {
|
void Database::ClearGroup(uint32 gid) {
|
||||||
ClearGroupLeader(gid);
|
ClearGroupLeader(gid);
|
||||||
char *query = nullptr;
|
char *query = nullptr;
|
||||||
@ -1777,17 +1790,11 @@ void Database::ClearGroup(uint32 gid) {
|
|||||||
if(gid == 0)
|
if(gid == 0)
|
||||||
{
|
{
|
||||||
//clear all groups
|
//clear all groups
|
||||||
auto results = QueryDatabase(query, MakeAnyLenString(&query, "delete from group_id"));
|
ClearAllGroups();
|
||||||
safe_delete_array(query);
|
|
||||||
|
|
||||||
if (!results.Success())
|
|
||||||
std::cout << "Unable to clear groups: " << results.ErrorMessage() << std::endl;
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
//clear a specific group
|
//clear a specific group
|
||||||
|
|
||||||
auto results = QueryDatabase(query, MakeAnyLenString(&query, "delete from group_id where groupid = %lu", (unsigned long)gid));
|
auto results = QueryDatabase(query, MakeAnyLenString(&query, "delete from group_id where groupid = %lu", (unsigned long)gid));
|
||||||
safe_delete_array(query);
|
safe_delete_array(query);
|
||||||
|
|
||||||
@ -1910,18 +1917,25 @@ char *Database::GetGroupLeadershipInfo(uint32 gid, char* leaderbuf, char* mainta
|
|||||||
return leaderbuf;
|
return leaderbuf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Clearing all group leaders
|
||||||
|
void Database::ClearAllGroupLeaders(void)
|
||||||
|
{
|
||||||
|
char *query = nullptr;
|
||||||
|
auto results = QueryDatabase(query, MakeAnyLenString(&query, "DELETE from group_leaders"));
|
||||||
|
safe_delete_array(query);
|
||||||
|
|
||||||
|
if (!results.Success())
|
||||||
|
std::cout << "Unable to clear group leaders: " << results.ErrorMessage() << std::endl;
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
void Database::ClearGroupLeader(uint32 gid) {
|
void Database::ClearGroupLeader(uint32 gid) {
|
||||||
char *query = nullptr;
|
char *query = nullptr;
|
||||||
|
|
||||||
if(gid == 0)
|
if(gid == 0)
|
||||||
{
|
{
|
||||||
//clear all group leaders
|
ClearAllGroupLeaders();
|
||||||
auto results = QueryDatabase(query, MakeAnyLenString(&query, "DELETE from group_leaders"));
|
|
||||||
safe_delete_array(query);
|
|
||||||
|
|
||||||
if (!results.Success())
|
|
||||||
std::cout << "Unable to clear group leaders: " << results.ErrorMessage() << std::endl;
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -207,6 +207,7 @@ public:
|
|||||||
char* GetGroupLeadershipInfo(uint32 gid, char* leaderbuf, char* maintank = nullptr, char* assist = nullptr, char* puller = nullptr, char *marknpc = nullptr,
|
char* GetGroupLeadershipInfo(uint32 gid, char* leaderbuf, char* maintank = nullptr, char* assist = nullptr, char* puller = nullptr, char *marknpc = nullptr,
|
||||||
GroupLeadershipAA_Struct* GLAA = nullptr);
|
GroupLeadershipAA_Struct* GLAA = nullptr);
|
||||||
void ClearGroupLeader(uint32 gid = 0);
|
void ClearGroupLeader(uint32 gid = 0);
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Raids
|
* Raids
|
||||||
@ -262,6 +263,13 @@ private:
|
|||||||
uint32 varcache_max;
|
uint32 varcache_max;
|
||||||
VarCache_Struct** varcache_array;
|
VarCache_Struct** varcache_array;
|
||||||
uint32 varcache_lastupdate;
|
uint32 varcache_lastupdate;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Groups, utility methods.
|
||||||
|
*/
|
||||||
|
void ClearAllGroupLeaders();
|
||||||
|
void ClearAllGroups();
|
||||||
};
|
};
|
||||||
|
|
||||||
bool FetchRowMap(MYSQL_RES *result, std::map<std::string,std::string> &rowmap);
|
bool FetchRowMap(MYSQL_RES *result, std::map<std::string,std::string> &rowmap);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user