Помощь Дополнительные данные в модуле uLogin

Yuriy_Z

Доработка+ OpenCart
Регистрация
22 Июл 2012
Сообщения
159
Реакции
92
Есть модуль Для просмотра ссылки Войди или Зарегистрируйся
Сам сервис позволяет получить телефон и емейл адрес пользователя той или иной соц. сети...
Столкнулся с проблемой - нужно при чтоб при регистрации пользователя етим модулем кроме имени и прозвища еще записывались телефон и емейл.

в файл catalog/controller/account/ulogin.php
Дописываю вот так короче:
PHP:
<?php
class ControllerAccountUlogin extends Controller {
 
    public function index() {
            $user = file_get_contents('http://ulogin.ru/token.php?token=' . $_POST['token'] . '&host=' . $_SERVER['HTTP_HOST']);
            $user = json_decode($user, true);
            //$user['network'] - соц. сеть, через которую авторизовался пользователь
            //$user['identity'] - уникальная строка определяющая конкретного пользователя соц. сети
            //$user['first_name'] - имя пользователя
            //$user['last_name'] - фамилия пользователя
            //$user['email'] - фамилия пользователя
           
            // получаем данные о пользователе с сервера uLogin
        if (!isset($user['identity'])) {
            die('Ошибка: ' . $uloginUserInfo->error_message);
        }
       
        if (isset($user['first_name']) && $user['first_name']) {
            $firstname = $user['first_name'];
        } else {
            $firstname = '';
        }
       
        if (isset($user['last_name']) && $user['last_name']) {
            $lastname = $user['last_name'];
        } else {
            $lastname = '';
        }
       
        if (isset($user['email']) && $user['email']) {
            $email = $user['email'];
        } else {
            $email = '';
        }
       
        if (isset($user['phone']) && $user['phone']) {
            $phone = $user['phone'];
        } else {
            $phone = '';
        }
 
        if (isset($user['country']) && $user['country']) {
            $country = $user['country'];
        } else {
            $country = '';
        }
       
        $company = '';
        //$address_1 = '';
        $address_2 = '';
        //$postcode = '';
        $city = '';
        ob_start();
        $this->load->model('tool/ulogin');
        echo $user['last_name'];
        $check_id = $this->model_tool_ulogin->check_identity($user['identity']);
        ob_end_clean();
        if (!$check_id) {
            // регистрируем
           
            $data = array(
                'identity'    => $user['identity'],
                'firstname'    => $firstname,
                'lastname'    => $lastname,
                'email'        => $email,
                'company'    => $company,
                'address_1' => $country,
                'address_2' => $address_2,
                'postcode'    => $phone,
                'city'        => $city,
                'customer_group_id' => $this->config->get('config_customer_group_id'),
                'password'    => $this->generate_password(10) // сгенерировать бы чего нить
            );
            $customer_id=$this->model_tool_ulogin->add_customer($data);
            $this->model_tool_ulogin->login($customer_id);
            $this->model_tool_ulogin->addAddress($data, $customer_id);
        } else {
            // входим
            $this->model_tool_ulogin->login($check_id);
        }
        if (isset($this->session->data['ulogin_redirect'])) {
            $this->redirect($this->session->data['ulogin_redirect']);
        } else {
            $this->redirect(HTTPS_SERVER);
        }
       
      }
   
    private function generate_password($number) {
        $arr = array('a','b','c','d','e','f',
                        'g','h','i','j','k','l',
                        'm','n','o','p','r','s',
                        't','u','v','x','y','z',
                        'A','B','C','D','E','F',
                        'G','H','I','J','K','L',
                        'M','N','O','P','R','S',
                        'T','U','V','X','Y','Z',
                        '1','2','3','4','5','6',
                        '7','8','9','0');
        // Генерируем пароль
        $pass = "";
        for($i = 0; $i < $number; $i++) {
            // Вычисляем случайный индекс массива
            $index = rand(0, count($arr) - 1);
            $pass .= $arr[$index];
        }
 
        return $pass;
    }
}
?>

Только все равно кроме имени и прозвища больше ничего не записывается в БД.

Кто может помочь?
 
вы не пишете дополнительные поля в базу. Посмотрите как там это реализовано для полей, что пишутся, сделайте по аналогии, либо выложите файл полностью.
 
вы не пишете дополнительные поля в базу. Посмотрите как там это реализовано для полей, что пишутся, сделайте по аналогии, либо выложите файл полностью.
Давно решено и проблема не в том что пишу в БД а чего нет.
Было упущено то что в самом виджете надо было вказать какие данные нужны
например стандарт
kod_dla_vstavki.png

четко видно что там только имя и фамилия
в fields
 
Назад
Сверху