X-Git-Url: https://git.cweiske.de/stouyapi.git/blobdiff_plain/7ddab9bf8fe51936011321ffd881adc0e7be5b58..5cbf471fb8bc6be680642b01e18418efc377051c:/bin/filters.php diff --git a/bin/filters.php b/bin/filters.php index 07a00bb..628936a 100644 --- a/bin/filters.php +++ b/bin/filters.php @@ -10,12 +10,18 @@ function filterByAge($origGames, $age) return $filtered; } -function filterByGenre($origGames, $genre) +function filterByGenre($origGames, $genre, $remove = false) { $filtered = []; foreach ($origGames as $game) { - if (array_search($genre, $game->genres) !== false) { - $filtered[] = $game; + if ($remove) { + if (array_search($genre, $game->genres) === false) { + $filtered[] = $game; + } + } else { + if (array_search($genre, $game->genres) !== false) { + $filtered[] = $game; + } } } return $filtered; @@ -59,6 +65,17 @@ function filterByPlayers($origGames, $numOfPlayers) return $filtered; } +function filterBySearchWord($origGames, $searchWord) +{ + $filtered = []; + foreach ($origGames as $game) { + if (stripos($game->title, $searchWord) !== false) { + $filtered[] = $game; + } + } + return $filtered; +} + function filterLastUpdated($origGames, $limit) { $games = array_values($origGames); @@ -78,10 +95,21 @@ function filterBestRated($origGames, $limit) usort( $games, function ($gameA, $gameB) { - return $gameB->rating->average - $gameA->rating->average; + return ($gameB->rating->rank - $gameA->rating->rank) * 100; } ); return array_slice($games, 0, $limit); } + +function sortByTitle($games) +{ + usort( + $games, + function ($gameA, $gameB) { + return strcasecmp($gameA->title, $gameB->title); + } + ); + return $games; +} ?>