Example #1
0
 /**
  *
  * @return string
  */
 public function getCode()
 {
     if (isset($_POST['save'])) {
         foreach ($_POST as $property => $value) {
             if ($property != "save" && $property != "roles") {
                 $settings = Settings::getRootInstance()->specify($this->areaType, $this->area);
                 if ($this->dir != "" && $this->dir != "/") {
                     $settings = $settings->dir($this->dir);
                 }
                 $settings->set($property, $value, $this->role);
             }
         }
         Settings::forceReload();
         Cache::clear();
         Language::GetGlobal()->ClearCache();
         if (@header("Location:" . str_replace("&save_settings=1", "", $_SERVER['REQUEST_URI']))) {
             exit;
         } else {
             die("<script>window.location.href = '" . str_replace("&save_settings=1", "", $_SERVER['REQUEST_URI']) . "';</script>");
         }
         $changed = true;
     }
     $template = new Template();
     $template->load($this->template);
     if ($this->area != "global" || $this->areaType != "global") {
         $roleselector = "<select name=\"roles\" onchange=\"document.location.href='" . $this->url . $this->getQuerySeperator() . "areatype=" . urlencode($this->areaType) . "&area=" . urlencode($this->area) . "&role=' + this.options[this.selectedIndex].value + '&save_settings=1';\">";
     } else {
         $roleselector = "<select name=\"roles\" onchange=\"document.location.href='" . $this->url . $this->getQuerySeperator() . "role=' + this.options[this.selectedIndex].value + '&save_settings=1';\">";
     }
     $roles = DataBase::Current()->ReadRows("SELECT * FROM {'dbprefix'}roles ORDER BY name");
     if ($roles) {
         foreach ($roles as $role) {
             if ($this->role == $role->id) {
                 $roleselector .= "<option value=\"" . $role->id . "\" selected=\"selected\">" . htmlentities($role->name) . "</option>";
             } else {
                 $roleselector .= "<option value=\"" . $role->id . "\">" . $role->name . "</option>";
             }
         }
     }
     $roleselector .= "</select>";
     $template->assign_var("ROLES", $roleselector);
     if ($this->area != "global" || $this->areaType != "global") {
         $template->assign_var("URL", $this->url . $this->getQuerySeperator() . "areatype=" . urlencode($this->areaType) . "&area=" . urlencode($this->area) . "&role=" . $this->role . "&save_settings=1");
     } else {
         $template->assign_var("URL", $this->url . $this->getQuerySeperator() . "role=" . $this->role . "&save_settings=1");
     }
     $rows = Settings::getRootInstance()->specify($this->areaType, $this->area)->dir($this->dir)->getRows($this->role);
     if ($rows) {
         foreach ($rows as $row) {
             $index = $template->add_loop_item("SETTINGS");
             $template->assign_loop_var("SETTINGS", $index, "PROPERTY", $row['name']);
             $template->assign_loop_var("SETTINGS", $index, "DESCRIPTION", htmlentities($row['description']));
             $control = new $row['type']();
             $control->name = $row['name'];
             $control->value = $row['value'];
             $template->assign_loop_var("SETTINGS", $index, "CONTROL", $control->getCode());
         }
     }
     return $template->getCode();
 }
Example #2
0
 public function load()
 {
     $this->headline = Language::DirectTranslate("plugin_menulistwidget_menus");
     if (Cache::contains("menu", "widget_" . $_GET['dir'])) {
         $this->content = Cache::getData("menu", "widget_" . $_GET['dir']);
     } else {
         if (!isset($_GET['dir']) || substr($_GET['dir'], 0, 1) == '.') {
             $_GET['dir'] = "";
         }
         $template = new Template();
         $template->load("plugin_menulistwidget_menulist");
         $newmenuurl = UrlRewriting::GetUrlByAlias("admin/newmenu");
         $template->assign_var("NEWMENUURL", $newmenuurl);
         $menus = sys::getMenues($_GET['dir']);
         foreach ($menus as $menu) {
             $index = $template->add_loop_item("MENUS");
             $template->assign_loop_var("MENUS", $index, "ID", $menu->id);
             $template->assign_loop_var("MENUS", $index, "TITLE", $menu->name);
             $template->assign_loop_var("MENUS", $index, "PAGES", $menu->count);
             $editurl = UrlRewriting::GetUrlByAlias("admin/editmenu", "menu=" . $menu->id);
             $template->assign_loop_var("MENUS", $index, "EDITURL", $editurl);
             $deleteurl = UrlRewriting::GetUrlByAlias("admin/deletemenu", "menu=" . $menu->id);
             $template->assign_loop_var("MENUS", $index, "DELETEURL", $deleteurl);
         }
         if (!$menus) {
             $template->assign_var("NOMENUS", Language::DirectTranslate("plugin_menulistwidget_no_menus"));
         } else {
             $template->assign_var("NOMENUS", "");
         }
         $this->content = $template->getCode();
         Cache::setData("menu", "widget_" . $_GET['dir'], $this->content);
     }
 }
