예제 #1
0
 function run_module()
 {
     $module_name = empty($_REQUEST['module']) ? false : strtolower(trim(str_replace('/', '', $_REQUEST['module'])));
     if (!$module_name) {
         $this->show_warning('no_such_module');
         return;
     }
     $file = defined('IN_BACKEND') ? 'admin' : 'index';
     $module_class_file = ROOT_PATH . '/external/modules/' . $module_name . '/' . $file . '.module.php';
     require ROOT_PATH . '/includes/module.base.php';
     require $module_class_file;
     define('MODULE', $module_name);
     $module_class_name = ucfirst($module_name) . 'Module';
     /* 判断模块是否启用 */
     $model_module =& m('module');
     $find_data = $model_module->find('index:' . $module_name);
     if (empty($find_data)) {
         /* 没有安装 */
         $this->show_warning('no_such_module');
         return;
     }
     $info = current($find_data);
     if (!$info['enabled']) {
         /* 尚未启用 */
         $this->show_warning('module_disabled');
         return;
     }
     /* 加载模块配置 */
     Conf::load(array($module_name . '_config' => unserialize($info['module_config'])));
     /* 运行模块 */
     $module = new $module_class_name();
     c($module);
     $module->do_action(ACT);
     $module->destruct();
 }
예제 #2
0
 public function __construct($conf)
 {
     Conf::load($conf);
     Request::load();
     Render::load();
 }