public function userIsAuthorized($action) { // Dafür sorgen, dass eine Anfrage ggf. auf das Login weitergeleitet wird, // wenn die Session abgelaufen ist und nach erfolgtem Login nahtlos auf // die angeforderte Seite weitergeleitet wird if ($this->module_name != 'login' && !Auth::isLoggedIn()) { $_SESSION['pixelmanager_temp_login_redirect']['uri'] = $_SERVER['REQUEST_URI']; $_SESSION['pixelmanager_temp_login_redirect']['get'] = $_GET; $_SESSION['pixelmanager_temp_login_redirect']['post'] = $_POST; $_SESSION['pixelmanager_temp_login_redirect']['request'] = $_REQUEST; Helpers::redirect(Config::get()->baseUrl . 'admin/html-output/login'); } else { if ($this->module_name != 'login') { if (isset($_SESSION['pixelmanager_temp_login_redirect'])) { $_GET = $_SESSION['pixelmanager_temp_login_redirect']['get']; $_POST = $_SESSION['pixelmanager_temp_login_redirect']['post']; $_REQUEST = $_SESSION['pixelmanager_temp_login_redirect']['request']; unset($_SESSION['pixelmanager_temp_login_redirect']); } } } // Wenn es sich um ein Zusatzmodul handelt, ggf. auf Zugangsberechtigung prüfen if ($this->isCustomBackendModule()) { $can_user_access = $this->canUserAccessCustomBackendModule(); if ($can_user_access === false) { $this->accessDenied(); } return $can_user_access; } // Anfrage wurde bis jetzt nicht abgefangen, also erstmal annehmen, dass der Zugriff erlaubt ist return true; }
private function beforeActionExecute() { $userId = (string) HttpContext::getInstance()->getSession()->userId; if ($userId !== "") { Helpers::redirect(''); } }
public static function delete($params) { Session::verifyCsrfToken(Helpers::select("token", $_GET)); $post = DB::get("select id from posts p where p.id = :id", array("id" => $params["id"])); if (!$post) { Helpers::notFound(); } DB::query("delete from posts where id = :id", array("id" => $params["id"])); $back_page = Helpers::select("page", $_GET, 1); Helpers::redirect("/posts/" . $back_page); }
public function __construct($super) { parent::__construct($super); $this->controller = $super->core->getConfig()['site_config']['homecontroller']; $this->method = $super->core->getConfig()['site_config']['homemethod']; $url = $this->parseUrl(); if (file_exists('app/controllers/' . $url[0] . '.php')) { $this->controller = $url[0]; unset($url[0]); } require_once '/app/controllers/' . $this->controller . '.php'; $this->controller = new $this->controller($this->super); if ($this->controller->hasRestriction()) { $rows = $this->super->getAcl()->hasRoleArr($this->controller->restrictionRole); if (count($rows) == 0 || !$this->super->getAcl()->isLoggedin()) { // Geen toegang. Helpers::redirect('/harmstercms/'); } } // try and set the layout if (isset($this->controller->layout)) { $this->layout = $this->controller->layout; } if (isset($url[1])) { if (method_exists($this->controller, $url[1])) { $this->method = $url[1]; unset($url[1]); } } if (isset($this->controller->restrictMethods) && is_array($this->controller->restrictMethods)) { if (array_key_exists($this->method, $this->controller->restrictMethods)) { $restriction = $this->controller->restrictMethods[$this->method]; if (!$this->super->getAcl()->hasRole($restriction)) { var_dump($this->super->getAcl()->hasRole($restriction)); echo 'Hij komt hier'; //Helpers::redirect('/harmstercms/'); } } } $this->params = $url ? array_values($url) : []; $result = call_user_func_array([$this->controller, $this->method], $this->params); $this->result = $result; }
public function authenticateAction() { if (isset($_POST['login']) && isset($_POST['password'])) { if (Auth::login($_POST['login'], $_POST['password'])) { if (isset($_POST['language'])) { if ($_POST['language'] != '') { $_SESSION['pixelmanager']['backendLanguage'] = $_POST['language']; } else { $_SESSION['pixelmanager']['backendLanguage'] = Auth::getUserPreferredLanguage(); } } if (isset($_SESSION['pixelmanager_temp_login_redirect']['uri'])) { Helpers::redirect($_SESSION['pixelmanager_temp_login_redirect']['uri']); } else { Helpers::redirect(Config::get()->baseUrl . 'admin/html-output/main'); } } else { $this->view->assign('error', true); } } else { $this->view->assign('error', true); } }
public function defaultAction() { Auth::logout(); Helpers::redirect(Config::get()->baseUrl . 'admin/html-output/login'); }
static function redirectWithMessage($link, $message) { Session::setMessage($message); Helpers::redirect($link); }
public function run() { // Startup-Ereignis Plugins::call(Plugins::STARTUP, null); // Router laden $router_file_name = Config::get()->frontendRouter->classFile; if (!file_exists($router_file_name)) { Helpers::fatalError('Frontend router class file not found (' . $router_file_name . ' doesn\'t exist)!', true); } require_once $router_file_name; $router_class_name = Config::get()->frontendRouter->className; if (!class_exists($router_class_name)) { Helpers::fatalError('Frontend router class not found (class "' . $router_class_name . '" doesn\'t exist in ' . $router_file_name . ')!', true); } $router = new $router_class_name(); Registry::set('frontendRouter', $router); // PageBuilder laden $page_builder_file_name = Config::get()->pageBuilder->classFile; if (!file_exists($page_builder_file_name)) { Helpers::fatalError('PageBuilder class file not found (' . $page_builder_file_name . ' doesn\'t exist)!', true); } require_once $page_builder_file_name; $page_builder_class_name = Config::get()->pageBuilder->className; if (!class_exists($page_builder_class_name)) { Helpers::fatalError('PageBuilder class not found (class "' . $page_builder_class_name . '" doesn\'t exist in ' . $page_builder_file_name . ')!', true); } $page_builder = new $page_builder_class_name(); Registry::set('pageBuilder', $page_builder); // routing $router->route(); $languageId = $router->getLanguageId(); if ($router->pageFound()) { $pageId = $router->getPageId(); $error_404 = false; } else { $pageId = $router->getErrorPageId(); $error_404 = true; } if ($pageId !== false) { // Ist die Seite ein Link? Dann einfach auf die angegebene URL weiterleiten... if ($router->isPageLink()) { Helpers::redirect($router->getPageLinkUrl(), Config::get()->pageLinkRedirectionResponseCode); exit; } // �bersetzungen laden $config = Config::getArray(); $languages = $config['languages']['list']; setlocale(LC_ALL, $languages[$languageId]['locale']); if (is_array($languages[$languageId]['translation'])) { if (count($languages[$languageId]['translation']) > 0) { foreach ($languages[$languageId]['translation'] as $translation_file) { Translate::loadStrings($translation_file, $languageId); } } } else { if ($languages[$languageId]['translation'] != '') { Translate::loadStrings($languages[$languageId]['translation'], $languageId); } } // Before-Display-Ereignis Plugins::call(Plugins::BEFORE_DISPLAY, array('preview' => $router->isPreview(), 'pageId' => $pageId, 'languageId' => $languageId)); if (!$router->isPreview()) { // Versuchen, die Seite aus dem Cache zu holen $output = PageCache::getPage($pageId, $languageId); $output_cached = false; // Keine Version im Cache verf�gbar, Seite neu erzeugen if ($output === false) { $output = $page_builder->getPage($pageId, $languageId); } else { $output_cached = true; } // Wenn noch nicht im Cache, erzeugte Ausgabe im Cache ablegen if (!$output_cached) { PageCache::cachePage($pageId, $languageId, $output); } } else { // Im Vorschau-Modus den Cache nicht verwenden // Und dem PageBuilder sagen, dass er die Vorschau-Version erstellen soll $output = $page_builder->getPage($pageId, $languageId, true); $output_cached = false; } // HTTP-Header senden if ($error_404) { if (!headers_sent()) { header($_SERVER["SERVER_PROTOCOL"] . " 404 Not Found"); } } $page_builder->outputHeader($pageId, $languageId); // Header-Senden-Ereignis Plugins::call(Plugins::SEND_HEADER, array('preview' => $router->isPreview(), 'pageId' => $pageId, 'languageId' => $languageId)); // Modify-Output-Before-Display-Ereignis, bietet die M�glichkeit, // dass ein Plugin die Ausgabe vor der Ausgabe nochmal ver�ndert, // unabh�ngig davon, ob die Seite aus dem Cache geladen wurde oder nicht Plugins::call(Plugins::MODIFY_OUTPUT_BEFORE_DISPLAY, array('preview' => $router->isPreview(), 'pageId' => $pageId, 'languageId' => $languageId, 'isCached' => $output_cached), $output); // Seite ausgeben print $output; // After-Display-Ereignis Plugins::call(Plugins::AFTER_DISPLAY, array('preview' => $router->isPreview(), 'pageId' => $pageId, 'languageId' => $languageId)); } else { Helpers::fatalError('Error 404: page not found ', true); } }