Пример #1
0
 public static function fileCheck()
 {
     $channel = Option::get('channel') == 'dev' ?: 'stable';
     $current_version = Option::get("version");
     $data = self::doGet(self::UPDATE_SERVER . "file.json?channel={$channel}&ver={$current_version}");
     if (!$data) {
         return -1;
     }
     // 请求更新服务器失败
     $data = json_decode($data, true);
     $file_list = $data['list'];
     if (!$file_list) {
         return -2;
     }
     // 更新服务器文件列表为空
     $err_file = $list = array();
     foreach ($file_list as $file) {
         $path = $file['path'];
         $hash = $file['hash'];
         $file_hash = md5_file(ROOT_PATH . "{$path}");
         if ($file_hash != $hash) {
             $err_file[] = array($path, $hash);
             $list[] = $path;
         }
     }
     if (!$list) {
         return 0;
     }
     // 无文件更新
     Option::set('new_version', 1);
     sort($list);
     sort($err_file);
     Downloader::save('kk_updater', $err_file);
     Downloader::save('need_download', $err_file);
     return $list;
 }