Commit 17db4ff91f4e79f1ce40f85ba9d930f3e9e16386
1 parent
086efa24
Use the Folder addPermissions method instead of a local copy.
git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@3120 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
1 changed file
with
61 additions
and
36 deletions
presentation/lookAndFeel/knowledgeTree/foldermanagement/addGroupFolderLinkBL.php
| @@ -42,45 +42,70 @@ include_once("$default->fileSystemRoot/lib/visualpatterns/PatternCustom.inc"); | @@ -42,45 +42,70 @@ include_once("$default->fileSystemRoot/lib/visualpatterns/PatternCustom.inc"); | ||
| 42 | include_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc"); | 42 | include_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc"); |
| 43 | include_once("groupFolderLinkUI.inc"); | 43 | include_once("groupFolderLinkUI.inc"); |
| 44 | 44 | ||
| 45 | -if (checkSession()) { | ||
| 46 | - if (isset($fFolderID)) { | ||
| 47 | - $oPatternCustom = & new PatternCustom(); | ||
| 48 | - $oPatternCustom->setHtml(""); | ||
| 49 | - $oFolder = Folder::get($fFolderID); | ||
| 50 | - // if a folder has been selected | ||
| 51 | - if (Permission::userHasFolderWritePermission($oFolder)) { | ||
| 52 | - // can only add access if the user has folder write permission | ||
| 53 | - if (isset($fForStore)) { | ||
| 54 | - // attempt to create the new folder access entry | ||
| 55 | - $oGroupFolderLink = & new GroupFolderLink($fFolderID, $fGroupID, $fCanRead, $fCanWrite); | ||
| 56 | - // check if exists for the fFolderID, fGroupID combination | ||
| 57 | - if (!$oGroupFolderLink->exists()) { | ||
| 58 | - if ($oGroupFolderLink->create()) { | ||
| 59 | - // on successful creation, redirect to the folder edit page | ||
| 60 | - controllerRedirect("editFolder", "fFolderID=$fFolderID&fShowSection=folderPermissions"); | ||
| 61 | - } else { | ||
| 62 | - //otherwise display an error message | ||
| 63 | - $sErrorMessage = _("The folder access entry could not be created in the database"); | ||
| 64 | - $oPatternCustom->setHtml(getPage($fFolderID)); | ||
| 65 | - } | ||
| 66 | - } else { | ||
| 67 | - $sErrorMessage = _("A folder access entry for the selected folder and group already exists."); | ||
| 68 | - $oPatternCustom->setHtml(renderErrorPage($sErrorMessage, $fFolderID)); | ||
| 69 | - } | ||
| 70 | - } else { | ||
| 71 | - // display the browse page | ||
| 72 | - $oPatternCustom->setHtml(getAddPage($fFolderID)); | ||
| 73 | - } | ||
| 74 | - } | ||
| 75 | - } else { | ||
| 76 | - //display an error message | ||
| 77 | - $sErrorMessage = _("No folder currently selected"); | ||
| 78 | - } | ||
| 79 | - | ||
| 80 | - include_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | 45 | +if (!checkSession()) { |
| 46 | + die(); | ||
| 47 | +} | ||
| 48 | +include_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | ||
| 49 | + | ||
| 50 | +$oPatternCustom = & new PatternCustom(); | ||
| 51 | +$oPatternCustom->setHtml(""); | ||
| 52 | + | ||
| 53 | +if (!isset($fFolderID)) { | ||
| 54 | + //display an error message | ||
| 55 | + $sErrorMessage = _("No folder currently selected"); | ||
| 56 | + $oPatternCustom->setHtml(renderErrorPage($sErrorMessage, $fFolderID)); | ||
| 57 | + $main->setCentralPayload($oPatternCustom); | ||
| 58 | + $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fForStore=1"); | ||
| 59 | + $main->setHasRequiredFields(true); | ||
| 60 | + $main->render(); | ||
| 61 | + exit(0); | ||
| 62 | +} | ||
| 63 | + | ||
| 64 | +$oFolder = Folder::get($fFolderID); | ||
| 65 | +// if a folder has been selected | ||
| 66 | +if (!Permission::userHasFolderWritePermission($oFolder)) { | ||
| 67 | + $sErrorMessage = _("You do not have permission to edit this folder"); | ||
| 68 | + $oPatternCustom->setHtml(renderErrorPage($sErrorMessage, $fFolderID)); | ||
| 69 | + $main->setCentralPayload($oPatternCustom); | ||
| 70 | + $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fForStore=1"); | ||
| 71 | + $main->setHasRequiredFields(true); | ||
| 72 | + $main->render(); | ||
| 73 | + exit(0); | ||
| 74 | +} | ||
| 75 | + | ||
| 76 | +// can only add access if the user has folder write permission | ||
| 77 | +if (!isset($fForStore)) { | ||
| 78 | + // display the browse page | ||
| 79 | + $oPatternCustom->setHtml(getAddPage($fFolderID)); | ||
| 81 | $main->setCentralPayload($oPatternCustom); | 80 | $main->setCentralPayload($oPatternCustom); |
| 82 | $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fForStore=1"); | 81 | $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fForStore=1"); |
| 83 | $main->setHasRequiredFields(true); | 82 | $main->setHasRequiredFields(true); |
| 84 | $main->render(); | 83 | $main->render(); |
| 84 | + exit(0); | ||
| 85 | } | 85 | } |
| 86 | + | ||
| 87 | +$oGroup =& Group::get($fGroupID); | ||
| 88 | +if (!$oGroup) { | ||
| 89 | + $sErrorMessage = _("The given group does not exist"); | ||
| 90 | + $oPatternCustom->setHtml(renderErrorPage($sErrorMessage, $fFolderID)); | ||
| 91 | + $main->setCentralPayload($oPatternCustom); | ||
| 92 | + $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fForStore=1"); | ||
| 93 | + $main->setHasRequiredFields(true); | ||
| 94 | + $main->render(); | ||
| 95 | + exit(0); | ||
| 96 | +} | ||
| 97 | + | ||
| 98 | +$res = $oFolder->addPermission($oGroup, $fCanRead, $fCanWrite); | ||
| 99 | + | ||
| 100 | +if (PEAR::isError($res)) { | ||
| 101 | + $oPatternCustom->setHtml(renderErrorPage($res->getMessage(), $fFolderID)); | ||
| 102 | + $main->setCentralPayload($oPatternCustom); | ||
| 103 | + $main->setFormAction($_SERVER["PHP_SELF"] . "?fFolderID=$fFolderID&fForStore=1"); | ||
| 104 | + $main->setHasRequiredFields(true); | ||
| 105 | + $main->render(); | ||
| 106 | + exit(0); | ||
| 107 | +} | ||
| 108 | + | ||
| 109 | +controllerRedirect("editFolder", "fFolderID=$fFolderID&fShowSection=folderPermissions"); | ||
| 110 | + | ||
| 86 | ?> | 111 | ?> |