/** * 更新系统设置 * @todo 后台设置是一个败笔之处。部分设置使用了JSON处理,部分没有。 * 本方法弱处理,成功与否都提示设置完毕。以后情况严重再修改吧。 2015-04-11 */ public function action() { $sitetitle = $this->isP('sitetitle', '请填写程序标题'); $upload_img = $this->isP('upload_img', '请填写上传图片格式'); $upload_file = $this->isP('upload_file', '请填写上传文件的格式'); $signup = in_array($_POST['signup'], array('0', '1')) ? $_POST['signup'] : $this->error('请选择是否开启注册'); $node_type = in_array($_POST['node_type'], array('0', '1')) ? $_POST['node_type'] : $this->error('请选择权限验证模式'); $urlModel = $this->isP('urlModel', '请选择URL模式'); $index = $this->isP('index', '请选择是否隐藏index.php'); $urlModel = json_encode(array('index' => $index, 'urlModel' => $urlModel, 'suffix' => '1')); $mail = $this->p('mail'); \Model\Option::update('sitetitle', $sitetitle); \Model\Option::update('signup', $signup); \Model\Option::update('node_type', $node_type); \Model\Option::update('upload_img', json_encode(explode(',', $upload_img))); \Model\Option::update('upload_file', json_encode(explode(',', $upload_file))); \Model\Option::update('mail', json_encode($mail)); \Model\Option::update('urlModel', $urlModel); $this->success('设置完毕!', $this->url('Team-Setting-action')); }
/** * 导入数据库 */ public function import() { $title = $this->isP('title', '请填写系统的标题'); $urlModel = $this->isP('urlModel', '请选择URL模式', FALSE); $data['user_account'] = $this->isP('account', '请填写管理员帐号'); $data['user_password'] = \Core\Func\CoreFunc::generatePwd($data['user_account'] . $this->isP('passwd', '请填写管理员密码'), 'PRIVATE_KEY'); $data['user_name'] = $this->isP('name', '请填写管理员名称'); $data['user_mail'] = $this->isP('mail', '请填写管理员邮箱'); //读取数据库文件 $sqlFile = file_get_contents(PES_PATH . '/Install/InstallDb/team.sql'); if (empty($sqlFile)) { $this->error('无法读取安装SQL文件'); } //配置PDO信息 $config = \Core\Func\CoreFunc::loadConfig(); try { $db = new \PDO("mysql:host={$config['DB_HOST']};port={$config['DB_PORT']};dbname={$config['DB_NAME']}", $config['DB_USER'], $config['DB_PWD']); } catch (\PDOException $e) { $this->error($e->getMessage()); } //安装数据库文件 $db->exec($sqlFile); \Core\Func\CoreFunc::$defaultPath = false; require PES_PATH . '/Expand/Identicon/autoload.php'; $identicon = new \Identicon\Identicon(); $imageDataUri = $identicon->getImageDataUri($data['user_mail']); $data['user_head'] = $imageDataUri; $data['user_department_id'] = $data['user_status'] = $data['user_group_id'] = '1'; //写入管理员帐号 $this->db('user')->insert($data); //更新系统配置 \Model\Option::update('sitetitle', $title); \Model\Option::update('urlModel', $urlModel); //更新根目录的index.php $readWriteFile = file_get_contents(PES_PATH . '/Install/Write/index.php'); $fopen = fopen(PES_PATH . '/index.php', 'w+'); fwrite($fopen, $readWriteFile); fclose($fopen); //标记程序已安装和移除安装数据库文件 unlink(PES_PATH . '/Install/index.php'); unlink(PES_PATH . '/Install/InstallDb/team.sql'); fclose(fopen(PES_PATH . '/Install/install.txt', 'w+')); fclose(fopen(PES_PATH . '/Install/index.html', 'w+')); $this->success('安装完成!'); }