Drupal API

hook_access

  • Drupal 5
  • Drupal 6
Хочешь помочь с переводом? Это очень просто и быстро. Лишь зарегистрируйся, и можешь тут же начать переводить.

developer/hooks/node.php, строка 145

Версии
5
hook_access($op, $node)
6
hook_access($op, $node, $account)

Определяет ограничения доступа.

Этот хук позволяет модулям ограничить доступ к нодам, типы которых они определяют.

Администратор сайта (пользователь с ID #1) всегда получает «добро» при любых проверках доступа, поэтому этот хук для него не вызывается. Если этот хук не определен для какого-либо типа нод, все проверки доступа будут выдавать запрет, поэтому только администратор сможет видеть ноды этого типа. Однако, пользователи с правом 'administer nodes' всегда могут просматривать и редактировать все ноды через интерфейс администрирования контента.

Смотри также

Подробный пример использования этого хука можно найти в коде модуля node_example.module. Взаимосвязь с другими функциями контроля доступа описана на странице «Система доступа к нодам»

Параметры

$op Операция, которая будет выполнена. Возможные значения:

  • 'create'
  • 'delete'
  • 'update'
  • 'view'

$node Нода, над которой эта операция будет совершена, или, если она ещё не существует, то тип ноды, которую нужно создать.

$account Объект пользователя, для которого операция должна быть выполнена.

Возвращаемое значение

TRUE если операция должна быть разрешена;
FALSE если операция должна быть запрещена;
NULL для того, чтобы воспользоваться значениями по-умолчанию из таблицы node_access и модулей контроля доступа.

Связанные темы

Код

<?php
function hook_access($op, $node, $account) {
  if ($op == 'create') {
    return user_access('create stories', $account);
  }
  if ($op == 'update' || $op == 'delete') {
    if (user_access('edit own stories', $account) && ($account->uid == $node->uid)) {
      return TRUE;
    }
  }
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Вход в систему

Что такое OpenID?
  • Регистрация
  • Забыли пароль?

Документация

  • Drupal 6
  • Константы
  • Файлы
  • Функции
  • Глобальные переменные
  • Разделы