建立一個角色editor
$role = new stdClass();
//指定角色名稱
$role->name = 'editor';
// 如設定角色順序,則設定weight屬性
// $role->weight = 10;
//儲存角色
user_role_save($role);
設定角色權限
// 取出角色
$editor_role = user_role_load_by_name('editor');
$editor_rid = $editor_role->rid;
// 設定權限資料
$editor_permissions = array(
'administer blocks' => TRUE, // Grant permission
'access dashboard' => FALSE, // Revoke permission
..., // 其他權限...
);
// 將權限設定值指定給剛剛取出的角色
user_role_change_permissions($editor_rid, $editor_permissions);
建立使用者並指定為該角色
// 指定新使用者的角色
$new_user_roles = array(
DRUPAL_AUTHENTICATED_RID => 'authenticated user',
$editor_rid => 'editor',
);
// 建立新使用者
$new_user = new stdClass();
$new_user->name = 'john doe'; //設定使用者名稱
$new_user->pass = 'mypassword'; // 設定密碼
$new_user->mail = 'john@doe.com'; //設定使用者電子郵件
$new_user->roles = $new_user_roles; //指定角色
$new_user->status = 1; // 設定使用者狀態,如不設定,則預設為停用
$new_user->is_new = TRUE; // 非必要,因為未指定uid
user_save($new_user);