You are here

function _user_resource_logout_1_1 in Services 7.3

Logs out the currently logged in user and returns the new user object.

1 string reference to '_user_resource_logout_1_1'
_user_resource_logout_update_1_1 in resources/user_resource.inc
Update the current user logout callback to the new callback with a better return value.

File

resources/user_resource.inc, line 697

Code

function _user_resource_logout_1_1() {
  global $user;
  if (!$user->uid) {

    // User is not logged in
    return services_error(t('User is not logged in.'), 406);
  }
  watchdog('user', 'Session closed for %name.', array(
    '%name' => $user->name,
  ));
  $original_session_state = drupal_save_session();
  drupal_save_session(TRUE);

  // Destroy the current session.
  module_invoke_all('user_logout', $user);
  session_destroy();

  // Load the anonymous user.
  $user = drupal_anonymous_user();
  drupal_save_session($original_session_state);
  return $user;
}