Index: branches/5.3.x/core/kernel/managers/url_manager.php =================================================================== diff -u -N -r15974 -r15999 --- branches/5.3.x/core/kernel/managers/url_manager.php (.../url_manager.php) (revision 15974) +++ branches/5.3.x/core/kernel/managers/url_manager.php (.../url_manager.php) (revision 15999) @@ -1,6 +1,6 @@ Application->recallObject('Session'); /* @var $session Session */ - $target_url = rtrim($this->Application->BaseURL('', $ssl, false), '/'); + $target_url = rtrim($this->Application->BaseURL('', $ssl), '/'); $cookie_url = trim($session->CookieDomain . $session->CookiePath, '/.'); // set session to GET_ONLY, to pass sid only if sid is REAL AND session is set @@ -190,6 +190,12 @@ unset($params['__NO_SID__']); } + $domain = ''; + if ( isset($params['domain']) ) { + $domain = $params['domain']; + unset($params['domain']); + } + // append pass through variables to each link to be build $params = array_merge($this->getPassThroughVariables($params), $params); @@ -213,7 +219,11 @@ $url = $index_file . '?' . $this->plain->build($t, $params, $pass, $pass_events); } - return $this->Application->BaseURL($prefix, $ssl) . $url . $map_link; + if ( $prefix ) { + $prefix = trim($prefix, '/') . '/'; + } + + return $this->Application->BaseURL($domain, $ssl) . $prefix . $url . $map_link; } /** @@ -235,8 +245,13 @@ $ssl = isset($params['__SSL__']) ? $params['__SSL__'] : null; list($index_file, $env) = explode('|', $opener_stack->get(kOpenerStack::LAST_ELEMENT, true)); - $ret = $this->Application->BaseURL($prefix, $ssl) . $index_file . '?' . ENV_VAR_NAME . '=' . $env; + if ( $prefix ) { + $prefix = trim($prefix, '/') . '/'; + } + + $ret = $this->Application->BaseURL('', $ssl) . $prefix . $index_file . '?' . ENV_VAR_NAME . '=' . $env; + if ( isset($params['m_opener']) && $params['m_opener'] == 'u' ) { $opener_stack->pop(); $opener_stack->save(true);