예제 #1
0
 public function completeMission($mission)
 {
     $completeParams = array();
     $completeParams['times_complete'] = 1;
     $this->times_complete++;
     $cityRank = ConnectionFactory::SelectValue("rank_avail", "users_cities", array("user_id" => $this->user_id, "city_id" => $mission->getCityID()));
     switch ($cityRank) {
         case 1:
             $completeParams['rank_one_times'] = 1;
             $this->rank_one_times++;
             break;
         case 2:
             $completeParams['rank_two_times'] = 1;
             $this->rank_two_times++;
             break;
         case 3:
             $completeParams['rank_three_times'] = 1;
             $this->rank_three_times++;
             break;
     }
     $currRank = $this->curr_rank;
     $userTimesFinishedRankForMission = $this->getRankTimes($currRank);
     /*
     		if ($cityRank == $currRank) {	//this is cause we need to incorporate changes above
     			$userTimesFinishedRankForMission++;		//that have not hit db yet
     		}
     */
     $missionRequirementToFinishRank = $mission->getRankReqTimes($currRank);
     $unlockedMissionRank = false;
     if ($userTimesFinishedRankForMission >= $missionRequirementToFinishRank) {
         if ($userTimesFinishedRankForMission == $missionRequirementToFinishRank) {
             if ($currRank <= 3) {
                 $_SESSION['justUnlockedThisMissionRank'] = $currRank + 1;
                 $_SESSION['justUnlockedRankMissionName'] = $mission->getName();
                 $unlockedMissionRank = true;
                 $completeParams['curr_rank'] = 1;
                 $this->curr_rank++;
             } else {
                 return;
             }
         }
     }
     $cityID = $mission->getCityID();
     $success = ConnectionFactory::updateTableRowRelativeBasic("users_missions", $completeParams, array("user_id" => $this->user_id, "mission_id" => $mission->getID()));
     if ($unlockedMissionRank && $this->allMissionsInCityReadyForNextLevel($currRank + 1, $cityID, $this->user_id)) {
         if (!ConnectionFactory::updateTableRowAbsoluteBasic("users_cities", array("rank_avail" => $currRank + 1), array("user_id" => $this->user_id, "city_id" => $cityID))) {
             redirect($GLOBALS['serverRoot'] . "/errorpage.html");
         }
         $_SESSION['justUnlockedThisCityRank'] = $currRank + 1;
         $_SESSION['justUnlockedRankMissionName'] = $mission->getName();
     }
 }
예제 #2
0
 public function setType($playerType)
 {
     ConnectionFactory::updateTableRowAbsoluteBasic("users", array('type' => $playerType), array('id' => $this->id));
     $this->type = $playerType;
 }
예제 #3
0
파일: User.php 프로젝트: ng2k12/MercInc
 public static function updateUserC2DMRegistrationToken($udid, $registrationToken)
 {
     $params = array();
     $conditions = array();
     $params['c2dm_token'] = $registrationToken;
     $conditions['udid'] = $udid;
     $success = ConnectionFactory::updateTableRowAbsoluteBasic("users", $params, $conditions);
     return $success;
 }