1 contact.module _contact_personal_tab_access($account)

Access callback: Checks access for a user's personal contact form.

Parameters

User $account: The user object of the user whose contact form is being requested.

See also

contact_menu()

File

core/modules/contact/contact.module, line 147
Enables the use of personal and site-wide contact forms.

Code

function _contact_personal_tab_access($account) {
  global $user;

  // Anonymous users cannot have contact forms.
  if (!$account->uid) {
    return FALSE;
  }

  // User administrators should always have access to personal contact forms.
  if (user_access('administer users')) {
    return TRUE;
  }

  // Users may not contact themselves.
  if ($user->uid == $account->uid) {
    return FALSE;
  }

  // If the requested user has disabled their contact form, or this preference
  // has not yet been saved, do not allow users to contact them.
  if (empty($account->data['contact'])) {
    return FALSE;
  }

  // If requested user has been blocked, do not allow users to contact them.
  if (empty($account->status)) {
    return FALSE;
  }

  return user_access('access user contact forms');
}