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);
];
addDiscoverRow(
- $data, 'Last Updated',
- filterLastUpdated($games, 10)
+ $data, 'New games',
+ filterLastAdded($games, 10)
);
addDiscoverRow(
$data, 'Best rated',
'Best rated',
'Most rated',
'Random',
+ 'Last updated',
]
);
writeJson(
filterRandom($games, 99)
)
);
+ writeJson(
+ 'api/v1/discover-data/' . categoryPath('Last updated') . '.json',
+ buildSpecialCategory('Last updated', filterLastUpdated($games, 99))
+ );
$players = [
//1 => '1 player',
$game->rating->count = 0;
}
+ $game->firstRelease = null;
$game->latestRelease = null;
+ $firstReleaseTimestamp = null;
$latestReleaseTimestamp = 0;
foreach ($game->releases as $release) {
if (!isset($release->publicSize)) {
$game->latestRelease = $release;
$latestReleaseTimestamp = $releaseTimestamp;
}
+ if ($firstReleaseTimestamp === null
+ || $releaseTimestamp < $firstReleaseTimestamp
+ ) {
+ $game->firstRelease = $release;
+ $firstReleaseTimestamp = $releaseTimestamp;
+ }
+ }
+ if ($game->firstRelease === null) {
+ error('No first release for ' . $game->packageName);
}
if ($game->latestRelease === null) {
error('No latest release for ' . $game->packageName);