$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;
}
return $filtered;
}
+function filterBySearchWord($origGames, $searchWord)
+{
+ $filtered = [];
+ foreach ($origGames as $game) {
+ if (stripos($game->title, $searchWord) !== false) {
+ $filtered[] = $game;
+ }
+ }
+ 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);
return array_slice($games, 0, $limit);
}
+
+function filterMostDownloaded($origGames, $limit)
+{
+ $games = array_values($origGames);
+ usort(
+ $games,
+ function ($gameA, $gameB) {
+ return $gameB->rating->count - $gameA->rating->count;
+ }
+ );
+
+ return array_slice($games, 0, $limit);
+}
+
+function filterRandom($origGames, $limit)
+{
+ $randKeys = array_rand($origGames, min(count($origGames), $limit));
+ $games = [];
+ foreach ($randKeys as $key) {
+ $games[] = $origGames[$key];
+ }
+ return $games;
+}
+
+function sortByTitle($games)
+{
+ usort(
+ $games,
+ function ($gameA, $gameB) {
+ return strcasecmp($gameA->title, $gameB->title);
+ }
+ );
+ return $games;
+}
?>