Example #1
0
 public function defaultAction()
 {
     if (Translate::getId() != '') {
         $config = Config::getArray();
         $languages = $config['backendLanguages']['list'];
         $language_id = Translate::getId();
         $strings = array();
         if (is_array($languages[$language_id]['translationClientside'])) {
             if (count($languages[$language_id]['translationClientside']) > 0) {
                 foreach ($languages[$language_id]['translationClientside'] as $translation_file) {
                     $temp = (include $translation_file);
                     $strings = array_merge($strings, $temp);
                 }
             }
         } else {
             if ($languages[$language_id]['translationClientside'] != '') {
                 $strings = (include $languages[$language_id]['translationClientside']);
             }
         }
         $this->view->assign('backendTranslation', $strings);
     } else {
         $this->view->assign('backendTranslation', array());
     }
     $useGlobalElementsPage = false;
     $pages = new Pages();
     if ($pages->isGlobalElementsPageTemplateAvailable()) {
         if ($pages->isGlobalElementsPageAvailable()) {
             $useGlobalElementsPage = true;
         }
     }
     $this->view->assign('useGlobalElementsPage', $useGlobalElementsPage);
     $this->view->assign('globalElementsPageId', $pages->getGlobalElementsPageId());
 }
 function __construct()
 {
     parent::__construct();
     $config = Config::getArray();
     $this->languages = $config['languages']['list'];
     $this->standard_language = $config['languages']['standard'];
 }
