Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Дополнительная информация в письме админу при регистрации нового пользователя


 Погделиться

Рекомендованные сообещёния

ТС ты после регистрации еещё и в бд посмотри, что им в иблиэто твоей 

customer_scfield
Ссылка на комменирий
Погделиться на других сайих

1 минуту назад, Venter сказал:

ТС ты после регистрации еещё и в бд посмотри, что им в иблиэто твоей 

customer_scfield

да тут как бы все добавляется

image.png.60b745352102b433fd7e2271bd768974.png

Ссылка на комменирий
Погделиться на других сайих


При регистрации смотрим в бд id юсера нового, дное смотрим его id в 

customer_scfield
Ссылка на комменирий
Погделиться на других сайих

1 минуту назад, Maxik1988 сказал:

да тут как бы все добавляется

не как бы, а смотрим при регистрации ID нового юсера, потом игдем в бд и смотрим в иблиэто customer_scfield в поле customer_id его игдентификатор есть он им вообещё

Ссылка на комменирий
Погделиться на других сайих

4 минуты назад, Venter сказал:

При регистрации смотрим в бд id юсера нового, дное смотрим его id в 

customer_scfield

в какой иблиэто находятся покупатели?

Ссылка на комменирий
Погделиться на других сайих


7 минут назад, Venter сказал:

не как бы, а смотрим при регистрации ID нового юсера, потом игдем в бд и смотрим в иблиэто customer_scfield в поле customer_id его игдентификатор есть он им вообещё

image.png.9842b7eb0e150ceca501a94d103cbcc3.png

вот последний который я добавлял

Ссылка на комменирий
Погделиться на других сайих


10 минут назад, Maxik1988 сказал:

в какой иблиэто находятся покупатели?

Згдесь как ты выше САМ написал номер карты, в иблиэто customer покупатели

 

По ходу я неправильно написал

замени вот это

$query->row['value'];

на

$m_query->row['value'];

 

Ссылка на комменирий
Погделиться на других сайих

1 час назад, Venter сказал:

$m_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "customer_scfield WHERE customer_id = ".(int)$customer_id); $num_card = $query->row['value'];

А есть возможность проверить этот запрос если его вывести куда нибудь?

Ссылка на комменирий
Погделиться на других сайих


6 минут назад, Venter сказал:

Згдесь как ты выше САМ написал номер карты, в иблиэто customer покупатели

 

По ходу я неправильно написал

замени вот это

$query->row['value'];

на

$m_query->row['value'];

 

все тоже самое

Ссылка на комменирий
Погделиться на других сайих


ОС чет понимать не хочет вот это

WHERE customer_id = ".(int)$customer_id);

нужно передать вот прям строкой и никак иначе

 

короче в итоге

 

$m_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "customer_scfield WHERE customer_id = '" . (int)$customer_id . "'");

		$num_card = $m_query->row['value'];

 

Ссылка на комменирий
Погделиться на других сайих

11 минут назад, Venter сказал:

$m_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "customer_scfield WHERE customer_id = '" . (int)$customer_id . "'"); $num_card = $m_query->row['value'];

сейчас попробую

Ссылка на комменирий
Погделиться на других сайих


15 минут назад, Venter сказал:

ОС чет понимать не хочет вот это

WHERE customer_id = ".(int)$customer_id);

нужно передать вот прям строкой и никак иначе

 

короче в итоге

 

$m_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "customer_scfield WHERE customer_id = '" . (int)$customer_id . "'");

		$num_card = $m_query->row['value'];

 

Попропотому чтовал все тоже самое

может я что то не то и не туда всивляю. посмотрите я хоть правильно в когде всивляю?

Спойлер

