hook_user
developer/hooks/core.php, строка 1994
- Версии
- 5 – 6
hook_user($op, &$edit, &$account, $category = NULL)
Выполняет действия с учётными записями пользователей.
Этот хук позволяет модулям взаимодействовать, когда выполняются операции с учётными записями пользователей.
Параметры
$op
Какие действия осуществляются пользователем (например регистрация). Возможные варианты (в алфавитном порядке):
'after_update'
: Объект пользователя обновлен и сохранен. Use this if (probably along with'insert'
) if you want to reuse some information from the user object.'categories'
: A set of user information categories is requested.'delete'
: Удаление учетной записи пользователя. Модуль должен удалить свою дополнительную информацию о пользователе из базы данных.'form'
: Перед отображением формы учетной записи пользователя. Модуль должен представить элементы формы, которые он хотел бы вставить в форму редактирования учетной записи.'insert'
: Создается учетная запись пользователя. Модуль должен сохранить свои дополнительные данные в объект пользователя в базе данных и установить сохраненные значения из массива$edit
вNULL
.'load'
: Загружается учетная запись пользователя. Модуль на это может отреагировать и добавить дополнительную информацию в объект пользователя.'login'
: Пользователь логинится.'logout'
: Пользователь разлогинился.'register'
: Перед отображением формы регистрации учетной записи пользователя. Модуль должен представить элементы формы, которые он хотел бы вставить в форму регистрации.'submit'
: Событие возникает после редактирования профиля пользователя, но до сохранения изменений.'update'
: Изменение учетной записи пользователя. Модуль должен сохранить свои дополнительные данные в объект пользователя в базе данных и установить сохраненные значения из массива$edit
вNULL
.'validate'
: Перед изменением учетной записи пользователя. Модуль должен проверить дополнительную информацию в объекте пользователя, зарегистрировать ошибки при необходимости.'view'
: Отображение информации об учетной записи пользователя. Свою дополнительную информацию для отображения модуль должен приводить к формату и добавлять ее в массив$account
->content.
$edit
Массив значений полей формы, введенных и переданных пользователем.
&$account
Объект пользователя, с которым выполняются операции.
$category
Активная категория информации о пользователе, которая редактируется.
Возвращаемое значение
Эти варианты зависят от операции.
'categories'
: Массив ассоциативных массивов. Массивы содержат ключи:'name'
: Внутреннее имя категории.'title'
: "Человеческое" локализованное имя этой категории.'weight'
: Числовой идентификатор этой категории для сортировки.'access callback'
: Name of a menu access callback function to use when editing this category. Defaults to usinguser_edit_access()
if not specified. Seehook_menu()
for more information on menu access callbacks.'access arguments'
: Arguments for the access callback function. Defaults to array(1) if not specified.
'delete'
: None.'form'
,'register'
: A$form
array containing the form elements to display.'insert'
: None.'load'
: None.'login'
: None.'logout'
: None.'submit'
: None.'update'
: None.'validate'
: None.'view'
: None.
Связанные темы
Код
<?php
function hook_user($op, &$edit, &$account, $category = NULL) {
if ($op == 'form' && $category == 'account') {
$form['comment_settings'] = array(
'#type' => 'fieldset',
'#title' => t('Comment settings'),
'#collapsible' => TRUE,
'#weight' => 4);
$form['comment_settings']['signature'] = array(
'#type' => 'textarea',
'#title' => t('Signature'),
'#default_value' => $edit['signature'],
'#description' => t('Your signature will be publicly displayed at the end of your comments.'));
return $form;
}
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии