Fiturnya cukup berguna untuk hal-hal seperti ini. Namun, jika Anda memang perlu membuat peran dan menambahkan izin secara program, Anda tidak perlu menggali sendiri melalui database.
Saat Anda membuat peran pengguna baru user_role_save()
, itu akan memperbarui objek yang Anda berikan dengan id peran pengguna baru yang ditugaskan. Anda dapat melihat contohnya dalam standard_install()
fungsi ini di profil pemasangan Standar.
$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')));
Contoh ini menunjukkan bahwa Anda dapat membuat peran pengguna baru, lalu mengakses rid
propertinya, yang diisi oleh user_role_save()
. Ini juga menunjukkan bagaimana cara menambahkan izin ke peran itu user_role_grant_permissions()
. Dalam hal ini, ini memberikan peran 'administrator' semua izin yang tersedia.
Jika Anda perlu mendapatkan id dari peran pengguna yang dibuat oleh orang lain, Anda bisa menggunakan user_role_load_by_name()
untuk mendapatkan objek untuk peran pengguna itu. Maka Anda hanya mengambil id dengan $role->rid
.