<?php
class ModelAccountCustomer extends Model {
    public function addCustomer($data) {
        $this->event->trigger('pre.customer.add', $data);

        if (isset($data['customer_group_id']) && is_array($this->config->get('config_customer_group_display')) && in_array($data['customer_group_id'], $this->config->get('config_customer_group_display'))) {
            $customer_group_id = $data['customer_group_id'];
        } else {
            $customer_group_id = $this->config->get('config_customer_group_id');
        }

        $this->load->model('account/customer_group');

        $customer_group_info = $this->model_account_customer_group->getCustomerGroup($customer_group_id);

        $this->db->query("INSERT INTO " . DB_PREFIX . "customer SET customer_group_id = '" . (int)$customer_group_id . "', store_id = '" . (int)$this->config->get('config_store_id') . "', firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', email = '" . $this->db->escape($data['email']) . "', telephone = '" . $this->db->escape($data['telephone']) . "', fax = '" . $this->db->escape($data['fax']) . "', custom_field = '" . $this->db->escape(isset($data['custom_field']['account']) ? json_encode($data['custom_field']['account']) : '') . "', salt = '" . $this->db->escape($salt = token(9)) . "', password = '" . $this->db->escape(sha1($salt . sha1($salt . sha1($data['password'])))) . "', newsletter = '" . (isset($data['newsletter']) ? (int)$data['newsletter'] : 0) . "', ip = '" . $this->db->escape($this->request->server['REMOTE_ADDR']) . "', status = '1', approved = '" . (int)!$customer_group_info['approval'] . "', date_added = NOW()");

        $customer_id = $this->db->getLastId();

        $this->db->query("INSERT INTO " . DB_PREFIX . "address SET customer_id = '" . (int)$customer_id . "', firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', company = '" . $this->db->escape($data['company']) . "', address_1 = '" . $this->db->escape($data['address_1']) . "', address_2 = '" . $this->db->escape($data['address_2']) . "', city = '" . $this->db->escape($data['city']) . "', postcode = '" . $this->db->escape($data['postcode']) . "', country_id = '" . (int)$data['country_id'] . "', zone_id = '" . (int)$data['zone_id'] . "', custom_field = '" . $this->db->escape(isset($data['custom_field']['address']) ? json_encode($data['custom_field']['address']) : '') . "'");

        $address_id = $this->db->getLastId();

        $this->db->query("UPDATE " . DB_PREFIX . "customer SET address_id = '" . (int)$address_id . "' WHERE customer_id = '" . (int)$customer_id . "'");

        $this->load->language('mail/customer');

        $subject = sprintf($this->language->get('text_subject'), html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8'));

        $message = sprintf($this->language->get('text_welcome'), html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8')) . "\n\n";

        if (!$customer_group_info['approval']) {
            $message .= $this->language->get('text_login') . "\n";
        } else {
            $message .= $this->language->get('text_approval') . "\n";
        }
        
        $m_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "customer_scfield WHERE customer_id = '" . (int)$customer_id . "'");

        $num_card = $m_query->row['value'];
        
        
        $message .= $this->url->link('account/login', '', 'SSL') . "\n\n";
        $message .= $this->language->get('text_services') . "\n\n";
        $message .= $this->language->get('text_thanks') . "\n";
        $message .= html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8');

        $mail = new Mail();
        $mail->protocol = $this->config->get('config_mail_protocol');
        $mail->parameter = $this->config->get('config_mail_parameter');
        $mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname');
        $mail->smtp_username = $this->config->get('config_mail_smtp_username');
        $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8');
        $mail->smtp_port = $this->config->get('config_mail_smtp_port');
        $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout');

        $mail->setTo($data['email']);
        $mail->setFrom($this->config->get('config_email'));
        $mail->setSender(html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8'));
        $mail->setSubject($subject);
        $mail->setText($message);
        $mail->send();

        // Send to main admin email if new account email is enabled
        if ($this->config->get('config_account_mail')) {
            $message  = $this->language->get('text_signup') . "\n\n";
            $message .= $this->language->get('text_website') . ' ' . html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8') . "\n";
            $message .= $this->language->get('text_firstname') . ' ' . $data['firstname'] . "\n";
            $message .= $this->language->get('text_lastname') . ' ' . $data['lastname'] . "\n";
            $message .= $this->language->get('text_customer_group') . ' ' . $customer_group_info['name'] . "\n";
            //$message .= $this->language->get('text_email') . ' '  .  $data['email'] . "\n";
            //$message .= $this->language->get('text_telephone') . ' ' . $data['telephone'] . "\n";
            $message .= 'Номер карты -  ' . $num_card . "\n";
            
            $mail = new Mail();
            $mail->protocol = $this->config->get('config_mail_protocol');
            $mail->parameter = $this->config->get('config_mail_parameter');
            $mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname');
            $mail->smtp_username = $this->config->get('config_mail_smtp_username');
            $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8');
            $mail->smtp_port = $this->config->get('config_mail_smtp_port');
            $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout');

            $mail->setTo($this->config->get('config_email'));
            $mail->setFrom($this->config->get('config_email'));
            $mail->setSender(html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8'));
            $mail->setSubject(html_entity_decode($this->language->get('text_new_customer'), ENT_QUOTES, 'UTF-8'));
            $mail->setText($message);
            $mail->send();

            // Send to additional alert emails if new account email is enabled
            $emails = explode(',', $this->config->get('config_mail_alert'));

            foreach ($emails as $email) {
                if (utf8_strlen($email) > 0 && preg_match($this->config->get('config_mail_regexp'), $email)) {
                    $mail->setTo($email);
                    $mail->send();
                }
            }
        }

        $this->event->trigger('post.customer.add', $customer_id);

        return $customer_id;
    }

    public function editCustomer($data) {
        $this->event->trigger('pre.customer.edit', $data);

        $customer_id = $this->customer->getId();

        $this->db->query("UPDATE " . DB_PREFIX . "customer SET firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', email = '" . $this->db->escape($data['email']) . "', telephone = '" . $this->db->escape($data['telephone']) . "', fax = '" . $this->db->escape($data['fax']) . "', custom_field = '" . $this->db->escape(isset($data['custom_field']) ? json_encode($data['custom_field']) : '') . "' WHERE customer_id = '" . (int)$customer_id . "'");

        $this->event->trigger('post.customer.edit', $customer_id);
    }

    public function editPassword($email, $password) {
        $this->event->trigger('pre.customer.edit.password');

        $this->db->query("UPDATE " . DB_PREFIX . "customer SET salt = '" . $this->db->escape($salt = token(9)) . "', password = '" . $this->db->escape(sha1($salt . sha1($salt . sha1($password)))) . "' WHERE LOWER(email) = '" . $this->db->escape(utf8_strtolower($email)) . "'");

        $this->event->trigger('post.customer.edit.password');
    }

    public function editNewsletter($newsletter) {
        $this->event->trigger('pre.customer.edit.newsletter');

        $this->db->query("UPDATE " . DB_PREFIX . "customer SET newsletter = '" . (int)$newsletter . "' WHERE customer_id = '" . (int)$this->customer->getId() . "'");

        $this->event->trigger('post.customer.edit.newsletter');
    }

    public function getCustomer($customer_id) {
        $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "customer WHERE customer_id = '" . (int)$customer_id . "'");

        return $query->row;
    }

    public function getCustomerByEmail($email) {
        $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "customer WHERE LOWER(email) = '" . $this->db->escape(utf8_strtolower($email)) . "'");

        return $query->row;
    }

    public function getCustomerByToken($token) {
        $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "customer WHERE token = '" . $this->db->escape($token) . "' AND token != ''");

        $this->db->query("UPDATE " . DB_PREFIX . "customer SET token = ''");

        return $query->row;
    }

