Отправка оповещений на email не срабатывает
public function sendNotificationByEmail($to_id=0, $from_id=0, $msg_id=0) { if(!$from_id || !$to_id || !$msg_id) { return false; }
А вот например если я подписываюсь на новые комментарии то в данном случаи на emeil приходит оповещение, значит id назначается и гостю тоже, или все же нет?нет ид отправителя — нет оповещения.
Подписантам рассылаются уведомления при добавлении комента :
cmsUser::sendUpdateNotify($comment['target'], $comment['target_id'], 'letter_file' => 'newcomment', 'author' => ($inUser->id ? $inUser->nickname : $comment['guestname'])));
$comment['guestname'] = cmsCore::request('guestname', 'str', '');
//отправляем автору уведомление на e-mail if ($author && $comment['published']){ if ($model->isAuthorNeedMail($author['id']) && $inUser->id != $author['id']){ $letter = cmsCore::getLanguageTextFile('newpostcomment'); $inCore->mailText($author['email'], '', $letter); } }
public function sendNotificationByEmail($to_id=0, $from_id=0, $msg_id=0) { if(!$from_id || !$to_id || !$msg_id) { return false; }
За отправку оповещений отвечает я так понимаю файл components/comments/frontend.php махинации с \components\users\model.php ни к чему не привели к сожалениюТак в \components\users\model.php написано же:
Да, Вы правы.За отправку оповещений отвечает я так понимаю файл components/comments/frontend.php
Просмотрел все еще раз и по идее все должно происходить так:
При ответе гостя на комментарий из введенной формы берется имя, которое он ввел при ответе
$comment['guestname'] = cmsCore::request('guestname', 'str', '');
$from_nick = $inUser->id ? $inUser->nickname : $comment['guestname'];
//отправляем автору уведомление на e-mail if ($author && $comment['published']){ if ($model->isAuthorNeedMail($author['id']) && $inUser->id != $author['id']){ $letter = cmsCore::getLanguageTextFile('newpostcomment'); $inCore->mailText($author['email'], '', $letter); } }
Попробуйте явно его формировать при отсутствии. Вот так например переделать формирование $from_nick
//////////////////////////////////////////////////////////////// ///////////////// Операции по уведомлениям ///////////////////// $inConf = cmsConfig::getInstance(); $from_nick = $inUser->id ? $inUser->nickname : $comment['guestname']; if (!$from_nick){$from_nick = 'Гость';}
Не хочет работать зараза такая может можно как то сделать что бы автоматически при создании поста автору подписка включалась?Попробуйте явно его формировать при отсутствии. Вот так например переделать формирование $from_nick
//отправляем автору уведомление на e-mail if ($author && $comment['published']){ if ($model->isAuthorNeedMail($author['id']) && $inUser->id != $author['id']){ $letter = cmsCore::getLanguageTextFile('newpostcomment'); $inCore->mailText($author['email'], '', $letter); } }
$author = $inUser->id ? $model->getTargetAuthor($target['target_table'], $comment['target_id']) : '';
$author = ($inUser->id || $comment['guestname']) ? $model->getTargetAuthor($target['target_table'], $comment['target_id']) : '';