DLE: отправка почты при добавлении новой записи в категорию

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

После обработки лучшие из новостей публикуются на главной странице. Естественно данная свалка со всего интернета закрыта для индексации директивой Rel=”nofollow”.
Для того чтобы следить за публикациями мне потребовалось реализовать отправку оповещения о новом посте в данной категории на почтовый ящик.

Скажу сразу, что в DLE уже заложена функция отправки сообщения, если публикация находится на модерации. Но этого недостаточно, так как такая новость новость не появляется на сайте.

Она ждет пока ее не одобрит модератор. Мне же требовалось, чтобы публикация появлялась в категории без вмешательства человека. А уже потом получив уведомление на почту админ решал, что с ней делать.

Для отправки почты в PHP я воспользовался функцией mail().
Пример функции:

mail("new_mail@mail.ru", "Theme", "Lines1\n Lines2 \n Lines3");

Мне оставалось только встроить ее в код добавления новости на сайте. Данный код находиться в файле Addnews.php, примерно на 350 строке.

Вставляем перед:

$db->query( "INSERT INTO " . PREFIX .........

Выглядит примерно вот так:
[php] mail("new_news@mail.ru", "Theme", "Lines1\n Lines2 \n Lines3");
$db->query( "INSERT INTO " . PREFIX . "_post (date, autor, short_story, full_story, xfields, title, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_rate, allow_br, symbol, flag, tags) values (‘$thistime’, ‘$member_id[name]’, ‘$short_story’, ‘$full_story’, ‘$filecontents’, ‘$title’, », ‘$category_list’, ‘$alt_name’, ‘$allow_comm’, ‘$approve’, ‘$allow_main’, ‘$news_fixed’, ‘$allow_rating’, ‘$allow_br’, ‘$catalog_url’, ‘1’, ‘" . $_POST[‘tags’] . "’)" );
[/php]

Для большей информативности можете использовать:
$thistime — Время(дата)
$category_list — Список категорий для вставки новости, если она не одна
$title — Заголовок публикации
$member_id[name] — имя того кто вставляет

Если кому пригодиться, буду рад.
С уважением Acid.

5 комментариев

Add a Comment

Your email address will not be published. Required fields are marked *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.