public static function search($keyword) { $keyword = Database::escape_string($keyword); $query = "SELECT DISTINCT(SearchResult.nefub_id) as ID, name as Name, type as Type, subtitle as Subtitle, url as URL\n\t\t\t\t\tFROM SearchResult\n\t\t\t\t\tWHERE SearchResult.name LIKE '%" . $keyword . "%'\n\t\t\t\t\tAND SearchResult.type = 'team'\n\t\t\t\t\tORDER BY SearchResult.name LIKE '" . $keyword . "%' DESC, SearchResult.name ASC"; $result = Database::query($query); $teams = Database::convertResult($result); $query = "SELECT DISTINCT(SearchResult.nefub_id) as ID, name as Name, type as Type, subtitle as Subtitle, url as URL\n\t\t\t\t\tFROM SearchResult\n\t\t\t\t\tWHERE SearchResult.name LIKE '%" . $keyword . "%'\n\t\t\t\t\tAND SearchResult.type = 'person'\n\t\t\t\t\tORDER BY SearchResult.name LIKE '" . $keyword . "%' DESC, SearchResult.name ASC"; $result = Database::query($query); $persons = Database::convertResult($result); $results = array_merge($teams, $persons); return $results; }
public static function getSortedByAlphabet() { $class = get_called_class(); $instances = array(); $iAsciiA = 65; $iAsciiZ = $iAsciiA + 25; for ($iAscii = $iAsciiA; $iAscii <= $iAsciiZ; $iAscii++) { $letter = chr($iAscii); $query = "SELECT `NefubObject`.`ID`\n\t\t\t\t\t\tFROM `" . $class . "` as NefubObject\n\t\t\t\t\t\tWHERE UPPER(`NefubObject`.`name`)\n\t\t\t\t\t\tLIKE '" . $letter . "%'\n\t\t\t\t\t\tORDER BY `NefubObject`.`name` ASC"; $r = Database::query($query); $rows = Database::convertResult($r); if (count($rows)) { if (!$aPersons[$letter]) { $aPersons[$letter] = array(); } foreach ($rows as $row) { $instances[$letter][] = new $class($row['ID']); } } } return $instances; }
public static function getAllFromQuery($query) { $class = get_called_class(); $result = Database::query($query); $rows = Database::convertResult($result); $instances = array(); foreach ($rows as $row) { $instances[] = new $class($row['id']); } return $instances; }
public static function getPlannedLocationGames(Location $oLocation) { $where[] = "Game.location_nefub_id = '" . $oLocation->nefub_id . "'"; $where[] = "Game.date >= CURDATE()"; $where[] = "Game.date IS NOT NULL"; $where = implode(' AND ', $where); $query = "SELECT Game.*\r\n\t\t\t\t\tFROM Game \t\t\t\t\t\r\n\t\t\t\t\tWHERE {$where}\t\t\t\t\t\r\n\t\t\t\t\tORDER BY Game.date ASC,\r\n\t\t\t\t\tGame.time ASC\r\n\t\t\t\t\t"; $r = Database::query($query); $rows = Database::convertResult($r); $dates = array(); foreach ($rows as $row) { $oGame = new Game(); $oGame->setData($row); // create array for locations per date if (!is_array($dates[$oGame->date])) { $dates[$oGame->date] = array(); } // create array for times per location if (!is_array($dates[$oGame->date])) { $dates[$oGame->date] = array(); } // create array for times per location if (!is_array($dates[$oGame->date][$oGame->time])) { $dates[$oGame->date][$oGame->time] = array(); } $dates[$oGame->date][$oGame->time][] = $oGame; } return $dates; }
public static function getSortedByAlphabet() { $instances = array(); $iAsciiA = 65; $iAsciiZ = $iAsciiA + 25; // Prefixes that are not considered for sorting $prefixes = array('DE', 'HET', 'THE', 'IBK', 'FB', 'UA', 'UC', 'UFCG', 'USFV', 'UFC'); $whereLeft = "UPPER(`NefubObject`.`name`)"; foreach ($prefixes as $prefix) { $whereLeft = "\nREPLACE(" . $whereLeft . ", '" . $prefix . " ', '')"; } for ($iAscii = $iAsciiA; $iAscii <= $iAsciiZ; $iAscii++) { $letter = chr($iAscii); $query = "SELECT `NefubObject`.`ID`\n\t\t\t\t\t\tFROM `Team` as NefubObject\n\t\t\t\t\t\tWHERE " . $whereLeft . "\n\t\t\t\t\t\tLIKE '" . $letter . "%'\n\t\t\t\t\t\tORDER BY " . $whereLeft . " ASC, competition_nefub_id DESC"; $r = Database::query($query); $rows = Database::convertResult($r); if (count($rows)) { if (!$aPersons[$letter]) { $aPersons[$letter] = array(); } foreach ($rows as $row) { $instances[$letter][] = new self($row['ID']); } } } return $instances; }