当前位置: 首页>>代码示例>>PHP>>正文


PHP Game::getCollection方法代码示例

本文整理汇总了PHP中Game::getCollection方法的典型用法代码示例。如果您正苦于以下问题:PHP Game::getCollection方法的具体用法?PHP Game::getCollection怎么用?PHP Game::getCollection使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Game的用法示例。


在下文中一共展示了Game::getCollection方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: pageAction

 /**
  * Displays the profile page for an user.
  *
  * @param integer $user_id
  *
  * @return Bengine_Game_Controller_Profile
  */
 protected function pageAction($user_id)
 {
     $user = Game::getModel("game/user")->load($user_id);
     $profile = Game::getCollection("game/profile");
     $profile->addUserFilter($user_id)->addSortIndex()->addListFilter();
     $avatar = Game::getModel("game/profile")->loadByCode("AVATAR", $user_id);
     $about = Game::getModel("game/profile")->loadByCode("ABOUT_ME", $user_id);
     $this->assign("user", $user);
     $this->assign("aboutMe", $about->getData());
     $this->assign("avatar", $avatar->getData());
     $this->assign("username", $user->getUsername());
     $this->assign("points", $user->getFormattedPoints());
     $this->assign("status", $user->getStatusString());
     $this->assign("rank", $user->getFormattedRank());
     $this->assign("regdate", $user->getFormattedRegDate());
     $this->assign("pm", $user->getPmLink());
     $this->assign("moderate", $user->getModerateLink());
     $this->assign("addToBuddylist", $user->getFriendLink());
     $this->assign("pm", $user->getPmLink());
     $this->assign("allianceName", $user->getAid() ? $user->getAlliance()->getPageLink() : " ");
     Core::getTPL()->addLoop("profile", $profile);
     $this->assign("canEdit", Core::getUser()->get("userid") == $user_id || Core::getUser()->ifPermissions(array("CAN_EDIT_PROFILES")));
     $this->assign("editLink", Link::get("game/" . SID . "/Profile/Edit/" . $user_id, Core::getLang()->get("EDIT_PROFILE")));
     Core::getLang()->assign("profileUsername", $user->getUsername());
     return $this;
 }
开发者ID:enriquesomolinos,项目名称:Bengine,代码行数:33,代码来源:Profile.php

示例2: _match

 /**
  * @return bool
  */
 protected function _match()
 {
     /* @var Bengine_Game_Model_Collection_Friend $collection */
     $collection = Game::getCollection("game/friend");
     $collection->addUserFilter($this->getUser()->get("userid"))->addAcceptedFilter();
     return $collection->getCalculatedSize() >= $this->getValue();
 }
开发者ID:enriquesomolinos,项目名称:Bengine,代码行数:10,代码来源:Friends.php

示例3: _add

 /**
  * (non-PHPdoc)
  * @see app/code/Bengine/EventHandler/Handler/Bengine_Game_EventHandler_Handler_Abstract#_add($event, $data)
  */
 protected function _add(Bengine_Game_Model_Event $event, array $data)
 {
     $collection = Game::getCollection("game/event");
     $collection->addUserFilter($event->getUserid())->addPlanetFilter($event->getPlanetid())->addBaseTypeFilter($event->getMode);
     $_event = $collection->getFirstItem(new Object());
     if ($_event->getEventid()) {
         return false;
     }
     $this->removeResourceFromPlanet($data);
     return $this;
 }
开发者ID:enriquesomolinos,项目名称:Bengine,代码行数:15,代码来源:Build.php

示例4: sessionsAction

 /**
  * Shows all sessions for the user.
  *
  * @return Bengine_Game_Controller_Moderator
  */
 protected function sessionsAction()
 {
     /* @var Bengine_Game_Model_Collection_SessionLog $sessionLog */
     $sessionLog = Game::getCollection("game/sessionLog");
     $sessionLog->addTimeOrder();
     if ($ip = $this->getParam("ip")) {
         $sessionLog->addIpFilter($ip);
     } else {
         if ($id = $this->getParam("id")) {
             $sessionLog->addUserFilter($id);
         } else {
             $this->redirect("game/" . SID . "/Index");
         }
     }
     Core::getTPL()->addLoop("sessionLog", $sessionLog);
     return $this;
 }
