* @author Christian Weiske <cweiske@cweiske.de>
*/
ini_set('xdebug.halt_level', E_WARNING|E_NOTICE|E_USER_WARNING|E_USER_NOTICE);
+require_once __DIR__ . '/functions.php';
require_once __DIR__ . '/filters.php';
if (!isset($argv[1])) {
error('Pass the path to a "folders" file with game data json files folder names');
error('Given path is not a file: ' . $foldersFile);
}
-$GLOBALS['packagelists']['cweiskepicks'] = [
- 'de.eiswuxe.blookid2',
- 'com.cosmos.babyloniantwins',
- 'com.inverseblue.skyriders',
-];
+//default configuration values
+$GLOBALS['packagelists'] = [];
+$GLOBALS['urlRewrites'] = [];
+$cfgFile = __DIR__ . '/../config.php';
+if (file_exists($cfgFile)) {
+ include $cfgFile;
+}
$wwwDir = __DIR__ . '/../www/';
$data, 'Best rated',
filterBestRated($games, 10)
);
- addDiscoverRow(
- $data, "cweiske's picks",
- filterByPackageNames($games, $GLOBALS['packagelists']['cweiskepicks'])
- );
+
+ foreach ($GLOBALS['packagelists'] as $listTitle => $listPackageNames) {
+ addDiscoverRow(
+ $data, $listTitle,
+ filterByPackageNames($games, $listPackageNames)
+ );
+ }
addDiscoverRow(
$data, 'Special',
'fileSize' => $release->size,
'version' => $release->uuid,
'contentRating' => $game->contentRating,
- 'downloadLink' => $release->url,
+ 'downloadLink' => rewriteUrl($release->url),
]
];
}
$mediaTiles[] = [
'type' => 'image',
'urls' => [
- 'thumbnail' => $medium->thumb,
+ 'thumbnail' => $medium->thumb ?? $medium->url,
'full' => $medium->url,
],
];
$product = buildProduct($gamePromoted);
}
+ $iaUrl = null;
+ if (isset($game->latestRelease->url)
+ && substr($game->latestRelease->url, 0, 29) == 'https://archive.org/download/'
+ ) {
+ $iaUrl = dirname($game->latestRelease->url) . '/';
+ }
+
// http://cweiske.de/ouya-store-api-docs.htm#get-https-devs-ouya-tv-api-v1-details
return [
'type' => 'Game',
'promotedProduct' => $product,
'buttons' => $buttons,
+
+ 'stouyapi' => [
+ 'internet-archive' => $iaUrl,
+ 'developer-url' => $game->developer->website ?? null,
+ ]
];
}
];
}
-function categoryPath($title)
-{
- return str_replace(['/', '\\', ' ', '+', '?'], '_', $title);
-}
-
function getAllAges($games)
{
$ages = [];
return $filtered;
}
+function rewriteUrl($url)
+{
+ foreach ($GLOBALS['urlRewrites'] as $pattern => $replacement) {
+ $url = preg_replace($pattern, $replacement, $url);
+ }
+ return $url;
+}
+
function writeJson($path, $data)
{
global $wwwDir;