Index: branches/5.2.x/core/kernel/application.php =================================================================== diff -u -r14699 -r14714 --- branches/5.2.x/core/kernel/application.php (.../application.php) (revision 14699) +++ branches/5.2.x/core/kernel/application.php (.../application.php) (revision 14714) @@ -1,6 +1,6 @@ Debugger->appendTimestamp('Before UnitConfigReader'); } + // init config reader and all managers $this->UnitConfigReader =& $this->makeClass('kUnitConfigReader'); $this->UnitConfigReader->scanModules(MODULES_PATH); @@ -322,7 +323,9 @@ define('MOD_REWRITE', $this->ConfigValue('UseModRewrite') && !$this->isAdmin ? 1 : 0); + // start processing request $this->HttpQuery =& $this->recallObject('HTTPQuery'); + $this->HttpQuery->AfterInit(); if ( defined('DEBUG_MODE') && $this->isDebugMode() ) { $this->Debugger->appendTimestamp('Processed HTTPQuery initial'); @@ -334,18 +337,7 @@ $this->Debugger->appendTimestamp('Processed Session'); } - if ( !$this->RecallVar('UserGroups') ) { - $user_groups = trim($this->Session->GetField('GroupList'), ','); - if ( !$user_groups ) { - $user_groups = $this->ConfigValue('User_GuestGroup'); - } - - $this->Session->SetField('GroupList', $user_groups); - $this->StoreVar('UserGroups', $user_groups, true); // true for optional - } - $this->UrlManager->LoadStructureTemplateMapping(); - $this->HttpQuery->AfterInit(); $this->Session->ValidateExpired(); @@ -690,13 +682,18 @@ { $this->registerClass('kHelper', KERNEL_PATH . '/kbase.php'); $this->registerClass('kMultipleFilter', KERNEL_PATH . '/utility/filters.php'); - $this->registerClass('kiCacheable', KERNEL_PATH . '/interfaces/cacheable.php', 'kiCacheable'); + $this->registerClass('kiCacheable', KERNEL_PATH . '/interfaces/cacheable.php'); $this->registerClass('kEventManager', KERNEL_PATH . '/event_manager.php', 'EventManager', 'kiCacheable'); $this->registerClass('kHookManager', KERNEL_PATH . '/managers/hook_manager.php', null, 'kiCacheable'); $this->registerClass('kAgentManager', KERNEL_PATH . '/managers/agent_manager.php', null, 'kiCacheable'); $this->registerClass('kRequestManager', KERNEL_PATH . '/managers/request_manager.php'); + $this->registerClass('kUrlManager', KERNEL_PATH . '/managers/url_manager.php'); + $this->registerClass('kUrlProcessor', KERNEL_PATH . '/managers/url_processor.php'); + $this->registerClass('kPlainUrlProcessor', KERNEL_PATH . '/managers/plain_url_processor.php', null, 'kUrlProcessor'); + $this->registerClass('kRewriteUrlProcessor', KERNEL_PATH . '/managers/rewrite_url_processor.php', null, 'kUrlProcessor'); + $this->registerClass('kCacheManager', KERNEL_PATH . '/managers/cache_manager.php', null, 'kiCacheable'); $this->registerClass('PhrasesCache', KERNEL_PATH . '/languages/phrases_cache.php', 'kPhraseCache'); $this->registerClass('kTempTablesHandler', KERNEL_PATH . '/utility/temp_handler.php'); @@ -1216,6 +1213,23 @@ } /** + * Returns variable passed to the script as $type + * + * @param string $name Name of variable to retrieve + * @param string $type Get/Post/Cookie + * @param mixed $default default value returned in case if variable not present + * + * @return mixed + * @access public + */ + public function GetVarDirect($name, $type, $default = false) + { +// $type = ucfirst($type); + + return isset($this->HttpQuery->$type[$name]) ? $this->HttpQuery->$type[$name] : $default; + } + + /** * Returns ALL variables passed to the script as GET/POST/COOKIE * * @access public @@ -1482,11 +1496,27 @@ return $this->UrlManager->getPassThroughVariables($params); } - function BuildEnv($t, $params, $pass = 'all', $pass_events = false, $env_var = true) + public function BuildEnv($t, $params, $pass = 'all', $pass_events = false, $env_var = true) { - return $this->UrlManager->BuildEnv($t, $params, $pass, $pass_events, $env_var); + return $this->UrlManager->plain->build($t, $params, $pass, $pass_events, $env_var); } + /** + * Process QueryString only, create + * events, ids, based on config + * set template name and sid in + * desired application variables. + * + * @param string $env_var environment string value + * @param string $pass_name + * @return Array + * @access public + */ + public function processQueryString($env_var, $pass_name = 'passed') + { + return $this->UrlManager->plain->parse($env_var, $pass_name); + } + function BaseURL($prefix = '', $ssl = null, $add_port = true) { if ($ssl === null) { @@ -1931,6 +1961,7 @@ (!$ssl && (PROTOCOL == 'https://' || PROTOCOL == 'http://')) // always allow mod_rewrite for http || // or allow rewriting for redirect TO httpS or when already in httpS (($ssl || PROTOCOL == 'https://') && $this->ConfigValue('UseModRewriteWithSSL')); // but only if it's allowed in config! + return kUtil::constOn('MOD_REWRITE') && $allow_rewriting; }