开发者ID:enriquesomolinos,项目名称:Bengine,代码行数:22,代码来源:Moderator.php

示例5: indexAction

 /**
  * Index action.
  *
  * @return Bengine_Game_Controller_Index
  */
 protected function indexAction()
 {
     Core::getTPL()->addHTMLHeaderFile("lib/jquery.countdown.js", "js");
     Core::getTPL()->addHTMLHeaderFile("lib/jquery.news.js", "js");
     $this->buildingEvent = Game::getEH()->getCurPlanetBuildingEvent();
     // Messages
     $result = Core::getQuery()->select("message", "msgid", "", Core::getDB()->quoteInto("`receiver` = ? AND `read` = '0'", Core::getUser()->get("userid")));
     $msgs = $result->rowCount();
     $result->closeCursor();
     Core::getTPL()->assign("unreadmsg", $msgs);
     if ($msgs == 1) {
         Core::getTPL()->assign("newMessages", Link::get("game/" . SID . "/MSG", Core::getLanguage()->getItem("F_NEW_MESSAGE")));
     } else {
         if ($msgs > 1) {
             Core::getTPL()->assign("newMessages", Link::get("game/" . SID . "/MSG", sprintf(Core::getLanguage()->getItem("F_NEW_MESSAGES"), $msgs)));
         }
     }
     // Fleet events
     $fleetEvent = Game::getEH()->getFleetEvents();
     $fe = array();
     if ($fleetEvent) {
         foreach ($fleetEvent as $f) {
             $fe[$f["eventid"]] = $this->parseEvent($f);
             if (!is_array($fe[$f["eventid"]])) {
                 unset($fe[$f["eventid"]]);
             }
         }
         Hook::event("MainFleetEventsOutput", array(&$fe));
     }
     Core::getTPL()->addLoop("fleetEvents", $fe);
     Core::getTPL()->assign("serverTime", Date::timeToString(1, TIME, "", false));
     Core::getTPL()->assign("buildingEvent", $this->buildingEvent);
     Core::getTPL()->assign("occupiedFields", Game::getPlanet()->getFields(true));
     Core::getTPL()->assign("planetImage", Image::getImage("planets/" . Game::getPlanet()->getData("picture") . Core::getConfig()->get("PLANET_IMG_EXT"), Game::getPlanet()->getData("planetname"), "200px", "200px"));
     Core::getTPL()->assign("freeFields", Game::getPlanet()->getMaxFields());
     Core::getTPL()->assign("planetDiameter", fNumber(Game::getPlanet()->getData("diameter")));
     Core::getTPL()->assign("planetNameLink", Link::get("game/" . SID . "/Index/PlanetOptions", Game::getPlanet()->getData("planetname")));
     Core::getTPL()->assign("planetPosition", Game::getPlanet()->getCoords());
     Core::getTPL()->assign("planetTemp", Game::getPlanet()->getData("temperature"));
     Core::getTPL()->assign("points", Link::get("game/" . SID . "/Ranking", fNumber(floor(Core::getUser()->get("points")))));
     // Points
     $result = Core::getQuery()->select("user", "userid");
     Core::getLang()->assign("totalUsers", fNumber($result->rowCount()));
     $result->closeCursor();
     $where = Core::getDB()->quoteInto("(`username` < ? AND `points` >= {points}) OR `points` > {points}", array(Core::getUser()->get("username")));
     $where = str_replace("{points}", (double) Core::getUser()->get("points"), $where);
     $result = Core::getQuery()->select("user", array("COUNT(`userid`)+1 AS rank"), "", $where, "", 1);
     Core::getLang()->assign("rank", fNumber($result->fetchColumn()));
     $result->closeCursor();
     if (Game::getPlanet()->getData("moonid") > 0) {
         if (Game::getPlanet()->getData("ismoon")) {
             // Planet has moon
             $where = Core::getDB()->quoteInto("g.galaxy = ? AND g.system = ? AND g.position = ?", array(Game::getPlanet()->getData("moongala"), Game::getPlanet()->getData("moonsys"), Game::getPlanet()->getData("moonpos")));
             $result = Core::getQuery()->select("galaxy g", array("p.planetid", "p.planetname", "p.picture"), "LEFT JOIN " . PREFIX . "planet p ON (p.planetid = g.planetid)", $where);
         } else {
             // Planet of current moon
             $where = Core::getDB()->quoteInto("g.galaxy = ? AND g.system = ? AND g.position = ?", array(Game::getPlanet()->getData("galaxy"), Game::getPlanet()->getData("system"), Game::getPlanet()->getData("position")));
             $result = Core::getQuery()->select("galaxy g", array("p.planetid", "p.planetname", "p.picture"), "LEFT JOIN " . PREFIX . "planet p ON (p.planetid = g.moonid)", $where);
         }
         $row = $result->fetchRow();
         $result->closeCursor();
         Core::getTPL()->assign("moon", $row["planetname"]);
         $img = Image::getImage("planets/" . $row["picture"] . Core::getConfig()->get("PLANET_IMG_EXT"), $row["planetname"], 50, 50);
         Core::getTPL()->assign("moonImage", "<a title=\"" . $row["planetname"] . "\" class=\"goto pointer\" href=\"" . $row["planetid"] . "\">" . $img . "</a>");
     } else {
         Core::getTPL()->assign("moon", "");
         Core::getTPL()->assign("moonImage", "");
     }
     // Current events
     $research = Game::getEH()->getResearchEvent();
     Core::getTPL()->assign("research", $research);
     $shipyardMissions = Game::getEH()->getShipyardEvents();
     Core::getTemplate()->assign("shipyardMissions", $shipyardMissions);
     /* @var Bengine_Game_Model_Collection_News $news */
     $news = Game::getCollection("game/news");
     $news->addSortIndexOrder()->addEnabledFilter()->addLanguageFilter();
     Core::getTPL()->addLoop("news", $news);
     Hook::event("GameIndexAction");
     return $this;
 }
