
Представляем хак для DLE уведомление о публикации комментария пользователя - позволит уведомлять всех пользователей о том что модератор, опубликовал его комментарий. Хак дле будет полезен владельцам сайта разрешающие добавлять комментарии не авторизованным пользователям.
К примеру:
- Гость, добавил комментарий, если в настройках указана отправка на модерацию.
- После одобрения комментария, ему на E-mail приходит уведомление, что модерация прошла успешно.
- В сообщение находятся данные о комментарии:
- где оставил, когда оставлен, сам текст комментария, ip с какого был оставлен так же дата и ссылка на комментарий.
Установка хака DataLife Engine уведомление о публикации комментария пользователя:
Для установки нам потребуется отредактировать два файла: adminfunction.php и editcomments.php движка
1. Открыть: /engine/ajax/adminfunction.php
найти:
$db->query( "INSERT INTO " . USERPREFIX . "_admin_logs (name, date, ip, action, extras) values ('".$db->safesql($member_id['name'])."', '{$_TIME}', '{$_IP}', '19', '')" );
Ниже вставить:
////////// Уведомление пользователя о публикации его комментария by SX2 //////////
$approve_users = $db->super_query( "SELECT id, post_id, date, autor, text, email, ip FROM " . PREFIX . "_comments WHERE approve='1' AND is_register='0' AND id='{$c_id}'" );
$news = $db->super_query("SELECT title FROM " . PREFIX . "_post WHERE id ='{$post_id}'");
$news['title'] = htmlspecialchars( strip_tags( stripslashes( $news['title'] ) ), ENT_QUOTES, $config['charset'] ) ;
$text = <<<HTML
<p>Привет, <b>{$approve_users['autor']}</b>!</p>
<p><b>На сайте:</b> <a href="{$config['http_home_url']}" target="_blank"><b>{$config['http_home_url']}</b></a>, Вы оставляли комментарий!</p>
<p><b>Когда:</b> {$approve_users['date']}</p>
<p><b>Где:</b> <a href="{$config['http_home_url']}?newsid={$post_id}" target="_blank"><b>{$news['title']}</b></a></p>
<hr />{$approve_users['text']}<hr />
<p><b>Администратор:</b> <a href="{$config['http_home_url']}user/{$member_id['name']}/"><b>{$member_id['name']}</b></a>, опубликовал <a href="{$config['http_home_url']}?newsid={$approve_users['post_id']}#comment-id-{$approve_users['id']}" target="_blank"><b>Ваш</b></a> комментарий!
<b style="float:right">Комментарий был оставлен с IP: <a href="http://2ip.ru/whois/?ip={$approve_users['ip']}" target="_blank">{$approve_users['ip']}</a></b></p>
<p>---------------------------------------------</p>
<p><small>– С наилучшими пожеланиями, <a href="{$config['http_home_url']}" target="_blank">{$config['home_title']}</a></small></p>
HTML;
include_once ENGINE_DIR . '/classes/mail.class.php';
$mail = new dle_mail($config, true);
$tema = "Ваш комментарий прошел проверку на сайте {$config['http_home_url']}";
$mail->from = $config['http_home_url'];
$mail->send($approve_users['email'], $tema, $text);
////////// Уведомление пользователя о публикации его комментария by SX2 //////////
1. Открыть: /engine/ajax/editcomments.php
найти:
if( !$row['approve'] ) $db->query( "UPDATE " . PREFIX . "_post SET comm_num=comm_num+1 WHERE id='{$row['post_id']}'" );
Ниже вставить:
////////// Уведомление пользователя о публикации его комментария by SX2 //////////
$approve_users = $db->super_query( "SELECT id, post_id, date, autor, text, email, ip FROM " . PREFIX . "_comments WHERE approve='1' AND is_register='0' AND id='{$id}'" );
$news = $db->super_query("SELECT title FROM " . PREFIX . "_post WHERE id ='{$row['post_id']}'");
$news['title'] = htmlspecialchars( strip_tags( stripslashes( $news['title'] ) ), ENT_QUOTES, $config['charset'] ) ;
$text = <<<HTML
<p>Привет, <b>{$approve_users['autor']}</b>!</p>
<p><b>На сайте:</b> <a href="{$config['http_home_url']}" target="_blank"><b>{$config['http_home_url']}</b></a>, Вы оставляли комментарий!</p>
<p><b>Когда:</b> {$approve_users['date']}</p>
<p><b>Где:</b> <a href="{$config['http_home_url']}?newsid={$row['post_id']}" target="_blank"><b>{$news['title']}</b></a></p>
<hr />{$approve_users['text']}<hr />
<p><b>Администратор:</b> <a href="{$config['http_home_url']}user/{$member_id['name']}/"><b>{$member_id['name']}</b></a>, отредактировал и опубликовал <a href="{$config['http_home_url']}?newsid={$approve_users['post_id']}#comment-id-{$approve_users['id']}" target="_blank"><b>Ваш</b></a> комментарий!
<b style="float:right">Комментарий был оставлен с IP: <a href="http://2ip.ru/whois/?ip={$approve_users['ip']}" target="_blank">{$approve_users['ip']}</a></b></p>
<p>---------------------------------------------</p>
<p><small>– С наилучшими пожеланиями, <a href="{$config['http_home_url']}" target="_blank">{$config['home_title']}</a></small></p>
HTML;
include_once ENGINE_DIR . '/classes/mail.class.php';
$mail = new dle_mail($config, true);
$tema = "Ваш комментарий прошел проверку на сайте {$config['http_home_url']}";
$mail->from = $config['http_home_url'];
$mail->send($approve_users['email'], $tema, $text);
////////// Уведомление пользователя о публикации его комментария by SX2 //////////
Готово!
Автор: SX2
Проверенно на DLE 10.4 можно использовать на дле 10.5
Закачать хаки дле у нас, как этот хак уведомление пользователя о публикации его комментария