public function install() { $name = $_POST['name']; $this->alert_str($name, '', true); $dir = __ROOTDIR__ . '/plugins/' . $name; //获取插件信息 $info = model('plugin')->info($name); if (empty($info)) { $this->msg('插件信息获取错误!', 0); } if ($info['rely']) { $rely = explode(',', $info['rely']); if (!empty($rely)) { foreach ($rely as $value) { if (!model('plugin')->info_data_count($value)) { $this->msg('没有发现依赖插件:' . $value, 0); } } } } //导入数据库 $db = new Dbbak($this->config['DB_HOST'], $this->config['DB_USER'], $this->config['DB_PWD'], $this->config['DB_NAME'], 'utf8', $dir . '/dbbak/'); $db->importSql('', $info['prefix'], $this->config['DB_PREFIX']); if (!$info['nomenu']) { //添加菜单 $mid = model('plugin')->add_menu($info); if (empty($mid)) { $this->msg('菜单添加失败!', 0); } } //添加模块 $id = model('plugin')->add($info, $mid); @Plugin::run($name, 'install', $id); $this->msg('插件安装成功!', 1); }
public function in_data() { $table = $_POST['table']; if (empty($table)) { $this->msg('文件夹名尚未填写!', 0); } $dir = __ROOTDIR__ . '/data/form/' . $table; $config = @Xml::decode(file_get_contents($dir . '/form.xml')); $config = $config['config']; if (empty($config)) { $this->msg('无法获取模型配置!', 0); } if (!file_exists($dir) || !file_exists($dir . '/dbbak/')) { $this->msg($table . '目录不存在!或者目录结构错误!', 0); } if (model('form')->table_info($config['table'])) { $this->msg($table . '表单已经存在,无法重复导入!', 0); } //导入数据库 $db = new Dbbak($this->config['DB_HOST'], $this->config['DB_USER'], $this->config['DB_PWD'], $this->config['DB_NAME'], 'utf8', $dir . '/dbbak/'); if (!$db->importSql('', $config['prefix'], $this->config['DB_PREFIX'])) { $this->msg('数据库导入失败!', 0); } //修改关联信息 $info = model('form')->associate_edit(); $this->msg('模型导入完毕!', 1); }
public function in_data() { $table = $_POST['table']; if (empty($table)) { $this->msg('文件夹名尚未填写!', 0); } $dir = __ROOTDIR__ . '/data/module/' . $table; $config = @Xml::decode(file_get_contents($dir . '/model.xml')); $config = $config['config']; if (empty($config)) { $this->msg('无法获取模型配置!', 0); } if (!file_exists($dir) || !file_exists($dir . '/file/') || !file_exists($dir . '/dbbak/')) { $this->msg($table . '目录不存在!或者目录结构错误!', 0); } if (model('model_manage')->search($config['model'])) { $this->msg($table . '模型已经存在,无法重复导入!', 0); } //复制文件 if (!copy_dir($dir . '/file/', __ROOTDIR__)) { $this->msg('模型文件导入失败,可能网站目录没有写入权限!', 0); } //导入数据库 $db = new Dbbak($this->config['DB_HOST'], $this->config['DB_USER'], $this->config['DB_PWD'], $this->config['DB_NAME'], 'utf8', $dir . '/dbbak/'); if (!$db->importSql('', $config['prefix'], $this->config['DB_PREFIX'])) { $this->msg('数据库导入失败!', 0); } if (method_exists($info['model'], 'model_ini_in')) { model($info['model'])->model_ini_in(); } $this->msg('模型导入完毕!', 1); }