/** * Shows the alliance page of given id. * * @return Bengine_Game_Controller_Alliance */ protected function pageAction() { $select = array("u2a.userid", "u2a.joindate", "a.aid", "a.name", "a.tag", "a.textextern", "a.textintern", "a.founder", "a.foundername", "a.logo", "a.homepage", "a.showmember", "a.showhomepage", "count(aa.userid) as applications"); $join = "LEFT JOIN " . PREFIX . "alliance a ON (u2a.aid = a.aid)"; $join .= " LEFT JOIN " . PREFIX . "allyapplication aa ON (u2a.aid = aa.aid)"; $result = Core::getQuery()->select("user2ally u2a", $select, $join, Core::getDB()->quoteInto("u2a.aid = ?", $this->aid), "", "", "u2a.userid"); $totalmember = $result->rowCount(); $row = $result->fetchRow(); $result->closeCursor(); Hook::event("ShowAlliancePage", array(&$row)); if (Core::getUser()->get("aid") == $row["aid"] && $row["founder"] != Core::getUser()->get("userid")) { // Load rights $result = Core::getQuery()->select("allyrank ar", array("ar.name", "ar.CAN_SEE_MEMBERLIST", "ar.CAN_SEE_APPLICATIONS", "ar.CAN_MANAGE", "ar.CAN_WRITE_GLOBAL_MAILS"), "LEFT JOIN " . PREFIX . "user2ally u2a ON u2a.rank = ar.rankid", Core::getDB()->quoteInto("u2a.userid = ?", Core::getUser()->get("userid"))); $rights = $result->fetchRow(); $result->closeCursor(); Core::getTPL()->assign("rank", $rights["name"] != "" ? $rights["name"] : Core::getLanguage()->getItem("NEWBIE")); Core::getTPL()->assign("CAN_SEE_MEMBERLIST", $rights["CAN_SEE_MEMBERLIST"]); Core::getTPL()->assign("CAN_SEE_APPLICATIONS", $rights["CAN_SEE_APPLICATIONS"]); Core::getTPL()->assign("CAN_MANAGE", $rights["CAN_MANAGE"]); Core::getTPL()->assign("CAN_WRITE_GLOBAL_MAILS", $rights["CAN_WRITE_GLOBAL_MAILS"]); if ($rights["CAN_MANAGE"]) { $manage = "(" . Link::get("game/" . SID . "/Alliance/Manage", Core::getLanguage()->getItem("MANAGEMENT")) . ")"; } else { $manage = ""; } } else { if ($row["founder"] == Core::getUser()->get("userid")) { Core::getTPL()->assign("rank", $row["foundername"] != "" ? $row["foundername"] : Core::getLanguage()->getItem("FOUNDER")); $manage = "(" . Link::get("game/" . SID . "/Alliance/Manage", Core::getLanguage()->getItem("MANAGEMENT")) . ")"; } else { $where = Core::getDB()->quoteInto("userid = ? AND aid = ?", array(Core::getUser()->get("userid"), $row["aid"])); $result = Core::getQuery()->select("allyapplication", "userid", "", $where); Core::getTPL()->assign("appInProgress", $result->rowCount()); $result->closeCursor(); $manage = ""; } } $parser = new Bengine_Game_Alliance_Page_Parser($this->aid); $row["textextern"] = strip_tags($row["textextern"]) != "" ? $parser->startParser($row["textextern"]) : Core::getLanguage()->getItem("WELCOME"); $row["textintern"] = strip_tags($row["textintern"]) != "" ? $parser->startParser($row["textintern"]) : ""; $parser->kill(); Core::getTPL()->assign("appnumber", $row["applications"]); Core::getTPL()->assign("applications", Link::get("game/" . SID . "/Alliance/ShowCandidates", sprintf(Core::getLanguage()->getItem("CANDIDATES"), fNumber($row["applications"])))); Core::getTPL()->assign("founder", $row["founder"]); Core::getTPL()->assign("manage", $manage); Core::getTPL()->assign("tag", $row["tag"]); Core::getTPL()->assign("name", $row["name"]); Core::getTPL()->assign("aid", $row["aid"]); Core::getTPL()->assign("logo", $row["logo"] != "" ? Image::getImage($row["logo"], "") : ""); Core::getTPL()->assign("textextern", $row["textextern"]); Core::getTPL()->assign("homepage", $row["homepage"] != "" ? Link::get($row["homepage"], $row["homepage"]) : ""); Core::getTPL()->assign("showHomepage", $row["showhomepage"]); Core::getTPL()->assign("textintern", $row["textintern"]); Core::getTPL()->assign("memberNumber", fNumber($totalmember)); Core::getTPL()->assign("memberList", Link::get("game/" . SID . "/Alliance/Memberlist/" . $row["aid"], Core::getLanguage()->getItem("MEMBER_LIST"))); Core::getTPL()->assign("showMember", $row["showmember"]); return $this; }