From 66395cd9aaee9eaf3ac94c2cb6f58ab717090b98 Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Tue, 30 Jun 2009 00:06:49 -0600 Subject: [PATCH] Fix some login weirdness --- imp/login.php | 6 ++++-- imp/redirect.php | 14 ++++++++------ imp/templates/login/login.html | 1 - 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/imp/login.php b/imp/login.php index 8a3f44259..908159928 100644 --- a/imp/login.php +++ b/imp/login.php @@ -31,6 +31,8 @@ $logout_reason = $auth->getLogoutReason(); $actionID = (Horde_Util::getFormData('action') == 'compose') ? 'login_compose' : Horde_Util::getFormData('actionID'); $url_param = Horde_Util::getFormData('url'); +$load_frameset = intval($imp_auth && empty($conf['menu']['always'])); + /* Handle cases where we already have a session. */ if (!empty($_SESSION['imp']) && is_array($_SESSION['imp'])) { if ($logout_reason) { @@ -339,8 +341,8 @@ IMP::addInlineScript(array( 'ImpLogin.ie_clientcaps = ' . intval($t->get('ie_clientcaps')), 'ImpLogin.imp_auth = ' . intval($imp_auth), 'ImpLogin.lang_url = ' . Horde_Serialize::serialize($lang_url, Horde_Serialize::JSON, $charset), - 'ImpLogin.nomenu = ' . intval(empty($conf['menu']['always'])), - 'ImpLogin.reloadmenu = ' . intval($logout_reason && $imp_auth && $conf['menu']['always']), + 'ImpLogin.nomenu = ' . $load_frameset, + 'ImpLogin.reloadmenu = ' . intval($logout_reason && $load_frameset), 'ImpLogin.show_list = ' . intval($show_list), 'ImpLogin.dimp_sel = ' . intval($dimp_sel), )); diff --git a/imp/redirect.php b/imp/redirect.php index 769b09c9b..91a011e89 100644 --- a/imp/redirect.php +++ b/imp/redirect.php @@ -11,17 +11,19 @@ function _framesetUrl($url) { - if (!$GLOBALS['noframeset'] && Horde_Util::getFormData('load_frameset')) { + if (!empty($conf['menu']['always']) || + $GLOBALS['prefs']->getValue('show_sidebar')) { $url = Horde_Util::addParameter(Horde::applicationUrl($GLOBALS['registry']->get('webroot', 'horde') . '/index.php', true), array('url' => _addAnchor($url, 'param')), null, false); /* Need to do a loginTasks check here because we must display login * tasks before frameset is loaded. */ IMP_Session::loginTasks($url); } + return $url; } -function _newSessionUrl($actionID, $isLogin) +function _newSessionUrl($actionID) { $url = ''; $addActionID = true; @@ -30,15 +32,16 @@ function _newSessionUrl($actionID, $isLogin) $url = Horde::url(Horde_Util::removeParameter($GLOBALS['url_in'], session_name()), true); } elseif (Auth::getProvider() == 'imp') { $url = Horde::applicationUrl($GLOBALS['registry']->get('webroot', 'horde') . '/', true); + /* Force the initial page to IMP if we're logging in to compose a * message. */ if ($actionID == 'login_compose') { - $url = Horde_Util::addParameter($url, 'url', _addAnchor(IMP_Session::getInitialUrl('login_compose', false), 'param')); + $url = Horde_Util::addParameter($url, 'url', _addAnchor(IMP_Session::getInitialUrl($actionID, false), 'param')); $addActionID = false; } } else { $url = IMP_Session::getInitialUrl($actionID, false); - if ($isLogin) { + if ($GLOBALS['isLogin']) { /* Don't show popup window in initial page. */ $url = Horde_Util::addParameter($url, 'no_newmail_popup', 1, false); } @@ -93,7 +96,6 @@ if (!empty($autologin)) { $pass = Auth::getCredential('password'); } $isLogin = empty($_SESSION['imp']['logintasks']); -$noframeset = false; /* Get URL/Anchor strings now. */ $url_anchor = null; @@ -160,7 +162,7 @@ if (!is_null($imapuser) && !is_null($pass)) { Horde::callHook('_imp_hook_postlogin', array($actionID, $isLogin), 'imp'); } - _redirect(_framesetUrl(_newSessionUrl($actionID, $isLogin))); + _redirect(_framesetUrl(_newSessionUrl($actionID))); } _redirect(IMP::getLogoutUrl(null, true)); diff --git a/imp/templates/login/login.html b/imp/templates/login/login.html index 6ae3231b7..8f1cae515 100644 --- a/imp/templates/login/login.html +++ b/imp/templates/login/login.html @@ -2,7 +2,6 @@ - -- 2.11.0