Example #3
0
 /**
  *   Erstellt ein PDO Objekt
  *
  * @return PDO pdo
  */
 public static function getPDO()
 {
     if (self::$pdo == null) {
         $config = Config::getArray();
         if (!isset($config["database"])) {
             Helpers::fatalError("No database configuration found.");
         }
         $host = '';
         if (isset($config['database']['host'])) {
             $host = 'host=' . $config['database']['host'] . ';';
         }
         $port = '';
         if (isset($config['database']['port'])) {
             $port = 'port=' . $config['database']['port'] . ';';
         }
         $socket = '';
         if (isset($config['database']['socket'])) {
             $socket = 'unix_socket=' . $config['database']['socket'] . ';';
         }
         $dsn = 'mysql:dbname=' . $config["database"]["name"] . ';' . $host . $port . $socket . 'charset=utf8;';
         try {
             $pdo = new PDO($dsn, $config["database"]["user"], $config["database"]["password"], array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
         } catch (PDOException $e) {
             Helpers::fatalError("Could no connect to the database: " . $e->getMessage());
         }
         self::$pdo = $pdo;
     }
     return self::$pdo;
 }
 public static function call($name)
 {
     $config = Config::getArray();
     if (isset($config['invokeConfig'])) {
         if (count($config['invokeConfig']) > 0) {
             if (isset($config['invokeConfig'][$name])) {
                 $config['invokeConfig'][$name]();
             }
         }
     }
 }
 public static function applyAll(&$data, $structure, $parameters)
 {
     $config = Config::getArray();
     $modifier_list = array();
     if (count($config['dataModifiers']) > 0) {
         foreach ($config['dataModifiers'] as $id => $modifier) {
             $modifier_list[$modifier['position']] = $id;
         }
     }
     ksort($modifier_list, SORT_NUMERIC);
     self::applySelected($modifier_list, $data, $structure, $parameters);
 }
 /**
  *   Holt den Pfad aus der config und legt diesen in der registerPath variable/array ab
  *   Meldete die Methode tryToLoadClass() bei der spl autoload an
  *
  * @see tryToLoadClass()
  */
 public static function init()
 {
     $config = Config::getArray();
     if (isset($config['autoLoader'])) {
         if (count($config['autoLoader']) > 0) {
             foreach ($config['autoLoader'] as $path) {
                 if (is_array($path)) {
                     self::registerPath($path['path'], $path['subDir'], isset($path['except']) ? $path['except'] : array());
                 } else {
                     self::registerPath($path);
                 }
             }
         }
     }
     spl_autoload_register(array('Autoloader', 'tryToLoadClass'));
 }
 public static function load()
 {
     $config = Config::getArray();
     if (count($config['frontendModules']) > 0) {
         foreach ($config['frontendModules'] as $id => $module) {
             $last_loaded_module = self::loadClass($id, $module['classFile'], $module['className']);
             if ($last_loaded_module !== false) {
                 if (isset($module['config'])) {
                     $last_loaded_module->init($module['config']);
                 } else {
                     $last_loaded_module->init(array());
                 }
             }
         }
     }
 }
 public function assignView($view)
 {
     parent::assignView($view);
     $view = $this->getView();
     $link_tags_html = '';
     $loadDataEditorPlugins = array();
     $config = Config::getArray();
     $dataEditorPlugins = $config['dataEditorPlugins'];
     foreach ($dataEditorPlugins as $key => $plugin) {
         if (is_array($plugin)) {
             if (isset($plugin['additionalCSS'])) {
                 if (is_array($plugin['additionalCSS'])) {
                     foreach ($plugin['additionalCSS'] as $add_css) {
                         $link_tags_html .= '<link rel="stylesheet" href="' . $config['baseUrl'] . $add_css . '">';
                     }
                 } else {
                     $link_tags_html .= '<link rel="stylesheet" href="' . $config['baseUrl'] . $plugin['additionalCSS'] . '">';
                 }
             }
         }
     }
     $view->assign('additionalStylesheets', $link_tags_html);
 }
 public function loadStandardLanguagesConfig()
 {
     $config = Config::getArray();
     $this->setLanguagesConfig($config['languages']);
 }
 public static function loadBackend()
 {
     $config = Config::getArray();
     if (count($config['backendPlugins']) > 0) {
         foreach ($config['backendPlugins'] as $plugin) {
             Plugins::loadClass($plugin['classFile'], $plugin['className']);
         }
     }
 }
Example #11
0
<?php

// Wenn im Development-Modus, die Custom-Konfiguration überprüfen,
// einige Dinge müssen zwingend gesetzt sein
if (APPLICATION_ENV == 'development') {
    $config = Config::getArray();
    $configuration_ok = true;
    if (!isset($config['database'])) {
        $configuration_ok = false;
    }
    if (!isset($config['languages']['standard'])) {
        $configuration_ok = false;
    }
    if (!isset($config['languages']['list'])) {
        $configuration_ok = false;
    } else {
        if (!is_array($config['languages']['list'])) {
            $configuration_ok = false;
        } else {
            if (count($config['languages']['list']) < 1) {
                $configuration_ok = false;
            }
        }
    }
    if (!$configuration_ok) {
        Helpers::fatalError('The system is not properly configured (in /system/custom/config/main.config.php)', true);
    }
}
// Datenstruktur, Plugins, Module, Modifikatoren laden
DataStructure::load();
Plugins::load();
 public function gettabcontentAction()
 {
     $config = Config::getArray();
     $html = '';
     if ($config['showBackendModulesTab'] === true) {
         if (count($config['backendModules']) > 0) {
             $groups = $this->getModuleGroups();
             if (count($groups) > 0) {
                 foreach ($groups as $group_id => $group) {
                     if (count($group['modules']) > 0) {
                         $html .= '<div class="pixelmanager-backend-modules-group-heading">' . Helpers::htmlEntities($group['caption']) . '</div>' . '<div class="list-group">';
                         foreach ($group['modules'] as $module_id => $module) {
                             $module_name = Translate::get($module['name']);
                             $caption = $module_name;
                             $plugin_parameters = array('moduleId' => $module_id, 'moduleConfig' => $module);
                             Plugins::call(Plugins::GET_BACKEND_MODULES_TAB_CAPTION, $plugin_parameters, $caption);
                             $html .= '<a href="javascript:;" class="list-group-item open-module-in-tab" data-module-id="' . Helpers::htmlEntities($module_id) . '" data-module-url="' . Helpers::htmlEntities($module['url']) . '" data-module-name="' . Helpers::htmlEntities($module_name) . '">' . $caption . '</a>';
                         }
                         $html .= '</div>';
                     }
                 }
             }
         }
     }
     $this->success($html);
 }
 protected function findLanguageByUrl($partial_url)
 {
     $config = Config::getArray();
     $languages = $config['languages']['list'];
     foreach ($languages as $languageId => $language) {
         $in_development = false;
         if (isset($language['inDevelopment'])) {
             if ($language['inDevelopment'] === true) {
                 $in_development = true;
             }
         }
         if ($language['url'] == $partial_url && !$in_development) {
             return $languageId;
         }
     }
     return false;
 }
Example #14
0
 public function __construct()
 {
     $this->db = Db::getPDO();
     $this->config = Config::getArray();
 }
 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);
     }
 }