0 Пользователей и 1 Гость просматривают эту тему.
  • 1 Ответов
  • 1468 Просмотров
*

AlexFrost

  • Осваиваюсь на форуме
  • 25
  • 1 / 1
Добрый день.
Есть магазин на котором используется форма регистрации от VM2. После регистрации пользователь автоматически логинится и попадает в свой личный кабинет.
Суть проблемы: в настройках сайта включена активация пользователя по e-mail. Сразу после регистрации пользователь логинится (хотя активация еще не пройдена). После этого активационная ссылка из письма перестает работать, следовательно пользователь уже не сможет сам активироваться и зайти повторно на сайт.
Может кто сталкивался с подобным ? Мне бы попросту убрать автоматическую авторизацию после регистрации (не понимаю на кой черт она там вообще нужна).
*

AlexFrost

  • Осваиваюсь на форуме
  • 25
  • 1 / 1
Как убрать автоматическую авторизацию я не нашел но сделал костыль который исправляет активацию в моем случае.
Решение:
файл \components\com_users\models\registration.php
меняем кусочек кода с
Код
$db->setQuery(
'SELECT '.$db->quoteName('id').' FROM '.$db->quoteName('#__users').
' WHERE '.$db->quoteName('activation').' = '.$db->Quote($token).
' AND '.$db->quoteName('block').' = 1' .
' AND '.$db->quoteName('lastvisitDate').' = '.$db->Quote($db->getNullDate())
);
на
Код
$db->setQuery(
'SELECT '.$db->quoteName('id').' FROM '.$db->quoteName('#__users').
' WHERE '.$db->quoteName('activation').' = '.$db->Quote($token).
' AND '.$db->quoteName('block').' = 1' .
// ' AND '.$db->quoteName('lastvisitDate').' = '.$db->Quote($db->getNullDate())
''
);

это уберет проверку последнего визита для функции активации

в начало вашего шаблона вставляем
Цитировать
$user =& JFactory::getUser();

if ( ($user->block == 1) && ($user->id != 0) ) {
   $app = JFactory::getApplication();
   $app->logout( $user->id );
   $app->redirect("тут ссылка на текст с сообщением о успешной регистрации", "");
   }

что имеем на выходе - пользователя авторизует после регистрации но код из шаблона его разлогинивает (если он не активирован) и перенаправляет на страницу с сообщение о успешной регистрации, после этого код активации из письма работает корректно
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Для регистрации в VirtueMart 3 нужно в 3 поля вводить имя

Автор One

Ответов: 12
Просмотров: 630
Последний ответ 31.10.2018, 17:46:33
от Strelok760
Подписка на рассылку новостей при регистрации

Автор orexov_m

Ответов: 1
Просмотров: 359
Последний ответ 29.04.2017, 22:55:14
от gartes
СМС оповещение после заказа

Автор stardel

Ответов: 0
Просмотров: 232
Последний ответ 07.03.2017, 23:19:19
от stardel
[Решено] Форма регистрации на английском языке

Автор dronchik24

Ответов: 4
Просмотров: 2184
Последний ответ 18.01.2017, 22:00:26
от web3.0
Вывод товара и текста после оформления заказа

Автор lalalag

Ответов: 0
Просмотров: 269
Последний ответ 07.11.2016, 18:07:45
от lalalag