public static function team(Team $team)
 {
     $forJSON = array("level" => $team->getLevel(), "experience" => $team->getExperience(), "money" => $team->getMoney(), "realMoney" => $team->getRealMoney(), "studyPoints" => $team->getStudyPoints(), "energy" => $team->getCurrentEnergy(), "energyMax" => floor($team->getEnergyMax()), "trainerId" => $team->getTrainerId(), "teamName" => $team->getTeamName(), "teamLogoId" => $team->getTeamLogoId(), "paramForward" => $team->getParameterForward(), "paramHalf" => $team->getParameterHalf(), "paramSafe" => $team->getParameterSafe(), "isInstalled" => $team->getIsInstalled(), "socialUserId" => $team->getSocialUserId(), "userPhoto" => $team->getUserPhoto(), "userName" => $team->getUserName(), "isInTeam" => $team->getIsInTeam(), "studyPointsViaPrize" => $team->getStudyPointsViaPrize(), "inGroup" => $team->getInGroup(), "counterChoose" => $team->getCounterChoose(), "counterWon" => $team->getCounterWon(), "counterLose" => $team->getCounterLose(), "stadiumId" => $team->getStadiumId(), "needDailyBonus" => $team->isNeedDailyBonus(), "placeCountry" => $team->getPlaceCountry(), "placeCity" => $team->getPlaceCity(), "placeUniversity" => $team->getPlaceUniversity(), "placeVK" => $team->getPlaceVK(), "tourIIIcounter" => $team->getTourIII(), "tourPlaceCountry" => $team->getTourPlaceCountry(), "tourPlaceCity" => $team->getTourPlaceCity(), "tourPlaceUniversity" => $team->getTourPlaceUniversity(), "tourPlaceVK" => $team->getTourPlaceVK(), "tourNotify" => $team->getTourNotify(), "tourBonus" => $team->getTourBonus(), "tourBonusTime" => $team->getTourBonusTime(), "counterChoose" => $team->getCounterChoose(), "counterWon" => $team->getCounterWon(), "counterLose" => $team->getCounterLose(), "totalPlace" => $team->getTotalPlace(), "place" => isset($team->place) ? $team->place : 99);
     if (count($team->getFootballers())) {
         $forJSON["footballers"] = JSONPrepare::footballers($team->getFootballers());
     }
     if (count($team->getSponsors())) {
         $forJSON["sponsors"] = JSONPrepare::sponsors($team->getSponsors());
     }
     return $forJSON;
 }
示例#2
0
 public function initFromRAM(Team $team)
 {
     $this->socialUserId = $team->getSocialUserId();
     $this->setLevel($team->getLevel());
     $this->setExperience($team->getExperience());
     $this->setMoney($team->getMoney());
     $this->setRealMoney($team->getRealMoney());
     $this->setStudyPoints($team->getStudyPoints());
     $this->setStudyPointsViaPrize($team->getStudyPointsViaPrize());
     $this->setInGroup($team->getInGroup());
     $this->setParameterForward($team->getParameterForward());
     $this->setParameterHalf($team->getParameterHalf());
     $this->setParameterSafe($team->getParameterSafe());
     $this->setEnergy($team->getCurrentEnergy());
     $this->setMaxEnergy($team->getEnergyMax());
     $this->trainerId = $team->getTrainerId();
     $this->teamName = trim($team->getTeamName());
     $this->teamLogoId = $team->getTeamLogoId();
     $this->inTeam = $team->getIsInTeam();
     $this->isAbleToChoose = $team->getIsAbleToChoose();
     $this->userPhoto = trim($team->getUserPhoto());
     $this->userName = trim($team->getUserName());
     $this->counterWon = $team->getCounterWon();
     $this->counterChoose = $team->getCounterChoose();
     $this->counterLose = $team->getCounterLose();
     $this->counterTie = $team->getCounterTie();
     $this->stadiumId = $team->getStadiumId();
     $this->setUserCountry($team->getUserCountry());
     $this->setUserCity($team->getUserCity());
     $this->setUserUniversity($team->getUserUniversity());
     $this->setPlaceCountry($team->getPlaceCountry());
     $this->setPlaceCity($team->getPlaceCity());
     $this->setPlaceUniversity($team->getPlaceUniversity());
     $this->setPlaceVK($team->getPlaceVK());
     $this->setTourIII($team->getTourIII());
     $this->setDailyBonus($team->isNeedDailyBonus());
     $this->setTourPlaceCountry($team->getTourPlaceCountry());
     $this->setTourPlaceCity($team->getTourPlaceCity());
     $this->setTourPlaceUniversity($team->getTourPlaceUniversity());
     $this->setTourPlaceVK($team->getTourPlaceVK());
     $this->setTourNotify($team->getTourNotify());
     $this->setTourBonus($team->getTourBonus());
     $this->setTourBonusTime($team->getTourBonusTime());
     $this->setIsPrized($team->getIsPrized());
     $this->setParameterSum($team->getParameterSum());
     $this->setTotalPlace($team->getTotalPlace());
     $this->setAllFootballersCount($team->getAllFootballersCount());
     $this->setAllFootballersFriendsCount($team->getAllFootballersFriendsCount());
     $this->setSponsorsCount($team->getSponsorsCount());
 }
