website: update version check backend to report mobile version data. plugin updates still required
This commit is contained in:
parent
f525d15f94
commit
d0fd324344
@ -19,8 +19,6 @@ function getMobileVersion ( $apkfile )
|
|||||||
$archive = $apkinfo->getApkArchive();
|
$archive = $apkinfo->getApkArchive();
|
||||||
|
|
||||||
$stream = $archive->getStream ( "assets/total-conversion-build.user.js" );
|
$stream = $archive->getStream ( "assets/total-conversion-build.user.js" );
|
||||||
if ( ! $stream )
|
|
||||||
$stream = $archive->getStream ( "assets/iitc.js" );
|
|
||||||
|
|
||||||
if ( $stream )
|
if ( $stream )
|
||||||
{
|
{
|
||||||
|
@ -2,12 +2,13 @@
|
|||||||
|
|
||||||
include_once "code/userscript.php";
|
include_once "code/userscript.php";
|
||||||
include_once "code/url/url_to_absolute.php";
|
include_once "code/url/url_to_absolute.php";
|
||||||
|
include_once "code/apk/ApkParser.php";
|
||||||
|
|
||||||
$response = Array();
|
$response = Array();
|
||||||
|
|
||||||
|
|
||||||
$build = $_REQUEST['build'];
|
$build = $_REQUEST['build'];
|
||||||
|
$mobile = isset($_REQUEST['mobile']) && $_REQUEST['mobile'];
|
||||||
|
|
||||||
|
|
||||||
$details = Array (
|
$details = Array (
|
||||||
@ -15,23 +16,27 @@ $details = Array (
|
|||||||
'path' => 'release',
|
'path' => 'release',
|
||||||
'name' => 'Stable release build',
|
'name' => 'Stable release build',
|
||||||
'web' => 'http://iitc.jonatkins.com/?page=download',
|
'web' => 'http://iitc.jonatkins.com/?page=download',
|
||||||
|
'mobileweb' => 'http://iitc.jonatkins.com/?page=mobile',
|
||||||
),
|
),
|
||||||
'jonatkins-test' => Array ( # public test builds
|
'jonatkins-test' => Array ( # public test builds
|
||||||
'path' => 'test',
|
'path' => 'test',
|
||||||
'name' => 'Test build',
|
'name' => 'Test build',
|
||||||
'web' => 'http://iitc.jonatkins.com/?page=test',
|
'web' => 'http://iitc.jonatkins.com/?page=test',
|
||||||
|
'mobileweb' => 'http://iitc.jonatkins.com/?page=test#test-mobile',
|
||||||
),
|
),
|
||||||
|
|
||||||
'jonatkins-experimental' => Array ( # rarely used, for features not quite ready for 'test'
|
'jonatkins-experimental' => Array ( # rarely used, for features not quite ready for 'test'
|
||||||
'path' => 'experimental',
|
'path' => 'experimental',
|
||||||
'name' => 'Experimental build',
|
'name' => 'Experimental build',
|
||||||
'web' => 'http://iitc.jonatkins.com/?page=test&build=experimental',
|
'web' => 'http://iitc.jonatkins.com/?page=test&build=experimental',
|
||||||
|
'mobileweb' => 'http://iitc.jonatkins.com/?page=test&build=experimental#test-mobild',
|
||||||
),
|
),
|
||||||
|
|
||||||
'jonatkins-dev' => Array ( # personal
|
'jonatkins-dev' => Array ( # personal
|
||||||
'path' => 'dev',
|
'path' => 'dev',
|
||||||
'name' => 'Development builds - not for public use',
|
'name' => 'Development builds - not for public use',
|
||||||
'web' => 'http://iitc.jonatkins.com/?page=test&build=dev',
|
'web' => 'http://iitc.jonatkins.com/?page=test&build=dev',
|
||||||
|
'mobileweb' => 'http://iitc.jonatkins.com/?page=test&build=dev#test-mobile',
|
||||||
),
|
),
|
||||||
|
|
||||||
'local' => Array ( # not a real build, but often the default for local development
|
'local' => Array ( # not a real build, but often the default for local development
|
||||||
@ -50,28 +55,61 @@ if ( array_key_exists ( $build, $details ) )
|
|||||||
|
|
||||||
$dir = $info['path'];
|
$dir = $info['path'];
|
||||||
|
|
||||||
// load main script version
|
if ( $mobile )
|
||||||
$iitc_details = loadUserScriptHeader ( "$dir/total-conversion-build.user.js" );
|
|
||||||
$response['iitc'] = Array (
|
|
||||||
'version' => $iitc_details['@version'],
|
|
||||||
'downloadUrl' => url_to_absolute ( $pageurl, "$dir/total-conversion-build.user.js" ),
|
|
||||||
'pageUrl' => url_to_absolute ( $pageurl, $info['web'] ),
|
|
||||||
);
|
|
||||||
|
|
||||||
// and now the plugins
|
|
||||||
|
|
||||||
$response['plugins'] = Array();
|
|
||||||
|
|
||||||
foreach ( glob ( "$dir/plugins/*.user.js" ) as $path )
|
|
||||||
{
|
{
|
||||||
$basename = basename ( $path, ".user.js" );
|
$apkfile = $dir.'/IITC_Mobile-'.$dir.'.apk';
|
||||||
$details = loadUserScriptHeader ( $path );
|
if ( file_Exists ( $apkfile ) )
|
||||||
|
{
|
||||||
|
$apkinfo = new ApkParser ( $apkfile );
|
||||||
|
$manifest = $apkinfo->getManifest();
|
||||||
|
|
||||||
$response['plugins'][$basename] = Array (
|
$response['mobile'] = Array (
|
||||||
'version' => $details['@version'],
|
'versionstr' => $manifest->getVersionName(),
|
||||||
'downloadUrl' => url_to_absolute ( $pageurl, "$dir/plugins/$basename.user.js" ),
|
'versioncode' => $manifest->getVersionCode(),
|
||||||
'pageUrl' => url_to_absolute ( $pageurl, $info['web']."#plugin-$basename" ),
|
'downloadurl' => url_to_absolute ( $pageurl, $apkfile ),
|
||||||
|
'pageurl' => $info['mobileweb'],
|
||||||
|
);
|
||||||
|
|
||||||
|
$archive = $apkinfo->getApkArchive();
|
||||||
|
$stream = $archive->getStream ( "assets/total-conversion-build.user.js" );
|
||||||
|
if ( $stream )
|
||||||
|
{
|
||||||
|
$header = loadUserScriptHeader ( $stream );
|
||||||
|
$response['mobile']['iitc_version'] = $header['@version'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$response['error'] = 'Failed to find .apk file '.$apkfile;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// desktop - .user.js scripts
|
||||||
|
|
||||||
|
// load main script version
|
||||||
|
$iitc_details = loadUserScriptHeader ( "$dir/total-conversion-build.user.js" );
|
||||||
|
$response['iitc'] = Array (
|
||||||
|
'version' => $iitc_details['@version'],
|
||||||
|
'downloadUrl' => url_to_absolute ( $pageurl, "$dir/total-conversion-build.user.js" ),
|
||||||
|
'pageUrl' => url_to_absolute ( $pageurl, $info['web'] ),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// and now the plugins
|
||||||
|
|
||||||
|
$response['plugins'] = Array();
|
||||||
|
|
||||||
|
foreach ( glob ( "$dir/plugins/*.user.js" ) as $path )
|
||||||
|
{
|
||||||
|
$basename = basename ( $path, ".user.js" );
|
||||||
|
$details = loadUserScriptHeader ( $path );
|
||||||
|
|
||||||
|
$response['plugins'][$basename] = Array (
|
||||||
|
'version' => $details['@version'],
|
||||||
|
'downloadUrl' => url_to_absolute ( $pageurl, "$dir/plugins/$basename.user.js" ),
|
||||||
|
'pageUrl' => url_to_absolute ( $pageurl, $info['web']."#plugin-$basename" ),
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user