$manifest = ext_module_manifest($module['name']);
     if (!is_array($manifest) || empty($manifest)) {
         $ret = ext_module_manifest_compat($id);
         if (!empty($ret) && !empty($ret['convert'])) {
             $manifest = $ret['convert'];
             $version_error = true;
         }
     }
     if (is_array($manifest) && version_compare($module['version'], $manifest['application']['version']) == -1) {
         $module['upgrade'] = 1;
     }
     $isinstall = true;
     $from = 'installed';
 } else {
     require model('cloud');
     $define = cloud_m_info($id);
     if (!empty($define)) {
         $manifest = ext_module_manifest_parse($define);
         $from = 'cloud';
     }
     if (empty($manifest)) {
         $manifest = ext_module_manifest($id);
         if (!is_array($manifest) || empty($manifest)) {
             $ret = ext_module_manifest_compat($id);
             if (!empty($ret) && !empty($ret['convert'])) {
                 $manifest = $ret['convert'];
                 $version_error = true;
             }
         }
         $from = 'local';
     }
Example #2
0
        if (!is_error($upgrade) && !empty($upgrade['upgrade'])) {
            $upgrade = array('version' => $upgrade['version'], 'release' => $upgrade['release'], 'upgrade' => 1, 'lastupdate' => TIMESTAMP);
            cache_write('checkupgrade:system', $upgrade);
            message($upgrade, '', 'ajax');
        } else {
            $upgrade = array('lastupdate' => TIMESTAMP);
            cache_write('checkupgrade:system', $upgrade);
        }
    } else {
        message($lock, '', 'ajax');
    }
} elseif ($do == 'module') {
    $modulename = $_GPC['m'];
    $module = pdo_fetch("SELECT mid, name, version, title FROM " . tablename('modules') . " WHERE name = :name", array(':name' => $modulename));
    if (!empty($module)) {
        $info = cloud_m_info($modulename);
        if (!empty($info) && !empty($info['version']['version'])) {
            if (ver_compare($module['version'], $info['version']['version'])) {
                $upgrade = array('name' => $module['title'], 'version' => $info['version']['version'], 'upgrade' => 1, 'lastupdate' => TIMESTAMP);
                message($upgrade, '', 'ajax');
            }
        } else {
            $manifest = ext_module_manifest($modulename);
            if (!empty($manifest)) {
                if (ver_compare($module['version'], $manifest['application']['version'])) {
                    $upgrade = array('name' => $module['title'], 'version' => $manifest['application']['version'], 'upgrade' => 1, 'lastupdate' => TIMESTAMP);
                    message($upgrade, '', 'ajax');
                }
            }
        }
    }
Example #3
0
     message('模块已经被卸载或是不存在!', '', 'error');
 }
 if (!empty($module['issystem'])) {
     message('系统模块不能卸载!', '', 'error');
 }
 if ($module['isrulefields'] && !isset($_GPC['confirm'])) {
     message('卸载模块时同时删除规则数据吗, 删除规则数据将同时删除相关规则的统计分析数据?<div><a class="btn btn-primary" style="width:80px;" href="' . url('extension/module/uninstall', array('id' => $_GPC['id'], 'confirm' => 1)) . '">是</a> &nbsp;&nbsp;<a class="btn btn-default" style="width:80px;" href="' . url('extension/module/uninstall', array('id' => $_GPC['id'], 'confirm' => 0)) . '">否</a></div>', '', 'tips');
 } else {
     $modulepath = IA_ROOT . '/addons/' . $id . '/';
     $manifest = ext_module_manifest($module['name']);
     if (empty($manifest)) {
         $r = cloud_prepare();
         if (is_error($r)) {
             message($r['message'], url('cloud/profile'), 'error');
         }
         $info = cloud_m_info($module['name']);
         if (!is_error($info)) {
             $packet = cloud_m_build($module['name']);
             $manifest = ext_module_manifest_parse($packet['manifest']);
         } else {
             message($info['message'], '', 'error');
         }
     }
     ext_module_clean($id, $_GPC['confirm'] == '1');
     cache_build_modules();
     if (!empty($manifest['uninstall'])) {
         if (strexists($manifest['uninstall'], '.php')) {
             if (file_exists($modulepath . $manifest['uninstall'])) {
                 include_once $modulepath . $manifest['uninstall'];
             }
         } else {
<?php

/**
 * [WeEngine System] Copyright (c) 2014 WE7.CC
 * WeEngine is NOT a free software, it under the license terms, visited http://www.we7.cc/ for more details.
 */
defined('IN_IA') or exit('Access Denied');
load()->model('cloud');
load()->func('communication');
$do = !empty($_GPC['do']) && in_array($do, array('module', 'system')) ? $_GPC['do'] : exit('Access Denied');
$result = cloud_prepare();
if (is_error($result)) {
    message($result['message'], '', 'ajax');
}
if ($do == 'module') {
    $info = cloud_m_info(trim($_GPC['m']));
    if (is_error($info) && $info['errno'] == -10) {
        message($info, '', 'ajax');
    }
}