123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- <?php
- /**
- * Created by PhpStorm.
- * User: 中闽 < 1464674022@qq.com >
- * Date: 2019/12/5
- * Time: 17:44
- */
- namespace app\admin\controller;
- use app\admin\controller\base\Permissions;
- use app\common\model\Templet as tpModel;
- use app\common\service\UploadService;
- use file\FileHelper;
- use paginate\PaginateHelper;
- class Templet extends Permissions
- {
- public function index()
- {
- if ($this->request->isAjax()) {
- $name = $this->request->param('name');
- $data = tpModel::getTemplets(trim($name));
- $total = count($data);
- //分页
- $helper = new PaginateHelper($total, $this->request->param('limit'), $this->request->param('page'));
- $start = $helper->start() - 1;
- $end = $helper->end() - 1;
- foreach ($data as $k => $v) {
- if ($k > $end || $k < $start)
- unset($data[$k]);
- }
- return array('code' => 0, 'data' => $data, 'count' => $total);
- } else {
- $this->assign('tpPath', tpModel::getTempletDir());
- return $this->fetch();
- }
- }
- public function publish()
- {
- $rootpath = tpModel::getTempletDir();
- $post = $this->request->post();
- $filename = trim($this->request->param('filename'));//文件名
- $name = $this->request->param('name');//新增模板名
- if ($filename) {
- //修改操作
- $filePath = $rootpath . $filename . ".html";
- if ($this->request->isPost()) {
- $getfilemtime = $this->request->param('filemtime');
- if ($getfilemtime != filemtime($filePath)) {
- $this->error('文件版本不正确,请刷新后重新提交');
- }
- try {
- FileHelper::save($filePath, $post['content']);
- } catch (\Exception $e) {
- $this->error('修改失败.' . $e->getMessage());
- }
- $this->success('修改成功', '', filemtime($filePath));
- } else {
- if (file_exists($filePath)) {
- $this->assign('filename', $filename);
- $this->assign('filemtime', filemtime($filePath));
- $this->assign('content', FileHelper::read($filePath));
- return $this->fetch();
- } else {
- $this->error('模板格式不正确');
- }
- }
- } else {
- //新增操作
- if ($this->request->isPost()) {
- $validate = new \think\Validate([
- ['name|模板名称', 'require|alphaDash'],
- ]);
- if (!$validate->check($post)) {
- $this->error('提交失败:' . $validate->getError());
- }
- $filePath = $rootpath . $name . ".html";
- if (file_exists($filePath)) {
- $this->error('该文件已存在,请修改名称');
- } else {
- try {
- FileHelper::save($filePath, $post['content']);
- } catch (\Exception $e) {
- $this->error('添加失败.' . $e->getMessage());
- }
- }
- $this->success('添加成功', 'index');
- } else {
- return $this->fetch();
- }
- }
- }
- public function delete()
- {
- if ($this->request->isAjax()) {
- $fullname = $this->request->param('fullname');
- $rootpath = tpModel::getTempletDir();
- if (false == unlink($rootpath . $fullname)) {
- $this->error('删除失败');
- } else {
- $this->success('删除成功', 'index');
- }
- }
- }
- public function rename()
- {
- if ($this->request->isAjax()) {
- $oldname = $this->request->param('oldname');
- $newname = $this->request->param('newname');
- $rootpath = tpModel::getTempletDir();
- if (file_exists($rootpath . $newname)) {
- $this->error('文件已存在');
- }
- if (FileHelper::rename($rootpath . $oldname, $rootpath . $newname)) {
- (new \app\common\model\Catalog())->save(['catalog_templet' => $newname], ['catalog_templet' => $oldname]);
- (new \app\common\model\Catalog())->save(['article_templet' => $newname], ['article_templet' => $oldname]);
- $this->success('重命名成功', 'index');
- } else {
- $this->error('重命名失败');
- }
- }
- }
- public function upload()
- {
- $rootpath = tpModel::getTempletDir();
- (new UploadService())->upload2path($rootpath);
- }
- }
|