开发者ID:enriquesomolinos,项目名称:Bengine,代码行数:85,代码来源:Index.php

示例6: executeJump

 /**
  * Executes star gate jump and update shipyard informations.
  *
  * @param integer $moonid
  * @throws Recipe_Exception_Generic
  * @return Bengine_Game_Controller_Mission
  */
 protected function executeJump($moonid)
 {
     $this->noAction = true;
     $result = Core::getQuery()->select("temp_fleet", "data", "", Core::getDB()->quoteInto("planetid = ?", Core::getUser()->get("curplanet")));
     if ($temp = $result->fetchRow()) {
         $result->closeCursor();
         $temp = unserialize($temp["data"]);
         Hook::event("ExecuteStarGateJump", array(&$temp));
         if (!in_array($moonid, $temp["moons"])) {
             throw new Recipe_Exception_Generic("Unkown moon.");
         }
         foreach ($temp["ships"] as $key => $value) {
             $where = Core::getDB()->quoteInto("unitid = ? AND planetid = ?", array($key, Core::getUser()->get("curplanet")));
             $_result = Core::getQuery()->select("unit2shipyard", array("quantity"), "", $where);
             $availQty = $_result->fetchRow();
             $_result->closeCursor();
             if ($availQty < $value["quantity"]) {
                 throw new Recipe_Exception_Generic("Sorry, you have been attacked. Process stopped.");
             }
             Core::getDB()->query("UPDATE " . PREFIX . "unit2shipyard SET quantity = quantity - ? WHERE unitid = ? AND planetid = ?", array($value["quantity"], $key, Core::getUser()->get("curplanet")));
             /* @var Bengine_Game_Model_Collection_Fleet $shipyard */
             $shipyard = Game::getCollection("game/fleet");
             $shipyard->addPlanetFilter($moonid);
             $shipyard->addTypeFilter(3);
             $shipyard->getSelect()->where("u2s.unitid = ?", $key);
             if ($shipyard->count() > 0) {
                 Core::getDB()->query("UPDATE " . PREFIX . "unit2shipyard SET quantity = quantity + ? WHERE planetid = ? AND unitid = ?", array($value["quantity"], $moonid, $key));
             } else {
                 Core::getQuery()->insert("unit2shipyard", array("unitid" => $key, "planetid" => $moonid, "quantity" => $value["quantity"]));
             }
         }
         Core::getQuery()->delete("unit2shipyard", "quantity = ?", null, null, array(0));
         Core::getQuery()->insert("stargate_jump", array("planetid" => Core::getUser()->get("curplanet"), "time" => TIME, "data" => serialize($temp)));
         Core::getQuery()->delete("temp_fleet", "planetid = ?", null, null, array(Core::getUser()->get("curplanet")));
         Logger::addMessage("JUMP_SUCCESSFUL", "success");
     }
     return $this;
 }
