Помогите с проблемой облегченной регистрации с социалок.
Установил модуль uLogin. На сайте уже работает phpbb (авторизация прикручена).
При регистрации через uLogin не регистрирует в phpbb.
Залез в базу. Вот что нашел (столбец "data" таблицы "users"):
Пользователь, зарегистрированный через drupal / phpbb:
a:4:{s:13:"form_build_id";s:37:"form-********************************";s:14:"picture_delete";s:0:"";s:14:"picture_upload";s:0:"";s:7:"contact";i:0;}
Пользователь, зарегистрированный через uLogin:
a:1:{s:7:"contact";i:1;}
Что нужно и как подправить?. Помогите, пожалуйста. Я мало что знаю по этой теме, да и вообще по drupal... а надо...
Модуль uLogin:
function ulogin_button() {
return '<div><a href="#" id="uLoginnone"><img src="http://ulogin.ru/img/button.png" width=187 height=30 alt="МультиВход"/></a></div><script src="http://ulogin.ru/js/widget.js?display=window&fields=first_name,last_name...' . urlencode(url('ulogin/token', array('absolute' => true))) . '"></script>';
}
function ulogin_form_user_login_block_alter(&$form) {
$form['ulogin'] = array('#value' => ulogin_button(), '#markup' => ulogin_button());
}
function ulogin_form_user_register_alter(&$form) {
$form['ulogin'] = array('#value' => ulogin_button(), '#markup' => ulogin_button());
}
function ulogin_form_user_login_alter(&$form) {
$form['ulogin'] = array('#value' => ulogin_button(), '#markup' => ulogin_button());
}
function ulogin_menu() {
return array('ulogin/token' => array('access callback' => true, 'page callback' => 'ulogin_token', 'type' => MENU_CALLBACK));
}
function ulogin_token() {
error_reporting(0);
global $user;
$data = drupal_http_request('http://ulogin.ru/token.php?token=' . $_POST['token'] . '&host=' . $_SERVER['HTTP_HOST']);
$data = json_decode($data->data, true);
if (isset($data['uid'])) {
$account = user_external_load('ulogin_' . $data['network'] . '_' . $data['uid']);
if (!$account || $account->uid == 0) {
try {
$account = user_save(drupal_anonymous_user(), array('authname_ulogin' => 'ulogin_' . $data['network'] . '_' . $data['uid'], 'init' => 'ulogin_' . $data['network'] . '_' . $data['uid'], 'status' => 1, 'mail' => $data['email'], 'name' => $data['first_name'] . ' ' . $data['last_name'], 'pass' => user_password()));
if (!$account) throw new Exception('');
} catch (Exception $e) {
$next = true;
$i = 0;
while ($next) {
$i++;
try {
$account = user_save(drupal_anonymous_user(), array('authname_ulogin' => 'ulogin_' . $data['network'] . '_' . $data['uid'], 'init' => 'ulogin_' . $data['network'] . '_' . $data['uid'], 'status' => 1, 'mail' => $data['email'], 'name' => $data['first_name'] . ' ' . $data['last_name'] . ' ' . $i, 'pass' => user_password()));
if (!$account) throw new Exception('');
$next = false;
} catch (Exception $e) {}
}
}
user_set_authmaps($account, array("authname_ulogin" => 'ulogin_' . $data['network'] . '_' . $data['uid']));
}
$user = $account;
$form_state['uid'] = $account->uid;
user_login_submit(array(), $form_state);
}
drupal_goto();
}
Комментарии
ulogin лежит и ничего с него не грузит и не авторизует, думаю надо задуматься нафига такой сервис.
я задумался.
wargan, лежит до сих пор? Я думала, что это мне так везет (тоже не получается настроить вход с социалок). АУ! ассы, помогите - это ulogin глючит или мы?
вот и ответ
http://www.drupal.ru/node/85153
спасибо Romsla!