Menu access callback for a user's personal contact form.
$account: The user object of the user whose contact form is being requested.
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');
}