Особливості дуже зручні для таких матеріалів. Однак якщо вам потрібно створити ролі та додати дозволи програмно, вам не доведеться самостійно перекопувати базу даних.
Коли ви створюєте нову роль користувача user_role_save()
, він оновлює об'єкт, який ви передали, новим ідентифікатором ролі користувача, який був призначений. Приклад цього можна побачити у standard_install()
функції в профілі встановлення Standard.
$admin_role = new stdClass();
$admin_role->name = 'administrator';
...
user_role_save($admin_role);
user_role_grant_permissions($admin_role->rid, array_keys(module_invoke_all('permission')));
Цей приклад показує, що ви можете створити нову роль користувача, а потім отримати доступ до її rid
властивості, яку заповнив user_role_save()
. Він також показує, як додати дозволи на цю роль за допомогою user_role_grant_permissions()
. У цьому випадку він надає ролі "адміністратора" всі наявні дозволи.
Якщо вам потрібно отримати ідентифікатор ролі користувача, створеного кимось іншим, ви можете використовувати user_role_load_by_name()
об’єкт для цієї ролі користувача. Тоді ви просто захопите ідентифікатор $role->rid
.