diff --git a/lib/browse/FolderBrowser.inc b/lib/browse/FolderBrowser.inc index 083ae35..b319e8e 100644 --- a/lib/browse/FolderBrowser.inc +++ b/lib/browse/FolderBrowser.inc @@ -108,6 +108,10 @@ class FolderBrowser extends Browser { $default->log->debug("FolderBrowser::browseByFolder: folderID=" . $iFolderID); + if (!Folder::folderExistsID($iFolderID)) { + return new PEAR_Error(_("This folder does not exist")); + } + // get the folder $rootFolder = Folder::get($iFolderID); // FIXME: check permissions for the current folder before getting children diff --git a/presentation/lookAndFeel/knowledgeTree/documentmanagement/browseBL.php b/presentation/lookAndFeel/knowledgeTree/documentmanagement/browseBL.php index 4c1cafd..f046d36 100644 --- a/presentation/lookAndFeel/knowledgeTree/documentmanagement/browseBL.php +++ b/presentation/lookAndFeel/knowledgeTree/documentmanagement/browseBL.php @@ -101,6 +101,19 @@ $sectionName = $oBrowser->getSectionName(); // instantiate my content pattern $oContent = new PatternCustom(); $aResults = $oBrowser->browse(); + +require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); + +if (PEAR::isError($aResults)) { + $oContent->setHtml("\n"); + $main->setErrorMessage($aResults->getMessage()); + $main->setCentralPayload($oContent); + $main->setFormAction($_SERVER["PHP_SELF"]); + $main->setSubmitMethod("GET"); + $main->render(); + exit(0); +} + if (($fBrowseType == "folder") && (!isset($fFolderID))) { // FIXME: check that the first folder in the array exists, no permission otherwise if ($default->browseToRoot) { @@ -110,7 +123,6 @@ if (($fBrowseType == "folder") && (!isset($fFolderID))) { } } -require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); // display the browse results $oContent->addHtml(renderPage($aResults, $fBrowseType, $fSortBy, $fSortDirection)); $main->setCentralPayload($oContent);