get_db()->prepare(" SELECT id, name, name, level, experience, recruiting, members, leader, comment, notice FROM guild WHERE id = :id; "); $statement->bindValue(':id', $id, SQLITE3_TEXT); $q = $statement->execute(); $r = $q->fetchArray(SQLITE3_ASSOC); if ($r){ $this->id = $r["id"]; $this->name = HTML::e($r["name"]); $this->level = $r["level"]; $this->experience = $r["experience"]; $this->recruiting = $r["recruiting"]; $this->total_members = $r["members"]; $this->leader = $r["leader"]; $this->comment = HTML::e($r["comment"]); $this->notice = HTML::e($r["notice"]); } } private function load_members(){ $statement = get_context()->get_db()->prepare(" SELECT member, grade FROM guild_member WHERE guild = :guild ORDER BY grade = 1 DESC, --LEADER grade = 3 DESC, --VICELEADER grade = 2 DESC, -- REGULAR MEMBER arena_score DESC; "); $statement->bindValue(':guild', $this->id, SQLITE3_TEXT); $q = $statement->execute(); while ($r = $q->fetchArray(SQLITE3_ASSOC)){ $member = new Guild_Member($r["member"]); array_push($this->members, $member); if ($r["grade"] == 1){ $this->leader = $member; } } $this->total_members = count($this->members); $this->flag_members = true; } /** * Retrieves the guild identifier. * * @return int Guild ID. */ public function get_id(){ return $this->id; } /** * Retrieves the guild name. * * @return string Guild name. */ public function get_name(){ return $this->name; } /** * Retrieves the guild level. * * @return int Guild level. */ public function get_level(){ return $this->level; } /** * Retrieves the total experience earned by the guild. * * @return int Guild experience. */ public function get_experience(){ return $this->experience; } /** * Checks if the guild is recruiting. * * @return boolean True if recruiting, false if not. */ public function is_recruiting(){ return $this->recruiting; } /** * Retrieves the guild's public notice. * * @return string Public notice. */ public function get_comment(){ return $this->comment; } /** * Retrieves the guild's private notice. * * @return string Private notice. */ public function get_notice(){ return $this->notice; } /** * Retrieves the number of members in the guild. * * @return int Number of members. */ public function get_total_members(){ if (! $this->flag_members){ $this->load_members(); } return $this->total_members; } /** * Retrieves the leader member of the guild. * * @return Guild_Member Leader. */ public function get_leader(){ if (! $this->flag_members()){ $this->load_members; } return $this->leader; } /** * Retrieves a list of members$members * * @return Guild_Member[] Member list. */ public function get_members(){ if (! $this->flag_members){ $this->load_members(); } return $this->members; } } ?>