Commit 5df727905c746d19f1010082ba75e5bccb956522

Authored by Neil Blakey-Milner
1 parent 545a3bae

Remove old folder permissions edit/view code - folder permission

view/edit is now a folder action.


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@4127 c91229c3-7414-0410-bfa2-8a42b809f60b
presentation/lookAndFeel/knowledgeTree/foldermanagement/copyInheritedPermissionsBL.php deleted
1   -<?php
2   -/**
3   - * $Id$
4   - *
5   - * Business logic used to edit folder properties
6   - *
7   - * Expected form variables:
8   - * o $fFolderID - primary key of folder user is currently browsing
9   - *
10   - * Copyright (c) 2003 Jam Warehouse http://www.jamwarehouse.com
11   - *
12   - * This program is free software; you can redistribute it and/or modify
13   - * it under the terms of the GNU General Public License as published by
14   - * the Free Software Foundation; either version 2 of the License, or
15   - * (at your option) any later version.
16   - *
17   - * This program is distributed in the hope that it will be useful,
18   - * but WITHOUT ANY WARRANTY; without even the implied warranty of
19   - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20   - * GNU General Public License for more details.
21   - *
22   - * You should have received a copy of the GNU General Public License
23   - * along with this program; if not, write to the Free Software
24   - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25   - *
26   - * @version $Revision$
27   - * @author Rob Cherry, Jam Warehouse (Pty) Ltd, South Africa
28   - * @package foldermanagement
29   - */
30   -
31   -require_once("../../../../config/dmsDefaults.php");
32   -
33   -KTUtil::extractGPC('fInheritedFolderID', 'fFolderID');
34   -
35   -if (!checkSession()) {
36   - exit(0);
37   -}
38   -
39   -require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListBox.inc");
40   -require_once("$default->fileSystemRoot/lib/visualpatterns/PatternEditableListFromQuery.inc");
41   -require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListFromQuery.inc");
42   -require_once("editUI.inc");
43   -require_once("$default->fileSystemRoot/lib/security/Permission.inc");
44   -require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCustom.inc");
45   -require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc");
46   -require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc");
47   -require_once("$default->fileSystemRoot/presentation/Html.inc");
48   -require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
49   -
50   -$oPatternCustom = & new PatternCustom();
51   -
52   -if (!isset($fFolderID)) {
53   - $oPatternCustom->setHtml("<a href=\"javascript:history.go(-1)\"><img src=\"" . KTHtml::getBackButton() . "\" border=\"0\" /></a>\n");
54   - $main->setErrorMessage(_("No folder currently selected"));
55   - $main->setCentralPayload($oPatternCustom);
56   - $main->render();
57   - exit(0);
58   -}
59   -
60   -$oFolder = Folder::get($fFolderID);
61   -if (!$oFolder) {
62   - // folder doesn't exist
63   - $oPatternCustom->setHtml("<a href=\"javascript:history.go(-1)\"><img src=\"" . KTHtml::getBackButton() . "\" border=\"0\" /></a>\n");
64   - $main->setErrorMessage(_("The folder you're trying to modify does not exist in the DMS"));
65   - $main->setCentralPayload($oPatternCustom);
66   - $main->render();
67   - exit(0);
68   -}
69   -
70   -if (!isset($fInheritedFolderID)) {
71   - //else display an error message
72   - $oPatternCustom->setHtml("<a href=\"javascript:history.go(-1)\"><img src=\"" . KTHtml::getBackButton() . "\" border=\"0\" /></a>\n");
73   - $main->setErrorMessage(_("No inherited folder given"));
74   - $main->setCentralPayload($oPatternCustom);
75   - $main->render();
76   - exit(0);
77   -}
78   -
79   -$oInheritedFolder = Folder::get($fInheritedFolderID);
80   -if (!$oInheritedFolder) {
81   - //else display an error message
82   - $oPatternCustom->setHtml("<a href=\"javascript:history.go(-1)\"><img src=\"" . KTHtml::getBackButton() . "\" border=\"0\" /></a>\n");
83   - $main->setErrorMessage(_("The inherited folder given does not exist in the DMS"));
84   - $main->setCentralPayload($oPatternCustom);
85   - $main->render();
86   - exit(0);
87   -}
88   -
89   -//if the user can edit the folder
90   -if (!Permission::userHasFolderWritePermission($oFolder)) {
91   - //user does not have write permission for this folder,
92   - $oPatternCustom->setHtml("<a href=\"javascript:history.go(-1)\"><img src=\"" . KTHtml::getBackButton() . "\" border=\"0\" /></a>\n");
93   - $main->setErrorMessage(_("You do not have permission to edit this folder"));
94   - $main->setCentralPayload($oPatternCustom);
95   - $main->render();
96   - exit(0);
97   -}
98   -
99   -$sQuery = DBUtil::compactQuery("
100   -SELECT
101   - GFL.group_id AS group_id,
102   - GFL.can_read AS can_read,
103   - GFL.can_write AS can_write
104   -FROM
105   - $default->groups_folders_table AS GFL
106   -WHERE GFL.folder_id = ?");
107   -$aParams = array($fInheritedFolderID);
108   -$aPermissions = DBUtil::getResultArray(array($sQuery, $aParams));
109   -
110   -if (PEAR::isError($aPermissions)) {
111   - $oPatternCustom->setHtml("<a href=\"javascript:history.go(-1)\"><img src=\"" . KTHtml::getBackButton() . "\" border=\"0\" /></a>\n");
112   - $main->setErrorMessage(_("Error retrieving folder permissions"));
113   - $main->setCentralPayload($oPatternCustom);
114   - $main->render();
115   - exit(0);
116   -}
117   -
118   -foreach ($aPermissions as $aRow) {
119   - $aRow['folder_id'] = $fFolderID;
120   - $res = DBUtil::autoInsert($default->groups_folders_table, $aRow);
121   - if (PEAR::isError($res)) {
122   - $oPatternCustom->setHtml("<a href=\"javascript:history.go(-1)\"><img src=\"" . KTHtml::getBackButton() . "\" border=\"0\" /></a>\n");
123   - $main->setErrorMessage(_("Error saving folder permissions"));
124   - $main->setCentralPayload($oPatternCustom);
125   - $main->render();
126   - exit(0);
127   - }
128   -}
129   -
130   -$oFolder->updatePermissions();
131   -
132   -controllerRedirect("editFolder", "fFolderID=$fFolderID&fShowSection=folderPermissions");
133   -
134   -?>
presentation/lookAndFeel/knowledgeTree/foldermanagement/folderPermissions.php deleted
1   -<?php
2   -
3   -require_once("../../../../config/dmsDefaults.php");
4   -
5   -require_once(KT_DIR . "/presentation/Html.inc");
6   -
7   -require_once(KT_LIB_DIR . "/templating/templating.inc.php");
8   -require_once(KT_LIB_DIR . "/permissions/permission.inc.php");
9   -require_once(KT_LIB_DIR . "/foldermanagement/Folder.inc");
10   -require_once(KT_LIB_DIR . "/groups/Group.inc");
11   -
12   -require_once(KT_LIB_DIR . "/permissions/permission.inc.php");
13   -require_once(KT_LIB_DIR . "/permissions/permissionobject.inc.php");
14   -require_once(KT_LIB_DIR . "/permissions/permissionassignment.inc.php");
15   -require_once(KT_LIB_DIR . "/permissions/permissiondescriptor.inc.php");
16   -require_once(KT_LIB_DIR . "/permissions/permissionutil.inc.php");
17   -require_once(KT_LIB_DIR . "/permissions/permissiondynamiccondition.inc.php");
18   -
19   -require_once(KT_LIB_DIR . "/search/savedsearch.inc.php");
20   -
21   -require_once(KT_LIB_DIR . "/dispatcher.inc.php");
22   -$sectionName = "Manage Documents";
23   -require_once(KT_DIR . "/presentation/webpageTemplate.inc");
24   -
25   -function displayFolderPathLink($aPathArray, $aPathNameArray, $sLinkPage = "") {
26   - global $default;
27   - if (strlen($sLinkPage) == 0) {
28   - $sLinkPage = $_SERVER["PHP_SELF"];
29   - }
30   - $default->log->debug("displayFolderPathLink: slinkPage=$sLinkPage");
31   - // display a separate link to each folder in the path
32   - for ($i=0; $i<count($aPathArray); $i++) {
33   - $iFolderId = $aPathArray[$i];
34   - // retrieve the folder name for this folder
35   - $sFolderName = $aPathNameArray[$i];
36   - // generate a link back to this page setting fFolderId
37   - $sLink = generateLink($sLinkPage,
38   - "fBrowseType=folder&fFolderID=$iFolderId",
39   - $sFolderName);
40   - $sPathLinks = (strlen($sPathLinks) > 0) ? $sPathLinks . " > " . $sLink : $sLink;
41   - }
42   - return $sPathLinks;
43   -}
44   -
45   -
46   -class FolderPermissions extends KTStandardDispatcher {
47   - var $bAutomaticTransaction = true;
48   -
49   - function check() {
50   - if (KTUtil::arrayGet($_REQUEST, 'fFolderID')) {
51   - $_REQUEST['fFolderId'] = $_REQUEST['fFolderID'];
52   - }
53   - $this->oFolder =& $this->oValidator->validateFolder($_REQUEST['fFolderId']);
54   - return true;
55   - }
56   - function do_main() {
57   - $oTemplating = new KTTemplating;
58   - $oTemplate = $oTemplating->loadTemplate("ktcore/folder/permissions");
59   - $oPO = KTPermissionObject::get($this->oFolder->getPermissionObjectId());
60   - $aPermissions = KTPermission::getList();
61   - $aMapPermissionGroup = array();
62   - foreach ($aPermissions as $oPermission) {
63   - $oPA = KTPermissionAssignment::getByPermissionAndObject($oPermission, $oPO);
64   - if (PEAR::isError($oPA)) {
65   - continue;
66   - }
67   - $oDescriptor = KTPermissionDescriptor::get($oPA->getPermissionDescriptorId());
68   - $iPermissionId = $oPermission->getId();
69   - $aIds = $oDescriptor->getGroups();
70   - $aMapPermissionGroup[$iPermissionId] = array();
71   - foreach ($aIds as $iId) {
72   - $aMapPermissionGroup[$iPermissionId][$iId] = true;
73   - }
74   - }
75   - $aMapPermissionUser = array();
76   - $aUsers = User::getList();
77   - foreach ($aPermissions as $oPermission) {
78   - $iPermissionId = $oPermission->getId();
79   - foreach ($aUsers as $oUser) {
80   - if (KTPermissionUtil::userHasPermissionOnItem($oUser, $oPermission, $this->oFolder)) {
81   - $aMapPermissionUser[$iPermissionId][$oUser->getId()] = true;
82   - }
83   - }
84   - }
85   -
86   - $oInherited = KTPermissionUtil::findRootObjectForPermissionObject($oPO);
87   - if ($oInherited === $this->oFolder) {
88   - $bEdit = true;
89   - } else {
90   - $iInheritedFolderId = $oInherited->getId();
91   - $sInherited = displayFolderPathLink(Folder::getFolderPathAsArray($iInheritedFolderId),
92   - Folder::getFolderPathNamesAsArray($iInheritedFolderId),
93   - "$default->rootUrl/control.php?action=editFolderPermissions");
94   - $bEdit = false;
95   - }
96   -
97   - $aDynamicConditions = KTPermissionDynamicCondition::getByPermissionObject($oPO);
98   - $aTemplateData = array(
99   - "permissions" => $aPermissions,
100   - "groups" => Group::getList(),
101   - "iFolderId" => $this->oFolder->getId(),
102   - "aMapPermissionGroup" => $aMapPermissionGroup,
103   - "users" => $aUsers,
104   - "aMapPermissionUser" => $aMapPermissionUser,
105   - "edit" => $bEdit,
106   - "inherited" => $sInherited,
107   - "conditions" => KTSavedSearch::getConditions(),
108   - "dynamic_conditions" => $aDynamicConditions,
109   - );
110   - return $oTemplate->render($aTemplateData);
111   - }
112   -
113   - function handleOutput($data) {
114   - global $main;
115   - $main->bFormDisabled = true;
116   - $main->setCentralPayload($data);
117   - $main->render();
118   - }
119   -
120   - function do_update() {
121   - $oPO = KTPermissionObject::get($this->oFolder->getPermissionObjectId());
122   - $aFoo = $_REQUEST['foo'];
123   - $aPermissions = KTPermission::getList();
124   - foreach ($aPermissions as $oPermission) {
125   - $iPermId = $oPermission->getId();
126   - $aAllowed = KTUtil::arrayGet($aFoo, $iPermId, array());
127   - KTPermissionUtil::setPermissionForId($oPermission, $oPO, $aAllowed);
128   - }
129   - KTPermissionUtil::updatePermissionLookupForPO($oPO);
130   - return $this->successRedirectToMain('Permissions updated',
131   - array('fFolderId' => $this->oFolder->getId()));
132   - }
133   -
134   - function do_copyPermissions() {
135   - KTPermissionUtil::copyPermissionObject($this->oFolder);
136   - return $this->successRedirectToMain('Permissions updated',
137   - array('fFolderId' => $oFolder->getId()));
138   - }
139   -
140   - function do_inheritPermissions() {
141   - KTPermissionUtil::inheritPermissionObject($this->oFolder);
142   - return $this->successRedirectToMain('Permissions updated',
143   - array('fFolderId' => $this->oFolder->getId()));
144   - }
145   -
146   - function do_newDynamicPermission() {
147   - $oGroup =& $this->oValidator->validateGroup($_REQUEST['fGroupId']);
148   - $oCondition =& $this->oValidator->validateCondition($_REQUEST['fConditionId']);
149   - $aPermissionIds = $_REQUEST['fPermissionIds'];
150   - $oPO = KTPermissionObject::get($this->oFolder->getPermissionObjectId());
151   -
152   - $oDynamicCondition = KTPermissionDynamicCondition::createFromArray(array(
153   - 'groupid' => $oGroup->getId(),
154   - 'conditionid' => $oCondition->getId(),
155   - 'permissionobjectid' => $oPO->getId(),
156   - ));
157   - $aOptions = array(
158   - 'redirect_to' => array('main', 'fFolderId=' . $this->oFolder->getId()),
159   - );
160   - $this->oValidator->notError($oDynamicCondition, $aOptions);
161   - $res = $oDynamicCondition->saveAssignment($aPermissionIds);
162   - $this->oValidator->notError($res, $aOptions);
163   - $this->successRedirectToMain("Dynamic permission added", "fFolderId=" . $this->oFolder->getId());
164   - }
165   -}
166   -
167   -$oDispatcher = new FolderPermissions;
168   -$oDispatcher->dispatch();
169   -
170   -?>