oPage->setBreadcrumbDetails(_kt("rename")); $this->oPage->setTitle(_kt('Rename folder')); $oTemplate =& $this->oValidator->validateTemplate('ktcore/folder/rename'); $fields = array(); $fields[] = new KTStringWidget(_kt('New folder name'), _kt('The name to which the current folder should be renamed.'), 'foldername', $this->oFolder->getName(), $this->oPage, true); $oTemplate->setData(array( 'context' => &$this, 'fields' => $fields, 'folderName' => $this->oFolder->getName(), )); return $oTemplate->render(); } function do_rename() { $aErrorOptions = array( 'redirect_to' => array('', sprintf('fFolderId=%d', $this->oFolder->getId())), ); $sFolderName = KTUtil::arrayGet($_REQUEST, 'foldername'); $aErrorOptions['defaultmessage'] = _kt("No folder name given"); $sFolderName = $this->oValidator->validateString($sFolderName, $aErrorOptions); $sFolderName = $this->oValidator->validateIllegalCharacters($sFolderName, $aErrorOptions); $sOldFolderName = $this->oFolder->getName(); if ($this->oFolder->getId() != 1) { $oParentFolder =& Folder::get($this->oFolder->getParentID()); if(PEAR::isError($oParentFolder)) { $this->errorRedirectToMain(_kt('Unable to retrieve parent folder.'), $aErrorOptions['redirect_to'][1]); exit(0); } if(KTFolderUtil::exists($oParentFolder, $sFolderName)) { $this->errorRedirectToMain(_kt('A folder with that name already exists.'), $aErrorOptions['redirect_to'][1]); exit(0); } } $res = KTFolderUtil::rename($this->oFolder, $sFolderName, $this->oUser); if (PEAR::isError($res)) { $_SESSION['KTErrorMessage'][] = $res->getMessage(); redirect(KTBrowseUtil::getUrlForFolder($this->oFolder)); exit(0); } else { $_SESSION['KTInfoMessage'][] = sprintf(_kt('Folder "%s" renamed to "%s".'), $sOldFolderName, $sFolderName); } $this->commitTransaction(); redirect(KTBrowseUtil::getUrlForFolder($this->oFolder)); exit(0); } } ?>