much better ranking
[stouyapi.git] / bin / filters.php
index adad0d2cafa5c83ce0cb778423fd60ca8ba25b70..04a998f2b985259ba00874281faafc1653109d81 100644 (file)
@@ -1,9 +1,41 @@
 <?php
 <?php
-function filterByGenre($origGames, $genre)
+function filterByAge($origGames, $age)
 {
     $filtered = [];
     foreach ($origGames as $game) {
 {
     $filtered = [];
     foreach ($origGames as $game) {
-        if (array_search($genre, $game->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;
         }
     }
             $filtered[] = $game;
         }
     }
@@ -52,7 +84,7 @@ function filterBestRated($origGames, $limit)
     usort(
         $games,
         function ($gameA, $gameB) {
     usort(
         $games,
         function ($gameA, $gameB) {
-            return $gameB->rating->average - $gameA->rating->average;
+            return ($gameB->rating->rank - $gameA->rating->rank) * 100;
         }
     );
 
         }
     );