Перейти к публикации

Уведомление автора новости о новом комментарии в ЛС


Рекомендованные сообщения

Есть в интернете такой хак. Но на ветке 16 не работает. Ну или на php8. Сообщения не приходят. В чем может быть проблема?

//////////////// Уведомление автора новости о комментарии в ЛС by SX2 //////////////      
            $rows  = $db->super_query("SELECT p.autor, p.title, c.id FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_comments c ON (p.id=c.post_id) WHERE c.post_id=$post_id");	$usercom = $is_logged?$member_id['name']:'Гость';			 
            $row        = $db->super_query("SELECT user_id, name, user_group FROM " . PREFIX . "_users WHERE name='{$rows['autor']}'");
            if ($row['user_group'] != 1 AND $member_id['name'] != $rows['autor']) {									
			$db->query("INSERT INTO " . USERPREFIX . "_pm (subj, text, user_from, date, pm_read, folder, reply, user) VALUES ('На сайте, к Вашей новости был добавлен комментарий!', 'Здравствуйте <b>{$rows['autor']}!</b><br />На сайте к Вашей новости <b>{$rows['title']}</b>, пользователь <b>{$usercom}</b> добавил комментарий!<hr /><br />{$comments}<br /><br /><hr />Вы можете его прочитать, пройдя по <a href={$config['http_home_url']}index.php?newsid={$post_id}#comment-id-{$rows['id']}><font color=red>cсылке</font></a><br />', '{$usercom}', '{$_TIME}', 'no', 'inbox', '0', '{$row['user_id']}')");
            $db->query("UPDATE " . USERPREFIX . "_users set pm_all=pm_all+1, pm_unread=pm_unread+1 where user_id='{$row['user_id']}'");			           
            }
        //////////////// Уведомление автора новости о комментарии в ЛС by SX2 //////////////

P.S. Блин, не в ту категорию запостил.

Изменено пользователем Pupsator
Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, Pupsator сказал:

В чем может быть проблема?

В том, что если автор новости принадлежит к группе администратора то уведомления он не получает. Никаких зависимостей к версии php или dle в коде нету.

  • Спасибо 1
Ссылка на сообщение
Поделиться на других сайтах
Цитата

если автор новости принадлежит к группе администратора то уведомления он не получает.

Но сообщения то не приходят. Никому не приходят.

Ссылка на сообщение
Поделиться на других сайтах

Представленный код никак не зависит не от версии DLE, ни от версии PHP, он будет работать на любой версии PHP и DLE. Судя по коду уведомления не должны приходить авторам новости и администраторам. Если у вас все эти условия соблюдены, значит вы поставили свой код куда то не туда, не там где он должен быть.

  • Спасибо 1
Ссылка на сообщение
Поделиться на других сайтах

 Теперь работает, надо было поставить всё перед:

if ( $config['mail_comments'] OR $config['allow_subscribe'] ) {

 

Цитата

Уведомление автора новости о новом комментарии

Не понятно почему Админ исключен? Он же тоже может быть автором поста.

Изменено пользователем Pupsator
Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, Pupsator сказал:

Не понятно почему Админ исключен? Он же тоже может быть автором поста.

Задайте этот вопрос автору этого кода. Он его так написал, ему и виднее почему он так сделал.

Ссылка на сообщение
Поделиться на других сайтах

Если бы еще этих авторов найти можно было.

Включить уведомления для админа, надо убрать:

$row['user_group'] != 1 AND
Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...