admin.php
3.91 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
<?php
require_once("config/dmsDefaults.php");
require_once(KT_LIB_DIR . "/templating/kt3template.inc.php");
require_once(KT_LIB_DIR . "/dispatcher.inc.php");
require_once(KT_LIB_DIR . "/widgets/portlet.inc.php");
require_once(KT_LIB_DIR . "/plugins/KTAdminNavigation.php");
class AdminSplashDispatcher extends KTAdminDispatcher {
var $category = '';
var $sSection = 'administration';
function AdminSplashDispatcher() {
$this->aBreadcrumbs = array(
array('url' => KTUtil::getRequestScriptName($_SERVER), 'name' => 'Administration'),
);
parent::KTAdminDispatcher();
}
function do_main() {
if ($this->category !== '') {
return $this->do_viewCategory();
};
// are we categorised, or not?
$oRegistry =& KTAdminNavigationRegistry::getSingleton();
$categories = $oRegistry->getCategories();
$KTConfig =& KTConfig::getSingleton();
$condensed_admin = $KTConfig->get("condensedAdminUI");
$aAllItems = array();
// we need to investigate sub_url solutions.
if ($condensed_admin) {
foreach ($categories as $aCategory) {
$aItems = $oRegistry->getItemsForCategory($aCategory['name']);
$aAllItems[$aCategory['name']] = $aItems;
}
}
$this->oPage->title = _("DMS Administration") . ": ";
$oTemplating = new KTTemplating;
if ($condensed_admin) {
$oTemplate = $oTemplating->loadTemplate("kt3/admin_fulllist");
} else {
$oTemplate = $oTemplating->loadTemplate("kt3/admin_categories");
}
$aTemplateData = array(
"context" => $this,
"categories" => $categories,
"all_items" => $aAllItems,
"baseurl" => $_SERVER['PHP_SELF'],
);
return $oTemplate->render($aTemplateData);
}
function do_viewCategory() {
// are we categorised, or not?
$category = KTUtil::arrayGet($_REQUEST, "fCategory", $this->category);
$oRegistry =& KTAdminNavigationRegistry::getSingleton();
$aCategory = $oRegistry->getCategory($category);
$aItems = $oRegistry->getItemsForCategory($category);
$this->aBreadcrumbs[] = array("name" => $aCategory["title"], "url" => KTUtil::ktLink('admin.php',$category));
$this->oPage->title = _("DMS Administration") . ": " . $aCategory["title"];
$oTemplating = new KTTemplating;
$oTemplate = $oTemplating->loadTemplate("kt3/admin_items");
$aTemplateData = array(
"context" => $this,
"category" => $aCategory,
"items" => $aItems,
"baseurl" => $_SERVER['PHP_SELF'],
);
return $oTemplate->render($aTemplateData);
}
}
$sub_url = KTUtil::arrayGet($_SERVER, 'PATH_INFO');
$sub_url = trim($sub_url);
$sub_url= trim($sub_url, "/");
if (empty($sub_url)) {
$oDispatcher = new AdminSplashDispatcher();
} else {
$oRegistry =& KTAdminNavigationRegistry::getSingleton();
if ($oRegistry->isRegistered($sub_url)) {
$oDispatcher = $oRegistry->getDispatcher($sub_url);
$aParts = explode('/',$sub_url);
$oRegistry =& KTAdminNavigationRegistry::getSingleton();
$aCategory = $oRegistry->getCategory($aParts[0]);
$oDispatcher->aBreadcrumbs = array();
$oDispatcher->aBreadcrumbs[] = array('action' => "administration", 'name' => 'Administration');
$oDispatcher->aBreadcrumbs[] = array("name" => $aCategory['title'], "url" => KTUtil::ktLink('admin.php',$aParts[0]));
} else {
// FIXME (minor) redirect to no-suburl?
$oDispatcher = new AdminSplashDispatcher();
$oDispatcher->category = $sub_url;
}
}
$oDispatcher->dispatch(); // we _may_ be redirected at this point (see KTAdminNavigation)
?>