Commit 5ff745dbbaca8f46d72e8583c8fbd176882c85bd

Authored by Neil Blakey-Milner
1 parent ad7612b3

Use dispatcher and new helpentity to simplify code.


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@3480 c91229c3-7414-0410-bfa2-8a42b809f60b
presentation/lookAndFeel/knowledgeTree/administration/help/manageHelp.php
1 <?php 1 <?php
  2 +
2 require_once("../../../../../config/dmsDefaults.php"); 3 require_once("../../../../../config/dmsDefaults.php");
3 4
4 require_once(KT_DIR . "/presentation/Html.inc"); 5 require_once(KT_DIR . "/presentation/Html.inc");
5 6
6 require_once(KT_LIB_DIR . "/templating/templating.inc.php"); 7 require_once(KT_LIB_DIR . "/templating/templating.inc.php");
7 require_once(KT_LIB_DIR . "/help/helpreplacement.inc.php"); 8 require_once(KT_LIB_DIR . "/help/helpreplacement.inc.php");
  9 +require_once(KT_LIB_DIR . "/help/helpentity.inc.php");
8 require_once(KT_LIB_DIR . "/help/help.inc.php"); 10 require_once(KT_LIB_DIR . "/help/help.inc.php");
9 11
  12 +require_once(KT_LIB_DIR . "/dispatcher.inc.php");
  13 +$sectionName = "Administration";
  14 +require_once(KT_DIR . "/presentation/webpageTemplate.inc");
  15 +
10 // require_once(KT_DIR . "/FCKeditor/fckeditor.php"); 16 // require_once(KT_DIR . "/FCKeditor/fckeditor.php");
11 17
12 -function getItemData($iId) {  
13 - $oTemplating = new KTTemplating;  
14 - $oHelp =& KTHelpReplacement::get($iId);  
15 - if (PEAR::isError($oHelp)) {  
16 - $_SESSION['KTErrorMessage'][] = "Help for that item not found";  
17 - exit(controllerRedirect('helpAdmin')); 18 +class ManageHelpDispatcher extends KTAdminDispatcher {
  19 + function do_main() {
  20 + return $this->getData();
18 } 21 }
19 22
20 - // $oEditor = new FCKEditor("description");  
21 - // $oEditor->Value = $oHelp->getDescription();  
22 - // $oEditor->Height = 400; 23 + function getData() {
  24 + $oTemplating = new KTTemplating;
  25 + $aHelpReplacements =& KTHelpReplacement::getList();
  26 + $aHelps =& KTHelpEntity::getList();
  27 + $oTemplate = $oTemplating->loadTemplate("ktcore/manage_help");
  28 + $aTemplateData = array(
  29 + "helps" => $aHelps,
  30 + "helpreplacements" => $aHelpReplacements,
  31 + );
23 32
24 - $oTemplate = $oTemplating->loadTemplate("ktcore/manage_help_item");  
25 - $aTemplateData = array(  
26 - "help" => $oHelp,  
27 - // "fck" => $oEditor,  
28 - );  
29 - return $oTemplate->render($aTemplateData);  
30 -} 33 + return $oTemplate->render($aTemplateData);
  34 + }
  35 +
  36 + function getReplacementItemData($oHelpReplacement) {
  37 + $oTemplating = new KTTemplating;
  38 + $oTemplate = $oTemplating->loadTemplate("ktcore/manage_help_item");
  39 + $aTemplateData = array(
  40 + "help" => $oHelpReplacement,
  41 + );
  42 + return $oTemplate->render($aTemplateData);
  43 + }
