diff --git a/fetchupd.php b/fetchupd.php index 8656caf..69fa50a 100644 --- a/fetchupd.php +++ b/fetchupd.php @@ -18,6 +18,7 @@ limitations under the License. require_once dirname(__FILE__).'/shared/main.php'; require_once dirname(__FILE__).'/shared/requests.php'; require_once dirname(__FILE__).'/shared/cache.php'; +require_once dirname(__FILE__).'/shared/fileinfo.php'; require_once dirname(__FILE__).'/listid.php'; function uupFetchUpd( @@ -288,10 +289,9 @@ function parseFetchUpdate($updateInfo, $out, $arch, $ring, $flight, $build, $sku } $fileWrite = 'NO_SAVE'; - if(!file_exists('fileinfo/'.$updateString.'.json')) { + if(!uupApiFileInfoExists($updateId)) { consoleLogger('WARNING: This build is NOT in the database. It will be saved now.'); consoleLogger('Parsing information to write...'); - if(!file_exists('fileinfo')) mkdir('fileinfo'); $fileList = preg_replace('/|<\/Files>/', '', $fileList[0]); preg_match_all('//', $fileList, $fileList); @@ -349,7 +349,7 @@ function parseFetchUpdate($updateInfo, $out, $arch, $ring, $flight, $build, $sku consoleLogger('Successfully parsed the information.'); consoleLogger('Writing new build information to the disk...'); - $success = file_put_contents('fileinfo/'.$updateString.'.json', json_encode($temp)."\n"); + $success = uupApiWriteFileinfo($updateString, $temp); if($success) { consoleLogger('Successfully written build information to the disk.'); $fileWrite = 'INFO_WRITTEN'; diff --git a/get.php b/get.php index 596de3d..1dea2c5 100644 --- a/get.php +++ b/get.php @@ -19,6 +19,7 @@ require_once dirname(__FILE__).'/shared/main.php'; require_once dirname(__FILE__).'/shared/requests.php'; require_once dirname(__FILE__).'/shared/packs.php'; require_once dirname(__FILE__).'/shared/cache.php'; +require_once dirname(__FILE__).'/shared/fileinfo.php'; /* $updateId = Update Identifier @@ -43,10 +44,10 @@ function uupGetFiles( } if(!uupApiCheckUpdateId($updateId)) { - return array('error' => 'INCORRECT_ID'); + return array('error' => 'INCORRECT_ID'); } - $info = @file_get_contents('fileinfo/'.$updateId.'.json'); + $info = uupApiReadFileinfo($updateId); if(empty($info)) { $info = array( 'ring' => 'WIF', @@ -56,8 +57,6 @@ function uupGetFiles( 'sku' => '48', 'files' => array(), ); - } else { - $info = json_decode($info, true); } if(isset($info['build'])) { diff --git a/listid.php b/listid.php index c23f3b1..970ff76 100644 --- a/listid.php +++ b/listid.php @@ -17,6 +17,7 @@ limitations under the License. require_once dirname(__FILE__).'/shared/main.php'; require_once dirname(__FILE__).'/shared/cache.php'; +require_once dirname(__FILE__).'/shared/fileinfo.php'; function uupApiPrivateInvalidateFileinfoCache() { $cache1 = new UupDumpCache('listid-0', false); @@ -27,18 +28,19 @@ function uupApiPrivateInvalidateFileinfoCache() { } function uupApiPrivateGetFromFileinfo($sortByDate = 0) { - if(!file_exists('fileinfo')) return false; + $dirs = uupApiGetFileinfoDirs(); + $fileinfo = $dirs['fileinfoData']; + $fileinfoRoot = $dirs['fileinfo']; - $files = scandir('fileinfo'); + $files = scandir($fileinfo); $files = preg_grep('/\.json$/', $files); consoleLogger('Parsing database info...'); - $cacheFile = 'cache/fileinfo_v2.json'; + $cacheFile = $fileinfoRoot.'/cache.json'; $cacheV2Version = 1; - $database = @file_get_contents($cacheFile); - $database = json_decode($database, true); + $database = uupApiReadJson($cacheFile); if(isset($database['version'])) { $version = $database['version']; @@ -57,12 +59,13 @@ function uupApiPrivateGetFromFileinfo($sortByDate = 0) { $newDb = array(); $builds = array(); foreach($files as $file) { - if($file == '.' || $file == '..') continue; + if($file == '.' || $file == '..') + continue; + $uuid = preg_replace('/\.json$/', '', $file); if(!isset($database[$uuid])) { - $info = @file_get_contents('fileinfo/'.$file); - $info = json_decode($info, true); + $info = uupApiReadFileinfoMeta($uuid); $title = isset($info['title']) ? $info['title'] : 'UNKNOWN'; $build = isset($info['build']) ? $info['build'] : 'UNKNOWN'; diff --git a/shared/fileinfo.php b/shared/fileinfo.php new file mode 100644 index 0000000..acb1141 --- /dev/null +++ b/shared/fileinfo.php @@ -0,0 +1,94 @@ +get(); - $cached = ($info !== false); - } - - if(!$cached) { - $info = @file_get_contents('fileinfo/'.$updateId.'.json'); - if(empty($info)) return false; - $info = json_decode($info, true); - } - - if($ignoreFiles) { - if(isset($info['files'])) unset($info['files']); - - if(!$cached) { - $cache->put($info, false); - } - } - - return $info; -} +require_once dirname(__FILE__).'/shared/fileinfo.php'; function uupUpdateInfo($updateId, $onlyInfo = 0, $ignoreFiles = false) { - $info = uupApiPrivateGetFileinfo($updateId, $ignoreFiles); + $info = uupApiReadFileinfo($updateId, $ignoreFiles); if($info === false) { return ['error' => 'UPDATE_INFORMATION_NOT_EXISTS']; }