Commit 0d379e20e3f116feb412bc4387be384b5913ceb4
1 parent
08387927
refactored use of patterns and webpage template
created separate modify folder data page (fixes ##2653) git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@2274 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
4 changed files
with
167 additions
and
111 deletions
presentation/lookAndFeel/knowledgeTree/foldermanagement/editBL.php
| @@ -19,130 +19,62 @@ require_once("../../../../config/dmsDefaults.php"); | @@ -19,130 +19,62 @@ require_once("../../../../config/dmsDefaults.php"); | ||
| 19 | if (checkSession()) { | 19 | if (checkSession()) { |
| 20 | require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListBox.inc"); | 20 | require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListBox.inc"); |
| 21 | require_once("$default->fileSystemRoot/lib/visualpatterns/PatternEditableListFromQuery.inc"); | 21 | require_once("$default->fileSystemRoot/lib/visualpatterns/PatternEditableListFromQuery.inc"); |
| 22 | + require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListFromQuery.inc"); | ||
| 22 | require_once("editUI.inc"); | 23 | require_once("editUI.inc"); |
| 23 | require_once("$default->fileSystemRoot/lib/security/permission.inc"); | 24 | require_once("$default->fileSystemRoot/lib/security/permission.inc"); |
| 24 | - require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | ||
| 25 | require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCustom.inc"); | 25 | require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCustom.inc"); |
| 26 | require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc"); | 26 | require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc"); |
| 27 | require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc"); | 27 | require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc"); |
| 28 | require_once("$default->fileSystemRoot/presentation/Html.inc"); | 28 | require_once("$default->fileSystemRoot/presentation/Html.inc"); |
| 29 | + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | ||
| 29 | 30 | ||
| 31 | + $oPatternCustom = & new PatternCustom(); | ||
| 30 | if (isset($fFolderID)) { | 32 | if (isset($fFolderID)) { |
| 31 | $oFolder = Folder::get($fFolderID); | 33 | $oFolder = Folder::get($fFolderID); |
| 32 | if ($oFolder) { | 34 | if ($oFolder) { |
| 33 | //if the user can edit the folder | 35 | //if the user can edit the folder |
| 34 | if (Permission::userHasFolderWritePermission($fFolderID)) { | 36 | if (Permission::userHasFolderWritePermission($fFolderID)) { |
| 35 | - if (isset($fForUpdate)) { | ||
| 36 | - //user is updating folder data | ||
| 37 | - $oFolder = Folder::get($fFolderID); | ||
| 38 | - $oFolder->setDescription($fDescription); | ||
| 39 | - if (isset($fIsPublic)) { | ||
| 40 | - $oFolder->setIsPublic(true); | ||
| 41 | - } else { | ||
| 42 | - $oFolder->setIsPublic(false); | ||
| 43 | - } | ||
| 44 | - $bSuccessfulUpdate = false; | ||
| 45 | - if (isset($fFolderName) && strcmp($oFolder->getName(), $fFolderName) != 0) { | ||
| 46 | - //folder name has changed, update the full_path | ||
| 47 | - $sOldName = $oFolder->getName(); | ||
| 48 | - $sOldPath = $default->documentRoot . "/" . $oFolder->getFullPath() . "/" . $oFolder->getName(); | ||
| 49 | - $oFolder->setName($fFolderName); | ||
| 50 | - if ($oFolder->update(true)) { | ||
| 51 | - $bSuccessfulUpdate = true; | ||
| 52 | - if (!PhysicalFolderManagement::renameFolder($sOldPath, $default->documentRoot . "/" . $oFolder->getFullPath() . "/" . $oFolder->getName())) { | ||
| 53 | - //reverse the database changes if the physical rename failed | ||
| 54 | - $oFolder->setName($sOldName); | ||
| 55 | - $oFolder->update(true); | ||
| 56 | - $bSuccessfulUpdate = false; | ||
| 57 | - } | ||
| 58 | - } | ||
| 59 | - } else { | ||
| 60 | - $bSuccessfulUpdate = $oFolder->update(); | ||
| 61 | - } | ||
| 62 | - if ($bSuccessfulUpdate) { | ||
| 63 | - $oPatternCustom = & new PatternCustom(); | ||
| 64 | - $oPatternCustom->setHtml(getStatusPage($fFolderID, "Folder successfully updated")); | ||
| 65 | - $main->setDHTMLScrolling(false); | ||
| 66 | - $main->setOnLoadJavaScript("switchDiv('folderData', 'folder')"); | ||
| 67 | - | ||
| 68 | - $main->setCentralPayload($oPatternCustom); | ||
| 69 | - $main->setHasRequiredFields(true); | ||
| 70 | - $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=browse&fFolderID=$fFolderID")); | ||
| 71 | - $main->render(); | ||
| 72 | - } else { | ||
| 73 | - $oPatternCustom = & new PatternCustom(); | ||
| 74 | - $main->setDHTMLScrolling(false); | ||
| 75 | - $main->setOnLoadJavaScript("switchDiv('folderData', 'folder')"); | ||
| 76 | - | ||
| 77 | - $oPatternCustom->setHtml(getStatusPage($fFolderID, "An error occurred while updating this folder")); | ||
| 78 | - $main->setCentralPayload($oPatternCustom); | ||
| 79 | - $main->setHasRequiredFields(true); | ||
| 80 | - $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=browse&fFolderID=$fFolderID")); | ||
| 81 | - $main->render(); | ||
| 82 | - } | ||
| 83 | - } else if (isset($fCollaborationEdit)) { | 37 | + if (isset($fCollaborationEdit)) { |
| 84 | //user attempted to edit the folder collaboration process but could not because there is | 38 | //user attempted to edit the folder collaboration process but could not because there is |
| 85 | //a document currently in this process | 39 | //a document currently in this process |
| 86 | - $oPatternCustom = & new PatternCustom(); | ||
| 87 | - $main->setDHTMLScrolling(false); | ||
| 88 | - $main->setOnLoadJavaScript("switchDiv('folderRouting', 'folder')"); | 40 | + $oPatternCustom->setHtml(getStatusPage($fFolderID, "You cannot edit this folder collaboration process as a document is currently undergoing this collaboration process")); |
| 89 | 41 | ||
| 90 | - $oPatternCustom->setHtml(getPage($fFolderID, "You cannot edit this folder collaboration process as a document is currently undergoing this collaboration process", true)); | ||
| 91 | - $main->setCentralPayload($oPatternCustom); | ||
| 92 | $main->setHasRequiredFields(true); | 42 | $main->setHasRequiredFields(true); |
| 93 | $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=browse&fFolderID=$fFolderID")); | 43 | $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=browse&fFolderID=$fFolderID")); |
| 94 | - $main->render(); | ||
| 95 | } else if (isset($fCollaborationDelete)) { | 44 | } else if (isset($fCollaborationDelete)) { |
| 96 | //user attempted to delete the folder collaboration process but could not because there is | 45 | //user attempted to delete the folder collaboration process but could not because there is |
| 97 | //a document currently in this process | 46 | //a document currently in this process |
| 98 | - $oPatternCustom = & new PatternCustom(); | ||
| 99 | - $main->setDHTMLScrolling(false); | ||
| 100 | - $main->setOnLoadJavaScript("switchDiv('folderRouting', 'folder')"); | ||
| 101 | - | ||
| 102 | - $oPatternCustom->setHtml(getPage($fFolderID, "You cannot delete this folder collaboration process as a document is currently undergoing this collaboration process", true)); | ||
| 103 | - $main->setCentralPayload($oPatternCustom); | 47 | + $oPatternCustom->setHtml(getStatusPage($fFolderID, "You cannot delete this folder collaboration process as a document is currently undergoing this collaboration process")); |
| 104 | $main->setHasRequiredFields(true); | 48 | $main->setHasRequiredFields(true); |
| 105 | $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=browse&fFolderID=$fFolderID")); | 49 | $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=browse&fFolderID=$fFolderID")); |
| 106 | - $main->render(); | ||
| 107 | } else { | 50 | } else { |
| 108 | - $oPatternCustom = & new PatternCustom(); | ||
| 109 | // does this folder have a document in it that has started collaboration? | 51 | // does this folder have a document in it that has started collaboration? |
| 110 | $bCollaboration = Folder::hasDocumentInCollaboration($fFolderID); | 52 | $bCollaboration = Folder::hasDocumentInCollaboration($fFolderID); |
| 111 | $main->setDHTMLScrolling(false); | 53 | $main->setDHTMLScrolling(false); |
| 112 | $main->setOnLoadJavaScript("switchDiv('" . (isset($fShowSection) ? $fShowSection : "folderData") . "', 'folder')"); | 54 | $main->setOnLoadJavaScript("switchDiv('" . (isset($fShowSection) ? $fShowSection : "folderData") . "', 'folder')"); |
| 113 | 55 | ||
| 114 | $oPatternCustom->setHtml(getPage($fFolderID, "", $bCollaboration)); | 56 | $oPatternCustom->setHtml(getPage($fFolderID, "", $bCollaboration)); |
| 115 | - $main->setCentralPayload($oPatternCustom); | ||
| 116 | $main->setHasRequiredFields(true); | 57 | $main->setHasRequiredFields(true); |
| 117 | $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=browse&fFolderID=$fFolderID")); | 58 | $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=browse&fFolderID=$fFolderID")); |
| 118 | - $main->render(); | ||
| 119 | } | 59 | } |
| 120 | } else { | 60 | } else { |
| 121 | //user does not have write permission for this folder, | 61 | //user does not have write permission for this folder, |
| 122 | - require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | ||
| 123 | - $oPatternCustom = & new PatternCustom(); | ||
| 124 | $oPatternCustom->setHtml("<a href=\"javascript:history.go(-1)\"><img src=\"$default->graphicsUrl/widgets/back.gif\" border=\"0\" /></a>\n"); | 62 | $oPatternCustom->setHtml("<a href=\"javascript:history.go(-1)\"><img src=\"$default->graphicsUrl/widgets/back.gif\" border=\"0\" /></a>\n"); |
| 125 | - $main->setCentralPayload($oPatternCustom); | ||
| 126 | $main->setErrorMessage("You do not have permission to edit this folder"); | 63 | $main->setErrorMessage("You do not have permission to edit this folder"); |
| 127 | - $main->render(); | ||
| 128 | } | 64 | } |
| 129 | } else { | 65 | } else { |
| 130 | // folder doesn't exist | 66 | // folder doesn't exist |
| 131 | - $oPatternCustom = & new PatternCustom(); | ||
| 132 | $oPatternCustom->setHtml("<a href=\"javascript:history.go(-1)\"><img src=\"$default->graphicsUrl/widgets/back.gif\" border=\"0\" /></a>\n"); | 67 | $oPatternCustom->setHtml("<a href=\"javascript:history.go(-1)\"><img src=\"$default->graphicsUrl/widgets/back.gif\" border=\"0\" /></a>\n"); |
| 133 | - $main->setCentralPayload($oPatternCustom); | ||
| 134 | $main->setErrorMessage("The folder you're trying to modify does not exist in the DMS"); | 68 | $main->setErrorMessage("The folder you're trying to modify does not exist in the DMS"); |
| 135 | $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=browse&fFolderID=$fFolderID")); | 69 | $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=browse&fFolderID=$fFolderID")); |
| 136 | - $main->render(); | ||
| 137 | } | 70 | } |
| 138 | } else { | 71 | } else { |
| 139 | //else display an error message | 72 | //else display an error message |
| 140 | - $oPatternCustom = & new PatternCustom(); | ||
| 141 | $oPatternCustom->setHtml("<a href=\"javascript:history.go(-1)\"><img src=\"$default->graphicsUrl/widgets/back.gif\" border=\"0\" /></a>\n"); | 73 | $oPatternCustom->setHtml("<a href=\"javascript:history.go(-1)\"><img src=\"$default->graphicsUrl/widgets/back.gif\" border=\"0\" /></a>\n"); |
| 142 | - $main->setCentralPayload($oPatternCustom); | ||
| 143 | $main->setErrorMessage("No folder currently selected"); | 74 | $main->setErrorMessage("No folder currently selected"); |
| 144 | $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=browse&fFolderID=$fFolderID")); | 75 | $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=browse&fFolderID=$fFolderID")); |
| 145 | - $main->render(); | ||
| 146 | } | 76 | } |
| 77 | + $main->setCentralPayload($oPatternCustom); | ||
| 78 | + $main->render(); | ||
| 147 | } | 79 | } |
| 148 | ?> | 80 | ?> |
| 149 | \ No newline at end of file | 81 | \ No newline at end of file |
presentation/lookAndFeel/knowledgeTree/foldermanagement/editUI.inc
| @@ -17,7 +17,7 @@ function getFolderPath($iFolderID) { | @@ -17,7 +17,7 @@ function getFolderPath($iFolderID) { | ||
| 17 | global $default; | 17 | global $default; |
| 18 | $sSectionName = $default->siteMap->getSectionName(substr($_SERVER["PHP_SELF"], strlen($default->rootUrl), strlen($_SERVER["PHP_SELF"]))); | 18 | $sSectionName = $default->siteMap->getSectionName(substr($_SERVER["PHP_SELF"], strlen($default->rootUrl), strlen($_SERVER["PHP_SELF"]))); |
| 19 | $sTDBGColour = $default->siteMap->getSectionColour($sSectionName, "td"); | 19 | $sTDBGColour = $default->siteMap->getSectionColour($sSectionName, "td"); |
| 20 | - return "<table border=\"0\" cellpadding=\"0\" width=\"610\"><tr><td bgcolor=\"$sTDBGColour\">" . displayFolderPathLink(Folder::getFolderPathAsArray($iFolderID), Folder::getFolderPathNamesAsArray($iFolderID), "$default->rootUrl/control.php?action=browse") . "</td></tr></table>\n"; | 20 | + return "<table border=\"0\" cellpadding=\"5\" width=\"610\"><tr><td bgcolor=\"$sTDBGColour\">" . displayFolderPathLink(Folder::getFolderPathAsArray($iFolderID), Folder::getFolderPathNamesAsArray($iFolderID), "$default->rootUrl/control.php?action=browse") . "</td></tr></table>\n"; |
| 21 | } | 21 | } |
| 22 | 22 | ||
| 23 | function getFolderData($iFolderID, $sDivName, $sStatusMessage = "") { | 23 | function getFolderData($iFolderID, $sDivName, $sStatusMessage = "") { |
| @@ -28,43 +28,25 @@ function getFolderData($iFolderID, $sDivName, $sStatusMessage = "") { | @@ -28,43 +28,25 @@ function getFolderData($iFolderID, $sDivName, $sStatusMessage = "") { | ||
| 28 | "FROM $default->owl_folders_table AS F " . | 28 | "FROM $default->owl_folders_table AS F " . |
| 29 | "WHERE F.id = $iFolderID"; | 29 | "WHERE F.id = $iFolderID"; |
| 30 | 30 | ||
| 31 | - $sql = $default->db; | ||
| 32 | - $sql->query($sQuery); | 31 | + |
| 32 | + $aColumns = array("name", "description", "is_public"); | ||
| 33 | + $aColumnHeaders = array("Name", "Description", "Public"); | ||
| 34 | + $aColumnTypes = array(1,1,2); | ||
| 35 | + | ||
| 36 | + $oPatternListFromQuery = & new PatternListFromQuery($sQuery, $aColumns, $aColumnHeaders, $aColumnTypes); | ||
| 37 | + $oPatternListFromQuery->setTableHeading("Folder Data"); | ||
| 38 | + $oPatternListFromQuery->setTableWidth("610"); | ||
| 33 | 39 | ||
| 34 | $sToRender .= "<table>"; | 40 | $sToRender .= "<table>"; |
| 35 | - $sToRender .= "<tr><td>"; | ||
| 36 | - $sToRender .= "<table cellpadding=\"5\" border=\"0\" width=\"610\">\n"; | ||
| 37 | - $sToRender .= "<caption><strong>Folder Data</strong></caption>"; | ||
| 38 | - if ($sql->next_record()) { | ||
| 39 | - $sToRender .= "<tr>\n"; | ||
| 40 | - $sToRender .= "<td bgcolor=\"" . $sTDBGColour . "\">Name</td>\n"; | ||
| 41 | - if (Folder::folderIsUnitRootFolder($iFolderID)) { | ||
| 42 | - $sToRender .= "<td>" . $sql->f("name") . "</td>\n"; | ||
| 43 | - } else { | ||
| 44 | - $sToRender .= "<td><input type=\"text\" name=\"fFolderName\" value=\"" . $sql->f("name") . "\" size=\"50\"></td>\n"; | ||
| 45 | - } | ||
| 46 | - $sToRender .= "</tr>\n"; | ||
| 47 | - $sToRender .= "<tr>\n"; | ||
| 48 | - $sToRender .= "<td bgcolor=\"" . $sTDBGColour . "\">Description</td>\n"; | ||
| 49 | - $sToRender .= "<td><input type=\"text\" name=\"fDescription\" value=\"" . $sql->f("description") . "\" size=\"50\"></td>\n"; | ||
| 50 | - $sToRender .= "</tr>\n"; | ||
| 51 | - $sToRender .= "<tr>\n"; | ||
| 52 | - $sToRender .= "<td bgcolor=\"" . $sTDBGColour . "\">Public</td>\n"; | ||
| 53 | - $sToRender .= "<td><input type=\"checkbox\" name=\"fIsPublic\" " . ($sql->f("is_public") ? "CHECKED" : "") ." ></td>\n"; | ||
| 54 | - $sToRender .= "</tr>\n"; | ||
| 55 | - $sToRender .= "<tr>\n"; | ||
| 56 | - $sToRender .= "<td></td>\n"; | ||
| 57 | - $sToRender .= "</tr>\n"; | ||
| 58 | - $sToRender .= "<input type=\"hidden\" name=\"fFolderID\" value=\"$iFolderID\">"; | ||
| 59 | - $sToRender .= "<input type=\"hidden\" name=\fForUpdate\" value=\"1\">"; | ||
| 60 | - | ||
| 61 | - } | ||
| 62 | - $sToRender .= "</table></td></tr>"; | ||
| 63 | - //$sToRender .= "<tr><td><input type=\"image\" src=\"$default->graphicsUrl/widgets/update.gif\" onClick=\"setActionAndSubmit('" . $_SERVER["PHP_SELF"] . "?fFolderID=$iFolderID&fForUpdate=1')\" border=\"0\" /></td></tr>\n"; | ||
| 64 | - $sToRender .= "<tr><td><input type=\"image\" src=\"$default->graphicsUrl/widgets/update.gif\" border=\"0\" /></td></tr>\n"; | ||
| 65 | - $sToRender .= "</table>\n"; | 41 | + $sToRender .= "<tr><td>" . $oPatternListFromQuery->render() . "</td></tr>"; |
| 42 | + $sToRender .= "<tr><td><a href=\"$default->rootUrl/control.php?action=modifyFolderData&fFolderID=$iFolderID\"><img src=\"$default->graphicsUrl/widgets/edit.gif\" border=\"0\" /></a></td></tr>"; | ||
| 43 | + $sToRender .= "</table>";; | ||
| 66 | 44 | ||
| 67 | - return renderSectionDiv($sDivName, $sToRender); | 45 | + if ($sStatusMessage) { |
| 46 | + return $sToRender; | ||
| 47 | + } else { | ||
| 48 | + return renderSectionDiv($sDivName, $sToRender); | ||
| 49 | + } | ||
| 68 | } | 50 | } |
| 69 | 51 | ||
| 70 | function getFolderRouting($iFolderID, $sDivName, $bCollaboration) { | 52 | function getFolderRouting($iFolderID, $sDivName, $bCollaboration) { |
presentation/lookAndFeel/knowledgeTree/foldermanagement/modifyFolderDataBL.php
0 → 100644
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * $Id$ | ||
| 5 | + * | ||
| 6 | + * Presentation information used for folder data editing. | ||
| 7 | + * | ||
| 8 | + * Licensed under the GNU GPL. For full terms see the file DOCS/COPYING. | ||
| 9 | + * | ||
| 10 | + * @version $Revision$ | ||
| 11 | + * @author Michael Joseph <michael@jamwarehouse.com>, Jam Warehouse (Pty) Ltd, South Africa | ||
| 12 | + * @package presentation.lookAndFeel.knowledgeTree.foldermanagement | ||
| 13 | + */ | ||
| 14 | + | ||
| 15 | +require_once("../../../../config/dmsDefaults.php"); | ||
| 16 | + | ||
| 17 | +if (checkSession()) { | ||
| 18 | + require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListBox.inc"); | ||
| 19 | + require_once("$default->fileSystemRoot/lib/visualpatterns/PatternEditableListFromQuery.inc"); | ||
| 20 | + require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListFromQuery.inc"); | ||
| 21 | + require_once("$default->fileSystemRoot/lib/security/permission.inc"); | ||
| 22 | + require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCustom.inc"); | ||
| 23 | + require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc"); | ||
| 24 | + require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc"); | ||
| 25 | + require_once("$default->fileSystemRoot/presentation/Html.inc"); | ||
| 26 | + require_once("modifyFolderDataUI.inc"); | ||
| 27 | + | ||
| 28 | + if (isset($fFolderID)) { | ||
| 29 | + if (isset($fForUpdate)) { | ||
| 30 | + //user is updating folder data | ||
| 31 | + $oFolder = Folder::get($fFolderID); | ||
| 32 | + $oFolder->setDescription($fDescription); | ||
| 33 | + if (isset($fIsPublic)) { | ||
| 34 | + $oFolder->setIsPublic(true); | ||
| 35 | + } else { | ||
| 36 | + $oFolder->setIsPublic(false); | ||
| 37 | + } | ||
| 38 | + $bSuccessfulUpdate = false; | ||
| 39 | + if (isset($fFolderName) && strcmp($oFolder->getName(), $fFolderName) != 0) { | ||
| 40 | + //folder name has changed, update the full_path | ||
| 41 | + $sOldName = $oFolder->getName(); | ||
| 42 | + $sOldPath = $default->documentRoot . "/" . $oFolder->getFullPath() . "/" . $oFolder->getName(); | ||
| 43 | + $oFolder->setName($fFolderName); | ||
| 44 | + if ($oFolder->update(true)) { | ||
| 45 | + $bSuccessfulUpdate = true; | ||
| 46 | + if (!PhysicalFolderManagement::renameFolder($sOldPath, $default->documentRoot . "/" . $oFolder->getFullPath() . "/" . $oFolder->getName())) { | ||
| 47 | + //reverse the database changes if the physical rename failed | ||
| 48 | + $oFolder->setName($sOldName); | ||
| 49 | + $oFolder->update(true); | ||
| 50 | + $bSuccessfulUpdate = false; | ||
| 51 | + } | ||
| 52 | + } | ||
| 53 | + } else { | ||
| 54 | + $bSuccessfulUpdate = $oFolder->update(); | ||
| 55 | + } | ||
| 56 | + if ($bSuccessfulUpdate) { | ||
| 57 | + // redirect to edit folder page | ||
| 58 | + controllerRedirect("editFolder", "fFolderID=$fFolderID"); | ||
| 59 | + exit; | ||
| 60 | + } else { | ||
| 61 | + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | ||
| 62 | + $oPatternCustom = & new PatternCustom(); | ||
| 63 | + $oPatternCustom->setHtml(getFolderData($fFolderID, "An error occurred while updating this folder")); | ||
| 64 | + $main->setHasRequiredFields(true); | ||
| 65 | + $main->setFormAction("../store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=browse&fFolderID=$fFolderID")); | ||
| 66 | + } | ||
| 67 | + } else { | ||
| 68 | + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | ||
| 69 | + $oPatternCustom = & new PatternCustom(); | ||
| 70 | + // display form | ||
| 71 | + $oPatternCustom->setHtml(getFolderData($fFolderID)); | ||
| 72 | + $main->setHasRequiredFields(true); | ||
| 73 | + $main->setFormAction($_SERVER['PHP_SELF']); | ||
| 74 | + } | ||
| 75 | + } | ||
| 76 | + $main->setCentralPayload($oPatternCustom); | ||
| 77 | + $main->render(); | ||
| 78 | +} | ||
| 79 | +?> | ||
| 0 | \ No newline at end of file | 80 | \ No newline at end of file |
presentation/lookAndFeel/knowledgeTree/foldermanagement/modifyFolderDataUI.inc
0 → 100644
| 1 | +<?php | ||
| 2 | +/** | ||
| 3 | + * $Id$ | ||
| 4 | + * | ||
| 5 | + * Presentation information used for folder data editing. | ||
| 6 | + * | ||
| 7 | + * Licensed under the GNU GPL. For full terms see the file DOCS/COPYING. | ||
| 8 | + * | ||
| 9 | + * @version $Revision$ | ||
| 10 | + * @author Michael Joseph <michael@jamwarehouse.com>, Jam Warehouse (Pty) Ltd, South Africa | ||
| 11 | + * @package presentation.lookAndFeel.knowledgeTree.foldermanagement | ||
| 12 | + */ | ||
| 13 | + | ||
| 14 | + | ||
| 15 | +function getFolderData($iFolderID, $sStatusMessage = "") { | ||
| 16 | + global $default; | ||
| 17 | + $sSectionName = $default->siteMap->getSectionName(substr($_SERVER["PHP_SELF"], strlen($default->rootUrl), strlen($_SERVER["PHP_SELF"]))); | ||
| 18 | + $sTDBGColour = $default->siteMap->getSectionColour($sSectionName, "td"); | ||
| 19 | + $sQuery = "SELECT F.id, F.name, F.description, F.is_public " . | ||
| 20 | + "FROM $default->owl_folders_table AS F " . | ||
| 21 | + "WHERE F.id = $iFolderID"; | ||
| 22 | + | ||
| 23 | + $sql = $default->db; | ||
| 24 | + $sql->query($sQuery); | ||
| 25 | + | ||
| 26 | + $sToRender .= renderHeading("Modify Folder Properties"); | ||
| 27 | + $sToRender .= renderFolderPath($iFolderID, "/control.php?action=browse"); | ||
| 28 | + $sToRender .= "<table>"; | ||
| 29 | + $sToRender .= "<tr><td>"; | ||
| 30 | + $sToRender .= "<table cellpadding=\"5\" border=\"0\" width=\"610\">\n"; | ||
| 31 | + $sToRender .= "<caption><strong>Folder Data</strong></caption>"; | ||
| 32 | + if ($sql->next_record()) { | ||
| 33 | + $sToRender .= "<tr>\n"; | ||
| 34 | + $sToRender .= "<td bgcolor=\"" . $sTDBGColour . "\">Name</td>\n"; | ||
| 35 | + if (Folder::folderIsUnitRootFolder($iFolderID)) { | ||
| 36 | + $sToRender .= "<td>" . $sql->f("name") . "</td>\n"; | ||
| 37 | + } else { | ||
| 38 | + $sToRender .= "<td><input type=\"text\" name=\"fFolderName\" value=\"" . $sql->f("name") . "\" size=\"50\"></td>\n"; | ||
| 39 | + } | ||
| 40 | + $sToRender .= "</tr>\n"; | ||
| 41 | + $sToRender .= "<tr>\n"; | ||
| 42 | + $sToRender .= "<td bgcolor=\"" . $sTDBGColour . "\">Description</td>\n"; | ||
| 43 | + $sToRender .= "<td><input type=\"text\" name=\"fDescription\" value=\"" . $sql->f("description") . "\" size=\"50\"></td>\n"; | ||
| 44 | + $sToRender .= "</tr>\n"; | ||
| 45 | + $sToRender .= "<tr>\n"; | ||
| 46 | + $sToRender .= "<td bgcolor=\"" . $sTDBGColour . "\">Public</td>\n"; | ||
| 47 | + $sToRender .= "<td><input type=\"checkbox\" name=\"fIsPublic\" " . ($sql->f("is_public") ? "CHECKED" : "") ." ></td>\n"; | ||
| 48 | + $sToRender .= "</tr>\n"; | ||
| 49 | + $sToRender .= "<tr>\n"; | ||
| 50 | + $sToRender .= "<td></td>\n"; | ||
| 51 | + $sToRender .= "</tr>\n"; | ||
| 52 | + $sToRender .= "<input type=\"hidden\" name=\"fFolderID\" value=\"$iFolderID\">"; | ||
| 53 | + $sToRender .= "<input type=\"hidden\" name=\"fForUpdate\" value=\"1\">"; | ||
| 54 | + | ||
| 55 | + } | ||
| 56 | + $sToRender .= "</table></td></tr>"; | ||
| 57 | + $sToRender .= "<tr><td><input type=\"image\" src=\"$default->graphicsUrl/widgets/update.gif\" border=\"0\" />"; | ||
| 58 | + $sToRender .= generateControllerLink("editFolder", "fFolderID=$iFolderID", "<image src=\"$default->graphicsUrl/widgets/cancel.gif\" border=\"0\"/>") . "</td></tr>\n"; | ||
| 59 | + $sToRender .= "</table>\n"; | ||
| 60 | + | ||
| 61 | + return $sToRender; | ||
| 62 | +} | ||
| 63 | +?> | ||
| 0 | \ No newline at end of file | 64 | \ No newline at end of file |