source: contrib/Dms/out/out.Statistic.php @ 3526

Revision 3526, 3.5 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
15if (!$user->isAdmin())
16        die ("access denied");
17
18printHTMLHead( getMLText("admin_tools") );
19?>
20
21<style type="text/css">
22.folderClass {
23        list-style-image : url(<?php printImgPath("folder_closed.gif");?>);
24        list-style : url(<?php printImgPath("folder_closed.gif");?>);
25}
26
27.documentClass {
28        list-style-image : url(<?php printImgPath("file.gif");?>);
29        list-style : url(<?php printImgPath("file.gif");?>);
30}
31</style>
32
33<script language="JavaScript">
34
35function showDocument(id) {
36        url = "out.DetailedStatistic.php?documentid=" + id;
37        alert(url);
38}
39
40function showFolder(id) {
41        url = "out.DetailedStatistic.php?folderid=" + id;
42        alert(url);
43}
44
45</script>
46
47<?php
48printTitleBar(getFolder($settings->_rootFolderID));
49printCenterStart();
50
51printStartBox(getMLText("folders_and_documents_statistic"));
52        print "<div class=\"standardText\"><ul>";
53        printFolder(getFolder($settings->_rootFolderID));
54        print "</ul></div>";
55printEndBox();
56
57printCenterEnd();
58printHTMLFoot();
59
60
61function getAccessColor($mode)
62{
63        if ($mode == M_NONE)
64                return "red";
65        else if ($mode == M_READ)
66                return "orange";
67        else if ($mode == M_READWRITE)
68                return "green";
69        else // if ($mode == M_ALL)
70                return "blue";
71}
72
73
74function printFolder($folder)
75{
76        $color = $folder->inheritsAccess() ? "black" : getAccessColor($folder->getDefaultAccess());
77       
78        print "<li class=\"folderClass\">";
79        print "<a class=\"standardText\" style=\"color: $color\" href=\"out.ViewFolder.php?folderid=".$folder->getID()."\">".$folder->getName() ."</a>";
80       
81        if (! $folder->inheritsAccess())
82                printAccessList($folder);
83       
84        print "</li>";
85       
86        $subFolders = $folder->getSubFolders();
87        $documents = $folder->getDocuments();
88       
89        print "<ul>";
90        foreach ($subFolders as $folder)
91                printFolder($folder);
92       
93        foreach ($documents as $document)
94                printDocument($document);
95        print "</ul>";
96}
97
98
99function printDocument($document)
100{
101        $color = $document->inheritsAccess() ? "black" : getAccessColor($document->getDefaultAccess());
102        print "<li class=\"documentClass\">";
103        print "<a class=\"standardText\" style=\"color: $color\" href=\"out.ViewDocument.php?documentid=".$document->getID()."\">".$document->getName()."</a>";
104       
105        if (! $document->inheritsAccess())
106                printAccessList($document);
107       
108        print "</li>";
109}
110
111function printAccessList($obj)
112{
113        $accessList = $obj->getAccessList();
114        if (count($accessList["users"]) == 0 && count($accessList["groups"]) == 0)
115                return;
116       
117        print " <span class=\"standardText\">(";
118       
119        for ($i = 0; $i < count($accessList["groups"]); $i++)
120        {
121                $group = $accessList["groups"][$i]->getGroup();
122                $color = getAccessColor($accessList["groups"][$i]->getMode());
123                print "<span style=\"color: $color\">".$group->getName()."</span>";
124                if ($i+1 < count($accessList["groups"]) || count($accessList["users"]) > 0)
125                        print ", ";
126        }
127        for ($i = 0; $i < count($accessList["users"]); $i++)
128        {
129                $user = $accessList["users"][$i]->getUser();
130                $color = getAccessColor($accessList["users"][$i]->getMode());
131                print "<span style=\"color: $color\">".$user->getFullName()."</span>";
132                if ($i+1 < count($accessList["users"]))
133                        print ", ";
134        }
135        print ")</span>";
136}
137?>
Note: See TracBrowser for help on using the repository browser.