/** * Alliance page action. * * @return Bengine_Comm_Controller_Alliance */ public function pageAction() { Core::getLanguage()->load("Alliance"); Core::getTPL()->clearHTMLHeaderFiles(); Core::getTPL()->addHTMLHeaderFile("game.css", "css"); Core::getTPL()->addHTMLHeaderFile("lib/jquery.js", "js"); $tag = $this->getParam("1"); $fNumber = array("member", "points", "rpoints", "fpoints", "dpoints"); $attr = array("a.aid", "a.name", "a.tag", "a.logo", "a.textextern", "a.homepage", "a.showhomepage", "COUNT(u2a.userid) AS member", "SUM(u.points) AS points", "SUM(u.rpoints) AS rpoints", "SUM(u.fpoints) AS fpoints", "SUM(u.dpoints) AS dpoints"); $joins = "LEFT JOIN " . PREFIX . "user2ally u2a ON (u2a.aid = a.aid) "; $joins .= "LEFT JOIN " . PREFIX . "user u ON (u2a.userid = u.userid) "; $result = Core::getQuery()->select("alliance a", $attr, $joins, Core::getDB()->quoteInto("tag = ?", $tag), "", 1, "a.aid"); $row = $result->fetchRow(); if ($row) { foreach ($fNumber as $field) { $row[$field] = fNumber($row[$field]); } $parser = new Bengine_Game_Alliance_Page_Parser($row["aid"]); if (Str::length(strip_tags($row["textextern"])) > 0) { $row["textextern"] = $parser->startParser($row["textextern"]); } else { $row["textextern"] = Core::getLang()->get("WELCOME"); } $row["homepage"] = $row["homepage"] != "" ? Link::get($row["homepage"], $row["homepage"], $row["homepage"]) : ""; $row["logo"] = $row["logo"] != "" ? Image::getImage($row["logo"], "") : ""; Hook::event("ShowPublicAlliancePage", array(&$row)); $this->assign($row); $this->setIsAjax(); } else { $this->setNoDisplay(true); } return $this; }
/** * 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; }