В седьмом друпале не работает разрешение Use users' personal contact forms для анонимных пользователей. Решение:
/**
* Implements hook_menu_alter().
*/
function MODULENAME_menu_alter(&$items) {
// Override access callback. See contact_menu()
if (isset($items['user/%user/contact'])) {
$items['user/%user/contact']['access callback'] = 'MODULENAME_user_contact_access';
}
}
/**
* Personal contact form access callback.
* @see _contact_personal_tab_access()
*/
function MODULENAME_user_contact_access($account) {
global $user;
if (user_access('administer users')) {
return TRUE;
}
if ($user->uid == $account->uid) {
return FALSE;
}
if (empty($account->data['contact'])) {
return FALSE;
}
if (empty($account->status)) {
return FALSE;
}
return user_access('access user contact forms');
}
После этого дать анонимам право Use users' personal contact forms и сбросить кэш.
Написанное актуально для
Drupal 7
Добавить комментарий