X-Git-Url: https://git.cweiske.de/stouyapi.git/blobdiff_plain/bda6c22fc5fa02a7b34f4a6e2602c0684dca3066..44491ef1b9b52e4ed4a5f245cbbeef123a436b18:/bin/filters.php diff --git a/bin/filters.php b/bin/filters.php index adad0d2..04a998f 100644 --- a/bin/filters.php +++ b/bin/filters.php @@ -1,9 +1,41 @@ genres) !== false) { + if ($age == $game->contentRating) { + $filtered[] = $game; + } + } + return $filtered; +} + +function filterByGenre($origGames, $genre, $remove = false) +{ + $filtered = []; + foreach ($origGames as $game) { + if ($remove) { + if (array_search($genre, $game->genres) === false) { + $filtered[] = $game; + } + } else { + if (array_search($genre, $game->genres) !== false) { + $filtered[] = $game; + } + } + } + return $filtered; +} + +function filterByLetter($origGames, $letter) +{ + $filtered = []; + foreach ($origGames as $game) { + $gameLetter = strtoupper($game->title{0}); + if (!preg_match('#^[A-Z]$#', $gameLetter)) { + $gameLetter = 'Other'; + } + if ($letter == $gameLetter) { $filtered[] = $game; } } @@ -52,7 +84,7 @@ function filterBestRated($origGames, $limit) usort( $games, function ($gameA, $gameB) { - return $gameB->rating->average - $gameA->rating->average; + return ($gameB->rating->rank - $gameA->rating->rank) * 100; } );