manageHelp.php
4.1 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
<?php
require_once("../../../../../config/dmsDefaults.php");
require_once(KT_DIR . "/presentation/Html.inc");
require_once(KT_LIB_DIR . "/templating/templating.inc.php");
require_once(KT_LIB_DIR . "/help/helpreplacement.inc.php");
require_once(KT_LIB_DIR . "/help/helpentity.inc.php");
require_once(KT_LIB_DIR . "/help/help.inc.php");
require_once(KT_LIB_DIR . "/dispatcher.inc.php");
$sectionName = "Administration";
require_once(KT_DIR . "/presentation/webpageTemplate.inc");
class ManageHelpDispatcher extends KTAdminDispatcher {
// Breadcrumbs base - added to in methods
var $aBreadcrumbs = array(
array('action' => 'administration', 'name' => 'Administration'),
array('action' => 'manageHelp', 'name' => 'Help Administration'),
);
function do_main() {
return $this->getData();
}
function getData() {
$oTemplating = new KTTemplating;
$aHelpReplacements =& KTHelpReplacement::getList();
$aHelps =& KTHelpEntity::getList();
$oTemplate = $oTemplating->loadTemplate("ktcore/manage_help");
$aTemplateData = array(
"helps" => $aHelps,
"helpreplacements" => $aHelpReplacements,
);
return $oTemplate->render($aTemplateData);
}
function getReplacementItemData($oHelpReplacement) {
$oTemplating = new KTTemplating;
$oTemplate = $oTemplating->loadTemplate("ktcore/manage_help_item");
$aTemplateData = array(
"help" => $oHelpReplacement,
);
$this->aBreadcrumbs[] = array(
'name' => 'Edit help item',
);
return $oTemplate->render($aTemplateData);
}
function do_editReplacement() {
$id = KTUtil::arrayGet($_REQUEST, 'id');
$oHelpReplacement = KTHelpReplacement::get($id);
if (PEAR::isError($oHelpReplacement)) {
return $this->errorRedirectToMain("Could not find specified item");
}
return $this->getReplacementItemData($oHelpReplacement);
}
function do_deleteReplacement() {
$id = KTUtil::arrayGet($_REQUEST, 'id');
$oHelpReplacement = KTHelpReplacement::get($id);
if (PEAR::isError($oHelpReplacement)) {
return $this->errorRedirectToMain("Could not find specified item");
}
$res = $oHelpReplacement->delete();
if (PEAR::isError($res)) {
return $this->errorRedirectToMain("Could not delete specified item");
}
return $this->successRedirectToMain("Item deleted");
}
function do_updateReplacement() {
$id = KTUtil::arrayGet($_REQUEST, 'id');
$oHelpReplacement = KTHelpReplacement::get($id);
if (PEAR::isError($oHelpReplacement)) {
return $this->errorRedirectToMain("Could not find specified item");
}
$description = KTUtil::arrayGet($_REQUEST, 'description');
if (empty($description)) {
return $this->errorRedirectToMain("No description given");
}
$oHelpReplacement->setDescription($description);
$res = $oHelpReplacement->update();
if (PEAR::isError($res)) {
return $this->errorRedirectToMain("Error updating item");
}
return $this->successRedirectToMain("Item updated");
}
function do_customise() {
$name = KTUtil::arrayGet($_REQUEST, 'name');
$oHelpReplacement = KTHelpReplacement::getByName($name);
// XXX: Check against "already exists"
if (!PEAR::isError($oHelpReplacement)) {
// Already exists...
return $this->redirectTo('editReplacement', 'id=' . $oHelpReplacement->getId());
}
$description = KTHelp::getHelpFromFile($name);
$oHelpReplacement = KTHelpReplacement::createFromArray(array(
'name' => $name,
'description' => $description,
));
if (PEAR::isError($oHelpReplacement)) {
return $this->errorRedirectToMain("Unable to create replacement");
}
return $this->successRedirectTo('editReplacement', 'id=' . $oHelpReplacement->getId());
}
}
$oDispatcher = new ManageHelpDispatcher();
$oDispatcher->dispatch();
?>