drupal 6 настраивает конфликт двух модулей - PullRequest
0 голосов
/ 22 января 2012

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

Однако пользователи роли editor могут создавать других пользователей с ролями других типов.Для этого я использую модуль uCreate .

Проблема заключается в том, что когда редактор создает пользователя, этот пользователь также получает роль редактора.

Я рассмотрел ряд хуков для программного удаления нежелательной роли, но безуспешно.Кто-нибудь может подсказать, как мне решить эту проблему?

1 Ответ

1 голос
/ 22 января 2012

Когда пользователи «роли редактора» создают пользователей с помощью «модуля uCreate», вызывается hook_user, находящийся в «модуле автоматического назначения роли», это проблема.

Функция user_save из «ucreate»Строка модуля: 299 "вызовите hook_user с параметром" insert "в" файле автоматического назначения role.module ", строка № 155.

case 'insert': // If this is an administrator creating the account only use auto_assign if // allowed by auto_admin_active if (arg(0) == 'admin' && _autoassignrole_get_settings('auto_admin_active') == 0) { return; }

Здесь код проверяет, является ли он администратором.пользователь, если он не является администратором, он назначит роль редактора этому пользователю.

Вместо этого вы можете создать собственный модуль, реализовать hook_user и изменить роль при вставке пользователя. Для получения дополнительной информации см. user_save в drupal 6

...