Отсылка комментариев на почту

Главные вкладки

Аватар пользователя SolarWind SolarWind 8 сентября 2007 в 20:24

Народ, есть вопрос по поводу модуля comment_notify: http://drupal.org/project/comment_notify

Мне нужно сделать отсылку комментариев на почту по типу как это сделано в livejournal. То есть чтобы пользователю отсылались на почту все ответы на его комментарии. Comment Notify вроде как это делает. Но:

1. Для установки требуется менять стандартный модуль comment.module на доработанный. Это кроме установки самого comment_notify. Так работает, письмо приходит. Но выдается куча warning:

* user warning: Table 'comments' doesn't exist query: update comments set notify = 0 where cid = 40 in /includes/database.mysql.inc on line 172.
* warning: array_merge() [function.array-merge]: Argument #2 is not an array in /includes/common.inc on line 1940.
* warning: Invalid argument supplied for foreach() in /includes/common.inc on line 1971.
* warning: array_merge() [function.array-merge]: Argument #2 is not an array in /includes/common.inc on line 1940.
* warning: Invalid argument supplied for foreach() in /includes/common.inc on line 1971.
* warning: array_merge() [function.array-merge]: Argument #2 is not an array in /includes/common.inc on line 1940.
* warning: Invalid argument supplied for foreach() in /includes/common.inc on line 1971.

Да и вообще как-то не очень хочется менять стандартный модуль comment на модуль в стадии dev.

К тому же отсылает письма он не от адреса администратора, а от системного root@номер_площадки.мастерхост.ру, что меня категорически не устраивает.

2. Если стандартный comment.module не менять, то вообще не работает. Хотя и выдает только один варнинг:

* user warning: Table 'u74768.comments' doesn't exist query: update comments set notify = 0 where cid = 40 in /includes/database.mysql.inc on line 172.

Собственно, вопросы.

Есть у кого-нибудь положительный опыт работы с этим модулем?

Есть ли какие-либо рабочие аналоги для ответов на комментарии на почту?

Комментарии

Аватар пользователя ankheg2 ankheg2 9 сентября 2007 в 12:06

Судя по первому ворнингу comment_notify не находит таблицу с комментариями, чтобы изменить в ней статус расылки (подписан/отписан). Может быть у вас все таблицы в бд с префиксами, а в модуле префиксы не учитываются? Вообще как-то легко должно решиться.

Аватар пользователя SolarWind SolarWind 9 сентября 2007 в 19:07

RSS - не вариант. Как тут отметили, про него далеко не все знают. Хочется повторить именно механизм ЖЖ, где ответы на комментарии просто приходят на почту.

>Может быть у вас все таблицы в бд с префиксами, а в модуле префиксы не учитываются?

Да, действительно, таблицы с префиксами. Я посмотрю на предмет префиксов в коде, спасибо за наводку. Отпишусь потом здесь о результатах.

>я могу поменять системный емайл /admin/settings/site-information

Вот в том-то и дело, что там емыл прописан нормальный. Но по факту comment_notify пишет от имени системного...

Аватар пользователя SolarWind SolarWind 10 сентября 2007 в 12:45

В общем, первая ошибка с SQL-запросом действительно оказалась связана с тем, что в одном месте не учитывались префиксы таблицы. Была просто указана таблица comments вместо {comments}. Это я исправил.

Но осталось две проблемы:

1. Варнинги array_merge() [function.array-merge] (я в посте их указал). Кто-нибудь знает, с чем это может быть связано и куда копать?

2. Письма по прежнему отсылаются от системного емыла, а не от того, который прописан в свойствах сайта. Хотя соответствующая переменная, насколько я понимаю, читается корректно:

$from = variable_get('site_mail', ini_get('sendmail_from'));

В то же время, к примеру, письма о регистрации рассылаются пользователям от правильного емыла. То есть дело не в настройках сайта. С чем это может быть связано?