private static function LoadGuildMembers() { if (!self::IsCorrect()) { WoW_Log::WriteError('%s : guild was not found.', __METHOD__); return false; } $members = DB::Characters()->select("\n SELECT\n `guild_member`.`guid`,\n `guild_member`.`rank` AS `rankID`,\n `guild_rank`.`rname` AS `rankName`,\n `characters`.`name`,\n `characters`.`race` AS `raceID`,\n `characters`.`class` AS `classID`,\n `characters`.`gender` AS `genderID`,\n `characters`.`level`\n FROM `guild_member` AS `guild_member`\n JOIN `guild_rank` AS `guild_rank` ON `guild_rank`.`rid`=`guild_member`.`rank` AND `guild_rank`.`guildid`=%d\n JOIN `characters` AS `characters` ON `characters`.`guid`=`guild_member`.`guid`\n WHERE `guild_member`.`guildid`=%d\n ", self::GetGuildID(), self::GetGuildID()); if (!$members) { WoW_Log::WriteError('%s : unable to find any member of guild %s (GUILDID: %d). Guild is empty?', __METHOD__, self::GetGuildName(), self::GetGuildID()); return false; } $roster = array(); foreach ($members as $member) { $member['race_text'] = WoW_Locale::GetString('character_race_' . $member['raceID']); $member['class_text'] = WoW_Locale::GetString('character_class_' . $member['classID']); $member['url'] = sprintf('%s/wow/%s/character/%s/%s/', WoW::GetWoWPath(), WoW_Locale::GetLocale(), self::GetGuildRealmName(), $member['name']); $achievement_ids = DB::Characters()->select("SELECT `achievement` FROM `character_achievement` WHERE `guid` = %d", $member['guid']); if (is_array($achievement_ids)) { $ids = array(); foreach ($achievement_ids as $ach) { $ids[] = $ach['achievement']; } if (is_array($ids)) { $member['achievement_points'] = DB::WoW()->selectCell("SELECT SUM(`points`) FROM `DBPREFIX_achievement` WHERE `id` IN (%s)", $ids); } else { $member['achievement_points'] = 0; } } else { $member['achievement_points'] = 0; } $roster[] = $member; } self::$guild_roster = $roster; unset($roster); // Set faction self::$guild_factionID = WoW_Utils::GetFactionId(self::GetMemberInfo(0, 'raceID')); return true; }