function __construct() { $this->mid_range = 10; $url = erLhcoreClassURL::getInstance(); $this->current_page = $url->getParam('page') !== null && (int) $url->getParam('page') > 0 ? (int) $url->getParam('page') : 1; // must be numeric > 0 $this->items_per_page = $this->default_ipp; $this->low = ($this->current_page - 1) * $this->items_per_page; }
public static function getInstance() { if (is_null(self::$instance)) { $sysConfiguration = erLhcoreClassSystem::instance(); $urlCfgDefault = ezcUrlConfiguration::getInstance(); $urlCfgDefault->basedir = $sysConfiguration->WWWDir; $urlCfgDefault->script = $sysConfiguration->IndexFile; $urlCfgDefault->unorderedDelimiters = array('(', ')'); $urlCfgDefault->orderedParameters = array(); $urlCfgDefault->unorderedParameters = array(); $urlCfgDefault->addOrderedParameter('siteaccess'); $urlCfgDefault->addOrderedParameter('module'); $urlCfgDefault->addOrderedParameter('function'); $cfgSite = erConfigClassLhConfig::getInstance(); $urlInstance = new erLhcoreClassURL(($cfgSite->getSetting('site', 'force_virtual_host', false) === false ? 'index.php' : '') . $sysConfiguration->RequestURI, $urlCfgDefault); $siteaccess = $urlInstance->getParam('siteaccess'); $availableSiteaccess = $cfgSite->getSetting('site', 'available_site_access'); $defaultSiteAccess = $cfgSite->getSetting('site', 'default_site_access'); if ($defaultSiteAccess != $siteaccess && in_array($siteaccess, $availableSiteaccess)) { $optionsSiteAccess = $cfgSite->getSetting('site_access_options', $siteaccess); $sysConfiguration->Language = $siteaccess == 'site_admin' ? erLhcoreClassModelUserSetting::getSetting('user_language', $optionsSiteAccess['locale'], false, true) : $optionsSiteAccess['locale']; $sysConfiguration->ThemeSite = $optionsSiteAccess['theme']; $sysConfiguration->ContentLanguage = $optionsSiteAccess['content_language']; $sysConfiguration->WWWDirLang = '/' . $siteaccess; $sysConfiguration->SiteAccess = $siteaccess; if ($optionsSiteAccess['locale'] != 'en_EN') { $urlInstance->setParam('module', $urlInstance->getParam('module')); $urlInstance->setParam('function', $urlInstance->getParam('function')); } if (isset($_POST['switchLang']) && in_array($_POST['switchLang'], $availableSiteaccess)) { $optionsSiteAccessOverride = $cfgSite->getSetting('site_access_options', $_POST['switchLang']); $sysConfiguration->Language = $optionsSiteAccessOverride['locale']; $sysConfiguration->SiteAccess = $_POST['switchLang']; if ($defaultSiteAccess != $sysConfiguration->SiteAccess) { $sysConfiguration->WWWDirLang = '/' . $sysConfiguration->SiteAccess; } else { $sysConfiguration->WWWDirLang = ''; } } } else { $optionsSiteAccess = $cfgSite->getSetting('site_access_options', $defaultSiteAccess); // Falling back $sysConfiguration->SiteAccess = $defaultSiteAccess; $sysConfiguration->Language = $siteaccess == 'site_admin' ? erLhcoreClassModelUserSetting::getSetting('user_language', $optionsSiteAccess['locale'], false, true) : $optionsSiteAccess['locale']; $sysConfiguration->ThemeSite = $optionsSiteAccess['theme']; $sysConfiguration->ContentLanguage = $optionsSiteAccess['content_language']; if (isset($_POST['switchLang']) && in_array($_POST['switchLang'], $availableSiteaccess)) { $optionsSiteAccessOverride = $cfgSite->getSetting('site_access_options', $_POST['switchLang']); $sysConfiguration->Language = $optionsSiteAccessOverride['locale']; $sysConfiguration->SiteAccess = $_POST['switchLang']; if ($defaultSiteAccess != $sysConfiguration->SiteAccess) { $sysConfiguration->WWWDirLang = '/' . $sysConfiguration->SiteAccess; } } // To reset possition counter $urlCfgDefault->removeOrderedParameter('siteaccess'); $urlCfgDefault->removeOrderedParameter('module'); $urlCfgDefault->removeOrderedParameter('function'); // Reinit parameters $urlCfgDefault->addOrderedParameter('module'); $urlCfgDefault->addOrderedParameter('function'); //Apply default configuration $urlInstance->applyConfiguration($urlCfgDefault); if ($optionsSiteAccess['locale'] != 'en_EN') { $urlInstance->setParam('module', $urlInstance->getParam('module')); $urlInstance->setParam('function', $urlInstance->getParam('function')); } } self::$instance = $urlInstance; } return self::$instance; }
public static function moduleInit($params = array()) { $cfg = erConfigClassLhConfig::getInstance(); self::$debugEnabled = $cfg->getSetting('site', 'debug_output'); // Enable errors output before extensions intialization if (self::$debugEnabled == true) { @ini_set('error_reporting', E_ALL); @ini_set('display_errors', 1); } self::$cacheInstance = CSCacheAPC::getMem(); self::$cacheVersionSite = self::$cacheInstance->getCacheVersion('site_version'); self::$defaultTimeZone = $cfg->getSetting('site', 'time_zone', false); self::$dateFormat = $cfg->getSetting('site', 'date_format', false); self::$dateHourFormat = $cfg->getSetting('site', 'date_hour_format', false); self::$dateDateHourFormat = $cfg->getSetting('site', 'date_date_hour_format', false); $url = erLhcoreClassURL::getInstance(); if (!isset($params['ignore_extensions'])) { // Attatch extension listeners self::attatchExtensionListeners(); } self::$currentModuleName = preg_replace('/[^a-zA-Z0-9\\-_]/', '', $url->getParam('module')); self::$currentView = preg_replace('/[^a-zA-Z0-9\\-_]/', '', $url->getParam('function')); if (self::$currentModuleName == '' || (self::$currentModule = self::getModule(self::$currentModuleName)) === false) { $params = $cfg->getOverrideValue('site', 'default_url'); if (self::$currentModuleName != '') { header("HTTP/1.1 301 Moved Permanently"); self::redirect(); exit; } self::$currentView = $params['view']; self::$currentModuleName = $params['module']; erLhcoreClassChatEventDispatcher::getInstance()->dispatch('chat.core.default_url', array('url' => &$url)); self::$currentModule = self::getModule(self::$currentModuleName); } return self::runModule(); }
public static function moduleInit() { $url = erLhcoreClassURL::getInstance(); $cfg = erConfigClassLhConfig::getInstance(); self::$currentModuleName = preg_replace('/[^a-zA-Z0-9\\-_]/', '', $url->getParam('module')); self::$currentView = preg_replace('/[^a-zA-Z0-9\\-_]/', '', $url->getParam('function')); self::$cacheInstance = CSCacheAPC::getMem(); self::$cacheVersionSite = self::$cacheInstance->getCacheVersion('site_version'); self::$defaultTimeZone = $cfg->getSetting('site', 'time_zone', false); self::$dateFormat = $cfg->getSetting('site', 'date_format', false); self::$dateHourFormat = $cfg->getSetting('site', 'date_hour_format', false); self::$dateDateHourFormat = $cfg->getSetting('site', 'date_date_hour_format', false); if (self::$currentModuleName == '' || (self::$currentModule = self::getModule(self::$currentModuleName)) === false) { $params = $cfg->getOverrideValue('site', 'default_url'); if (self::$currentModuleName != '') { header("HTTP/1.1 301 Moved Permanently"); self::redirect(); exit; } self::$currentView = $params['view']; self::$currentModuleName = $params['module']; self::$currentModule = self::getModule(self::$currentModuleName); } return self::runModule(); }