X-Git-Url: https://git.cweiske.de/stouyapi.git/blobdiff_plain/7287030317ae7045440df94e557e25a4bc6f9890..1b81dbfd87056ef6c8b0f2b77fcdf60c86fb4e39:/bin/filters.php diff --git a/bin/filters.php b/bin/filters.php index 107714d..b225c9b 100644 --- a/bin/filters.php +++ b/bin/filters.php @@ -31,7 +31,7 @@ function filterByLetter($origGames, $letter) { $filtered = []; foreach ($origGames as $game) { - $gameLetter = strtoupper($game->title{0}); + $gameLetter = strtoupper($game->title[0]); if (!preg_match('#^[A-Z]$#', $gameLetter)) { $gameLetter = 'Other'; } @@ -48,9 +48,11 @@ function filterByPackageNames($origGames, $packageNames) $filtered = []; foreach ($origGames as $game) { if (isset($names[$game->packageName])) { - $filtered[] = $game; + $filtered[$names[$game->packageName]] = $game; } } + //keep original order + ksort($filtered, SORT_NUMERIC); return $filtered; } @@ -76,6 +78,19 @@ function filterBySearchWord($origGames, $searchWord) return $filtered; } +function filterLastAdded($origGames, $limit) +{ + $games = array_values($origGames); + usort( + $games, + function ($gameA, $gameB) { + return strtotime($gameB->firstRelease->date) - strtotime($gameA->firstRelease->date); + } + ); + + return array_slice($games, 0, $limit); +} + function filterLastUpdated($origGames, $limit) { $games = array_values($origGames); @@ -102,6 +117,14 @@ function filterBestRated($origGames, $limit) return array_slice($games, 0, $limit); } +function filterBestRatedGames($origGames, $limit) +{ + $noApps = filterByGenre($origGames, 'App', true); + $noAppsNoEmus = filterByGenre($noApps, 'Emulator', true); + + return filterBestRated($noAppsNoEmus, $limit); +} + function filterMostDownloaded($origGames, $limit) { $games = array_values($origGames);