*/ class CategoryAdministrationPage extends AdministrationPage { private $content; private $title; protected function constructAdmin() { $this->content = ""; if (key_exists('categoryIdentifier', $_POST)) { $this->save(); } else if (key_exists("type", $_GET) AND ($_GET['type'] == "create")) { $this->create(); } else if (key_exists("type", $_GET) AND ($_GET['type'] == "delete")) { $this->delete(); } else if (key_exists("categoryIdentifier", $_GET)) { $this->modify(); } else { $this->listing(); } } public function getContent() { return $this->content; } public function getTitle() { return $this->title; } private function create() { $identifier = -1; $name = Localization::categoryNew; $this->form($identifier, $name); } private function modify() { $identifier = $_GET['categoryIdentifier']; $category = Category::Get($identifier); $name = $category->getName(); $this->form($identifier, $name); } private function form($identifier, $name) { $this->title = Localization::categoryEdition . ": $name"; $nameLabel = Localization::categoryName; $this->content = <<

FORM; } private function listing() { $this->title = Localization::categoryList; $editLabel = Localization::generalEdit; $deleteLabel = Localization::generalDelete; $createLabel = Localization::generalCreate; $categoriesArray = CategoryLister::getAllCategories(); foreach ($categoriesArray as $category) { $this->content .= CategoryFormatter::getSummaryBox($category); $this->content .= "$editLabel - "; $this->content .= "$deleteLabel

"; } $this->content .= "$createLabel

"; } private function save() { $identifier = $_POST['categoryIdentifier']; $name = $_POST['categoryName']; if ($identifier >= 0) { $category = Category::Get($identifier); $this->title = Localization::categoryEdition . " " . $name; $category->setContent($name); } else { $article = Category::Create($name); $this->title = Localization::categoryNew . " " . $name; } $this->content .= "
"; $this->content .= "" . Localization::generalBackAdmin . ""; } private function delete() { $this->title = Localization::categoryDeletion; $deleteLabel = Localization::generalDelete; $deletionLabel = Localization::generalDeletionNumber; if (!key_exists("sure", $_GET)) { $this->content = Localization::generalDeletionConfirmation . "
"; $this->content.= "$deleteLabel

"; } else { $result = Category::Remove($_GET['categoryIdentifier']); $this->content .= "$result $deletionLabel"; $this->content .= "
"; $this->content .= "" . Localization::generalBackAdmin . ""; } } } ?>