Example #1
0
File: game.php Project: sherdog/wnd
 public function gamedata($playerID = null, $return = false)
 {
     Validate::player($playerID);
     //we are going to pass all data's
     $array = array();
     //this is what we store the data in.
     $player = new PlayerModel();
     $level = new LevelModel();
     $playerLevel = new PlayerLevelModel($playerID);
     $store = new StoreModel();
     $abModel = new ABModel();
     $rankModel = new RankModel();
     $array['status'] = 'ok';
     $array['player'] = $player->getPlayerData(array($playerID, false));
     $array['featuretests'] = $abModel->getTests($playerID);
     $array['scores'] = $playerLevel->load($playerID);
     $array['stores'] = $store->getStores();
     $array['gifts'] = $player->getGifts($playerID);
     $array['liferequests'] = $player->getRequests($playerID);
     $array['levels'] = $level->getLevelData();
     $array['ranks'] = $rankModel->getRanks();
     $levelData = null;
     $tmpObject = null;
     if ($return) {
         return $array;
     } else {
         $this->printJson($array);
     }
 }
 /**
  * Returns a list of all ranks
  *
  * @return DataSet
  */
 public function Get()
 {
     if (empty(self::$_Ranks)) {
         self::$_Ranks = $this->SQL->Select()->From('Rank')->OrderBy('Sort')->Get()->Result();
     }
     return self::$_Ranks;
 }
Example #3
0
 /**
  * API:获取世界排行
  *
  * @access public
  * @param 无
  * @return JsonView 响应json
  */
 public function getWorldRank($user_id)
 {
     UserCache::deleteAllUserCache(Constants::WORLD_RANK);
     //$rankArr = UserCache::getAllUserCache( Constants::WORLD_RANK );
     $friendList = FriendAction::getFriend($user_id);
     if (!$rankArr) {
         //$worldRank = rankModel::selectlimit( $wheres = "",$limit = array( "page" => 1, "limit" => Constants::WORLD_RANKY_MAX_NUM ), $columns = array( "n_id", 'n_battle', 'n_max_checkpoint' ) );
         $worldRank = RankModel::getRank(Constants::WORLD_RANKY_MAX_NUM);
         foreach ($worldRank as $key => $value) {
             $result['max_checkpoint'] = $value['n_max_checkpoint'];
             $result['battle'] = $value['n_battle'];
             $result['n_id'] = $value['n_id'];
             $rankArr[$value['n_id']] = $result;
         }
         //echo "<pre>";var_dump($worldRank);exit;
         UserCache::setAllUserCache(Constants::WORLD_RANK, $rankArr);
     }
     // uasort($rankArr, function($a, $b) {
     //     $al = $a['max_checkpoint'];
     //     $bl = $b['max_checkpoint'];
     //     if ($al == $bl)
     //     {
     //         $al2 = $a['battle'];
     //         $bl2 = $b['battle'];
     //         return ($al2 > $bl2) ? -1 : 1;
     //     }
     //     return ($al > $bl) ? -1 : 1;
     // });
     $rankArr = array_slice($rankArr, 0, Constants::WORLD_RANKY_MAX_NUM);
     //echo "<pre>";
     foreach ($rankArr as $key => $value) {
         $now_id = $value['n_id'];
         $userInfo = UserCache::getAllUserCache($now_id);
         if (!$userInfo['n_id'] || !$userInfo['n_head'] || !$userInfo['s_name'] || !$userInfo['n_sex'] || !$userInfo['n_level'] || !$userInfo['n_max_checkpoint']) {
             $userInfo = UserAction::iniUserInfo($now_id);
         }
         //var_dump($userInfo);echo "<br />";
         $rankInfo['id'] = $userInfo['n_id'];
         $rankInfo['head'] = $userInfo['n_head'];
         $rankInfo['name'] = $userInfo['s_name'];
         $rankInfo['sex'] = $userInfo['n_sex'];
         $rankInfo['level'] = $userInfo['n_level'];
         $rankInfo['checkpoint'] = $userInfo['n_max_checkpoint'];
         $rankInfo['battle'] = $value['battle'];
         // 好友列表加入缓存后此处需要修改
         //$rankInfo['friend_type'] = FriendModel::isFriend( $user_id, $now_id );
         if ($friendList && in_array($now_id, $friendList)) {
             $rankInfo['friend_type'] = 1;
         } else {
             $rankInfo['friend_type'] = 0;
         }
         $worldRankInfo[$key + 1] = $rankInfo;
     }
     return $worldRankInfo;
 }
Example #4
0
 public function set_ranks($playerID)
 {
     $rankModel = new RankModel();
     $data = $rankModel->getRanks();
     $this->printJson($data);
 }
 /**
  * Pre-process content into a uniform format for output
  *
  * @param Array $content By reference
  */
 protected function processContent(&$content)
 {
     foreach ($content as &$item) {
         $contentType = val('RecordType', $item);
         $userID = val('InsertUserID', $item);
         $itemProperties = array();
         $itemFields = array('DiscussionID', 'DateInserted', 'DateUpdated', 'Body', 'Format', 'RecordType', 'Url', 'CategoryID', 'CategoryName', 'CategoryUrl');
         switch (strtolower($contentType)) {
             case 'comment':
                 $itemFields = array_merge($itemFields, array('CommentID'));
                 // Comment specific
                 $itemProperties['Name'] = sprintf(t('Re: %s'), valr('Discussion.Name', $item, val('Name', $item)));
                 $url = CommentUrl($item);
                 break;
             case 'discussion':
                 $itemFields = array_merge($itemFields, array('Name', 'Type'));
                 $url = DiscussionUrl($item);
                 break;
         }
         $item['Url'] = $url;
         if ($categoryId = val('CategoryID', $item)) {
             $category = CategoryModel::categories($categoryId);
             $item['CategoryName'] = val('Name', $category);
             $item['CategoryUrl'] = CategoryUrl($category);
         }
         $itemFields = array_fill_keys($itemFields, true);
         $filteredItem = array_intersect_key($item, $itemFields);
         $itemProperties = array_merge($itemProperties, $filteredItem);
         $item = $itemProperties;
         // Attach User
         $userFields = array('UserID', 'Name', 'Title', 'Location', 'PhotoUrl', 'RankName', 'Url', 'Roles', 'RoleNames');
         $user = Gdn::userModel()->getID($userID);
         $roleModel = new RoleModel();
         $roles = $roleModel->GetByUserID($userID)->resultArray();
         $roleNames = '';
         foreach ($roles as $role) {
             $roleNames[] = val('Name', $role);
         }
         // check
         $rankName = null;
         if (class_exists('RankModel')) {
             $rankName = val('Name', RankModel::Ranks(val('RankID', $user)), null);
         }
         $userProperties = array('Url' => url(userUrl($user), true), 'PhotoUrl' => UserPhotoUrl($user), 'RankName' => $rankName, 'RoleNames' => $roleNames, 'CssClass' => val('_CssClass', $user));
         $user = (array) $user;
         $userFields = array_fill_keys($userFields, true);
         $filteredUser = array_intersect_key($user, $userFields);
         $userProperties = array_merge($filteredUser, $userProperties);
         $item['Author'] = $userProperties;
     }
 }
Example #6
0
 private function getPlayerRank($currentLevel)
 {
     //get ranks
     $rankModel = new RankModel();
     $ranks = $rankModel->getRanks();
     $currentRank = "";
     for ($i = 0; $i < count($ranks); $i++) {
         if ((int) $currentLevel >= (int) $ranks[$i]["unlockLevel"]) {
             $currentRank = $i;
         }
     }
     return $currentRank;
 }