diff --git a/presentation/lookAndFeel/knowledgeTree/administration/help/manageHelp.php b/presentation/lookAndFeel/knowledgeTree/administration/help/manageHelp.php index 34f3247..592be15 100644 --- a/presentation/lookAndFeel/knowledgeTree/administration/help/manageHelp.php +++ b/presentation/lookAndFeel/knowledgeTree/administration/help/manageHelp.php @@ -1,84 +1,156 @@ getData(); } - // $oEditor = new FCKEditor("description"); - // $oEditor->Value = $oHelp->getDescription(); - // $oEditor->Height = 400; + function getData() { + $oTemplating = new KTTemplating; + $aHelpReplacements =& KTHelpReplacement::getList(); + $aHelps =& KTHelpEntity::getList(); + $oTemplate = $oTemplating->loadTemplate("ktcore/manage_help"); + $aTemplateData = array( + "helps" => $aHelps, + "helpreplacements" => $aHelpReplacements, + ); - $oTemplate = $oTemplating->loadTemplate("ktcore/manage_help_item"); - $aTemplateData = array( - "help" => $oHelp, - // "fck" => $oEditor, - ); - return $oTemplate->render($aTemplateData); -} + return $oTemplate->render($aTemplateData); + } + + function getReplacementItemData($oHelpReplacement) { + $oTemplating = new KTTemplating; + $oTemplate = $oTemplating->loadTemplate("ktcore/manage_help_item"); + $aTemplateData = array( + "help" => $oHelpReplacement, + ); + return $oTemplate->render($aTemplateData); + } -function getData() { - $oTemplating = new KTTemplating; - $aHelps = KTHelpReplacement::getList(); - $oTemplate = $oTemplating->loadTemplate("ktcore/manage_help"); - $aTemplateData = array( - "helps" => $aHelps, - ); + function handleOutput($data) { + global $main; + $main->bFormDisabled = true; + $main->setCentralPayload($data); + $main->render(); + } - 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->errorRedirectToMain("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->errorRedirectToMain("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->redirectTo('editReplacement', 'id=' . $oHelpReplacement->getId()); + } } +/* $id = KTUtil::arrayGet($_REQUEST, 'id'); if ($id) { $action = KTUtil::arrayGet($_REQUEST, 'action'); - if ($action === "update") { - $oHelp =& KTHelpReplacement::get($id); - if (PEAR::isError($oHelp)) { + if ($action === "updateReplacement") { + $oHelpReplacement =& KTHelpReplacement::get($id); + if (PEAR::isError($oHelpReplacement)) { $_SESSION['KTErrorMessage'][] = "Help for that item not found"; - exit(controllerRedirect('helpAdmin')); + exit(controllerRedirect('manageHelp')); } $description = KTUtil::arrayGet($_REQUEST, 'description'); if ($description) { - $oHelp->setDescription($description); - $res = $oHelp->update(); + $oHelpReplacement->setDescription($description); + $res = $oHelpReplacement->update(); if (PEAR::isError($res)) { $_SESSION['KTErrorMessage'][] = "Error updating object"; - $data = getItemData($id); + $data = getReplacementItemData($id); } else { $_SESSION['KTErrorMessage'][] = "Updated"; - exit(controllerRedirect('helpAdmin')); + exit(controllerRedirect('manageHelp')); } } else { $_SESSION['KTErrorMessage'][] = "No description given"; - var_dump($_REQUEST); - exit(0); - $data = getItemData($id); + $data = getReplacementItemData($id); } } else { - $data = getItemData($id); + $data = getReplacementItemData($id); } } else { $data = getData(); } -$sectionName = "Administration"; +// $sectionName = "Administration"; -require_once(KT_DIR . "/presentation/webpageTemplate.inc"); -$main->bFormDisabled = true; -$main->setCentralPayload($data); -$main->render(); +// require_once(KT_DIR . "/presentation/webpageTemplate.inc"); +// $main->bFormDisabled = true; +// $main->setCentralPayload($data); +// $main->render(); +*/ + +$oDispatcher = new ManageHelpDispatcher(); +$oDispatcher->dispatch(); ?>