Тонкая настройка прав материалов с помощью hook_node_access()
Хук hook_node_access() предназначен для тонкой настройки прав пользователей при работе с материалами. Например с помощью него можно дать одному из пользователей права на редактирование определённого типа материалов (в то время, как другие пользователи такого права не имеют):
function mymodule_node_access($node, $op, $account) {
$type = is_string($node) ? $node : $node->type;
if ($type == 'page' && $op == 'update' && $account->uid == 123) {
return NODE_ACCESS_ALLOW;
}
}
или например запретить пользователям, зарегистрированным менее суток назад, создавать любые материалы:
function mymodule_node_access($node, $op, $account) {
if ($op == 'create' && REQUEST_TIME - $account->created < 60*60*24) {
return NODE_ACCESS_DENY;
}
}
Замечания:
— хук не вызывается для юзера #1, т.е. ему всё разрешено
— хук не вызывается при просмотре списка нод, например в RSS, на странице node или в блоке последних материалов
Написанное актуально для
Drupal 7
Комментарии:
Нету комментариев для вывода...