คุณสมบัติมีประโยชน์สำหรับสิ่งนี้ อย่างไรก็ตามหากคุณจำเป็นต้องสร้างบทบาทและเพิ่มสิทธิ์โดยทางโปรแกรมคุณไม่จำเป็นต้องขุดผ่านฐานข้อมูลด้วยตัวเอง
เมื่อคุณสร้างบทบาทผู้ใช้ใหม่ด้วยuser_role_save()
มันจะอัปเดตวัตถุที่คุณส่งผ่านด้วย ID บทบาทผู้ใช้ใหม่ที่ได้รับมอบหมาย คุณสามารถดูตัวอย่างนี้ได้ในstandard_install()
ฟังก์ชั่นในโปรไฟล์การติดตั้งมาตรฐาน
$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()
ในกรณีนี้เป็นการอนุญาตบทบาทผู้ดูแลระบบที่มีอยู่ทั้งหมด
หากคุณต้องการรับ ID ของบทบาทผู้ใช้ที่สร้างโดยบุคคลอื่นคุณสามารถใช้user_role_load_by_name()
เพื่อรับวัตถุสำหรับบทบาทผู้ใช้นั้น $role->rid
แล้วคุณก็คว้าประชาชนด้วย