From a0b1b90d635aa963da28d1a86ec988f1a0b3fc2e Mon Sep 17 00:00:00 2001 From: Chuck Hagenbuch Date: Tue, 14 Jul 2009 22:26:37 -0400 Subject: [PATCH] If a URL is passed to login.php with a valid session, send it through redirect.php so that it's parsed and honored instead of just redirecting to the initial IMP page. --- imp/login.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/imp/login.php b/imp/login.php index 18d0b5163..00fb3d4c5 100644 --- a/imp/login.php +++ b/imp/login.php @@ -67,7 +67,14 @@ if (!empty($_SESSION['imp']) && is_array($_SESSION['imp'])) { $registry->loadPrefs('horde'); $registry->loadPrefs(); } else { - header('Location: ' . IMP_Session::getInitialUrl($actionID, false)); + if ($url_param) { + $url = Horde::applicationUrl('redirect.php', true); + $params = array('url' => $url_param); + $url = Horde_Util::addParameter($url, $params, null, false); + } else { + $url = IMP_Session::getInitialUrl($actionID, false); + } + header('Location: ' . $url); exit; } } @@ -134,7 +141,7 @@ if ($conf['server']['server_list'] != 'shown') { if (!$logout_reason && IMP_Session::canAutoLogin($server_key, $autologin)) { $url = Horde::applicationUrl('redirect.php', true); - $params = array('actionID' => 'login', 'autologin' => true); + $params = array('actionID' => 'login', 'autologin' => true, 'url' => $url_param); if (count($used_servers) == 1) { $params['server_key'] = key($used_servers); } -- 2.11.0