Уведомление модератора о новом сообщении на форуме — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
Строка 32: Строка 32:
 
$oAddCommentListener = new umiEventListener("forum_message_post_do", "forum", "newPostMail");
 
$oAddCommentListener = new umiEventListener("forum_message_post_do", "forum", "newPostMail");
 
</source>
 
</source>
 +
[[Категория:Модуль Форум]][[Категория:Написание кастомных макросов]]

Версия 08:23, 30 апреля 2014

В настройках модуля Форум существует настройка, позволяющая запретить публикацию сообщений модерации модератором. Однако, в стандартном функционале системы не предусмотрена возможность автоматического уведомления модератора о новом сообщении.

Для реализации данной задачи потребуется написать несложный кастомный макрос.


В файл ~classes/modules/forum/__custom.php необходимо добавить следующий код:

public function newPostMail(umiEventPoint $event) {
				
	$message_id  = $event->getParam('message_id');
						
	$Name = "Admin ИМЯ_ДОМЕНА.ru"; //senders name
	$email = "no-replay@pИМЯ_ДОМЕНА.ru"; //senders e-mail adress
	$recipient = "addres@gmail.com"; //recipient
	$mail_body = "В форум было добавлено новое сообщение. Ссылка на редактирование http://ВАШ_ДОМЕН.ru/admin/forum/edit/$message_id"; //mail body
	$subject = "Новое сообщение в форуме"; //subject
	$header = "From: ". $Name . " <" . $email . ">\r\n"; //optional headerfields

	if(mail($recipient, $subject, $mail_body, $header)){
		return true;
	} else {
		return false;
	}
}


А также в файл ~classes\modules\forum\custom_events.php добавить:

$oAddCommentListener = new umiEventListener("forum_message_post_do", "forum", "newPostMail");