2 function filterByAge($origGames, $age)
5 foreach ($origGames as $game) {
6 if ($age == $game->contentRating) {
13 function filterByGenre($origGames, $genre, $remove = false)
16 foreach ($origGames as $game) {
18 if (array_search($genre, $game->genres) === false) {
22 if (array_search($genre, $game->genres) !== false) {
30 function filterByLetter($origGames, $letter)
33 foreach ($origGames as $game) {
34 $gameLetter = strtoupper($game->title{0});
35 if (!preg_match('#^[A-Z]$#', $gameLetter)) {
36 $gameLetter = 'Other';
38 if ($letter == $gameLetter) {
45 function filterByPackageNames($origGames, $packageNames)
47 $names = array_flip($packageNames);
49 foreach ($origGames as $game) {
50 if (isset($names[$game->packageName])) {
57 function filterByPlayers($origGames, $numOfPlayers)
60 foreach ($origGames as $game) {
61 if (array_search($numOfPlayers, $game->players) !== false) {
68 function filterLastUpdated($origGames, $limit)
70 $games = array_values($origGames);
73 function ($gameA, $gameB) {
74 return strtotime($gameB->latestRelease->date) - strtotime($gameA->latestRelease->date);
78 return array_slice($games, 0, $limit);
81 function filterBestRated($origGames, $limit)
83 $games = array_values($origGames);
86 function ($gameA, $gameB) {
87 return ($gameB->rating->rank - $gameA->rating->rank) * 100;
91 return array_slice($games, 0, $limit);