Вы можете подключить функцию или создать интерфейс xml-rpc для функции, создавшей новую учетную запись пользователя после того, как пользователь введет свои данные.
Например, в форме, которую они заполняют, вы можете указать в _submit формы:
formname_sumbit($form, &$form_state) {
// Do form stuff here
// Now do user_save stuff
$password = user_password();
$mail = $form_state['values']['email_address'];
// Use blank account object as we are creating a new account
$account = array();
$properties = array('name' => 'someusername', 'pass' => $password, 'mail' => $mail, $roles => array('authenticated user', 'some other role'));
$this_user = user_save($account, $properties);
}
Это должно позаботиться о создании пользователя. Я не уверен, как их автоматически войти, но global $user; $user = $this_user;
может работать. Пользователь должен быть уведомлен о своей новой учетной записи по электронной почте с помощью функции user_save
, но вы также можете сообщить ему об этом с помощью drupal_set_message
.
http://api.drupal.org/api/function/user_save/6