/** * */ public function buildSearchTable() { self::put('Zoekresultaten maken'); // Personen $aPersons = Person::getAll(); $personCount = 0; $deletePersonCount = 0; foreach ($aPersons as $oPerson) { $query = "SELECT DISTINCT(Team.competition_nefub_id), Competition.id\n\t\t\t\t\t\tFROM TeamPerson\n\t\t\t\t\t\tLEFT JOIN Team ON Team.nefub_id = TeamPerson.team_nefub_id\n\t\t\t\t\t\tLEFT JOIN Competition ON Team.competition_nefub_id = Competition.nefub_id\n\t\t\t\t\t\tWHERE TeamPerson.person_nefub_id = '" . $oPerson->nefub_id . "'\n\t\t\t\t\t\tAND Competition.season_nefub_id = '" . Season::getInstance()->nefub_id . "'\n\t\t\t\t\t\tORDER BY Team.competition_nefub_id ASC"; $aCompetitions = Competition::getAllFromQuery($query); $personCompetitions = array(); foreach ($aCompetitions as $oCompetition) { if (trim($oCompetition->name)) { $personCompetitions[] = $oCompetition->name; } } if (count($personCompetitions)) { $oSearchResult = SearchResult::selectByNefubId($oPerson->nefub_id, 'person'); if (!$oSearchResult) { $oSearchResult = new SearchResult(); $oSearchResult->nefub_id = $oPerson->nefub_id; $oSearchResult->type = 'person'; $oSearchResult->url = '/persoon/' . $oPerson->nefub_id; $personCount++; } $oSearchResult->name = $oPerson->name; $oSearchResult->subtitle = implode(', ', $personCompetitions); $oSearchResult->save(); } else { $deletePersonCount += Database::delete_rows('SearchResult', array('nefub_id' => $oPerson->nefub_id, 'type' => 'person')); } } self::put($deletePersonCount . ' perso(o)n(en) verwijderd van zoekresultatenlijst'); self::put($personCount . ' perso(o)n(en) toegevoegd aan zoekresultatenlijst'); // Teams $aTeams = Team::getAll(); $teamCount = 0; $deleteTeamCount = 0; foreach ($aTeams as $oTeam) { if ($oTeam->getCompetition() && $oTeam->season_nefub_id == Season::getInstance()->nefub_id) { $oSearchResult = SearchResult::selectByNefubId($oTeam->nefub_id, 'team'); if (!$oSearchResult) { $oSearchResult = new SearchResult(); $oSearchResult->nefub_id = $oTeam->nefub_id; $oSearchResult->name = $oTeam->name; $oSearchResult->type = 'team'; $oSearchResult->url = '/team/' . $oTeam->nefub_id; $teamCount++; } $oSearchResult->subtitle = $oTeam->getCompetition()->name; $oSearchResult->save(); } else { $deleteTeamCount += Database::delete_rows('SearchResult', array('nefub_id' => $oTeam->nefub_id, 'type' => 'team')); } } self::put($deleteTeamCount . ' team(s) verwijderd van zoekresultatenlijst'); self::put($teamCount . ' team(s) toegevoegd aan zoekresultatenlijst'); }