1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- /**
- * 更新
- */
- defined('InShopNC') or exit('Access Invalid!');
- class app_updateControl extends mobileHomeControl
- {
- const CACHE_KEY = "app_update";
- const CACHE_CHECK_VERSION_ID = 1;
- public function __construct()
- {
- parent::__construct();
- }
- /**
- * 版本验证
- *
- * 输入参数:
- * ver_code:版本号
- * platform: 平台
- */
- public function checkVersionOp()
- {
- $ver_code = $_GET['ver_code'];
- $app_platform = $_GET['platform'];
- if (isset($app_platform) && isset($ver_code))
- {
- $ret = rcache(self::CACHE_KEY, self::CACHE_CHECK_VERSION_ID);
- if (empty($ret)) {
- $model = Model();
- $data = $model->table('app_update')->where(array('cur_version' => '1', 'enable' => '1', 'platform' => $app_platform))->limit(1)->select();
- if (empty($data)) {
- return joutput_error(errcode::ErrDB);
- }
- wcache(self::CACHE_KEY, array("cur_version" => serialize($data)), self::CACHE_CHECK_VERSION_ID);
- } else {
- $data = unserialize($ret['cur_version']);
- }
- $result = array();
- $lowest_compatible_version = intval($data[0]['lowest_compatible_version']);
- if ($ver_code === $data[0]['ver_code']) {
- $result['latest'] = 0;
- } else {
- $result['latest'] = 1;
- if ($lowest_compatible_version > intval($ver_code)) {
- $result['force_update'] = 1;
- } else {
- $result['force_update'] = 0;
- }
- $update_info = array();
- $update_info['ver_code'] = $data[0]['ver_code'];
- $update_info['app_path'] = $data[0]['app_path'];
- $update_info['release_note'] = $data[0]['release_note'];
- $update_info['remind_time'] = $data[0]['remind_time'];
- $parse_url = parse_url($update_info['app_path']);
- $file_path = BASE_ROOT_PATH . $parse_url['path'];
- if(file_exists($file_path)) {
- $update_info['md5_file'] = md5_file($file_path);
- } else {
- $update_info['md5_file'] = '';
- }
- $result['update_info'] = $update_info;
- }
- joutput_data($result);
- } else {
- output_error('请输入平台和版本号!');
- }
- }
- }
|