source: contrib/Dms/op/op.DocumentAccess.php @ 3526

Revision 3526, 4.3 KB checked in by afernandes, 13 years ago (diff)

Ticket #1416 - Disponibilizado modulos Timesheet e DMS para a comunidade.

  • Property svn:executable set to *
Line 
1<?php
2include("../inc/inc.Settings.php");
3include("../inc/inc.AccessUtils.php");
4include("../inc/inc.ClassAccess.php");
5include("../inc/inc.ClassDocument.php");
6include("../inc/inc.ClassFolder.php");
7include("../inc/inc.ClassGroup.php");
8include("../inc/inc.ClassUser.php");
9include("../inc/inc.DBAccess.php");
10include("../inc/inc.FileUtils.php");
11include("../inc/inc.Language.php");
12include("../inc/inc.OutUtils.php");
13include("../inc/inc.Authentication.php");
14
15$document = getDocument($documentid);
16
17
18printHTMLHead( getMLText("document_title", array("documentname" => $document->getName()) ) );
19printTitleBar($document->getFolder());
20printCenterStart();
21
22printStartBox(getMLText("edit_document_access"));
23
24print "<div class=\"standardText\">";
25
26
27if ($document->getAccessMode($user) < M_ALL)
28{
29        printMLText("operation_not_allowed");
30        printGoBack();
31}
32else
33{
34        //Ändern des Besitzers ----------------------------------------------------------------------------
35        if ($action == "setowner")
36        {
37                if (!$user->isAdmin())
38                        die("Only an Administrator may set a new owner");
39               
40                $newOwner = getUser($ownerid);
41                printMLText("setting_owner");
42               
43                $document->setOwner($newOwner);
44        }
45
46        //Änderung auf nicht erben ------------------------------------------------------------------------
47        else if ($action == "notinherit")
48        {
49                if ($mode == "copy")
50                        printMLText("document_set_not_inherit_copy");
51                else
52                        printMLText("document_set_not_inherit_empty");
53               
54                $defAccess = $document->getDefaultAccess();
55                $document->setInheritAccess(false);
56                $document->setDefaultAccess($defAccess);
57               
58                //copy ACL of parent folder
59                if ($mode == "copy")
60                {
61                        $folder = $document->getFolder();
62                        $accessList = $folder->getAccessList();
63                       
64                        foreach ($accessList["users"] as $userAccess)
65                                $document->addAccess($userAccess->getMode(), $userAccess->getUserID(), true);
66                        foreach ($accessList["groups"] as $groupAccess)
67                                $document->addAccess($groupAccess->getMode(), $groupAccess->getGroupID(), false);
68                }
69        }
70
71        //Änderung auf erben ------------------------------------------------------------------------------
72        else if ($action == "inherit")
73        {
74                printMLText("document_set_inherit");
75               
76                $document->clearAccessList();
77                $document->setInheritAccess(true);
78        }
79
80        //Standardberechtigung setzen----------------------------------------------------------------------
81        else if ($action == "setdefault")
82        {
83                printMLText("document_set_default_access");
84               
85                if (!is_numeric($mode))
86                        die ("invalid access mode");
87               
88                $document->setDefaultAccess($mode);
89        }
90
91        //Bestehende Berechtigung änndern -----------------------------------------------------------------
92        else if ($action == "editaccess")
93        {
94                printMLText("document_edit_access");
95               
96                if (!is_numeric($mode))
97                        die ("invalid access mode");
98               
99                if (isset($userid)) {
100                        if (!is_numeric($userid))
101                                die ("invalid user id");
102                        $document->changeAccess($mode, $userid, true);
103                }
104                else if (isset($groupid)) {
105                        if (!is_numeric($groupid))
106                                die ("invalid group id");
107                        $document->changeAccess($mode, $groupid, false);
108                }
109        }
110
111        //Berechtigung löschen ----------------------------------------------------------------------------
112        else if ($action == "delaccess")
113        {
114                printMLText("document_del_access");
115               
116                if (isset($userid)) {
117                        if (!is_numeric($userid))
118                                die ("invalid user id");
119                        $document->removeAccess($userid, true);
120                }
121                else if (isset($groupid)) {
122                        if (!is_numeric($groupid))
123                                die ("invalid group id");
124                        $document->removeAccess($groupid, false);
125                }
126        }
127
128        //Neue Berechtigung hinzufügen --------------------------------------------------------------------
129        else if ($action == "addaccess")
130        {
131                printMLText("document_add_access");
132               
133                if (!is_numeric($mode))
134                        die ("invalid access mode");
135               
136                if ($userid != -1) {
137                        if (!is_numeric($userid))
138                                die ("invalid user id");
139                        $document->addAccess($mode, $userid, true);
140                }
141                if ($groupid != -1) {
142                        if (!is_numeric($groupid))
143                                die ("invalid group id");
144                        $document->addAccess($mode, $groupid, false);
145                }
146        }
147        printMLText("op_finished");
148        printGoto(array(array($document->getName(), "../out/out.ViewDocument.php?documentid=".$document->getID()),
149                                array(getMLText("document_access_again"), "../out/out.DocumentAccess.php?documentid=".$document->getID())));
150
151}
152
153print "</div>";
154printEndBox();
155printCenterEnd();
156printHTMLFoot();
157?>
Note: See TracBrowser for help on using the repository browser.