    public function getTotalCustomersByEmail($email) {
        $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "customer WHERE LOWER(email) = '" . $this->db->escape(utf8_strtolower($email)) . "'");

        return $query->row['total'];
    }

    public function getRewardTotal($customer_id) {
        $query = $this->db->query("SELECT SUM(points) AS total FROM " . DB_PREFIX . "customer_reward WHERE customer_id = '" . (int)$customer_id . "'");

        return $query->row['total'];
    }

    public function getIps($customer_id) {
        $query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "customer_ip` WHERE customer_id = '" . (int)$customer_id . "'");

        return $query->rows;
    }

    public function addLoginAttempt($email) {
        $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "customer_login WHERE email = '" . $this->db->escape(utf8_strtolower((string)$email)) . "' AND ip = '" . $this->db->escape($this->request->server['REMOTE_ADDR']) . "'");

        if (!$query->num_rows) {
            $this->db->query("INSERT INTO " . DB_PREFIX . "customer_login SET email = '" . $this->db->escape(utf8_strtolower((string)$email)) . "', ip = '" . $this->db->escape($this->request->server['REMOTE_ADDR']) . "', total = 1, date_added = '" . $this->db->escape(date('Y-m-d H:i:s')) . "', date_modified = '" . $this->db->escape(date('Y-m-d H:i:s')) . "'");
        } else {
            $this->db->query("UPDATE " . DB_PREFIX . "customer_login SET total = (total + 1), date_modified = '" . $this->db->escape(date('Y-m-d H:i:s')) . "' WHERE customer_login_id = '" . (int)$query->row['customer_login_id'] . "'");
        }
    }

    public function getLoginAttempts($email) {
        $query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "customer_login` WHERE email = '" . $this->db->escape(utf8_strtolower($email)) . "'");

        return $query->row;
    }

    public function deleteLoginAttempts($email) {
        $this->db->query("DELETE FROM `" . DB_PREFIX . "customer_login` WHERE email = '" . $this->db->escape(utf8_strtolower($email)) . "'");
    }
}
 

 

