diff --git a/presentation/lookAndFeel/knowledgeTree/administration/news/newsUI.inc b/presentation/lookAndFeel/knowledgeTree/administration/news/newsUI.inc index 53bca4d..efd7323 100644 --- a/presentation/lookAndFeel/knowledgeTree/administration/news/newsUI.inc +++ b/presentation/lookAndFeel/knowledgeTree/administration/news/newsUI.inc @@ -85,6 +85,29 @@ function renderModifyAddNewsForm($oDashboardNews = null) { } /** + * Prompts for confirmation when deleting a news item + */ +function renderDeleteNewsConfirmationPage($oDashboardNews) { + global $default; + + $sToRender .= "" . renderHeading("Delete Dashboard News") . "
"; + $sToRender .= "\n"; + $sToRender .= ""; + + $sToRender .= ""; + $sToRender .= ""; + $sToRender .= ""; + $sToRender .= ""; + $sToRender .= "getID() . "\">"; + $sToRender .= ""; + $sToRender .= "\n"; + + $sToRender .= "
Are you sure you wish to delete this news item?
Synopsis" . $oDashboardNews->getSynopsis() . "
Body" . $oDashboardNews->getBody() . "
Rank" . $oDashboardNews->getRank() . "
rootUrl/" . $default->siteMap->getPage("viewNewsImage") . "?fNewsID=" . $oDashboardNews->getID() . "\" border=\"0\">
graphicsUrl/widgets/delete.gif\" border=\"0\">\n"; + $sToRender .= "rootUrl/control.php?action=viewNews\">graphicsUrl/widgets/cancel.gif\" border=\"0\">
\n"; + return $sToRender; +} + +/** * Displays the edit news page */ function renderEditNewsPage($oDashboardNews) { diff --git a/presentation/lookAndFeel/knowledgeTree/administration/news/removeNewsBL.php b/presentation/lookAndFeel/knowledgeTree/administration/news/removeNewsBL.php new file mode 100644 index 0000000..84b31a1 --- /dev/null +++ b/presentation/lookAndFeel/knowledgeTree/administration/news/removeNewsBL.php @@ -0,0 +1,57 @@ +fileSystemRoot/lib/dashboard/DashboardNews.inc"); +require_once("$default->fileSystemRoot/lib/visualpatterns/PatternMainPage.inc"); +require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCustom.inc"); +require_once("$default->fileSystemRoot/lib/visualpatterns/PatternTableSqlQuery.inc"); +require_once("$default->uiDirectory/administration/news/newsUI.inc"); + +/** + * $Id$ + * + * Business logic for deleting a news item + * + * Licensed under the GNU GPL. For full terms see the file DOCS/COPYING. + * + * @version $Revision$ + * @author Michael Joseph , Jam Warehouse (Pty) Ltd, South Africa + * @package presentation.lookAndFeel.knowledgeTree.administration.news + */ + +if (checkSession()) { + global $default; + + // instantiate my content pattern + $oContent = new PatternCustom(); + + if (isset($fNewsID)) { + // we have an id, so instantiate the news object + $oDashboardNews = DashboardNews::get($fNewsID); + if ($fDeleteConfirmed) { + // confirmation received, so delete + if ($oDashboardNews->delete()) { + $default->log->info("deleteNewsBL.php successfully delete dashboard news id=$fNewsID"); + // redirect to view page + redirect("$default->rootUrl/control.php?action=viewNews"); + } else { + // delete failed + $default->log->error("deleteNewsBL.php DB error deleting dashboard news (" . arrayToString($oDashboardNews) . ")"); + $oContent->setHtml(renderErrorMessage("An error occurred while deleting this news item.")); + } + } else { + // display the delete confirmation page + $oContent->setHtml(renderDeleteNewsConfirmationPage($oDashboardNews)); + } + } else { + // no news id, so display an error message + $oContent->setHtml(renderErrorMessage("No news item was selected for deletion")); + } + + // build the page + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); + $main->setCentralPayload($oContent); + $main->setFormAction($_SERVER['PHP_SELF']); + $main->render(); +} +?> \ No newline at end of file