/** * Called at the end of the page request. Processes anylevel changes for the current user. */ public function resolveLevelChange() { if (!$this->enabled) { return; } $pointSumsIndexedByType = GamePoint::getSummationPointsDataByUserIndexedByLevelType(Yii::app()->user->userModel); $types = array(GameLevel::TYPE_SALES, GameLevel::TYPE_NEW_BUSINESS, GameLevel::TYPE_ACCOUNT_MANAGEMENT, GameLevel::TYPE_TIME_MANAGEMENT, GameLevel::TYPE_COMMUNICATION, GameLevel::TYPE_GENERAL); $gameLevelsByType = GameLevel::resolvePersonAndAvailableTypes(Yii::app()->user->userModel, $types); foreach ($gameLevelsByType as $type => $gameLevel) { static::resolveLevelChangeByType($type, $gameLevel, $pointSumsIndexedByType); } }