Example #3
0
 public function display()
 {
     $template = new Template();
     $template->load("plugins");
     $plugins = new PluginList();
     $plugins->loadAll();
     foreach ($plugins->plugins as $plugin) {
         $index = $template->add_loop_item("PLUGINS");
         if (isset($_GET['activate']) && $_GET['activate'] == $plugin->path) {
             $plugin->activate();
         } elseif (isset($_GET['deactivate']) && $_GET['deactivate'] == $plugin->path) {
             $plugin->deactivate();
         }
         $template->assign_loop_var("PLUGINS", $index, "NAME", htmlentities($plugin->name));
         $template->assign_loop_var("PLUGINS", $index, "PATH", htmlentities($plugin->path));
         $template->assign_loop_var("PLUGINS", $index, "DESCRIPTION", htmlentities($plugin->getDescription()));
         $template->assign_loop_var("PLUGINS", $index, "VERSION", $plugin->version);
         $template->assign_loop_var("PLUGINS", $index, "AUTHORLINK", $plugin->authorLink);
         $template->assign_loop_var("PLUGINS", $index, "AUTHORNAME", htmlentities($plugin->authorName));
         $template->assign_loop_var("PLUGINS", $index, "LICENSE", htmlentities($plugin->license));
         $template->assign_loop_var("PLUGINS", $index, "LICENSEURL", htmlentities($plugin->licenseUrl));
         if ($plugin->isActivated()) {
             $myurl = UrlRewriting::GetUrlByAlias($this->page->alias, "deactivate=" . urlencode($plugin->path));
             $disable = Language::DirectTranslateHtml("DISABLE");
             $template->assign_loop_var("PLUGINS", $index, "ACTIVATIONLINK", "<a href=\"" . $myurl . "\">" . $disable . "</a>");
         } else {
             $myurl = UrlRewriting::GetUrlByAlias($this->page->alias, "activate=" . urlencode($plugin->path));
             $enable = Language::DirectTranslateHtml("ENABLE");
             $template->assign_loop_var("PLUGINS", $index, "ACTIVATIONLINK", "<a href=\"" . $myurl . "\">" . $enable . "</a>");
         }
     }
     $template->assign_var("HOST", Settings::getValue("host"));
     $template->assign_var("APIKEY", Settings::getValue("apikey"));
     $template->output();
 }
Example #4
0
 public function load()
 {
     $dir = '';
     if (isset($_GET['dir']) && substr($_GET['dir'], 0, 1) != '.') {
         $dir = $_GET['dir'];
     }
     $this->headline = Language::DirectTranslate("plugin_pagelistwidget_pages");
     if (Cache::contains("page", "widget_" . $dir)) {
         $this->content = Cache::getData("page", "widget_" . $dir);
     } else {
         $template = new Template();
         $template->load("plugin_pagelistwidget_pagelist");
         $pages = Page::getPagesByDir($dir);
         if (substr($dir, 0, 1) == "/") {
             $shortdir = substr($dir, 1);
         } else {
             $shortdir = $dir;
         }
         if ($pages) {
             foreach ($pages as $page) {
                 $shortalias = substr($page->alias, strlen($shortdir));
                 if (substr($shortalias, 0, 1) == "/") {
                     $shortalias = substr($shortalias, 1);
                 } else {
                     $shortalias = $shortalias;
                 }
                 if (!strpos($shortalias, "/")) {
                     $host = Settings::getInstance()->get("host");
                     $index = $template->add_loop_item("PAGES");
                     $template->assign_loop_var("PAGES", $index, "TITLE", $page->title);
                     $template->assign_loop_var("PAGES", $index, "ALIAS", $shortalias);
                     $editurl = UrlRewriting::GetUrlByAlias("admin/pageedit", "site=" . $page->alias);
                     $template->assign_loop_var("PAGES", $index, "EDITURL", $editurl);
                     $deleteurl = UrlRewriting::GetUrlByAlias("admin/pagedelete", "site=" . $page->alias);
                     $template->assign_loop_var("PAGES", $index, "DELETEURL", $deleteurl);
                     $showurl = UrlRewriting::GetUrlByAlias($page->alias);
                     $template->assign_loop_var("PAGES", $index, "SHOWURL", $showurl);
                 }
             }
             $template->assign_var("NOPAGES", "");
         } else {
             $template->assign_var("NOPAGES", Language::DirectTranslate("plugin_pagelistwidget_no_pages"));
         }
         $this->content = $template->getCode();
         if (isset($_GET['dir'])) {
             Cache::setData("page", "widget_" . $_GET['dir'], $this->content);
         }
     }
 }