开发者ID:enriquesomolinos,项目名称:Bengine,代码行数:45,代码来源:Mission.php

示例7: indexAction

 /**
  * Index action.
  *
  * @return Bengine_Game_Controller_MonitorPlanet
  */
 protected function indexAction()
 {
     $this->validate()->subtractHydrogen();
     Hook::event("StarSurveillanceStart", array($this->planetData));
     /* @var Bengine_Game_Model_Collection_Event $collection */
     $collection = Game::getCollection("game/event");
     $collection->addTimeFilter()->addPlanetFilter($this->planetid)->addBaseTypeFilter("fleet");
     Hook::event("StarSurveillanceEventsLoaded", array($collection));
     $events = array();
     /* @var Bengine_Game_Model_Event $row */
     foreach ($collection as $row) {
         // Mission is missle attack >> hide
         if ($row->getCode() == "game/missileAttack") {
             continue;
         }
         // Do not show mission on return fly from original planet
         if ($row->getCode() == "game/return" && $this->planetData->getPlanetid() == $row->getPlanetid() && $row->getDestination() != $row->getPlanetid()) {
             continue;
         }
         // Mission is recycling AND destination planet is the scanned planet >> hide
         if ($row->getCode() == "game/recycling" && $row->getDestination() == $this->planetData->getPlanetid() && $row->getDestination() != $row->getPlanetid()) {
             continue;
         }
         // Original mission is recycling AND original planet is the scanned planet >> hide
         if ($row->getOrgMode() == 9 && $row->getPlanetid() == $this->planetData->getPlanetid() && $row->getDestination() != $row->getPlanetid()) {
             continue;
         }
         // Hide return missions if destination is a moon (always)
         if ($row->getCode() == "game/return" && $row->getDestinationIsmoon()) {
             continue;
         }
         // Mission is position and on return >> hide
         if ($row->getOrgMode() == 6) {
             continue;
         }
         Hook::event("StarSurveillanceEventItem", array($row));
         Core::getLanguage()->assign("planet", $row->getPlanetname());
         Core::getLanguage()->assign("coords", $row->getPlanetCoords());
         Core::getLanguage()->assign("target", $row->getCode() != "game/recycling" ? $row->getDestinationPlanetname() : Core::getLanguage()->getItem("DEBRIS"));
         Core::getLanguage()->assign("targetcoords", $row->getDestinationCoords());
         Core::getLanguage()->assign("username", $row->getUsername());
         Core::getLanguage()->assign("mission", $row->getCode() == "return" ? $row->getOrgModeName() : $row->getModeName());
         Core::getLanguage()->assign("fleet", $row->getFleetString());
         if ($row->getCode() == "holding") {
             $message = Core::getLanguage()->getItem("FLEET_MESSAGE_HOLDING_2");
         } else {
             if ($row->getCode() == "return" && $row->getUserid() == $this->planetData->getUserid()) {
                 $message = Core::getLanguage()->getItem("STAR_SUR_MSG_RETURN");
             } else {
                 $message = Core::getLanguage()->getItem("STAR_SUR_MSG");
             }
         }
         $events[] = array("eventid" => $row->getEventid(), "class" => $row->getCssClass(), "time" => $row->getFormattedTimeLeft(), "time_r" => $row->getTimeLeft(), "message" => $message);
     }
     if (count($events) > 0) {
         Core::getLanguage()->load("info");
     }
     Core::getTPL()->addLoop("events", $events);
     Core::getTPL()->assign("num_rows", count($events));
     // Assignments
     Core::getLanguage()->assign("target", $this->planetData["planetname"]);
     Core::getLanguage()->assign("targetuser", $this->planetData["username"]);
     Core::getLanguage()->assign("targetcoords", "[" . $this->planetData["galaxy"] . ":" . $this->planetData["system"] . ":" . $this->planetData["position"] . "]");
     $this->setIsAjax();
     return $this;
 }
