iff --git a/masquerade.module b/masquerade.module index 9e990c8..4c7d7f1 100644 --- a/masquerade.module +++ b/masquerade.module @@ -735,6 +735,9 @@ function masquerade_autocomplete_multiple($string, $add_anonymous = TRUE) { */ function masquerade_switch_user_page($uid) { if (isset($_GET['token']) && drupal_valid_token($_GET['token'], 'masquerade/switch/' . $uid) && masquerade_switch_user($uid)) { + if(isset($_GET['return'])){ + $_SESSION['masquerade_return'] = $_GET['return']; + } drupal_goto($_SERVER['HTTP_REFERER']); } else { @@ -811,7 +814,14 @@ function masquerade_switch_back_page() { $olduser = $user; masquerade_switch_back(); drupal_set_message(t('You are no longer masquerading as !masq_as and are now logged in as !user.', array('!user' => theme('username', array('account' => $user)), '!masq_as' => theme('username', array('account' => $olduser))))); - drupal_goto($_SERVER['HTTP_REFERER']); + + if(isset($_SESSION['masquerade_return'])){ + $return = $_SESSION['masquerade_return']; + unset($_SESSION['masquerade_return']); + drupal_goto($return); + } else { + drupal_goto($_SERVER['HTTP_REFERER']); + } } else { drupal_access_denied();