summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/openid/openid.module2
-rw-r--r--modules/user/user.module8
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;
+}