forked from uup-dump/api
Revert "Parse XML using XML parser instead of using regex in get.php"
This reverts commit 5828423453
.
This commit is contained in:
parent
fa256217c9
commit
b3c0a47186
41
get.php
41
get.php
@ -170,10 +170,6 @@ function uupGetFiles($updateId = 'c2a1d787-647b-486d-b264-f90f3782cdc6', $usePac
|
|||||||
$updateId = preg_replace('/_rev\..*/', '', $updateId);
|
$updateId = preg_replace('/_rev\..*/', '', $updateId);
|
||||||
}
|
}
|
||||||
|
|
||||||
$updateArch = (isset($info['arch'])) ? $info['arch'] : 'UNKNOWN';
|
|
||||||
$updateBuild = (isset($info['build'])) ? $info['build'] : 'UNKNOWN';
|
|
||||||
$updateName = (isset($info['title'])) ? $info['title'] : 'Unknown update: '.$updateId;
|
|
||||||
|
|
||||||
$fetchTime = time();
|
$fetchTime = time();
|
||||||
consoleLogger('Fetching information from the server...');
|
consoleLogger('Fetching information from the server...');
|
||||||
$postData = composeFileGetRequest($updateId, uupDevice(), $info, $rev);
|
$postData = composeFileGetRequest($updateId, uupDevice(), $info, $rev);
|
||||||
@ -181,32 +177,27 @@ function uupGetFiles($updateId = 'c2a1d787-647b-486d-b264-f90f3782cdc6', $usePac
|
|||||||
consoleLogger('Information has been successfully fetched.');
|
consoleLogger('Information has been successfully fetched.');
|
||||||
|
|
||||||
consoleLogger('Parsing information...');
|
consoleLogger('Parsing information...');
|
||||||
$xmlOut = simplexml_load_string($out);
|
preg_match_all('/<FileLocation>.*?<\/FileLocation>/', $out, $out);
|
||||||
$xmlBody = $xmlOut->children('s', true)->Body->children();
|
if(empty($out[0])) {
|
||||||
|
|
||||||
if(!isset($xmlBody->GetExtendedUpdateInfo2Response)) {
|
|
||||||
consoleLogger('An error has occurred');
|
consoleLogger('An error has occurred');
|
||||||
return array('error' => 'EMPTY_FILELIST');
|
return array('error' => 'EMPTY_FILELIST');
|
||||||
}
|
}
|
||||||
|
|
||||||
$getResponse = $xmlBody->GetExtendedUpdateInfo2Response;
|
$updateArch = (isset($info['arch'])) ? $info['arch'] : 'UNKNOWN';
|
||||||
$getResult = $xmlBody->GetExtendedUpdateInfo2Result;
|
$updateBuild = (isset($info['build'])) ? $info['build'] : 'UNKNOWN';
|
||||||
|
$updateName = (isset($info['title'])) ? $info['title'] : 'Unknown update: '.$updateId;
|
||||||
|
|
||||||
if(!isset($getResult->FileLocations)) {
|
|
||||||
consoleLogger('An error has occurred');
|
|
||||||
return array('error' => 'EMPTY_FILELIST');
|
|
||||||
}
|
|
||||||
|
|
||||||
$fileLocations = $getResult->FileLocations;
|
|
||||||
$info = $info['files'];
|
$info = $info['files'];
|
||||||
|
$out = preg_replace('/<FileLocation>|<\/FileLocation>/', '', $out[0]);
|
||||||
|
|
||||||
$files = array();
|
$files = array();
|
||||||
foreach($fileLocations->FileLocation as $val) {
|
foreach($out as $val) {
|
||||||
$sha1 = bin2hex(base64_decode($val->FileDigest));
|
$sha1 = explode('<FileDigest>', $val, 2);
|
||||||
$url = $val->Url;
|
$sha1 = explode('</FileDigest>', $sha1[1], 2);
|
||||||
|
$sha1 = bin2hex(base64_decode($sha1[0]));
|
||||||
|
|
||||||
preg_match('/files\/(.{8}-.{4}-.{4}-.{4}-.{12})/', $url, $guid);
|
preg_match('/files\/.{8}-.{4}-.{4}-.{4}-.{12}/', $val, $guid);
|
||||||
$guid = $guid[1];
|
$guid = preg_replace('/files\/|\?$/', '', $guid[0]);
|
||||||
|
|
||||||
if(empty($info[$sha1]['name'])) {
|
if(empty($info[$sha1]['name'])) {
|
||||||
$name = $guid;
|
$name = $guid;
|
||||||
@ -223,9 +214,13 @@ function uupGetFiles($updateId = 'c2a1d787-647b-486d-b264-f90f3782cdc6', $usePac
|
|||||||
if(!isset($fileSizes[$name])) $fileSizes[$name] = -2;
|
if(!isset($fileSizes[$name])) $fileSizes[$name] = -2;
|
||||||
|
|
||||||
if($size > $fileSizes[$name]) {
|
if($size > $fileSizes[$name]) {
|
||||||
preg_match('/P1=(.*?)&/', $url, $expire);
|
$url = explode('<Url>', $val, 2);
|
||||||
|
$url = explode('</Url>', $url[1], 2);
|
||||||
|
$url = html_entity_decode($url[0]);
|
||||||
|
|
||||||
|
preg_match('/P1=.*?&/', $url, $expire);
|
||||||
if(isset($expire[0])) {
|
if(isset($expire[0])) {
|
||||||
$expire = $expire[1];
|
$expire = preg_replace('/P1=|&$/', '', $expire[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
$expire = intval($expire);
|
$expire = intval($expire);
|
||||||
|
@ -16,7 +16,7 @@ limitations under the License.
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
function uupApiVersion() {
|
function uupApiVersion() {
|
||||||
return '1.15.10';
|
return '1.15.11';
|
||||||
}
|
}
|
||||||
|
|
||||||
require_once dirname(__FILE__).'/auths.php';
|
require_once dirname(__FILE__).'/auths.php';
|
||||||
|
Loading…
Reference in New Issue
Block a user