diff options
-rw-r--r-- | modules/openid/openid.module | 2 | ||||
-rw-r--r-- | modules/user/user.module | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/modules/openid/openid.module b/modules/openid/openid.module index 79be321f6..0facb8ebd 100644 --- a/modules/openid/openid.module +++ b/modules/openid/openid.module @@ -121,7 +121,7 @@ function _openid_user_login_form_alter(&$form, &$form_state) { '#weight' => -1, '#description' => l(t('What is OpenID?'), 'http://openid.net/', array('external' => TRUE)), ); - $form['openid.return_to'] = array('#type' => 'hidden', '#value' => url('openid/authenticate', array('absolute' => TRUE, 'query' => drupal_get_destination()))); + $form['openid.return_to'] = array('#type' => 'hidden', '#value' => url('openid/authenticate', array('absolute' => TRUE, 'query' => user_login_destination()))); } /** diff --git a/modules/user/user.module b/modules/user/user.module index 3cf6871f3..dd05a9efd 100644 --- a/modules/user/user.module +++ b/modules/user/user.module @@ -3142,3 +3142,11 @@ function user_modules_uninstalled($modules) { ->execute(); } } + +/** + * Rewrite the destination to prevent redirecting to login page after login. + */ +function user_login_destination() { + $destination = drupal_get_destination(); + return $destination == 'destination=user%2Flogin' ? 'destination=user' : $destination; +} |