форум vBSupport.ru > vBulletin > Old vB versions (3.0.x & 2.x.x) > vBulletin 3.5.x > vBulletin [3.5] Troubleshooting and Problems
  • »
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
 
 
 
 
kudrenko
Простоузер
Default Не работает подписка на темы.
0

Мне надо написать 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.

У меня стоит vBul 3.5.1 и MySQL 4.0.25
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
qpo
Продвинутый
Default
0

Quote:
Originally Posted by kudrenko View Post
Причем, проблема в условии 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
Эксперт
 
Hobot's Avatar
Default
0

@qpo, некропостер. Теме аж 13 лет, VB 3.5 давно неактуален, ТС последний раз тут был 07.12.2005 14:09, в день своей регистрации.
 
 
qpo
Продвинутый
Default
0

Для истории пойдет. Может кто загуглит по запросам в новых версиях vb
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 05:23 PM.


Powered by vBulletin® Version VipeR Edition
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Loading...