Beispiel #1
0
 /**
  *
  * @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();
 }
Beispiel #2
0
 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();
 }
Beispiel #3
0
 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();
     }
 }