开发者ID:enriquesomolinos,项目名称:Bengine,代码行数:71,代码来源:MonitorPlanet.php

示例8: readFolderAction

 /**
  * Shows content of a message folder.
  *
  * @param integer $id	Folder id
  *
  * @return Bengine_Game_Controller_MSG
  */
 protected function readFolderAction($id)
 {
     if ($this->isPost()) {
         $this->deleteMessages($id, $this->getParam("deleteOption"), $this->getParam("msgid", array()));
     }
     $pagination = $this->getPagination($id);
     $pagination->render();
     $readMessages = array();
     /* @var Bengine_Game_Model_Collection_Message $messages */
     $messages = Game::getCollection("game/message");
     $messages->addTimeOrder()->addFolderJoin()->addReceiverFilter(Core::getUser()->get("userid"))->addFolderFilter($id)->setPagination($pagination);
     $folderObjCache = array();
     /* @var Bengine_Game_Model_Message $message */
     foreach ($messages as $message) {
         Hook::event("ReadMessageFirst", array($message));
         $folderCode = $message->get("folder_class");
         if (!isset($folderObjCache[$folderCode])) {
             $folderClass = explode("/", $folderCode);
             $folderClass = $folderClass[0] . "/messageFolder_" . $folderClass[1];
             $folderObj = Application::factory($folderClass);
             $folderObjCache[$folderCode] = $folderObj;
         } else {
             $folderObj = $folderObjCache[$folderCode];
         }
         $folderObj->formatMessage($message);
         if (!$message->get("read")) {
             $readMessages[] = (int) $message->get("msgid");
         }
         Hook::event("ReadMessageLast", array($message));
     }
     if (count($readMessages) > 0) {
         Core::getQuery()->update("message", array("read" => 1), "msgid = " . implode(" OR msgid = ", $readMessages));
     }
     Core::getTPL()->addLoop("messages", $messages);
     Core::getTPL()->assign("mode", $id);
     Core::getTPL()->assign("pagination", $pagination);
     return $this;
 }
开发者ID:enriquesomolinos,项目名称:Bengine,代码行数:45,代码来源:MSG.php

示例9: getEventCollectionTemplate

 /**
  * Returns an event collection default schema for the current user.
  *
  * @return Bengine_Game_Model_Collection_Event
  */
 public function getEventCollectionTemplate()
 {
     /* @var Bengine_Game_Model_Collection_Event $collection */
     $collection = Game::getCollection("game/event");
     $collection->addUserFilter(Core::getUser()->get("userid"))->addTimeOrder()->addTimeFilter()->addNoRaceConditionFilter();
     return $collection;
 }
开发者ID:enriquesomolinos,项目名称:Bengine,代码行数:12,代码来源:EventHandler.php

示例10: updateUserData


