From f385acc4b5ab56bacbd3ba08cc23a2e1e2ae4d41 Mon Sep 17 00:00:00 2001 From: holan20180123 <56391770@qq.com> Date: Wed, 7 Apr 2021 11:35:04 +0800 Subject: [PATCH 1/8] * Finish task #37114. --- module/doc/control.php | 29 +++++++++++++++++++++++++---- module/doc/lang/de.php | 2 ++ module/doc/lang/en.php | 2 ++ module/doc/lang/fr.php | 2 ++ module/doc/lang/vi.php | 2 ++ module/doc/lang/zh-cn.php | 2 ++ module/doc/lang/zh-tw.php | 2 ++ module/doc/model.php | 10 +++++----- module/doc/view/side.html.php | 22 ++++++++++++++++++---- 9 files changed, 60 insertions(+), 13 deletions(-) diff --git a/module/doc/control.php b/module/doc/control.php index 775531fe04..f22d3705c9 100644 --- a/module/doc/control.php +++ b/module/doc/control.php @@ -214,7 +214,7 @@ class doc extends control if(!dao::isError()) { $this->action->create('docLib', $libID, 'Created'); - die(js::locate($this->createLink('doc', 'objectLibs', "type=$type&objectID=$objectID&libID=$libID"), 'parent.parent')); + die(js::locate($this->createLink('doc', 'objectLibs', "type={$this->post->type}&objectID=$objectID&libID=$libID"), 'parent.parent')); } else { @@ -297,6 +297,11 @@ class doc extends control if(!empty($lib->main)) die(js::alert($this->lang->doc->errorMainSysLib)); $this->doc->delete(TABLE_DOCLIB, $libID); + if(isonlybody()) + { + unset($_GET['onlybody']); + die(js::locate($this->createLink('doc', 'objectLibs', 'type=book'), 'parent.parent')); + } die(js::locate($this->createLink('doc', 'index'), 'parent')); } } @@ -924,6 +929,22 @@ class doc extends control $object = new stdclass(); $object->id = 0; } + elseif($type == 'book') + { + $libs = $this->doc->getLibsByObject('book', 0); + $this->app->rawMethod = 'book'; + if($libID == 0) $libID = key($libs); + $this->lang->modulePageNav = $this->doc->select($type, $objects, $objectID, $libs, $libID); + + if(!$docID) $docID = $this->dao->select('id')->from(TABLE_DOC) + ->where('lib')->eq($libID) + ->andWhere('type')->eq('article') + ->andWhere('deleted')->eq(0) + ->fetch('id'); + + $object = new stdclass(); + $object->id = 0; + } else { if($type == 'product') @@ -978,7 +999,7 @@ class doc extends control $this->lang->TRActions = common::hasPriv('doc', 'create') ? $this->doc->buildCreateButton4Doc($type, $objectID, $libID) : ''; - $moduleTree = $this->doc->getTreeMenu($type, $objectID, $libID, 0, $docID); + $moduleTree = $type == 'book' ? $this->doc->getBookStructure($libID) : $this->doc->getTreeMenu($type, $objectID, $libID, 0, $docID); /* Get doc. */ if($docID) @@ -997,8 +1018,8 @@ class doc extends control $this->view->customObjectLibs = $customObjectLibs; $this->view->showLibs = $this->config->doc->custom->objectLibs; - $this->view->title = $type == 'custom' ? $this->lang->doc->customAB : $object->name; - $this->view->position[] = $type == 'custom' ? $this->lang->doc->customAB : $object->name; + $this->view->title = ($type == 'book' or $type == 'custom') ? $this->lang->doc->customAB : $object->name; + $this->view->position[] = ($type == 'book' or $type == 'custom') ? $this->lang->doc->customAB : $object->name; $this->view->docID = $docID; $this->view->doc = $docID ? $doc : ''; diff --git a/module/doc/lang/de.php b/module/doc/lang/de.php index 7156a50fbd..c040fe7d92 100644 --- a/module/doc/lang/de.php +++ b/module/doc/lang/de.php @@ -74,6 +74,8 @@ $lang->doc->diff = 'Diff'; $lang->doc->diffAction = 'Diff Document'; $lang->doc->sort = 'Sortierung'; $lang->doc->manageType = 'Kategorie verwalten'; +$lang->doc->manageBook = 'Manage Book'; +$lang->doc->editBook = 'Edit Book'; $lang->doc->editType = 'Bearbeiten'; $lang->doc->deleteType = 'Löschen'; $lang->doc->addType = 'Hinzufügen'; diff --git a/module/doc/lang/en.php b/module/doc/lang/en.php index 401394270b..2feaaf0ed2 100644 --- a/module/doc/lang/en.php +++ b/module/doc/lang/en.php @@ -76,6 +76,8 @@ $lang->doc->diff = 'Diff'; $lang->doc->diffAction = 'Diff Document'; $lang->doc->sort = 'Rank Document'; $lang->doc->manageType = 'Manage Category'; +$lang->doc->manageBook = 'Manage Book'; +$lang->doc->editBook = 'Edit Book'; $lang->doc->editType = 'Edit'; $lang->doc->deleteType = 'Delete'; $lang->doc->addType = 'Add'; diff --git a/module/doc/lang/fr.php b/module/doc/lang/fr.php index 2e67aa2a24..a946d5cab8 100644 --- a/module/doc/lang/fr.php +++ b/module/doc/lang/fr.php @@ -74,6 +74,8 @@ $lang->doc->diff = 'Diff'; $lang->doc->diffAction = 'Document Diff'; $lang->doc->sort = 'Rang Document'; $lang->doc->manageType = 'Gérer Catégories'; +$lang->doc->manageBook = 'Manage Book'; +$lang->doc->editBook = 'Edit Book'; $lang->doc->editType = 'Editer'; $lang->doc->deleteType = 'Supprimer'; $lang->doc->addType = 'Ajouter'; diff --git a/module/doc/lang/vi.php b/module/doc/lang/vi.php index 4f5fdf7735..e09202592b 100644 --- a/module/doc/lang/vi.php +++ b/module/doc/lang/vi.php @@ -74,6 +74,8 @@ $lang->doc->diff = 'Diff'; $lang->doc->diffAction = 'Diff tài liệu'; $lang->doc->sort = 'Đánh giá tài liệu'; $lang->doc->manageType = 'Quản lý danh mục'; +$lang->doc->manageBook = 'Manage Book'; +$lang->doc->editBook = 'Edit Book'; $lang->doc->editType = 'Sửa'; $lang->doc->deleteType = 'Xóa'; $lang->doc->addType = 'Thêm'; diff --git a/module/doc/lang/zh-cn.php b/module/doc/lang/zh-cn.php index c3dc4b9a53..fa29fb7786 100644 --- a/module/doc/lang/zh-cn.php +++ b/module/doc/lang/zh-cn.php @@ -76,6 +76,8 @@ $lang->doc->diff = '对比'; $lang->doc->diffAction = '对比文档'; $lang->doc->sort = '文档排序'; $lang->doc->manageType = '维护目录'; +$lang->doc->manageBook = '维护手册'; +$lang->doc->editBook = '编辑手册'; $lang->doc->editType = '编辑目录'; $lang->doc->deleteType = '删除目录'; $lang->doc->addType = '增加目录'; diff --git a/module/doc/lang/zh-tw.php b/module/doc/lang/zh-tw.php index b5aa6114b4..ac78959b60 100644 --- a/module/doc/lang/zh-tw.php +++ b/module/doc/lang/zh-tw.php @@ -74,6 +74,8 @@ $lang->doc->diff = '對比'; $lang->doc->diffAction = '對比文檔'; $lang->doc->sort = '文檔排序'; $lang->doc->manageType = '維護分類'; +$lang->doc->manageBook = '維護手冊'; +$lang->doc->editBook = '編輯手冊'; $lang->doc->editType = '編輯分類'; $lang->doc->deleteType = '刪除分類'; $lang->doc->addType = '增加分類'; diff --git a/module/doc/model.php b/module/doc/model.php index 7492ae7996..62c03a2e19 100644 --- a/module/doc/model.php +++ b/module/doc/model.php @@ -653,7 +653,7 @@ class docModel extends model if(isset($doc->digest)) $docContent->digest = $doc->digest; if($files) $docContent->files .= ',' . join(',', array_keys($files)); $docContent->files = trim($docContent->files, ','); - $this->dao->insert(TABLE_DOCCONTENT)->data($docContent)->exec(); + $this->dao->replace(TABLE_DOCCONTENT)->data($docContent)->exec(); } unset($doc->contentType); @@ -1119,9 +1119,9 @@ class docModel extends model */ public function getLibsByObject($type, $objectID, $mode = '') { - if($type == 'custom') + if($type == 'custom' or $type == 'book') { - $objectLibs = $this->dao->select('*')->from(TABLE_DOCLIB)->where('deleted')->eq(0)->andWhere('type')->eq('custom')->orderBy('`order`, id')->fetchAll('id'); + $objectLibs = $this->dao->select('*')->from(TABLE_DOCLIB)->where('deleted')->eq(0)->andWhere('type')->eq($type)->orderBy('`order`, id')->fetchAll('id'); } else if($type != 'product' and $type != 'project' and $type != 'execution') { @@ -1896,11 +1896,11 @@ EOF; */ public function select($type, $objects, $objectID, $libs, $libID = 0) { - if($type != 'custom' and empty($objects)) return ''; + if($type != 'custom' and $type != 'book' and empty($objects)) return ''; $output = ''; - if($this->app->openApp == 'doc' and $type != 'custom') + if($this->app->openApp == 'doc' and $type != 'custom' and $type != 'book') { $output = "