31 44
32 -function getData() {  
33 - $oTemplating = new KTTemplating;  
34 - $aHelps = KTHelpReplacement::getList();  
35 - $oTemplate = $oTemplating->loadTemplate("ktcore/manage_help");  
36 - $aTemplateData = array(  
37 - "helps" => $aHelps,  
38 - ); 45 + function handleOutput($data) {
  46 + global $main;
  47 + $main->bFormDisabled = true;
  48 + $main->setCentralPayload($data);
  49 + $main->render();
  50 + }
39 51
40 - return $oTemplate->render($aTemplateData); 52 + function do_editReplacement() {
  53 + $id = KTUtil::arrayGet($_REQUEST, 'id');
  54 + $oHelpReplacement = KTHelpReplacement::get($id);
  55 + if (PEAR::isError($oHelpReplacement)) {
  56 + return $this->errorRedirectToMain("Could not find specified item");
  57 + }
  58 + return $this->getReplacementItemData($oHelpReplacement);
  59 + }
  60 +
  61 + function do_deleteReplacement() {
  62 + $id = KTUtil::arrayGet($_REQUEST, 'id');
  63 + $oHelpReplacement = KTHelpReplacement::get($id);
  64 + if (PEAR::isError($oHelpReplacement)) {
  65 + return $this->errorRedirectToMain("Could not find specified item");
  66 + }
  67 + $res = $oHelpReplacement->delete();
  68 + if (PEAR::isError($res)) {
  69 + return $this->errorRedirectToMain("Could not delete specified item");
  70 + }
  71 + return $this->errorRedirectToMain("Item deleted");
  72 + }
  73 +
  74 + function do_updateReplacement() {
  75 + $id = KTUtil::arrayGet($_REQUEST, 'id');
  76 + $oHelpReplacement = KTHelpReplacement::get($id);
  77 + if (PEAR::isError($oHelpReplacement)) {
  78 + return $this->errorRedirectToMain("Could not find specified item");
  79 + }
  80 + $description = KTUtil::arrayGet($_REQUEST, 'description');
  81 + if (empty($description)) {
  82 + return $this->errorRedirectToMain("No description given");
  83 + }
  84 + $oHelpReplacement->setDescription($description);
  85 + $res = $oHelpReplacement->update();
  86 + if (PEAR::isError($res)) {
  87 + return $this->errorRedirectToMain("Error updating item");
  88 + }
  89 + return $this->errorRedirectToMain("Item updated");
  90 + }
  91 +
  92 + function do_customise() {
  93 + $name = KTUtil::arrayGet($_REQUEST, 'name');
  94 + $oHelpReplacement = KTHelpReplacement::getByName($name);
  95 + // XXX: Check against "already exists"
  96 + if (!PEAR::isError($oHelpReplacement)) {
  97 + // Already exists...
  98 + return $this->redirectTo('editReplacement', 'id=' . $oHelpReplacement->getId());
  99 + }
  100 + $description = KTHelp::getHelpFromFile($name);
  101 + $oHelpReplacement = KTHelpReplacement::createFromArray(array(
  102 + 'name' => $name,
  103 + 'description' => $description,
  104 + ));
  105 + if (PEAR::isError($oHelpReplacement)) {
  106 + return $this->errorRedirectToMain("Unable to create replacement");
  107 + }
  108 + return $this->redirectTo('editReplacement', 'id=' . $oHelpReplacement->getId());
  109 + }
41 } 110 }
42 111
  112 +/*
43 $id = KTUtil::arrayGet($_REQUEST, 'id'); 113 $id = KTUtil::arrayGet($_REQUEST, 'id');
44 if ($id) { 114 if ($id) {
45 $action = KTUtil::arrayGet($_REQUEST, 'action'); 115 $action = KTUtil::arrayGet($_REQUEST, 'action');
46 - if ($action === "update") {  
47 - $oHelp =& KTHelpReplacement::get($id);  
48 - if (PEAR::isError($oHelp)) { 116 + if ($action === "updateReplacement") {
  117 + $oHelpReplacement =& KTHelpReplacement::get($id);
  118 + if (PEAR::isError($oHelpReplacement)) {
49 $_SESSION['KTErrorMessage'][] = "Help for that item not found"; 119 $_SESSION['KTErrorMessage'][] = "Help for that item not found";
50 - exit(controllerRedirect('helpAdmin')); 120 + exit(controllerRedirect('manageHelp'));
51 } 121 }
52 $description = KTUtil::arrayGet($_REQUEST, 'description'); 122 $description = KTUtil::arrayGet($_REQUEST, 'description');
53 if ($description) { 123 if ($description) {
54 - $oHelp->setDescription($description);  
55 - $res = $oHelp->update(); 124 + $oHelpReplacement->setDescription($description);
  125 + $res = $oHelpReplacement->update();
56 if (PEAR::isError($res)) { 126 if (PEAR::isError($res)) {
57 $_SESSION['KTErrorMessage'][] = "Error updating 127 $_SESSION['KTErrorMessage'][] = "Error updating
58 object"; 128 object";
59 - $data = getItemData($id); 129 + $data = getReplacementItemData($id);
60 } else { 130 } else {
61 $_SESSION['KTErrorMessage'][] = "Updated"; 131 $_SESSION['KTErrorMessage'][] = "Updated";
62 - exit(controllerRedirect('helpAdmin')); 132 + exit(controllerRedirect('manageHelp'));
63 } 133 }
64 } else { 134 } else {
65 $_SESSION['KTErrorMessage'][] = "No description given"; 135 $_SESSION['KTErrorMessage'][] = "No description given";
66 - var_dump($_REQUEST);  
67 - exit(0);  
68 - $data = getItemData($id); 136 + $data = getReplacementItemData($id);
69 } 137 }
70 } else { 138 } else {
71 - $data = getItemData($id); 139 + $data = getReplacementItemData($id);
72 } 140 }
73 } else { 141 } else {
74 $data = getData(); 142 $data = getData();
75 } 143 }
76 144
77 -$sectionName = "Administration"; 145 +// $sectionName = "Administration";
78 146
79 -require_once(KT_DIR . "/presentation/webpageTemplate.inc");  
80 -$main->bFormDisabled = true;  
81 -$main->setCentralPayload($data);  
82 -$main->render(); 147 +// require_once(KT_DIR . "/presentation/webpageTemplate.inc");
  148 +// $main->bFormDisabled = true;
  149 +// $main->setCentralPayload($data);
  150 +// $main->render();
  151 +*/
  152 +
  153 +$oDispatcher = new ManageHelpDispatcher();
  154 +$oDispatcher->dispatch();
83 155
84 ?> 156 ?>