//.........这里部分代码省略.........
             $result->closeCursor();
             if (!checkEmail($email)) {
                 $email = Core::getUser()->get("email");
                 Logger::addMessage("EMAIL_INVALID");
             } else {
                 $successMsg = "EMAIL_CHANGED";
                 if (Core::getConfig()->get("EMAIL_ACTIVATION_CHANGED_EMAIL")) {
                     $activation = randString(8);
                     $url = BASE_URL . Core::getLang()->getOpt("langcode") . "/signup/activation/key:" . $activation;
                     Core::getLang()->assign("username", $username);
                     Core::getTemplate()->assign("activationUrl", $url);
                     $template = new Recipe_Email_Template("email_changed");
                     $mail = new Email($email, Core::getLanguage()->getItem("EMAIL_ACTIVATION"));
                     $template->send($mail);
                     $successMsg .= "_REVALIDATE";
                 }
                 Logger::addMessage($successMsg, "success");
             }
         } else {
             $result->closeCursor();
             Logger::addMessage("EMAIL_EXISTS");
             $email = Core::getUser()->get("email");
         }
     }
     // Check password
     $pwLength = Str::length($pw);
     if ($pwLength > 0) {
         if ($pwLength >= Core::getOptions()->get("MIN_PASSWORD_LENGTH") && $pwLength <= Core::getOptions()->get("MAX_PASSWORD_LENGTH")) {
             $successMsg = "PASSWORD_CHANGED";
             if ($activation == "" && Core::getConfig()->get("EMAIL_ACTIVATION_CHANGED_PASSWORD")) {
                 $activation = randString(8);
                 $url = BASE_URL . Core::getLang()->getOpt("langcode") . "/signup/activation/key:" . $activation;
                 Core::getLang()->assign("username", $username);
                 Core::getTemplate()->assign("activationUrl", $url);
                 Core::getTemplate()->assign("newPassword", $pw);
                 $template = new Recipe_Email_Template("password_changed");
                 $mail = new Email($email, Core::getLanguage()->getItem("PASSWORD_ACTIVATION"));
                 $template->send($mail);
                 $successMsg .= "_REVALIDATE";
             }
             $encryption = Core::getOptions("USE_PASSWORD_SALT") ? "md5_salt" : "md5";
             $pw = Str::encode($pw, $encryption);
             Core::getQuery()->update("password", array("password" => $pw, "time" => TIME), "userid = ?", array(Core::getUser()->get("userid")));
             Logger::addMessage($successMsg, "success");
         } else {
             Logger::addMessage("PASSWORD_INVALID");
         }
     }
     // Umode
     if ($umode == 1) {
         // Check if umode can be activated
         /* @var Bengine_Game_Model_Collection_Event $events */
         $events = Game::getCollection("game/event");
         $events->addVacationModeFilter(Core::getUser()->get("userid"));
         $eventCount = $events->getCalculatedSize();
         if ($eventCount > 0) {
             Logger::dieMessage("CANNOT_ACTIVATE_UMODE");
         }
         $umodemin = TIME + Core::getConfig()->get("MIN_VACATION_MODE");
         setProdOfUser(Core::getUser()->get("userid"), 0);
     } else {
         $umodemin = 0;
         $umode = 0;
     }
     // Deletition
     $delete = !$delete ? 0 : TIME + self::DELETE_PROTECTION_TIME;
     // Other prefs
     $ipcheck = (int) $ipcheck;
     if (!Core::getConfig()->get("USER_EDIT_IP_CHECK")) {
         $ipcheck = Core::getUser()->get("ipcheck");
     } else {
         if ($ipcheck > 0) {
             $ipcheck = 1;
         }
     }
     if ($esps > 99) {
         $esps = 99;
     } else {
         if ($esps <= 0) {
             $esps = 1;
         }
     }
     Hook::event("SaveUserDataLast", array(&$username, &$usertitle, &$email, &$templatepackage, &$theme, &$umode, &$umodemin, &$delete, $ipcheck, $esps, &$js_interface));
     // Save it
     $spec = array("username" => $username, "usertitle" => $usertitle, "email" => $email, "temp_email" => $email, "activation" => $activation, "languageid" => $language, "templatepackage" => $templatepackage, "theme" => $theme, "ipcheck" => $ipcheck, "umode" => $umode, "umodemin" => $umodemin, "delete" => $delete, "esps" => $esps, "js_interface" => $js_interface);
     // Feeds
     if ($generate_key) {
         $new_key = randString(16);
         $result = Core::getQuery()->select("feed_keys", array("feed_key"), "", Core::getDB()->quoteInto("user_id = ?", Core::getUser()->get("userid")));
         if ($result->rowCount() > 0) {
             // User has a feed key
             Core::getQuery()->update("feed_keys", array("feed_key" => $new_key), "user_id = ?", array(Core::getUser()->get("userid")));
         } else {
             Core::getQuery()->insert("feed_keys", array("user_id" => Core::getUser()->get("userid"), "feed_key" => $new_key));
         }
     }
     Core::getQuery()->update("user", $spec, "userid = ?", array(Core::getUser()->get("userid")));
     Core::getUser()->rebuild();
     return $this;
 }
开发者ID:enriquesomolinos,项目名称:Bengine,代码行数:101,代码来源:Preferences.php


注:本文中的Game::getCollection方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。