Example #5
0
 /**
  *
  * @return string
  */
 public function getCode()
 {
     $template = new Template();
     $template->load("control_skinselector");
     $template->assign_var("NAME", $this->name);
     $template->assign_var("SELECTORNAME", $this->type);
     $template->assign_var("VALUE", $this->value);
     $template->assign_var("HOST", Settings::getValue("host"));
     $template->assign_var("CURRENTSKINNAME", SkinController::getSkinName($this->value));
     $i = 0;
     foreach (SkinController::getInstalledSkins() as $skin) {
         $index = $template->add_loop_item("SKINS");
         $template->assign_loop_var("SKINS", $index, "SELECTORNAME", $this->type);
         $template->assign_loop_var("SKINS", $index, "INDEX", $i);
         $template->assign_loop_var("SKINS", $index, "SKINID", $skin->id);
         $template->assign_loop_var("SKINS", $index, "SKINNAME", $skin->name);
         $i++;
     }
     return $template->getCode();
 }
Example #6
0
 /**
  *
  * @return string 
  */
 public function getCode()
 {
     $outerTemplate = new Template();
     $outerTemplate->load("list");
     $outerTemplate->assign_var("NAME", $this->name);
     $outerTemplate->assign_var("STYLE", $this->getListStyle());
     if ($rows = DataBase::Current()->ReadRows($this->fillSelect)) {
         foreach ($rows as $row) {
             $index = $outerTemplate->add_loop_item("ITEMS");
             $innerTemplate = new Template();
             $innerTemplate->load($this->template);
             $vars = get_object_vars($row);
             foreach ($vars as $key => $value) {
                 $innerTemplate->assign_var(strtoupper($key), $value);
             }
             $outerTemplate->assign_loop_var("ITEMS", $index, "ITEM", $innerTemplate->getCode($this->escape));
         }
     }
     $res = $outerTemplate->getCode();
     return $res;
 }
Example #7
0
 public function load()
 {
     $this->headline = Language::DirectTranslate("plugin_formlistwidget_forms");
     if (isset($_POST['plugin_formlistwidget_deleteid'])) {
         $form = new Form($_POST['plugin_formlistwidget_deleteid']);
         $form->Delete();
     }
     $template = new Template();
     $template->load("plugin_formlistwidget_formlist");
     $forms = Form::getByDir($_GET['dir']);
     if ($forms) {
         foreach ($forms as $form) {
             $index = $template->add_loop_item("FORMS");
             $template->assign_loop_var("FORMS", $index, "NAME", $form->name);
             $template->assign_loop_var("FORMS", $index, "EDITURL", UrlRewriting::GetUrlByAlias("admin/formedit", "form=" . $form->id));
             $template->assign_loop_var("FORMS", $index, "ID", $form->id);
         }
         $template->assign_var("NOFORMS", "");
     } else {
         $template->assign_var("NOFORMS", Language::DirectTranslate("plugin_formlistwidget_no_forms"));
     }
     $this->content = $template->getCode();
 }
