Проверить Есть Ли Пользователь С Таким Email Адресом

Добрый день, появилось несколько вопросов:

Как можно узнать есть ли покупатель с заданным email в БД магазина, и если есть - получить его данные - дату регистрации, фамилию и имя.

Можно посмотреть функции в fn.users.php

/app/functions/fn.users.php



Например:

function fn_is_user_exists($user_id, $user_data)



Куда нужно передать $user_data['email']



Должно сработать как то так:

<br /> $user_id = fn_is_user_exists(0, array(&#39;email&#39; => &#39;dbazhenov@cs-cart.ru&#39;);<br /> <br /> $user_info = fn_get_user_info($user_id);<br /> <br />



Не проверял, но истина где то рядом :)

Доброе утро, спасибо, решение помогло, я вчера реализовал вот так:

[size=5][color=#808080]$user_data = db_get_row(“SELECT user_id, timestamp FROM ?:users WHERE email = ?s”, $email);[/color][/size]

Но, как по мне, ваше решение правильнее.

[quote name=‘Aleksey.Chuyan’ timestamp=‘1438760364’ post=‘225681’]

Доброе утро, спасибо, решение помогло, я вчера реализовал вот так:

[size=5][color=#808080]$user_data = db_get_row(“SELECT user_id, timestamp FROM ?:users WHERE email = ?s”, $email);[/color][/size]

Но, как по мне, ваше решение правильнее.

[/quote]



Ваше решение тоже.

Подскажите пожалуйста, интересуют php хуки на регистрацию юзера и на логаут?

[quote name='Aleksey.Chuyan' timestamp='1438764945' post='225689']

Подскажите пожалуйста, интересуют php хуки на регистрацию юзера и на логаут?

[/quote]



Что интересует то? Вы же в соседней теме нашли какие то хуки.

да, мне нужны хуки на логин, регистрацию и логаут. Для логина я взял sucess_user_login. А регистрацию нового пользователя и на выход пользователя из системы пока хуков не нашел.

Посмотрел, после успешной регистрации сразу срабатывает sucess_user_login, так что с этим разобрался.

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

[quote name='Aleksey.Chuyan' timestamp='1438766872' post='225694']

да, мне нужны хуки на логин, регистрацию и логаут. Для логина я взял sucess_user_login. А регистрацию нового пользователя и на выход пользователя из системы пока хуков не нашел.

[/quote]



хуки это только один инструмент, можно же pre и post контроллеры делать в модуле.



Берём например logout .



Контроллер:

/app/controllers/common/auth.php



Нужный нам мод:

<br /> if ($mode == &#39;logout&#39;) {<br /> fn_user_logout($auth);<br /> <br /> return array(CONTROLLER_STATUS_OK, fn_url());<br /> }<br />



Мы можем уже в своём модуле сделать pre контроллер к этому контроллеру и моду.



Ну ладно поищем хуки.



Входим в функцию:

fn_user_logout



Видим, что там сессии и корзины сохраняются, пишется журнал событий, а потом видим:

fn_login_user();



Тоесть логин пустым юзером.



Входим в неё и видим условие, если есть user_id то одно делаем, если нету то другое и вконце хук

fn_set_hook(&#39;login_user_post&#39;, $user_id, $cu_id, $udata, $auth, $condition, $result);



Получается у задачи есть два решения , через хук и через pre контроллер.

Большое спасибо)))

По этой части все завелось)

[quote name=‘Aleksey.Chuyan’ timestamp=‘1438770110’ post=‘225712’]

Большое спасибо)))

По этой части все завелось)

[/quote]



Если Вы до этого дошли, то вы знаёте всё, всё, всё, по этой логике работает вся система, вся, вся, вся :)

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

[quote name='Aleksey.Chuyan' timestamp='1438862728' post='225892']

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

[/quote]



Смотре где.


Удобно с сессией, а то я через функции полез. Еще такой вопрос, по товару приходит инфо, а как можно достать url картинки товара?

[quote name='Aleksey.Chuyan' timestamp='1438868587' post='225899']

Удобно с сессией, а то я через функции полез. Еще такой вопрос, по товару приходит инфо, а как можно достать url картинки товара?

[/quote]



Где именно достать? Тут функцию нужно найти как в списке товаров они появляются.



Вот видео есть, где я рассказываю как картинки достать и отобразить

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

