Jump to content
Sign in to follow this  
edytor

"Ручная" регистрация пользователя

Recommended Posts

Добрый день! Прошу оказать возможную помощь. Задача такова, необходимо зарегистрировать автоматически при заказе пользователя. Сам процесс заказа (в виду необходимости и требований заказчика) не соблюдает MVC архитектуру, он был написан не ведомо кем  и когда, на сайте заказчика который сейчас перенесён на опенкарт. Есть форма, есть её обработчик (всё это дело лежит в корне сайта, в папке)...в обработчике формируется pdf документ заказа (договора) и отправляется на почту клиента и админа. Вот на этом шаге и необходимо зарегать пользователя, да есть массив $_POST со всеми необходимыми переменными, из функции регистрации пользователя (из файла модели опенкарт) я вытянул необходимый мне запрос (и заполнил все необходимые мне значения):

$query = ("INSERT INTO customer SET store_id = '0', firstname = '" . $_POST['person'] . "', lastname = '" . $_POST['firma'] . "', email = '" . $_POST['email'] . "', telephone = '" . $_POST['phone'] . "', fax = '', salt = '" . $salt = substr(md5(uniqid(rand(), true)), 0, 9) . "', password = '" . sha1($salt . sha1($salt . sha1($_POST['password']))) . "', newsletter = '0', customer_group_id = '1', ip = '0', status = '1', approved = '1', date_added = NOW()");

запрос успешно сработал и пользователь добавлен в БД (хотя пока нет проверки на уже существование такого пользователя по мылу), но при попытке залогинется под созданным польз. выдаёться ошибка о несоответствии полей (скорее всего пароля).  Вот тут и вопрос как правильно зашифровать пароль (как обычно это делает опенкарт) "не наследуя функций из системы" ?

Share this post


Link to post
Share on other sites

Посмотрите файл "catalog/model/account/customer.php", там в функции addCustomer есть данные для генерации соли и пароля.

в ocStore 1.5.4.1, например, выглядит вот так:

query("salt = '" . $salt = substr(md5(uniqid(rand(), true)), 0, 9) . "', password = '" . sha1($salt . sha1($salt . sha1($data['password']))));

Еще в поисках истины Вам может помочь файл "system/library/customer.php" (функция login).

Edited by halfhope

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.