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(); }
public function __construct($conf) { Conf::load($conf); Request::load(); Render::load(); }