You are here

function _contact_personal_tab_access in Drupal 7

Menu access callback for a user's personal contact form.

Parameters

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

1 string reference to '_contact_personal_tab_access'
contact_menu in modules/contact/contact.module
Implements hook_menu().

File

modules/contact/contact.module, line 115
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');
}