Как назначить роль программно в 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),

Там это работает как шарм.

Другие вопросы по тегам