Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- global $user;
- $mail = сюда суём адрес почты;
- $count = db_select('users')
- ->condition('mail', $mail)
- ->countQuery()
- ->execute()
- ->fetchField();
- //код если нашли совпадения;
- if ($count != 0) {
- if ($user->uid == 0) {
- //Создадим пользователя (имя и пароль будут генерироваться случайно)
- $pass_gen='1111111111'; // здесь функция генерации пароля должна быть
- $email_gen='test8@test123.ru'; //у меня емаил юзера будет передаватсья в урле методом ПОСТ
- // Регистрация юзера (имя юзера у меня равно емаилу для простоты)
- $arguments = array(
- 'name' => $email_gen,
- 'pass' => $pass_gen,
- 'mail' => $email_gen,
- 'init' => $email_gen,
- 'status' => 1,
- 'roles' => array(DRUPAL_AUTHENTICATED_RID => TRUE),
- );
- user_save( NULL, $arguments );
- // авторизация юзера:
- function druwebru_authenticate_programmatically($email_gen, $pass_gen) {
- // Пытаемся авторизоваться:
- if (user_authenticate($email_gen, $pass_gen)) :
- $user_object = user_load_by_name($email_gen);
- $form_state = array();
- $form_state['uid'] = $user_object->uid;
- user_login_submit(array(), $form_state);
- return true;
- else :
- return false;
- endif;
- }
- /* Пример использования: */
- if (druwebru_authenticate_programmatically($email_gen, $pass_gen))
- print "Вы вошли на сайт!";
- else
- print "Не удалось войти на сайт.";
- } else {
- echo "Вы уже авторизованы как юзер: ".$user->uid;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement