dle.in.ua » Хаки » Уведомление автора новости о комментарии

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

Автор: scripthi от 15-08-2009, 19:31
В админке настроек две:
1) вкл/выкл уведомление авторам
2) вкл/выкл уведомление авторам если автор администратор
автор новости не может отказаться от уведомлений
Инструкция актуальна для версии 7.5 и 8.2, поправить для другой версии не составит труда

откройте файл /engine/inc/options.php

найдите:

showRow( $lang['opt_sys_cmail'], $lang['opt_sys_cmaild'], makeDropDown( array ("1" => $lang['opt_sys_yes'], "0" => $lang['opt_sys_no'] ), "save_con[mail_comments]", "{$config['mail_comments']}" ) );


вставьте после:

//уведомление автору
showRow( $lang['comm_user_mail'], $lang['comm_user_mail1'], makeDropDown( array ("1" => $lang['opt_sys_yes'], "0" => $lang['opt_sys_no'] ), "save_con[mail_user]", "{$config['mail_user']}" ) );
showRow( $lang['cadm_user_mail'], $lang['cadm_user_mail1'], makeDropDown( array ("1" => $lang['opt_sys_yes'], "0" => $lang['opt_sys_no'] ), "save_con[mail_cadm]", "{$config['mail_cadm']}" ) );
//уведомление автору

откройте файл /language/Russian/adminpanel.lng

вставьте в него:

//уведомление автору
'comm_user_mail'            =>    "Уведомление автору",
'comm_user_mail1'            =>    "Отсылать ли автору новости уведомление о новом комментарии в его публикации",
'cadm_user_mail'            =>    "Отсылать администраторам",
'cadm_user_mail1'            =>    "Отсылать ли уведомление если включена опция "Уведомление автору" и автор публикации в группе администраторов",
//уведомление автору


откройте файл /engine/modules/addcomments.php

для 7.5:
найдите:
$row = $db->super_query( "SELECT id, allow_comm, approve, access from " . PREFIX . "_post WHERE id='$post_id'" );


замените на:
$row = $db->super_query( "SELECT id, autor, allow_comm, approve, access from " . PREFIX . "_post WHERE id='$post_id'" );
$to_mail = $row['autor'];


для 8.2:
найдите:
$row = $db->super_query( "SELECT id, date, allow_comm, approve, access from " . PREFIX . "_post WHERE id='$post_id'" );

замените на:
$row = $db->super_query( "SELECT id, autor, date, allow_comm, approve, access from " . PREFIX . "_post WHERE id='$post_id'" );
$to_mail = $row['autor'];

найдите:
if( $config['mail_comments'] ) {


вставьте перед:

//уведомление автору
        if( $config['mail_user'] ) {
        $row = $db->super_query( "SELECT email, user_group FROM " . PREFIX . "_users WHERE name='".$to_mail."'" );
        if ($row['user_group'] != 1 || $config['mail_cadm']) {
        $mail = "На сайте ".$config['http_home_url']." к Вашей новости был добавлен комментарий.\\r\\nВы можете его прочитать, пройдя по ссылке ".$config['http_home_url']."index.php?newsid=".$post_id."\\r\\n\\r\\nАдминистрация сайта не несёт ответственности за содержание комментариев.\\r\\nЕсли сочтёте текст комментария неуместным или оскорбительным, сообщите об этом администратору сайта.";
        $subjectm = "=?windows-1251?b?" . base64_encode(Комментарий) . "?=";
        $headersm  = "Content-type: text/plain; charset=windows-1251\\r\\n";
        $headersm .= "Content-Transfer-Encoding: 8bit\r\n";
        $headersm .= "From: \\r\\n";
        mail($row['email'], $subjectm, $mail, $headersm);
        }
        }
//уведомление автору
  • Группа: User
  • Icq: 817135
  • Комментариев: 321
  • Публикаций: 0
  • Тупо, зачем так жестко-то ? Другое дело, чтоб автор новости сам решал, стоит подписываться на комменты или нет, а так бред получается, принудительно заставлять...

    --------------------
    • ALTERNATE
    • Регистрация: 12.12.2008
    • Репутация: (0|0|0)
    • 15 августа 2009 20:32
    • 1
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • Цитата: ALTERNATE
    Тупо, зачем так жестко-то ? Другое дело, чтоб автор новости сам решал, стоит подписываться на комменты или нет, а так бред получается, принудительно заставлять...

    тупо...зато просто
    а если вводить подписку, надо будет вводить столбец в базу
    а это бы усложнило и написание и установку, и в результате бесплатно я бы не отдал
    вот так.
    • scripthi
    • Регистрация: --
    • Репутация: (||)
    • 16 августа 2009 14:43
    • 2
    ^
  • Группа: Гости
  • Icq: --
  • Комментариев: 0
  • Публикаций: 0
  • Я думаю что для говносайтов это не очень то и нужная вещь, а вот для стоящих (раскрученных) проектов самое то... Можно и за деньги купить, но чтоб результат оправдывал средства... Если возьмешься за это дело, то хотелось бы увидеть:

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

    Похожий пример есть у Inrusа, называется "Оповещение администратора о новых неотмодерированных новостях в админке" (адрес не помню)...

    Спасибо за Внимание!:)
    • Vadeinpace
    • Регистрация: --
    • Репутация: (||)
    • 20 октября 2009 00:38
    • 3
    ^
  • Группа: User
  • Icq: 568735815
  • Комментариев: 12
  • Публикаций: 0
  • Автор спасибо большое за хак давно искал везде лазил на форумах тему создовал но не кто мне с этим не помог спасиб БОЛЬШОЕ wink
    • Seka-93
    • Регистрация: 21.01.2010
    • Репутация: (0|0|0)
    • 21 января 2010 13:01
    • 4
    ^
    Информация
    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.