VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Мне надо написать plugin и зарегистировать его на hooke newpost_notification_message.
Но он у меня никогда не вызывается.
Пожалуйста, подскажите, что я делаю не так.
1. Завел тему
2. Другим пользователем подписался на нее и вышел из форума.
3. Третим пользователем сделал новый пост в эту тему.
!!! Сработало событие newpost_notification_start, а следующий select возвратил null.
А следовательно не попадает в цикл который должен вызывать нужное мне событие newpost_notification_message.
SELECT user.*, subscribethread.emailupdate
FROM subscribethread AS subscribethread, user AS user
LEFT JOIN usergroup AS usergroup ON (usergroup.usergroupid = user.usergroupid)
LEFT JOIN usertextfield AS usertextfield ON (usertextfield.userid = user.userid)
WHERE subscribethread.threadid = 5 AND
subscribethread.emailupdate IN (1, 4) AND
subscribethread.userid = user.userid AND
CONCAT(' ', usertextfield.ignorelist, ' ') NOT LIKE ' 1 ' AND
user.usergroupid <> 3 AND
user.userid <> 1 AND
user.lastactivity >= 1133951979 AND
(usergroup.genericoptions & 32) = 0
Причем, проблема в условии CONCAT(' ', usertextfield.ignorelist, ' ') NOT LIKE ' 1 '
Это условие никогда не выполняется на моем SQL сервере если usertextfield.ignorelist is null.
Причем, проблема в условии CONCAT(' ', usertextfield.ignorelist, ' ') NOT LIKE ' 1 '
Это условие никогда не выполняется на моем SQL сервере если usertextfield.ignorelist is null.
У меня стоит vBul 3.5.1 и MySQL 4.0.25
Перепиши запрос на
Code:
CONCAT(' ', IF(usertextfield.ignorelist IS NULL, '', usertextfield.ignorelist), ' ') NOT LIKE '% 1 %' AND
В случае usertextfield.ignorelist is NULL поле сначала заменится на пустое значение '', а уже потом сравните с LIKE
Вот синтаксис для functions_newpost.php:
Code:
" . ($userid ? "CONCAT(' ', IF(usertextfield.ignorelist IS NULL, '', usertextfield.ignorelist), ' ') NOT LIKE '% " . intval($userid) . " %' AND" : '') . "
@Hobot
Эксперт
Join Date: Sep 2006
Location: Единственный город Земли, расположенный с внутренней ?
Награды в конкурсах:
Posts: 3,593
Версия vB: 3.8.x
Пол:
Reputation:
Expert 2508
Репутация в разделе: 895
0
@qpo, некропостер. Теме аж 13 лет, VB 3.5 давно неактуален, ТС последний раз тут был 07.12.2005 14:09, в день своей регистрации.
@qpo
Продвинутый
Join Date: Oct 2006
Posts: 22
Версия vB: 5.x.x
Reputation:
Опытный 35
Репутация в разделе: 32
0
Для истории пойдет. Может кто загуглит по запросам в новых версиях vb