/** * * @param Actionlist $actions * @return string */ public function getEditableCode(Actionlist $actions) { $template = new Template(); $template->load("menuentry_editable"); $template->assign_var("ID", $this->id); $template->assign_var("TITLE", $this->title); if ($this->type == 0) { $template->assign_var("SELECTEDINTERNAL", " selected=\"1\""); $selector = new PageSelector(); $selector->name = $this->id . '_href'; $selector->value = $this->href; $template->assign_var("VALUECONTROL", $selector->getCode()); $template->assign_var("SELECTEDEXTERNAL", ""); $template->assign_var("SELECTEDSUBMENU", ""); } else { if ($this->type == 1) { $template->assign_var("SELECTEDEXTERNAL", " selected=\"1\""); $template->assign_var("SELECTEDINTERNAL", ""); $template->assign_var("SELECTEDSUBMENU", ""); $template->assign_var("VALUECONTROL", "<input name=\"" . $this->id . "_href\" value=\"" . $this->href . "\" />"); } else { if ($this->type == 2) { $template->assign_var("SELECTEDSUBMENU", " selected=\"1\""); $template->assign_var("SELECTEDINTERNAL", ""); $template->assign_var("SELECTEDEXTERNAL", ""); $selector = new MenueSelector(); $selector->name = $this->id . '_href'; $selector->value = $this->href; $template->assign_var("VALUECONTROL", $selector->getCode()); } } } $params = array(); $params['menu'] = $this->menu; $params['ID'] = $this->id; $template->assign_var("ACTIONS", $actions->getCode($params)); return $template->getCode(); }
public function display() { SessionCache::clear(); $template = new Template(); $template->load("menu_edit"); if (isset($_POST['add'])) { if (trim($_POST['newtitle']) != "") { if (trim($_POST['newurl']) != "") { $entry = new MenuEntry(); $entry->menu = $_GET['menu']; $entry->title = $_POST['newtitle']; $entry->type = $_POST['type']; if ($entry->type == 0) { $entry->href = $_POST['newPage']; } else { if ($entry->type == 1) { $entry->href = $_POST['newurl']; } else { $entry->href = $_POST['newMenu']; } } $res = $entry->save(); if ($res) { $template->assign_var("MESSAGE", Language::DirectTranslate("ENTRY_ADDED")); } else { $template->assign_var("MESSAGE", Language::DirectTranslate("ENTRY_NOT_ADDED")); } Cache::clear("menu"); } else { $template->assign_var("MESSAGE", Language::DirectTranslate("ENTER_LINK_TARGET")); } } else { $template->assign_var("MESSAGE", Language::DirectTranslate("ENTER_LINK_TITLE")); } } else { if (isset($_POST['save'])) { foreach ($_POST as $param => $value) { if (strlen($param) >= 6) { if (substr($param, -5, 5) == "_href") { $entries[substr($param, 0, -5)]['href'] = $value; } else { if (strlen($param) >= 7 && substr($param, -6, 6) == "_title") { $entries[substr($param, 0, -6)]['title'] = $value; } else { if (substr($param, -5, 5) == "_type") { $entries[substr($param, 0, -5)]['type'] = $value; } } } } } foreach ($entries as $id => $params) { $entry = new MenuEntry(); $entry->id = $id; $entry->menu = $_GET['menu']; $entry->title = $params['title']; $entry->href = $params['href']; $entry->type = $params['type']; $entry->save(); } } else { if (isset($_GET['delete'])) { Menu::deleteEntry(DataBase::Current()->EscapeString($_GET['menu']), DataBase::Current()->EscapeString($_GET['delete'])); } else { if (isset($_GET['moveup'])) { Menu::changePositions($_GET['menu'], $_GET['moveup'], $_GET['moveup'] - 1); } else { if (isset($_GET['movedown'])) { Menu::changePositions($_GET['menu'], $_GET['movedown'], $_GET['movedown'] + 1); } } } } } if (isset($_GET['menu'])) { $template->assign_var("URL", $this->page->getUrl("menu=" . urlencode($_GET['menu']))); $template->assign_var("EDITABLEMENU", Menu::getEditableCode(DataBase::Current()->EscapeString($_GET['menu']))); } else { $template->assign_var("URL", ""); $template->assign_var("EDITABLEMENU", ""); } $selector = new MenueSelector(); $selector->name = 'newMenu'; $selector->value = -1; $selector->style = 'width:200px;position:relative;left:-210px;visibility:hidden'; $template->assign_var("MENUSELECTOR", $selector->getCode()); $selector = new PageSelector(); $selector->name = 'newPage'; $selector->value = -1; $selector->style = 'width:200px;position:relative;left:-415px;'; $template->assign_var("PAGESELECTOR", $selector->getCode()); $template->assign_var("MESSAGE", ""); $template->output(); }
public function display() { $template = new Template(); $template->load("site_edit"); $page = new Page(); if (isset($_GET['site'])) { $page->loadProperties(DataBase::Current()->EscapeString($_GET['site'])); if (isset($_POST['save'])) { $oldpage = $page; $page->title = $_POST['title']; $page->menu = $_POST['menu']; $page->getMeta()->description = $_POST['meta-description']; $page->getMeta()->keywords = $_POST['meta-keywords']; $page->getMeta()->robots = $_POST['meta-robots']; $page->alias = $page->getDir() . $_POST['localalias']; $page->ownerid = $_POST['owner']; $page->canonical = $_POST['canonical']; $page->advancedHtmlHeader = $_POST['advanced_html_header']; $page->SetChangeFrequence($_POST['change_frequence']); if (isset($_POST['in_sitemap'])) { $page->inSitemap = $_POST['in_sitemap']; } else { $page->inSitemap = false; } $page->priority = $_POST['priority']; $page->save(); $page->getEditor()->save($page, $oldpage); Role::clearAccess($page); if ($_POST['rights']) { foreach ($_POST['rights'] as $right) { $role = new Role(); $role->load($right); $role->allowAccess($page); } } } else { if (isset($_POST['menu'])) { $page->title = $_POST['title']; $page->alias = $page->getDir() . $_POST['localalias']; $page->menu = $_POST['menu']; $page->getEditor()->content = $_POST['content']; } } $url = UrlRewriting::GetUrlByAlias("admin/pageedit", "site=" . $page->alias); $template->assign_var("PATH", $url); $template->assign_var("ALIAS", $page->alias); $template->assign_var("LOCALALIAS", $page->getLocalAlias()); if (!isset($_POST['menu'])) { foreach (Role::getAllRoles() as $role) { $index = $template->add_loop_item("RIGHTS"); $template->assign_loop_var("RIGHTS", $index, "LABEL", "/"); $template->assign_loop_var("RIGHTS", $index, "VALUE", $role->ID); $template->assign_loop_var("RIGHTS", $index, "NAME", $role->name); if ($role->canAccess($page)) { $template->assign_loop_var("RIGHTS", $index, "SELECTED", "selected=\"1\" "); } else { $template->assign_loop_var("RIGHTS", $index, "SELECTED", ""); } } } else { foreach (Role::getAllRoles() as $role) { $index = $template->add_loop_item("RIGHTS"); $template->assign_loop_var("RIGHTS", $index, "LABEL", "/"); $template->assign_loop_var("RIGHTS", $index, "VALUE", $role->ID); $template->assign_loop_var("RIGHTS", $index, "NAME", $role->name); if (isset($_POST['rights']) && in_array($role->ID, $_POST['rights'])) { $template->assign_loop_var("RIGHTS", $index, "SELECTED", "selected=\"1\" "); } else { $template->assign_loop_var("RIGHTS", $index, "SELECTED", ""); } } } $index = $template->add_loop_item("MENU"); $template->assign_loop_var("MENU", $index, "VALUE", "0"); $template->assign_loop_var("MENU", $index, "NAME", "-- " . Language::DirectTranslate("NO_MENU") . " --"); $template->assign_loop_var("MENU", $index, "SELECTED", ""); foreach (sys::getMenues($_SESSION['dir']) as $menu) { $index = $template->add_loop_item("MENU"); $template->assign_loop_var("MENU", $index, "VALUE", $menu->id); $template->assign_loop_var("MENU", $index, "NAME", $menu->name); if (isset($_POST['menu']) && $_POST['menu'] == $menu->id) { $template->assign_loop_var("MENU", $index, "SELECTED", "selected=\"1\" "); } else { if (!isset($_POST['menu']) && $menu->id == $page->menu) { $template->assign_loop_var("MENU", $index, "SELECTED", "selected=\"1\" "); } else { $template->assign_loop_var("MENU", $index, "SELECTED", ""); } } } if (isset($_POST['menu'])) { $template->assign_var("MENUPREVIEW", Menu::getCode($_POST['menu'], "<ul>", "</ul>", "<li>", "</li>", "")); } else { if ($page->menu > 0) { $template->assign_var("MENUPREVIEW", Menu::getCode($page->menu, "<ul>", "</ul>", "<li>", "</li>", "")); } else { $template->assign_var("MENUPREVIEW", ""); } } $template->assign_var("METADESCRIPTION", htmlentities($page->getMeta()->description)); $template->assign_var("METAKEYWORDS", htmlentities($page->getMeta()->keywords)); $template->assign_var("METAROBOTS", htmlentities($page->getMeta()->robots)); $template->assign_var("CANONICAL", $page->canonical); $template->assign_var("ADVANCED_HTML_HEADER", htmlentities($page->advancedHtmlHeader)); $template->assign_var("TITLE", $page->title); $template->assign_var("EDITOR", $page->getEditor()->getEditableCode()); $template->assign_var("HOST", Settings::getRootInstance()->dir($page->alias . "§page")->get("host") . $page->getDir()); $template->assign_var("CHANGE_FREQUENCE", $page->GetChangeFrequence()); $template->assign_var("PRIORITY", $page->priority); if ($page->inSitemap) { $template->assign_var("IN_SITEMAP_CHECKED", " checked=\"checked\""); } else { $template->assign_var("IN_SITEMAP_CHECKED", ""); } $selector = new PageSelector(); $selector->name = 'owner'; $selector->value = $page->ownerid; $selector->noValueText = "-- " . Language::DirectTranslate("NOOWNER") . " --"; $template->assign_var("OWNERCONTROL", $selector->getCode()); $template->output(); } }