diff --git a/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderDocumentTypes.php b/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderDocumentTypes.php new file mode 100644 index 0000000..65acf25 --- /dev/null +++ b/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderDocumentTypes.php @@ -0,0 +1,72 @@ +permissionDenied(); + exit(0); + } + $oPermission = KTPermission::getByName('ktcore.permissions.write'); + $this->oFolder =& Folder::get($_REQUEST['fFolderId']); + $oUser =& User::get($_SESSION['userID']); + if (!KTPermissionUtil::userHasPermissionOnItem($oUser, $oPermission, $this->oFolder)) { + $this->permissionDenied(); + exit(0); + } + return true; + } + + function do_main() { + $oTemplating =& KTTemplating::getSingleton(); + $oTemplate = $oTemplating->loadTemplate('ktcore/documenttypes/folderassign'); + + $sTable = KTUtil::getTableName('folder_doctypes'); + $aQuery = array( + "SELECT document_type_id FROM $sTable WHERE folder_id = ?", + array($this->oFolder->getId()), + ); + $aSelectedIds = DBUtil::getResultArrayKey($aQuery, 'document_type_id'); + + $oTemplate->setData(array( + 'oFolder' => $this->oFolder, + 'document_types' => DocumentType::getList(), + 'selected_types' => $aSelectedIds, + )); + return $oTemplate; + } + + function do_assign() { + if (empty($_REQUEST['restricted'])) { + $this->oFolder->setRestrictDocumentTypes(false); + } else { + $this->oFolder->setRestrictDocumentTypes(true); + } + + $sTable = KTUtil::getTableName('folder_doctypes'); + $res = DBUtil::runQuery(array( + "DELETE FROM $sTable WHERE folder_id = ?", + array($this->oFolder->getId()), + )); + foreach ($_REQUEST['document_types'] as $iDocumentTypeId) { + $oLink = new FolderDocTypeLink($this->oFolder->getId(), $iDocumentTypeId); + $oLink->create(); + } + $this->oFolder->update(); + $this->errorRedirectToMain('Changes made', 'fFolderId=' . + $this->oFolder->getId()); + exit(0); + } +} + +$d =& new KTFolderDocumentTypeDispatcher; +$d->dispatch(); + +?> diff --git a/templates/ktcore/documenttypes/folderassign.smarty b/templates/ktcore/documenttypes/folderassign.smarty new file mode 100644 index 0000000..0e99831 --- /dev/null +++ b/templates/ktcore/documenttypes/folderassign.smarty @@ -0,0 +1,20 @@ +
Select document types allowed in folder:
+ + + +{assign var="iFolderId" value=$oFolder->getId()} +Back to folder