From 0d379e20e3f116feb412bc4387be384b5913ceb4 Mon Sep 17 00:00:00 2001 From: Michael Joseph Date: Wed, 2 Jul 2003 15:12:08 +0000 Subject: [PATCH] refactored use of patterns and webpage template created separate modify folder data page (fixes ##2653) --- presentation/lookAndFeel/knowledgeTree/foldermanagement/editBL.php | 84 ++++++++---------------------------------------------------------------------------- presentation/lookAndFeel/knowledgeTree/foldermanagement/editUI.inc | 52 +++++++++++++++++----------------------------------- presentation/lookAndFeel/knowledgeTree/foldermanagement/modifyFolderDataBL.php | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ presentation/lookAndFeel/knowledgeTree/foldermanagement/modifyFolderDataUI.inc | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 167 insertions(+), 111 deletions(-) create mode 100644 presentation/lookAndFeel/knowledgeTree/foldermanagement/modifyFolderDataBL.php create mode 100644 presentation/lookAndFeel/knowledgeTree/foldermanagement/modifyFolderDataUI.inc diff --git a/presentation/lookAndFeel/knowledgeTree/foldermanagement/editBL.php b/presentation/lookAndFeel/knowledgeTree/foldermanagement/editBL.php index 2c6430a..25b2641 100644 --- a/presentation/lookAndFeel/knowledgeTree/foldermanagement/editBL.php +++ b/presentation/lookAndFeel/knowledgeTree/foldermanagement/editBL.php @@ -19,130 +19,62 @@ require_once("../../../../config/dmsDefaults.php"); if (checkSession()) { require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListBox.inc"); require_once("$default->fileSystemRoot/lib/visualpatterns/PatternEditableListFromQuery.inc"); + require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListFromQuery.inc"); require_once("editUI.inc"); require_once("$default->fileSystemRoot/lib/security/permission.inc"); - require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCustom.inc"); require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc"); require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc"); require_once("$default->fileSystemRoot/presentation/Html.inc"); + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); + $oPatternCustom = & new PatternCustom(); if (isset($fFolderID)) { $oFolder = Folder::get($fFolderID); if ($oFolder) { //if the user can edit the folder if (Permission::userHasFolderWritePermission($fFolderID)) { - if (isset($fForUpdate)) { - //user is updating folder data - $oFolder = Folder::get($fFolderID); - $oFolder->setDescription($fDescription); - if (isset($fIsPublic)) { - $oFolder->setIsPublic(true); - } else { - $oFolder->setIsPublic(false); - } - $bSuccessfulUpdate = false; - if (isset($fFolderName) && strcmp($oFolder->getName(), $fFolderName) != 0) { - //folder name has changed, update the full_path - $sOldName = $oFolder->getName(); - $sOldPath = $default->documentRoot . "/" . $oFolder->getFullPath() . "/" . $oFolder->getName(); - $oFolder->setName($fFolderName); - if ($oFolder->update(true)) { - $bSuccessfulUpdate = true; - if (!PhysicalFolderManagement::renameFolder($sOldPath, $default->documentRoot . "/" . $oFolder->getFullPath() . "/" . $oFolder->getName())) { - //reverse the database changes if the physical rename failed - $oFolder->setName($sOldName); - $oFolder->update(true); - $bSuccessfulUpdate = false; - } - } - } else { - $bSuccessfulUpdate = $oFolder->update(); - } - if ($bSuccessfulUpdate) { - $oPatternCustom = & new PatternCustom(); - $oPatternCustom->setHtml(getStatusPage($fFolderID, "Folder successfully updated")); - $main->setDHTMLScrolling(false); - $main->setOnLoadJavaScript("switchDiv('folderData', 'folder')"); - - $main->setCentralPayload($oPatternCustom); - $main->setHasRequiredFields(true); - $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=browse&fFolderID=$fFolderID")); - $main->render(); - } else { - $oPatternCustom = & new PatternCustom(); - $main->setDHTMLScrolling(false); - $main->setOnLoadJavaScript("switchDiv('folderData', 'folder')"); - - $oPatternCustom->setHtml(getStatusPage($fFolderID, "An error occurred while updating this folder")); - $main->setCentralPayload($oPatternCustom); - $main->setHasRequiredFields(true); - $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=browse&fFolderID=$fFolderID")); - $main->render(); - } - } else if (isset($fCollaborationEdit)) { + if (isset($fCollaborationEdit)) { //user attempted to edit the folder collaboration process but could not because there is //a document currently in this process - $oPatternCustom = & new PatternCustom(); - $main->setDHTMLScrolling(false); - $main->setOnLoadJavaScript("switchDiv('folderRouting', 'folder')"); + $oPatternCustom->setHtml(getStatusPage($fFolderID, "You cannot edit this folder collaboration process as a document is currently undergoing this collaboration process")); - $oPatternCustom->setHtml(getPage($fFolderID, "You cannot edit this folder collaboration process as a document is currently undergoing this collaboration process", true)); - $main->setCentralPayload($oPatternCustom); $main->setHasRequiredFields(true); $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=browse&fFolderID=$fFolderID")); - $main->render(); } else if (isset($fCollaborationDelete)) { //user attempted to delete the folder collaboration process but could not because there is //a document currently in this process - $oPatternCustom = & new PatternCustom(); - $main->setDHTMLScrolling(false); - $main->setOnLoadJavaScript("switchDiv('folderRouting', 'folder')"); - - $oPatternCustom->setHtml(getPage($fFolderID, "You cannot delete this folder collaboration process as a document is currently undergoing this collaboration process", true)); - $main->setCentralPayload($oPatternCustom); + $oPatternCustom->setHtml(getStatusPage($fFolderID, "You cannot delete this folder collaboration process as a document is currently undergoing this collaboration process")); $main->setHasRequiredFields(true); $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=browse&fFolderID=$fFolderID")); - $main->render(); } else { - $oPatternCustom = & new PatternCustom(); // does this folder have a document in it that has started collaboration? $bCollaboration = Folder::hasDocumentInCollaboration($fFolderID); $main->setDHTMLScrolling(false); $main->setOnLoadJavaScript("switchDiv('" . (isset($fShowSection) ? $fShowSection : "folderData") . "', 'folder')"); $oPatternCustom->setHtml(getPage($fFolderID, "", $bCollaboration)); - $main->setCentralPayload($oPatternCustom); $main->setHasRequiredFields(true); $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=browse&fFolderID=$fFolderID")); - $main->render(); } } else { //user does not have write permission for this folder, - require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); - $oPatternCustom = & new PatternCustom(); $oPatternCustom->setHtml("graphicsUrl/widgets/back.gif\" border=\"0\" />\n"); - $main->setCentralPayload($oPatternCustom); $main->setErrorMessage("You do not have permission to edit this folder"); - $main->render(); } } else { // folder doesn't exist - $oPatternCustom = & new PatternCustom(); $oPatternCustom->setHtml("graphicsUrl/widgets/back.gif\" border=\"0\" />\n"); - $main->setCentralPayload($oPatternCustom); $main->setErrorMessage("The folder you're trying to modify does not exist in the DMS"); $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=browse&fFolderID=$fFolderID")); - $main->render(); } } else { //else display an error message - $oPatternCustom = & new PatternCustom(); $oPatternCustom->setHtml("graphicsUrl/widgets/back.gif\" border=\"0\" />\n"); - $main->setCentralPayload($oPatternCustom); $main->setErrorMessage("No folder currently selected"); $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=browse&fFolderID=$fFolderID")); - $main->render(); } + $main->setCentralPayload($oPatternCustom); + $main->render(); } ?> \ No newline at end of file diff --git a/presentation/lookAndFeel/knowledgeTree/foldermanagement/editUI.inc b/presentation/lookAndFeel/knowledgeTree/foldermanagement/editUI.inc index f377876..309b8b1 100644 --- a/presentation/lookAndFeel/knowledgeTree/foldermanagement/editUI.inc +++ b/presentation/lookAndFeel/knowledgeTree/foldermanagement/editUI.inc @@ -17,7 +17,7 @@ function getFolderPath($iFolderID) { global $default; $sSectionName = $default->siteMap->getSectionName(substr($_SERVER["PHP_SELF"], strlen($default->rootUrl), strlen($_SERVER["PHP_SELF"]))); $sTDBGColour = $default->siteMap->getSectionColour($sSectionName, "td"); - return "
" . displayFolderPathLink(Folder::getFolderPathAsArray($iFolderID), Folder::getFolderPathNamesAsArray($iFolderID), "$default->rootUrl/control.php?action=browse") . "
\n"; + return "
" . displayFolderPathLink(Folder::getFolderPathAsArray($iFolderID), Folder::getFolderPathNamesAsArray($iFolderID), "$default->rootUrl/control.php?action=browse") . "
\n"; } function getFolderData($iFolderID, $sDivName, $sStatusMessage = "") { @@ -28,43 +28,25 @@ function getFolderData($iFolderID, $sDivName, $sStatusMessage = "") { "FROM $default->owl_folders_table AS F " . "WHERE F.id = $iFolderID"; - $sql = $default->db; - $sql->query($sQuery); + + $aColumns = array("name", "description", "is_public"); + $aColumnHeaders = array("Name", "Description", "Public"); + $aColumnTypes = array(1,1,2); + + $oPatternListFromQuery = & new PatternListFromQuery($sQuery, $aColumns, $aColumnHeaders, $aColumnTypes); + $oPatternListFromQuery->setTableHeading("Folder Data"); + $oPatternListFromQuery->setTableWidth("610"); $sToRender .= ""; - $sToRender .= ""; - //$sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "
"; - $sToRender .= "\n"; - $sToRender .= ""; - if ($sql->next_record()) { - $sToRender .= "\n"; - $sToRender .= "\n"; - if (Folder::folderIsUnitRootFolder($iFolderID)) { - $sToRender .= "\n"; - } else { - $sToRender .= "\n"; - } - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= ""; - $sToRender .= ""; - - } - $sToRender .= "
Folder Data
Name" . $sql->f("name") . "f("name") . "\" size=\"50\">
Descriptionf("description") . "\" size=\"50\">
Publicf("is_public") ? "CHECKED" : "") ." >
graphicsUrl/widgets/update.gif\" onClick=\"setActionAndSubmit('" . $_SERVER["PHP_SELF"] . "?fFolderID=$iFolderID&fForUpdate=1')\" border=\"0\" />
graphicsUrl/widgets/update.gif\" border=\"0\" />
\n"; + $sToRender .= "" . $oPatternListFromQuery->render() . ""; + $sToRender .= "rootUrl/control.php?action=modifyFolderData&fFolderID=$iFolderID\">graphicsUrl/widgets/edit.gif\" border=\"0\" />"; + $sToRender .= "";; - return renderSectionDiv($sDivName, $sToRender); + if ($sStatusMessage) { + return $sToRender; + } else { + return renderSectionDiv($sDivName, $sToRender); + } } function getFolderRouting($iFolderID, $sDivName, $bCollaboration) { diff --git a/presentation/lookAndFeel/knowledgeTree/foldermanagement/modifyFolderDataBL.php b/presentation/lookAndFeel/knowledgeTree/foldermanagement/modifyFolderDataBL.php new file mode 100644 index 0000000..7f05b92 --- /dev/null +++ b/presentation/lookAndFeel/knowledgeTree/foldermanagement/modifyFolderDataBL.php @@ -0,0 +1,79 @@ +, Jam Warehouse (Pty) Ltd, South Africa + * @package presentation.lookAndFeel.knowledgeTree.foldermanagement + */ + +require_once("../../../../config/dmsDefaults.php"); + +if (checkSession()) { + require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListBox.inc"); + require_once("$default->fileSystemRoot/lib/visualpatterns/PatternEditableListFromQuery.inc"); + require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListFromQuery.inc"); + require_once("$default->fileSystemRoot/lib/security/permission.inc"); + require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCustom.inc"); + require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc"); + require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc"); + require_once("$default->fileSystemRoot/presentation/Html.inc"); + require_once("modifyFolderDataUI.inc"); + + if (isset($fFolderID)) { + if (isset($fForUpdate)) { + //user is updating folder data + $oFolder = Folder::get($fFolderID); + $oFolder->setDescription($fDescription); + if (isset($fIsPublic)) { + $oFolder->setIsPublic(true); + } else { + $oFolder->setIsPublic(false); + } + $bSuccessfulUpdate = false; + if (isset($fFolderName) && strcmp($oFolder->getName(), $fFolderName) != 0) { + //folder name has changed, update the full_path + $sOldName = $oFolder->getName(); + $sOldPath = $default->documentRoot . "/" . $oFolder->getFullPath() . "/" . $oFolder->getName(); + $oFolder->setName($fFolderName); + if ($oFolder->update(true)) { + $bSuccessfulUpdate = true; + if (!PhysicalFolderManagement::renameFolder($sOldPath, $default->documentRoot . "/" . $oFolder->getFullPath() . "/" . $oFolder->getName())) { + //reverse the database changes if the physical rename failed + $oFolder->setName($sOldName); + $oFolder->update(true); + $bSuccessfulUpdate = false; + } + } + } else { + $bSuccessfulUpdate = $oFolder->update(); + } + if ($bSuccessfulUpdate) { + // redirect to edit folder page + controllerRedirect("editFolder", "fFolderID=$fFolderID"); + exit; + } else { + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); + $oPatternCustom = & new PatternCustom(); + $oPatternCustom->setHtml(getFolderData($fFolderID, "An error occurred while updating this folder")); + $main->setHasRequiredFields(true); + $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=browse&fFolderID=$fFolderID")); + } + } else { + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); + $oPatternCustom = & new PatternCustom(); + // display form + $oPatternCustom->setHtml(getFolderData($fFolderID)); + $main->setHasRequiredFields(true); + $main->setFormAction($_SERVER['PHP_SELF']); + } + } + $main->setCentralPayload($oPatternCustom); + $main->render(); +} +?> \ No newline at end of file diff --git a/presentation/lookAndFeel/knowledgeTree/foldermanagement/modifyFolderDataUI.inc b/presentation/lookAndFeel/knowledgeTree/foldermanagement/modifyFolderDataUI.inc new file mode 100644 index 0000000..58ed518 --- /dev/null +++ b/presentation/lookAndFeel/knowledgeTree/foldermanagement/modifyFolderDataUI.inc @@ -0,0 +1,63 @@ +, Jam Warehouse (Pty) Ltd, South Africa + * @package presentation.lookAndFeel.knowledgeTree.foldermanagement + */ + + +function getFolderData($iFolderID, $sStatusMessage = "") { + global $default; + $sSectionName = $default->siteMap->getSectionName(substr($_SERVER["PHP_SELF"], strlen($default->rootUrl), strlen($_SERVER["PHP_SELF"]))); + $sTDBGColour = $default->siteMap->getSectionColour($sSectionName, "td"); + $sQuery = "SELECT F.id, F.name, F.description, F.is_public " . + "FROM $default->owl_folders_table AS F " . + "WHERE F.id = $iFolderID"; + + $sql = $default->db; + $sql->query($sQuery); + + $sToRender .= renderHeading("Modify Folder Properties"); + $sToRender .= renderFolderPath($iFolderID, "/control.php?action=browse"); + $sToRender .= ""; + $sToRender .= ""; + $sToRender .= "\n"; + $sToRender .= "
"; + $sToRender .= "\n"; + $sToRender .= ""; + if ($sql->next_record()) { + $sToRender .= "\n"; + $sToRender .= "\n"; + if (Folder::folderIsUnitRootFolder($iFolderID)) { + $sToRender .= "\n"; + } else { + $sToRender .= "\n"; + } + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= ""; + $sToRender .= ""; + + } + $sToRender .= "
Folder Data
Name" . $sql->f("name") . "f("name") . "\" size=\"50\">
Descriptionf("description") . "\" size=\"50\">
Publicf("is_public") ? "CHECKED" : "") ." >
graphicsUrl/widgets/update.gif\" border=\"0\" />"; + $sToRender .= generateControllerLink("editFolder", "fFolderID=$iFolderID", "graphicsUrl/widgets/cancel.gif\" border=\"0\"/>") . "
\n"; + + return $sToRender; +} +?> \ No newline at end of file -- libgit2 0.21.4