mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-01-03 12:39:25 +01:00
* Login: fix not working forced password reset
This commit is contained in:
parent
1624ceae07
commit
8a14301710
29
login.php
29
login.php
@ -51,25 +51,30 @@ if(isset($GLOBALS['sitemgr_info']) && $GLOBALS['egw_info']['user']['userid'] ==
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$forward = isset($_GET['phpgw_forward']) ? urldecode($_GET['phpgw_forward']) : @$_POST['phpgw_forward'];
|
function parseForward(&$extra_vars)
|
||||||
if (!$forward)
|
|
||||||
{
|
{
|
||||||
$extra_vars = 'cd=yes';
|
$forward = isset($_GET['phpgw_forward']) ? urldecode($_GET['phpgw_forward']) : @$_POST['phpgw_forward'];
|
||||||
$forward = '/index.php';
|
if (!$forward)
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
list($forward,$extra_vars) = explode('?',$forward,2);
|
|
||||||
// only append cd=yes, if there is not already a cd value!
|
|
||||||
if (strpos($extra_vars, 'cd=') === false)
|
|
||||||
{
|
{
|
||||||
$extra_vars .= ($extra_vars ? '&' : '').'cd=yes';
|
$extra_vars = 'cd=yes';
|
||||||
|
$forward = '/index.php';
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
list($forward, $extra_vars) = explode('?', $forward, 2);
|
||||||
|
// only append cd=yes, if there is not already a cd value!
|
||||||
|
if (strpos($extra_vars, 'cd=') === false)
|
||||||
|
{
|
||||||
|
$extra_vars .= ($extra_vars ? '&' : '') . 'cd=yes';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $forward;
|
||||||
}
|
}
|
||||||
|
|
||||||
// SSO login: CAS, SAML, ...
|
// SSO login: CAS, SAML, ...
|
||||||
if (($GLOBALS['sessionid'] = Api\Auth::login()))
|
if (($GLOBALS['sessionid'] = Api\Auth::login()))
|
||||||
{
|
{
|
||||||
|
$forward = parseForward($extra_vars);
|
||||||
$GLOBALS['egw']->redirect_link($forward, $extra_vars);
|
$GLOBALS['egw']->redirect_link($forward, $extra_vars);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -262,6 +267,8 @@ else
|
|||||||
// check if new translations are available
|
// check if new translations are available
|
||||||
Api\Translation::check_invalidate_cache();
|
Api\Translation::check_invalidate_cache();
|
||||||
|
|
||||||
|
$forward = parseForward($extra_vars);
|
||||||
|
|
||||||
if(strpos($_SERVER['HTTP_REFERER'], $_SERVER['REQUEST_URI']) === false) {
|
if(strpos($_SERVER['HTTP_REFERER'], $_SERVER['REQUEST_URI']) === false) {
|
||||||
// login requuest does not come from login.php
|
// login requuest does not come from login.php
|
||||||
// redirect to referer on logout
|
// redirect to referer on logout
|
||||||
|
Loading…
Reference in New Issue
Block a user