Index: branches/5.2.x/core/kernel/managers/url_manager.php =================================================================== diff -u -N -r15278 -r15362 --- branches/5.2.x/core/kernel/managers/url_manager.php (.../url_manager.php) (revision 15278) +++ branches/5.2.x/core/kernel/managers/url_manager.php (.../url_manager.php) (revision 15362) @@ -1,6 +1,6 @@ Application->GetVar('m_theme'); + if ( !isset($current_theme_id) ) { + $current_theme_id = $this->Application->GetVar('m_theme'); } if ( !$t ) { @@ -114,6 +114,8 @@ unset($params['use_section']); } + $theme_id = isset($params['m_theme']) ? $params['m_theme'] : $current_theme_id; + if ( isset($use_section) && $use_section && array_key_exists($t . ':' . $theme_id, $this->structureTemplateMapping) ) { // structure template corresponding to given physical template $t = $this->structureTemplateMapping[$t . ':' . $theme_id]; @@ -137,8 +139,8 @@ unset($params['_auto_prefix_']); // this is parser-related param, do not need to pass it here } - $ssl = isset($params['__SSL__']) ? $params['__SSL__'] : null; - if ( $ssl !== null ) { + $ssl = isset($params['__SSL__']) ? $params['__SSL__'] : NULL; + if ( $ssl !== NULL ) { $session = $this->Application->recallObject('Session'); /* @var $session Session */ @@ -166,7 +168,6 @@ $pass = isset($params['pass']) ? $params['pass'] : ''; - // pass events with url $pass_events = false; if ( isset($params['pass_events']) ) { @@ -203,7 +204,6 @@ unset($params['__NO_SID__']); } - // append pass through variables to each link to be build $params = array_merge($this->getPassThroughVariables($params), $params);