dashboard.php
6.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<?php
// main library routines and defaults
require_once("./config/dmsDefaults.php");
require_once("$default->owl_fs_root/presentation/DashboardUI.inc");
require_once("$default->owl_fs_root/lib/visualpatterns/PatternMainPage.inc");
require_once("$default->owl_fs_root/lib/visualpatterns/PatternImage.inc");
require_once("$default->owl_fs_root/lib/visualpatterns/PatternTableLinks.inc");
require_once("$default->owl_fs_root/lib/visualpatterns/PatternTableSqlQuery.inc");
require_once("$default->owl_fs_root/lib/visualpatterns/PatternCustom.inc");
/**
* $Id$
*
* Main dashboard page -- This page is presented to the user after login.
* It contains a high level overview of the users subscriptions, checked out
* document, pending approval routing documents, etc.
*
* Licensed under the GNU GPL. For full terms see the file COPYING.
*
* @version $Revision$
* @author Michael Joseph <michael@jamwarehouse.com>, Jam Warehouse (Pty) Ltd, South Africa
* @package presentation
*/
// -------------------------------
// page start
// -------------------------------
if (checkSession()) {
// create a page
// logo
$img = new PatternImage("$default->owl_root_url/locale/$default->owl_lang/graphics/$default->logo");
$img->setImgSize(238, 178);
// build the top menu of links
// TODO: this is a function of the sitemap
// get list of sections
$aTopMenuLinks = array(generateControllerUrl("dashboard"), generateControllerUrl("browse"), generateControllerUrl("subscriptions"),
generateControllerUrl("search"), generateControllerUrl("administration"), generateControllerUrl("preferences"),
generateControllerUrl("documentBrowserTest"), generateControllerUrl("logout"));
$aTopMenuText = array("Dashboard", "Browse Documents", "Subscriptions", "Advanced Search", "Administration", "Preferences", "Help", "Logout");
$aTopMenuImages = array("$default->owl_graphics_url/dashboard.jpg", "$default->owl_graphics_url/browse.jpg",
"$default->owl_graphics_url/subscriptions.jpg", "$default->owl_graphics_url/search.jpg",
"$default->owl_graphics_url/administration.jpg", "$default->owl_graphics_url/preferences.jpg",
"$default->owl_graphics_url/help.jpg", "$default->owl_graphics_url/logout.jpg");
$oPatternTableLinks = new PatternTableLinks($aTopMenuLinks, null, 1, 8, 2, $aTopMenuImages);
$sHtml = startTable("0", "100%") .
// pending documents
startTableRowCell() .
startTable("0", "100%") .
tableRow("left", "#996600", tableHeading("sectionHeading", 3, "Pending Documents")) .
tableRow("", "", pendingDocumentsHeaders());
// FIXME: replace with the real method when its implemented
// something like:
// DocumentManager::getPendingDocuments();
$aPendingDocumentList = getPendingDocuments($_SESSION["userID"]);
for ($i = 0; $i < count($aPendingDocumentList); $i++) {
$row = tableData($aPendingDocumentList[$i]->getTitleLink()) .
tableData($aPendingDocumentList[$i]->getStatus()) .
tableData($aPendingDocumentList[$i]->getDays());
$sHtml = $sHtml . tableRow("", "", $row);
}
$sHtml = $sHtml .
stopTable() .
endTableRowCell() .
// checked out documents
startTableRowCell() .
startTable("0", "100%") .
tableRow("left", "#996600", tableHeading("sectionHeading", 2, "Checked Out Documents")) .
tableRow("", "", checkedOutDocumentsHeaders());
// FIXME: replace with the real method when its implemented
// something like:
// DocumentManager::getCheckoutDocuments();
$aCheckedOutDocumentList = getCheckedoutDocuments($_SESSION["userID"]);
for ($i = 0; $i < count($aCheckedOutDocumentList); $i++) {
$row = tableData($aCheckedOutDocumentList[$i]->getTitleLink()) .
tableData($aCheckedOutDocumentList[$i]->getDays());
$sHtml = $sHtml . tableRow("", "", $row);
}
$sHtml = $sHtml .
stopTable() .
endTableRowCell() .
// subscription alerts
startTableRowCell() .
startTable("0", "100%") .
tableRow("left", "#996600", tableHeading("sectionHeading", 3, "Subscriptions Alerts")) .
tableRow("", "", subscriptionDocumentsHeaders());
// FIXME: replace with the real method when its implemented
// something like:
// SubscriptionManager::getAlerts();
$aSubscriptionList = getSubscriptionDocuments($_SESSION["userID"]);
for ($i = 0; $i < count($aSubscriptionList); $i++) {
$row = tableData($aSubscriptionList[$i]->getTitleLink()) .
tableData($aSubscriptionList[$i]->getStatus()) .
tableData($aSubscriptionList[$i]->getDays());
$sHtml = $sHtml . tableRow("", "", $row);
}
$sHtml = $sHtml .
stopTable() .
endTableRowCell() .
stopTable();
$oContent = new PatternCustom();
$oContent->setHtml($sHtml);
/* get a page */
$tmp = new PatternMainPage();
/* put the page together */
$tmp->setNorthWestPayload($img);
$tmp->setNorthPayload($oPatternTableLinks);
$tmp->setCentralPayload($oContent);
$tmp->setFormAction("dashboard.php");
$tmp->render();
} else {
// FIXME: redirect to no permission page
print "you do not have access to view this page! please go away, and come back when you do.<br>";
echo generateLink("logout") . "logout</a>";
}
?>