[color=#cc7832]function [/color][color=#ffc66d]fn_triggmine_get_cart_product_data_post[/color]([color=#9876aa]$hash[/color][color=#cc7832], [/color][color=#9876aa]$product[/color][color=#cc7832], [/color][color=#9876aa]$skip_promotion[/color][color=#cc7832], [/color][color=#9876aa]$cart[/color][color=#cc7832], [/color][color=#9876aa]$auth[/color][color=#cc7832], [/color][color=#9876aa]$promotion_amount[/color][color=#cc7832], [/color][color=#9876aa]$_pdata[/color]){

[color=#9876aa]$products [/color]= [color=#9876aa]$_SESSION[/color][[color=#6a8759]'cart'[/color]][[color=#6a8759]'products'[/color]][color=#cc7832];

[/color][color=#cc7832] [/color][color=#9876aa]$items [/color]= [][color=#cc7832];[/color][color=#cc7832] [/color][color=#808080]

[/color][color=#808080] [/color][color=#cc7832]foreach[/color]([color=#9876aa]$products [/color][color=#cc7832]as [/color][color=#9876aa]$product[/color]){

[color=#9876aa]$item [/color]= [][color=#cc7832];

[/color][color=#cc7832] [/color][color=#9876aa]$item[/color][[color=#6a8759]'CartItemId'[/color]] = [color=#9876aa]$product[/color][[color=#6a8759]'item_id'[/color]][color=#cc7832];

[/color][color=#cc7832] [/color][color=#9876aa]$item[/color][[color=#6a8759]'ImageUrl'[/color]] = [color=#6a8759]'$product[]'[/color][color=#cc7832];

[/color][color=#cc7832] [/color][color=#9876aa]$item[/color][[color=#6a8759]'ThumbnailUrl'[/color]] = [color=#6a8759]'$product[]'[/color][color=#cc7832];

[/color][color=#cc7832] [/color][color=#9876aa]$item[/color][[color=#6a8759]'Price'[/color]] = [color=#9876aa]$product[/color][[color=#6a8759]'price'[/color]][color=#cc7832];

[/color][color=#cc7832] [/color][color=#9876aa]$item[/color][[color=#6a8759]'Count'[/color]] = [color=#9876aa]$product[/color][[color=#6a8759]'amount'[/color]][color=#cc7832];

[/color][color=#cc7832] [/color][color=#9876aa]$item[/color][[color=#6a8759]'Title'[/color]] = [color=#9876aa]$product[/color][[color=#6a8759]'product'[/color]][color=#cc7832];

[/color][color=#cc7832] [/color][color=#9876aa]$item[/color][[color=#6a8759]'Description'[/color]] = [color=#6a8759]'$product[]'[/color][color=#cc7832];

[/color][color=#cc7832] [/color][color=#9876aa]$items[/color][] = [color=#9876aa]$item[/color][color=#cc7832];

[/color][color=#cc7832] [/color]}

[quote name=‘Aleksey.Chuyan’ timestamp=‘1438870529’ post=‘225903’]

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

[/quote]



Не понял зачем Вы лезете в хук get_cart_product_data_post? В котором уже есть $cart и там же опять берёте из сессии корзину.



Что Вы делаете, прекратите :)

))) Хук срабатывает сразу после логина пользователя. Попытался сделать то же самое с fn_triggmine_sucess_user_login, но в этом месте данные $_SESSION['cart'] еще не подгружены. Это больше тестовый вариант, сейчас хочу получить все данные и запустить модуль на тестовом стенде нашего проекта, потом буду оптимизировать код. Возможно у вас есть замечания или предложения, с удовольствием приму к сведению))

[quote name='Aleksey.Chuyan' timestamp='1438871700' post='225908']

))) Хук срабатывает сразу после логина пользователя. Попытался сделать то же самое с fn_triggmine_sucess_user_login, но в этом месте данные $_SESSION['cart'] еще не подгружены. Это больше тестовый вариант, сейчас хочу получить все данные и запустить модуль на тестовом стенде нашего проекта, потом буду оптимизировать код. Возможно у вас есть замечания или предложения, с удовольствием приму к сведению))

[/quote]



Этот хук может срабатывать много где в другом месте.



Замечания и пожелания будут у клиентов.



Да и без ТЗ и анализа смысла нет.



Нужно смотреть картину в целом, выкладывайте на github, чтобы можно было комменты и предложения оставлять.

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