Example #8
0
 public function display()
 {
     if (!isset($_POST['localalias'])) {
         $template = new Template();
         $template->load("site_new");
         $template->assign_var("URL", $this->page->GetUrl());
         if (!isset($_POST['alias'])) {
             $_POST['alias'] = "";
         }
         $template->assign_var("ALIAS", $_POST['alias']);
         if (substr($_SESSION['dir'], 0, 1) == "/" && $_SESSION['dir'] != "/") {
             $template->assign_var("DIR", substr($_SESSION['dir'], 1) . "/");
         } else {
             if ($_SESSION['dir'] == '' || $_SESSION['dir'] == "/") {
                 $template->assign_var("DIR", "");
             } else {
                 $template->assign_var("DIR", $_SESSION['dir'] . "/");
             }
         }
         $template->assign_var("HOST", Settings::getInstance()->get("host"));
         $template->assign_var("ENDING", ".html");
         $types = Page::getPagesTypes();
         if ($types) {
             foreach ($types as $type) {
                 $index = $template->add_loop_item("TYPES");
                 $template->assign_loop_var("TYPES", $index, "CLASS", $type->class);
                 $template->assign_loop_var("TYPES", $index, "NAME", $type->name);
             }
         }
         $template->output();
     } else {
         if ($_SESSION['dir']) {
             $dir = DataBase::Current()->EscapeString($_SESSION['dir']) . "/";
         } else {
             $dir = "";
         }
         if (substr($dir, 0, 1) == "/") {
             $dir = substr($dir, 1);
         }
         if ($this->isValidPagename($_POST['localalias'])) {
             $id = Page::create($dir . DataBase::Current()->EscapeString($_POST['localalias']), DataBase::Current()->EscapeString($_POST['type']), $_POST['title']);
             if ($id) {
                 $template = new Template();
                 $template->load("site_new_succeeded");
                 $url = UrlRewriting::GetUrlByAlias("admin/pageedit", "site=" . $dir . $_POST['localalias']);
                 $template->assign_var("URL", $url);
                 $template->output();
             } else {
                 $failed = true;
             }
         } else {
             $failed = true;
         }
         if (isset($failed)) {
             $template = new Template();
             $template->load("message");
             $template->assign_var("MESSAGE", Language::GetGlobal()->getString("PAGE_NOT_CREATED"));
             $template->output();
         }
     }
 }
Example #9
0
 /**
  *
  * @return string 
  */
 public function getEditableCode()
 {
     $template = new Template();
     $template->load("control_dashboardedit");
     $template->assign_var("URL", $_SERVER['PHP_SELF'] . "?" . $_SERVER['QUERY_STRING']);
     if ($_POST['save']) {
         $this->delete();
         $allwidgets = WidgetController::getAllWidgets();
         foreach ($allwidgets as $widget) {
             if (isset($_POST[str_replace(".", "_", $widget->path)])) {
                 $widget->load();
                 $parts = split("\\|", $_POST[str_replace(".", "_", $widget->path)]);
                 if ($parts[0] == "HIDDENWIDGETS") {
                     $widget->save($this->page->alias, 0, $parts[1]);
                 } else {
                     if ($parts[0] == "COLUMN1WIDGETS") {
                         $widget->save($this->page->alias, 1, $parts[1]);
                     } else {
                         if ($parts[0] == "COLUMN2WIDGETS") {
                             $widget->save($this->page->alias, 2, $parts[1]);
                         } else {
                             if ($parts[0] == "COLUMN3WIDGETS") {
                                 $widget->save($this->page->alias, 3, $parts[1]);
                             }
                         }
                     }
                 }
             }
         }
         $this->loadAllWidgets();
     }
     if (isset($allwidgets)) {
         foreach ($allwidgets as $widget) {
             $widget->load();
         }
     }
     $i = 0;
     $pos = 0;
     foreach ($this->cols as $col) {
         if ($col && $i != 0) {
             foreach ($col as $widget) {
                 $index = $template->add_loop_item("COLUMN" . $i . "WIDGETS");
                 $this->addWidgetToEditable($template, "COLUMN" . $i . "WIDGETS", $widget, $index, $pos);
                 $pos++;
             }
         }
         $i++;
     }
     $hiddenwidgets = $this->getHiddenWidgets();
     $i = 0;
     if ($hiddenwidgets) {
         foreach ($hiddenwidgets as $widget) {
             $index = $template->add_loop_item("HIDDENWIDGETS");
             $this->addWidgetToEditable($template, "HIDDENWIDGETS", $widget, $index, $i);
             $i++;
         }
     }
     $i = 0;
     if ($allwidgets) {
         foreach ($allwidgets as $widget) {
             $addItem = !$this->usedwidgets;
             if (!$addItem) {
                 $addItem = !in_array($widget->path, $this->usedwidgets);
             }
             if ($addItem) {
                 $widget->load();
                 $index = $template->add_loop_item("DONTUSEDWIDGETS");
                 $this->addWidgetToEditable($template, "DONTUSEDWIDGETS", $widget, $index, $i);
                 $i++;
             }
         }
     }
     return $template->getCode();
 }
Example #10
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();
     }
 }