Все для DataLife Engine / DLE хаки / Хак для DLE / Уведомление о публикации комментария пользователя

Уведомление о публикации комментария пользователя


Представляем хак для 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>&ndash; С наилучшими пожеланиями, <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>&ndash; С наилучшими пожеланиями, <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

Закачать хаки дле у нас, как этот хак уведомление пользователя о публикации его комментария

Uvedomlenie-polzovatelya-o-publikacii-ego-kommentariya.rar [28,24 Kb] (cкачиваний: 31)
  • 80
Добавить комментарий

Оставить комментарий

    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent