bool BaseGuildManager::GetEntireGuild(uint32 guild_id, std::vector<CharGuildInfo *> &members) { members.clear(); if(m_db == nullptr) return(false); char errbuf[MYSQL_ERRMSG_SIZE]; char *query = 0; MYSQL_RES *result; MYSQL_ROW row; //load up the rank info for each guild. if (!m_db->RunQuery(query, MakeAnyLenString(&query, GuildMemberBaseQuery " WHERE g.guild_id=%d", guild_id ), errbuf, &result)) { _log(GUILDS__ERROR, "Error loading guild member list '%s': %s", query, errbuf); safe_delete_array(query); return(false); } safe_delete_array(query); while ((row = mysql_fetch_row(result))) { CharGuildInfo *ci = new CharGuildInfo; ProcessGuildMember(row, *ci); members.push_back(ci); } mysql_free_result(result); _log(GUILDS__DB, "Retreived entire guild member list for guild %d from the database", guild_id); return(true); }
bool BaseGuildManager::GetCharInfo(uint32 char_id, CharGuildInfo &into) { if(m_db == nullptr) { Log(Logs::Detail, Logs::Guilds, "Requested char info on %d when we have no database object.", char_id); return false; } //load up the rank info for each guild. std::string query; #ifdef BOTS query = StringFormat(GuildMemberBaseQuery " WHERE c.id=%d AND c.mob_type = 'C'", char_id); #else query = StringFormat(GuildMemberBaseQuery " WHERE c.id=%d", char_id); #endif auto results = m_db->QueryDatabase(query); if (!results.Success()) { return false; } if (results.RowCount() == 0) return false; auto row = results.begin(); ProcessGuildMember(row, into); Log(Logs::Detail, Logs::Guilds, "Retreived guild member info for char %d", char_id); return true; }
bool BaseGuildManager::GetCharInfo(const char *char_name, CharGuildInfo &into) { if(m_db == nullptr) { Log(Logs::Detail, Logs::Guilds, "Requested char info on %s when we have no database object.", char_name); return(false); } //escape our strings. uint32 nl = strlen(char_name); auto esc = new char[nl * 2 + 1]; m_db->DoEscapeString(esc, char_name, nl); //load up the rank info for each guild. std::string query = StringFormat(GuildMemberBaseQuery " WHERE c.name='%s'", esc); safe_delete_array(esc); auto results = m_db->QueryDatabase(query); if (!results.Success()) { return false; } if (results.RowCount() == 0) return false; auto row = results.begin(); ProcessGuildMember(row, into); Log(Logs::Detail, Logs::Guilds, "Retreived guild member info for char %s from the database", char_name); return true; }
bool BaseGuildManager::GetCharInfo(uint32 char_id, CharGuildInfo &into) { if(m_db == nullptr) { _log(GUILDS__DB, "Requested char info on %d when we have no database object.", char_id); return false; } //load up the rank info for each guild. std::string query; query = StringFormat(GuildMemberBaseQuery " WHERE c.id=%d", char_id); auto results = m_db->QueryDatabase(query); if (!results.Success()) { _log(GUILDS__ERROR, "Error loading guild member '%s': %s", query.c_str(), results.ErrorMessage().c_str()); return false; } if (results.RowCount() == 0) return false; auto row = results.begin(); ProcessGuildMember(row, into); _log(GUILDS__DB, "Retreived guild member info for char %d", char_id); return true; }
bool BaseGuildManager::GetCharInfo(const char *char_name, CharGuildInfo &into) { if(m_db == nullptr) { _log(GUILDS__DB, "Requested char info on %s when we have no database object.", char_name); return(false); } char errbuf[MYSQL_ERRMSG_SIZE]; char *query = 0; MYSQL_RES *result; MYSQL_ROW row; //escape our strings. uint32 nl = strlen(char_name); char *esc = new char[nl*2+1]; m_db->DoEscapeString(esc, char_name, nl); //load up the rank info for each guild. if (!m_db->RunQuery(query, MakeAnyLenString(&query, GuildMemberBaseQuery " WHERE c.name='%s'", esc ), errbuf, &result)) { _log(GUILDS__ERROR, "Error loading guild member '%s': %s", query, errbuf); safe_delete_array(query); safe_delete_array(esc); return(false); } safe_delete_array(query); safe_delete_array(esc); bool ret = true; if ((row = mysql_fetch_row(result))) { ProcessGuildMember(row, into); _log(GUILDS__DB, "Retreived guild member info for char %s from the database", char_name); } else { ret = true; } mysql_free_result(result); return(ret); }
bool BaseGuildManager::GetEntireGuild(uint32 guild_id, std::vector<CharGuildInfo *> &members) { members.clear(); if(m_db == nullptr) return(false); //load up the rank info for each guild. std::string query = StringFormat(GuildMemberBaseQuery " WHERE g.guild_id=%d", guild_id); auto results = m_db->QueryDatabase(query); if (!results.Success()) { return false; } for (auto row = results.begin(); row != results.end(); ++row) { auto ci = new CharGuildInfo; ProcessGuildMember(row, *ci); members.push_back(ci); } Log(Logs::Detail, Logs::Guilds, "Retreived entire guild member list for guild %d from the database", guild_id); return true; }
bool BaseGuildManager::GetCharInfo(uint32 char_id, CharGuildInfo &into) { if(m_db == nullptr) { _log(GUILDS__DB, "Requested char info on %d when we have no database object.", char_id); return(false); } char errbuf[MYSQL_ERRMSG_SIZE]; char *query = 0; MYSQL_RES *result; MYSQL_ROW row; //load up the rank info for each guild. if (!m_db->RunQuery(query, MakeAnyLenString(&query, #ifdef BOTS GuildMemberBaseQuery " WHERE c.id=%d AND c.mobtype = 'C'", char_id #else GuildMemberBaseQuery " WHERE c.id=%d", char_id #endif ), errbuf, &result)) { _log(GUILDS__ERROR, "Error loading guild member '%s': %s", query, errbuf); safe_delete_array(query); return(false); } safe_delete_array(query); bool ret = true; if ((row = mysql_fetch_row(result))) { ProcessGuildMember(row, into); _log(GUILDS__DB, "Retreived guild member info for char %d", char_id); } else { ret = true; } mysql_free_result(result); return(ret); }
bool BaseGuildManager::GetEntireGuild(uint32 guild_id, std::vector<CharGuildInfo *> &members) { members.clear(); if(m_db == nullptr) return(false); //load up the rank info for each guild. std::string query = StringFormat(GuildMemberBaseQuery " WHERE g.guild_id=%d", guild_id); auto results = m_db->QueryDatabase(query); if (!results.Success()) { _log(GUILDS__ERROR, "Error loading guild member list '%s': %s", query.c_str(), results.ErrorMessage().c_str()); return false; } for (auto row = results.begin(); row != results.end(); ++row) { CharGuildInfo *ci = new CharGuildInfo; ProcessGuildMember(row, *ci); members.push_back(ci); } _log(GUILDS__DB, "Retreived entire guild member list for guild %d from the database", guild_id); return true; }