oFolder)); exit(0); } function getDisplayName() { return _kt('Display Details'); } } // }}} require_once(KT_LIB_DIR . "/widgets/forms.inc.php"); class KTFolderAddFolderAction extends KTFolderAction { var $sName = 'ktcore.actions.folder.addFolder'; var $_sShowPermission = "ktcore.permissions.addFolder"; function getDisplayName() { return _kt('Add a Folder'); } function form_main() { $oForm = new KTForm; $oForm->setOptions(array( 'context' => &$this, 'identifier' => 'ktcore.folder.add', 'action' => 'addFolder', 'fail_action' => 'main', 'cancel_url' => KTBrowseUtil::getUrlForFolder($this->oFolder), 'label' => _kt('Add a folder'), 'submit_label' => _kt('Add Folder'), 'extraargs' => $this->meldPersistQuery("","", true), )); // widgets $oForm->setWidgets(array( array('ktcore.widgets.string', array( 'label' => _kt('Folder name'), 'description' => _kt('The name for the new folder.'), 'required' => true, 'name' => 'name')), )); $oForm->setValidators(array( array('ktcore.validators.string', array( 'test' => 'name', 'output' => 'name')), )); return $oForm; } function do_main() { $this->oPage->setBreadcrumbDetails(_kt("add folder")); $oTemplate =& $this->oValidator->validateTemplate('ktcore/action/addFolder'); $oForm = $this->form_main(); $oTemplate->setData(array( 'context' => &$this, 'form' => $oForm, )); return $oTemplate->render(); } function do_addFolder() { $oForm = $this->form_main(); $res = $oForm->validate(); if (!empty($res['errors'])) { $oForm->handleError(); } $res = $res['results']; if(KTFolderUtil::exists($this->oFolder, $res['name'])) { $oForm->handleError(null, array('name' => _kt('A folder with that name already exists.'))); } $this->startTransaction(); $res = KTFolderUtil::add($this->oFolder, $res['name'], $this->oUser); $aErrorOptions['defaultmessage'] = _kt("Could not create folder in the document management system"); $this->oValidator->notError($res, $aErrorOptions); $this->commitTransaction(); controllerRedirect('browse', sprintf('fFolderId=%d', $res->getId())); exit(0); } } ?>