А баг с активацией по ссылке из письма так и не исправили

Syrnik.com

Сценарий такой:

На сайте включено подтверждение регистрации по письму.

Пользователь регистрируется, ему отправляется письмо с уникальной ссылкой.

Пользователь идет в почтовый ящик и переходит по ссылке.

Теперь начинает работать баг:

Пользователю в сессию записывается, что учетка активирована
Скрипт пытается обновить контакт и вызывает обработчики хука (кажется merge_contact), но объединять не с чем.
Первый попавшийся обработчик хука пытается обновить таблицу, генерирует неправильный SQL-запрос и, поскольку ошибка критическая, работа всего скрипта прерывается. Признак того, что учетка активирована в таблицу с контактами уже не записывается

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

Характерный признак: в error.log при этом пишутся примерно такие ошибки:

2015-08-01 06:07:52:
Event handling error in /wa-apps/blog/lib/handlers/contacts.merge.handler.php: Query Error
Query: UPDATE blog_comment SET contact_id = '470' WHERE contact_id in ()
Error: 1064
Message: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1

Странно. Насколько я вижу, об этой ошибке на форуме еще с месяц назад сообщалось. Я даже для Блога и Магазина фиксы к обработчику контактов сделал...

https://github.com/webasyst/webasyst-framework/pul...

https://github.com/webasyst/shop-script/pull/121

1 августа 2015
  • Syrnik.com 2 августа 2015 06:47

    Посмотрел историю правок Магазина — в Магазине исправили. В Блоге нет. :))

  • Константин Егоров 6 августа 2015 09:39

    Сергей, подскажите пожалуйста, внесение изменений из вашего гита https://github.com/webasyst/webasyst-framework/pul... исправят глюк с подтверждением регистрации через высланную ссылку?

    Я на 6.1 обновился только из-за этого. Но после обновления стала глючить админка (несколько несовместимых плагинов оказалось). В итоге откатился обратно на 6.0, а очень хочется чтобы эта функция работала корректно.



Чтобы добавить комментарий, зарегистрируйтесь или войдите