Do not crash when only few games exist
[stouyapi.git] / bin / filters.php
index 628936a899e2057499f56a1ad7d5e3a14e0174e7..107714d7ca5d5afbfe73354771225aea4b12f3e3 100644 (file)
@@ -102,6 +102,29 @@ function filterBestRated($origGames, $limit)
     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(