Ejemplo n.º 1
0
 protected function retrievePerson($nefubId)
 {
     $url = NEFUB_API . '/person.php?id=' . $nefubId;
     $personDetails = $this->getNefubContentsParsed($url, MAX_AGE_PERSON_DETAILS);
     $oPerson = self::convertPerson($personDetails);
     self::put('Persoon ' . $oPerson->name . ' toegevoegd');
     $oRetrieveLog = $this->retrieveLog;
     if (isset($personDetails->Teams) && is_array($personDetails->Teams)) {
         $teams = $personDetails->Teams;
         foreach ($teams as $team) {
             if (!($oTeam = Team::getByNefubId($team->ID))) {
                 $oTeam = new Team();
                 $oTeam->nefub_id = $team->ID;
                 $oTeam->name = $team->Name;
                 $competition = $team->Competition;
                 self::put('Team ' . $oTeam->name . ' toevoegen');
                 self::put('Team ' . $oTeam->name . ' toevoegen');
                 $newTeams++;
                 if (!($oCompetition = Competition::getByNefubId($competition->ID))) {
                     $oCompetition = new Competition();
                     $oCompetition->name = $competition->Name;
                     $oCompetition->nefub_id = $competition->ID;
                     $aSeasonYears = explode('-', $competition->Season);
                     $oCompetition->season_nefub_id = Season::getInstance()->nefub_id;
                     $oCompetition->save();
                 }
                 $oGenre = $this->convertGenre($competition->Genre);
                 $oGender = $this->convertGenre($competition->Gender);
                 $oCompetitionType = $this->convertCompetitionType($competition->Type);
                 $oCompetition->genre_id = $oGenre->getId();
                 $oCompetition->gender_id = $oGender->getId();
                 $oCompetition->competition_type_id = $oCompetitionType->getId();
                 $oCompetition->save();
                 $oTeam->season_nefub_id = Season::getInstance()->nefub_id;
                 $oTeam->competition_nefub_id = $oCompetition->nefub_id;
                 $oTeam->save();
                 self::put('Team ' . $oTeam->name . ' toegevoegd');
                 $newTeams++;
             }
             if (!($oTeamPerson = TeamPerson::getByNefubId($oPerson->nefub_id, $oTeam->nefub_id))) {
                 $oTeamPerson = new TeamPerson();
                 $oTeamPerson->team_nefub_id = $oTeam->nefub_id;
                 $oTeamPerson->person_nefub_id = $oPerson->nefub_id;
                 $oTeamPerson->save();
                 self::put('Persoon ' . $oPerson->name . ' aan team ' . $oTeam->name . ' toegevoegd');
                 $newTeamPersons++;
             }
         }
     } else {
         self::put("API is aangepast");
         self::put($personDetails);
         $data["msg"] = "Kon geen teams van persoon ophalen. API is aangepast: \n" . print_r($personDetails, true);
         $this->updateLog($data, true);
         exit;
     }
     $newData = array('teams' => $newTeams, 'personen' => $newPersons, 'teampersonen' => $newTeamPersons);
     $this->updateLog($newData);
 }