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

Тема в разделе "Opencart", создана пользователем Yuriy_Z, 27 мар 2013.

Информация :
Внимание форумчане! При создании тем, или выкладывании какой-либо информации проверьте в какой ветке форума вы находитесь! Не путайте Opencart и Opencart2. При несоблюдении данного условия выносится соответствующее наказание! И потом не говорите что вас НЕ ПРЕДУПРЕЖДАЛИ! По возможности используйте обменники mail, yandex, google, dropbox, rghost Дабы избежать просьб перезалить и проблем с рекламой!
Модераторы: ZiX
  1. Yuriy_Z

    Yuriy_Z Доработка+ OpenCart

    Регистр.:
    22 июл 2012
    Сообщения:
    159
    Симпатии:
    91
    Есть модуль Перейти по ссылке
    Сам сервис позволяет получить телефон и емейл адрес пользователя той или иной соц. сети...
    Столкнулся с проблемой - нужно при чтоб при регистрации пользователя етим модулем кроме имени и прозвища еще записывались телефон и емейл.

    в файл 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($usertrue);
                
    //$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(0count($arr) - 1);
                
    $pass .= $arr[$index];
            }
     
            return 
    $pass;
        }
    }
    ?>
    Только все равно кроме имени и прозвища больше ничего не записывается в БД.

    Кто может помочь?
     
  2. BluesInMyBrain

    BluesInMyBrain Создатель

    Регистр.:
    21 янв 2014
    Сообщения:
    35
    Симпатии:
    6
    вы не пишете дополнительные поля в базу. Посмотрите как там это реализовано для полей, что пишутся, сделайте по аналогии, либо выложите файл полностью.
     
  3. Yuriy_Z

    Yuriy_Z Доработка+ OpenCart

    Регистр.:
    22 июл 2012
    Сообщения:
    159
    Симпатии:
    91
    Давно решено и проблема не в том что пишу в БД а чего нет.
    Было упущено то что в самом виджете надо было вказать какие данные нужны
    например стандарт
    [​IMG]
    четко видно что там только имя и фамилия
    в fields