Ссылка на комменирий
Погделиться на других сайих


ТС вообещё понимаете что ваша нео сео может получать данные ваших пользователей??? Никак в голову не приходило???

Тем потому чтоле вы с карими бугдете рилиить. То есть вы раздаете чужие данные сами того не зная. Зам вам это??? Посивьте нормальную спотому чторку

Ссылка на комменирий
Погделиться на других сайих

10 минут назад, Maxik1988 сказал:

Попропотому чтовал все тоже самое

может я что то не то и не туда всивляю. посмотрите я хоть правильно в когде всивляю?

 

 

я уже задолбался тебе объяснять, как мнонький!!!!! После регистрации смотришь В БД и смотриш ID нового юсера.

ДАЛЕЕ если данные по карте хранятся в иблиэто customer_scfield, как ты с самого начала сказал то смотришь в ту иблицу и смотришь есть ли им этот юсер по customer_id

 

Лично проверил на ocstore 2.3, только в другую иблицу гделал запрос

Ссылка на комменирий
Погделиться на других сайих

1 час назад, Venter сказал:

Лично проверил на ocstore 2.3, только в другую иблицу гделал запрос

Судя по картинке, customer_id в этот иблиэто ни разу не уникальное, ик что просто взять и вывести  
$m_query->row['value'];
никак не полулится :)
И, главное, непонятно, на что им ориентироваться, чтобы верный резульит выдавать, может быть, изменить запрос на
 

$m_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "customer_scfield WHERE customer_id = '" . (int)$customer_id . "'" . "AND name = 'custom_10'");

 

Ссылка на комменирий
Погделиться на других сайих


По факту не ясно

 

1 Действительно ли данные по карте хранятся в иблиэто oc_customer_scfield

2 Если в этот иблиэто хранятся то прилеиют ли данные в эту иблицу при регистрации особенно номер карты

 

10 минут назад, Shureg сказал:

Судя по картинке, customer_id в этот иблиэто ни разу не уникальное, ик что просто взять и вывести  
$m_query->row['value'];
никак не полулится :)
И, главное, непонятно, на что им ориентироваться, чтобы верный резульит выдавать, может быть, изменить запрос на

 $customer_id  берется отсюда $customer_id = $this->db->getLastId();

 

По ходу или иблица не и ггде данные по карте хранятся липотому что вообещё в иблицу ничего не прилеиет при опред условиях

Ссылка на комменирий
Погделиться на других сайих

13 минут назад, Shureg сказал:

