Создание новых учетных записей удаленно с Drupal - PullRequest
1 голос
/ 17 сентября 2009

Я создаю платную подписку на сайт, используя Drupal. После поиска в модулях Drupal я не смог найти ничего, что позволило бы мне создать новую учетную запись Drupal после того, как пользователь посетил мою целевую страницу, решил, что хочет подписаться, и предоставил свою действительную информацию о кредитной карте. Я хотел бы перенаправить их на сайт подписки с вновь созданной учетной записью после проверки информации о кредитной карте.

Кто-нибудь знаком с модулем или методологией для удаленного создания учетной записи пользователя в Drupal? OpenID возможен, но я хотел бы дать пользователю немного больше свободы в выборе имени пользователя.

Ответы [ 2 ]

1 голос
/ 17 сентября 2009

Вы можете подключить функцию или создать интерфейс 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

1 голос
/ 17 сентября 2009

Почему бы не расширить регистрационную форму Drupal некоторыми дополнительными полями и функциями проверки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...