12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- <?php
- defined('IN_PHPCMS') or exit('No permission resources.');
- pc_base::load_app_class('admin','admin',0);
- class module extends admin {
- private $db;
-
- public function __construct() {
- $this->db = pc_base::load_model('module_model');
- parent::__construct();
- }
-
- public function init() {
- $dirs = $module = $dirs_arr = $directory = array();
- $dirs = glob(PC_PATH.DIRECTORY_SEPARATOR.'modules'.DIRECTORY_SEPARATOR.'*');
- foreach ($dirs as $d) {
- if (is_dir($d)) {
- $d = basename($d);
- $dirs_arr[] = $d;
- }
- }
- define('INSTALL', true);
- $modules = $this->db->select('', '*', '', '', '', 'module');
- $total = count($dirs_arr);
- $dirs_arr = array_chunk($dirs_arr, 20, true);
- $page = max(intval($_GET['page']), 1);
- $pages = pages($total, $page, 20);
- $directory = $dirs_arr[intval($page-1)];
- include $this->admin_tpl('module_list');
- }
-
- /**
- * 模块安装
- */
- public function install() {
- $this->module = $_POST['module'] ? $_POST['module'] : $_GET['module'];
- $module_api = pc_base::load_app_class('module_api');
- if (!$module_api->check($this->module)) showmessage($module_api->error_msg, 'blank');
- if ($_POST['dosubmit']) {
- if ($module_api->install()) showmessage(L('success_module_install').L('update_cache'), '?m=admin&c=module&a=cache&pc_hash='.$_SESSION['pc_hash']);
- else showmesage($module_api->error_msg, HTTP_REFERER);
- } else {
- include PC_PATH.'modules'.DIRECTORY_SEPARATOR.$this->module.DIRECTORY_SEPARATOR.'install'.DIRECTORY_SEPARATOR.'config.inc.php';
- include $this->admin_tpl('module_config');
- }
- }
-
- /**
- * 模块卸载
- */
- public function uninstall() {
- if(!isset($_GET['module']) || empty($_GET['module'])) showmessage(L('illegal_parameters'));
-
- $module_api = pc_base::load_app_class('module_api');
- if(!$module_api->uninstall($_GET['module'])) showmessage($module_api->error_msg, 'blank');
- else showmessage(L('uninstall_success'), '?m=admin&c=module&a=cache&pc_hash='.$_SESSION['pc_hash']);
- }
-
- /**
- * 更新模块缓存
- */
- public function cache() {
- echo '<script type="text/javascript">parent.right.location.href = \'?m=admin&c=cache_all&a=init&pc_hash='.$_SESSION['pc_hash'].'\';window.top.art.dialog({id:\'install\'}).close();</script>';
- //showmessage(L('update_cache').L('success'), '', '', 'install');
- }
- }
- ?>
|