示例#3
0
 function setLeader(Team $object, $index, $forceConnect = true)
 {
     if (!$this->isRAMEnabled && !$forceConnect) {
         return null;
     }
     $result = $this->set(RAM::RAM_TYPE_LEADERS . "_" . $index, RAM::RAM_TYPE_TEAM . "_" . $object->getSocialUserId());
     if ($result === false) {
         return new ErrorPoint(ErrorPoint::CODE_RAM, "Невозможно записать данные в память", ErrorPoint::TYPE_SYSTEM);
     }
     /*     $result = $this->setTeam($object);
            if($result === false){
                return new ErrorPoint(ErrorPoint::CODE_RAM, "Невозможно записать данные в память", ErrorPoint::TYPE_SYSTEM);
            }*/
     return $result;
 }
 public static function initForTeam(Team &$team, $isGetOnlyActive = false)
 {
     $teamId = $team->getSocialUserId();
     $store = array();
     track_stats();
     // Отслеживаем производительность
     $footballersStore = RAM::getInstance()->getObjectsForTeam($teamId, RAM::RAM_TYPE_FOOTBALLER);
     track_stats();
     // Отслеживаем производительность
     $activeFootballer = 0;
     //     Utils::forDebug(count($footballersStore) . " == " . $team->getAllFootballersCount());
     if (count($footballersStore) != $team->getAllFootballersCount() || $team->getAllFootballersCount() == 0) {
         //} || GlobalParameters::$IS_FAKE_ENTER || GlobalParameters::MODER_ID == $teamId){
         $sql_template = "SELECT\n    footballers.level,\n    footballers.footballer_id,\n    footballers.is_active,\n    footballers.super,\n    footballers.health_down,\n    item_footballers.line as type FROM footballers\nLEFT JOIN  item_footballers ON item_footballers.id = footballers.footballer_id\nWHERE footballers.owner_vk_id = %d " . ($isGetOnlyActive ? " AND footballers.is_active = 1 " : "") . " ORDER BY item_footballers.line DESC ";
         $sql_template = "SELECT\n    footballers.level,\n    footballers.footballer_id,\n    footballers.is_active,\n    footballers.super,\n    footballers.health_down,\n    item_footballers.line AS typer FROM footballers, item_footballers\nWHERE footballers.owner_vk_id =  %d " . ($isGetOnlyActive ? " AND footballers.is_active = 1 " : "") . " AND item_footballers.id = footballers.footballer_id ORDER BY item_footballers.line ASC";
         $sql = sprintf($sql_template, intval($teamId));
         $SQLresult = SQL::getInstance()->query($sql);
         track_stats();
         // Отслеживаем производительность
         if ($SQLresult instanceof ErrorPoint) {
             return $SQLresult;
         }
         track_stats();
         // Отслеживаем производительность
         $team->setAllFootballersCount($SQLresult->num_rows, true);
         $counter = 0;
         $footballersStore = array();
         while ($footballer = $SQLresult->fetch_object()) {
             $footballerInstance = new Footballer();
             $footballerInstance->initFromParameters($footballer, false, $teamId, $sql);
             $footballersStore[$footballerInstance->getId()] = $footballerInstance;
             if ($footballerInstance->getIsActive() == 1) {
                 $activeFootballer++;
             }
             //RAM::getInstance()->setFootballer($footballerInstance, $teamId, $counter);
             $counter++;
         }
         track_stats();
         // Отслеживаем производительность
     } else {
         track_stats();
         // Отслеживаем производительность
         $footballersStore = array();
         if ($isGetOnlyActive) {
             $footballersStoreTeam = $footballersStore;
             foreach ($footballersStoreTeam as $footballerInstance) {
                 if ($footballerInstance->getIsActive() == 1) {
                     $footballersStore[$footballerInstance->getId()] = $footballerInstance;
                 }
                 $footballerInstance->checkHealth();
             }
         } else {
             $footballersStoreTeam = $footballersStore;
             foreach ($footballersStoreTeam as $footballerInstance) {
                 if ($footballerInstance instanceof Footballer) {
                     if ($footballerInstance instanceof Footballer && $footballerInstance->getIsActive() == 1) {
                         $activeFootballer++;
                     }
                     $footballersStore[$footballerInstance->getId()] = $footballerInstance;
                     $footballerInstance->checkHealth();
                 }
             }
         }
         track_stats();
         // Отслеживаем производительность
     }
     track_stats();
     // Отслеживаем производительность
     $footballersFriendStore = RAM::getInstance()->getObjectsForTeam($teamId, RAM::RAM_TYPE_FOOTBALLER_FRIEND);
     track_stats();
     // Отслеживаем производительность
     if (count($footballersFriendStore) != $team->getAllFootballersFriendsCount() || $team->getAllFootballersFriendsCount() == 0) {
         $sql_template = "SELECT footballers_friends.*,\n    teams.user_year,\n    teams.user_country,\n    teams.user_name,\n    teams.user_photo,\n    teams.in_team,\n    owner_team.team_name\nFROM footballers_friends\nJOIN teams ON footballers_friends.vk_id = teams.vk_id\nLEFT JOIN teams AS owner_team ON owner_team.vk_id = footballers_friends.owner_vk_id\nWHERE owner_vk_id = '%s' " . ($isGetOnlyActive ? " AND is_active = 1 " : "") . " ORDER BY footballers_friends.type DESC";
         $sql_template = "SELECT\n    footballers_friends.vk_id,\n    footballers_friends.level,\n    footballers_friends.type as typer,\n    footballers_friends.is_active,\n    footballers_friends.super,\n    footballers_friends.owner_vk_id,\n    footballers_friends.health_down,\n    teams.user_year,\n    teams.user_country,\n    teams.user_name,\n    teams.user_photo,\n    teams.in_team\nFROM footballers_friends\nJOIN teams ON footballers_friends.vk_id = teams.vk_id\nWHERE owner_vk_id = %d " . ($isGetOnlyActive ? " AND is_active = 1 " : "") . "  ORDER BY footballers_friends.type DESC";
         // ORDER BY footballers_friends.type DESC";
         $sql = sprintf($sql_template, intval($teamId));
         $SQLresult = SQL::getInstance()->query($sql);
         if ($SQLresult instanceof ErrorPoint) {
             return $SQLresult;
         }
         $team->setAllFootballersFriendsCount($SQLresult->num_rows, true);
         track_stats();
         // Отслеживаем производительность
         $footballersFriendStore = array();
         $counter = 0;
         while ($footballer = $SQLresult->fetch_object()) {
             $footballerInstance = new Footballer();
             $footballerInstance->initFromParameters($footballer, true, $teamId, $sql);
             $footballersFriendStore[$footballerInstance->getId()] = $footballerInstance;
             if ($footballerInstance->getIsActive() == 1) {
                 $activeFootballer++;
             }
             //RAM::getInstance()->setFootballerFriend($footballerInstance, $teamId, $counter);
             $counter++;
         }
         track_stats();
         // Отслеживаем производительность
     } else {
         track_stats();
         // Отслеживаем производительность
         if ($isGetOnlyActive) {
             $footballersStoreTeam = $footballersFriendStore;
             $footballersFriendStore = array();
             foreach ($footballersStoreTeam as $footballerInstance) {
                 if ($footballerInstance->getIsActive() == 1) {
                     $footballersFriendStore[] = $footballerInstance;
                 }
                 $footballerInstance->checkHealth();
             }
         } else {
             foreach ($footballersFriendStore as $footballerInstance) {
                 if ($footballerInstance->getIsActive() == 1) {
                     $activeFootballer++;
                 }
                 $footballerInstance->checkHealth();
             }
         }
         track_stats();
         // Отслеживаем производительность
     }
     $store = array_merge($footballersStore, $footballersFriendStore);
     $returnStore = array();
     foreach ($store as $footballerInstance) {
         if ($footballerInstance instanceof Footballer) {
             $returnStore[$footballerInstance->getId()] = $footballerInstance;
         }
     }
     track_stats();
     // Отслеживаем производительность
     if ($activeFootballer > GlobalParameters::MAX_TEAM) {
         $actionResult = FootballerSatellite::bagoFixActiveFootballers($team, $returnStore);
         if ($actionResult instanceof ErrorPoint) {
             return $actionResult;
         }
         $returnStore = FootballerSatellite::initForTeam($team);
         //            return new ErrorPoint(ErrorPoint::CODE_LOGIC, "Количество активных игроков превышет допустимого значения. Разрешено ".
         //                   GlobalParameters::MAX_TEAM . " а у игрока " . $activeFootballer, ErrorPoint::TYPE_SYSTEM);
     }
     track_stats();
     // Отслеживаем производительность
     return $returnStore;
 }