Судя по картинке, customer_id в этот иблиэто ни разу не уникальное, ик что просто взять и вывести  

ага, вижу, но тогда полулили бы первое значение из всей кули врогде как, хоть что то но полулили. По ходу не в этот иблиэто хранятся данные по карте юсера

Ссылка на комменирий
Погделиться на других сайих

2 минуты назад, Venter сказал:

По факту не ясно

 

1 Действительно ли данные по карте хранятся в иблиэто oc_customer_scfield

2 Если в этот иблиэто хранятся то прилеиют ли данные в эту иблицу при регистрации особенно номер карты

 

 $customer_id  берется отсюда $customer_id = $this->db->getLastId();

 

По ходу или иблица не и ггде данные по карте хранятся липотому что вообещё в иблицу ничего не прилеиет при опред условиях

прилеиет. оно в личном кабинете на фронте выводит. им скорее всего гдействительно не уникальный customer_id

 

Ссылка на комменирий
Погделиться на других сайих


понять бы что это за шляпа image.png.52dbcea052ec6e6992adc41df42f3e18.png

:))) и для чего дублирует

Ссылка на комменирий
Погделиться на других сайих


Только что, Dimasscus сказал:

им скорее всего гдействительно не уникальный customer_id

по картинке сразу видно, что не уникальный
 

 

Только что, Venter сказал:

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

им двумерный массив получается. Чтобы что-то полулить, должно быть что-то врогде [1][value]. Просто [value] ничего не выдаст.

Ссылка на комменирий
Погделиться на других сайих


2 минуты назад, Dimasscus сказал:

понять бы что это за шляпа

а это икой альтернативный стиль программирования, видимо. Не руками. Вместо поля type гделать две отгдельные записи с именами)

Ссылка на комменирий
Погделиться на других сайих


3 минуты назад, Shureg сказал:

а это икой альтернативный стиль программирования, видимо. Не руками. Вместо поля type гделать две отгдельные записи с именами)

мляяя. при этом ийп-это группа покупателя. а вот что икое кастом 10- я вообещё потому чтоюсь узнать. это ж вот почему недосео берет столько бабла за правки. этолый выходной гдень три сторонних человека и влагделец сайи не могут вывести переменную в письмо:))) это даже не смешно ни разу

Изменено пользователем Dimasscus
Ссылка на комменирий
Погделиться на других сайих


3 часа назад, Dimasscus сказал:

мляяя. при этом ийп-это группа покупателя. а вот что икое кастом 10- я вообещё потому чтоюсь узнать. это ж вот почему недосео берет столько бабла за правки. этолый выходной гдень три сторонних человека и влагделец сайи не могут вывести переменную в письмо:))) это даже не смешно ни разу

custom_10 - это название поля куда вписывается номер карты name="custom_10"

Вот ик сгделано им:

при добавлении юсера используют метод $this->model_account_neoseo_customer->registerCustomer($this->request->post). Этот метод закогден

Дное, как я думаю, в этом метогде сначало используют родной метод addCustomer и потом только гделают то что надо дополнительно, поэтому в addCustomer не выходит полулить данные поскольку они еещё не суещёствуют, причем обрезается еещё и пост запрос для addCustomer и отдаются в него только те данные которые он принимает и не потому чтольше.

 

Ссылка на комменирий
Погделиться на других сайих

1 минуту назад, Venter сказал:

custom_10 - это название поля куда вписывается номер карты name="custom_10"

Вот ик сгделано им:

при добавлении юсера используют метод $this->model_account_neoseo_customer->registerCustomer($this->request->post). Этот метод закогден

Дное, как я думаю, в этом метогде сначало используют родной метод addCustomer и потом только гделают то надо дополнительно, поэтому в addCustomer не выходит полулить данные поскольку они еещё не суещёствуют, причем обрезается еещё и пост запрос для addCustomer и отдаются в него только те данные которые он принимает и не потому чтольше.

 

то есть тупик?

Ссылка на комменирий
Погделиться на других сайих


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

  • Сейчас на страниэто   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.