예제 #1
0
파일: api.php 프로젝트: a195474368/ejw
 //模块升级
 case 'upgrade':
     //通信已关闭
     if ($connect == 'off') {
         exit(serialize(array('return' => 'connect', 'connect' => $connect)));
     }
     //缺少必要参数
     if (!$command['appid'] || !$command['package']) {
         exit(serialize(array('return' => 'argument', 'appid' => $command['appid'], 'package' => $command['package'])));
     }
     //无效模块
     if (Module::exists($command['appid']) === FALSE) {
         exit(serialize(array('return' => 'invalid', 'appid' => $command['appid'])));
     }
     //测试读写权限
     $status = Cloud::valid_perm($module);
     if (count($status)) {
         exit(serialize(array('return' => 'permission', 'catalog' => $status)));
     }
     //升级模块
     $status = Cloud::upgrade_module($command['package'], $command['hash'], $command['appid'], $command['option']['upgrade']['ignore']);
     //升级成功
     if ($status > 0) {
         //执行升级脚本
         Module::upgrade($command['appid']);
         //缓存模块
         Module::search();
         exit(serialize(array('return' => 'success', 'appid' => $command['appid'], 'status' => 'success')));
     } else {
         exit(serialize(array('return' => 'package', 'appid' => $command['appid'], 'status' => $status, 'lastfile' => Cloud::$lastfile)));
     }