Index: typo3/sysext/felogin/pi1/class.tx_felogin_pi1.php =================================================================== --- typo3/sysext/felogin/pi1/class.tx_felogin_pi1.php (revision 4410) +++ typo3/sysext/felogin/pi1/class.tx_felogin_pi1.php (working copy) @@ -232,7 +232,8 @@ protected function showLogin() { $subpart = $this->cObj->getSubpart($this->template, '###TEMPLATE_LOGIN###'); $subpartArray = $linkpartArray = array(); - + $gpRedirecturl = ''; + $markerArray['###LEGEND###'] = $this->pi_getLL('oLabel_header_welcome', '', 1); if($this->logintype === 'login') { @@ -257,6 +258,7 @@ // login error $markerArray['###STATUS_HEADER###'] = $this->getDisplayText('error_header',$this->conf['errorHeader_stdWrap.']); $markerArray['###STATUS_MESSAGE###'] = $this->getDisplayText('error_message',$this->conf['errorMessage_stdWrap.']); + $gpRedirecturl = t3lib_div::_GP('redirect_url'); } } else { if($this->logintype === 'logout') { @@ -300,7 +302,7 @@ $markerArray['###PASSWORD_LABEL###'] = $this->pi_getLL('password', '', 1); $markerArray['###STORAGE_PID###'] = $this->spid; $markerArray['###USERNAME_LABEL###'] = $this->pi_getLL('username', '', 1); - $markerArray['###REDIRECT_URL###'] = $this->redirectUrl; + $markerArray['###REDIRECT_URL###'] = $gpRedirecturl ? htmlspecialchars($gpRedirecturl) : htmlspecialchars($this->redirectUrl); $markerArray = array_merge($markerArray, $this->getUserFieldMarkers()); if ($this->flexFormValue('showForgotPassword','sDEF') || $this->conf['showForgotPasswordLink']) { @@ -408,7 +410,7 @@ } break; } - } elseif ($this->logintype === 'logout' || !$this->logintype) { // after logout + } elseif ($this->logintype === 'logout') { // after logout // Hook for general actions after after logout has been confirmed if ($this->logintype === 'logout' && $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['felogin']['logout_confirmed']) { @@ -430,6 +432,10 @@ } else { // not logged in // Placeholder for maybe future options switch ($redirMethod) { + case 'getpost': + // preserve the get/post value + $redirect_url = $this->redirectUrl; + break; } }