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 .= "\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 .= "\n";
+
+ return $sToRender;
+}
+?>
\ No newline at end of file