diff --git a/presentation/lookAndFeel/knowledgeTree/foldermanagement/editBL.php b/presentation/lookAndFeel/knowledgeTree/foldermanagement/editBL.php
index 55ca7bb..00e5998 100644
--- a/presentation/lookAndFeel/knowledgeTree/foldermanagement/editBL.php
+++ b/presentation/lookAndFeel/knowledgeTree/foldermanagement/editBL.php
@@ -27,7 +27,50 @@ if (checkSession()) {
if (isset($fFolderID)) {
//if the user can edit the folder
if (Permission::userHasFolderWritePermission($fFolderID)) {
- if (isset($fCollaborationEdit)) {
+ 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 (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(getPage($fFolderID));
+ $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();
+ $oPatternCustom->setHtml(getPage($fFolderID));
+ $main->setErrorMessage("An error occured 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)) {
//user attempted to edit the folder collaboration process but could not because there is
//a document currently in this process
$oPatternCustom = & new PatternCustom();
diff --git a/presentation/lookAndFeel/knowledgeTree/foldermanagement/editUI.inc b/presentation/lookAndFeel/knowledgeTree/foldermanagement/editUI.inc
index 39b7fa1..0297e03 100644
--- a/presentation/lookAndFeel/knowledgeTree/foldermanagement/editUI.inc
+++ b/presentation/lookAndFeel/knowledgeTree/foldermanagement/editUI.inc
@@ -16,11 +16,39 @@ function getFolderPath($iFolderID) {
function getFolderData($iFolderID) {
global $default;
- $sQuery = "SELECT F.id, F.name AS folder_name, F.description, F.is_public " .
+ $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 = "
\n";
+
- $aDisplayColumns = array("folder_name", "description", "is_public");
+ /*$aDisplayColumns = array("folder_name", "description", "is_public");
$aStoreColumns = array("name", "description" , "is_public");
$aColumnNames = array("Name", "Description", "Public");
$aDisplayColumnTypes = array(1,1,2);
@@ -32,7 +60,9 @@ function getFolderData($iFolderID) {
$oPatternEditableListFromQuery->setDropDownListTableNames($aDropDownListTableNames);
$oPatternEditableListFromQuery->setColumnsRequired(array(1,0,1,0));
- return $oPatternEditableListFromQuery->render();
+ return $oPatternEditableListFromQuery->render();*/
+
+ return $sToRender;
}
@@ -92,22 +122,7 @@ function getPage($iFolderID) {
$sToRender .= getRightSide($iFolderID);
$sToRender .= "\n";
$sToRender .= "\n";
- $sToRender .= "\n";
- /*$sToRender = "| " . getFolderPath($iFolderID) . " |
\n";
- $sToRender .= "\n";*/
+ $sToRender .= "\n";
return $sToRender;
}
@@ -120,8 +135,8 @@ function getLeftSide($iFolderID) {
$sToRender .= "\n";
$sToRender .= "\n";
$sToRender .= "\n";
- $sToRender .= "| \n";
- $sToRender .= "graphicsUrl/widgets/update.gif\" border=\"0\" />\n";
+ $sToRender .= " | \n";
+ $sToRender .= "graphicsUrl/widgets/update.gif\" onClick=\"setActionAndSubmit('" . $_SERVER["PHP_SELF"] . "?fFolderID=$iFolderID&fForUpdate=1')\" border=\"0\" />\n";
$sToRender .= " | \n";
$sToRender .= "
\n";
$sToRender .= "\n";