Как назначить роль программно в Drupal 6? 'role' => 'rolename не работает
У меня есть эта функция для создания нового пользователя, использующего информацию, которая находится внутри формы узла, на моем сайте Drupal 6:
function altas_create_user($name,$pass,$mail) {
$newuser = array(
'name' => $name,
'mail' => $mail,
'pass' => $pass,
'access' => 1,
'notify' => 1,
'status' => 1,
);
return user_save(NULL, $newuser);
}
Теперь я заметил, что я не назначил роль этому пользователю. Как я могу это сделать?
Я пытался добавить это, это не сработало: 'role' => 'rolename',
Как я могу это сделать? Спасибо за вашу помощь!
РЕДАКТИРОВАТЬ: я забыл сказать, что я посмотрел на API, и обнаружил, что, возможно, я должен использовать 'roles' => $roles
, но не понимаю, как на самом деле заполнить $roles
с моим роленым именем.
1 ответ
Решение
Решил это! (нашел ответ здесь) и подумал, что опубликую результаты, на всякий случай, если это кому-нибудь поможет:
// Get an array of roles
$roles = user_roles();
сначала (внутри функции, перед $newuser array), а затем,
'roles' => array(array_search('myrolename', $roles) => 1),
Там это работает как шарм.