Долгоиграющая процедура

Здравствуйте, вопрос следующий.
если мне необходимо сделать некую «долгоиграющую процедуру» которая бы информировала о процессе работы.
Как это сделать более правильно?
Если пишу к примеру:

foreach($rec in records) {
 $this->Message_AddNotice($rec);
}
$this->SetTemplateAction('admin');

То тогда все сообщение приходят единовременно после отработки всей процедуры.
Есть ли какой-то правильный способ сделать это?

[solved]Не отправляется сообщение пользователям

Делаю плагин, в котором пользователям, выбранным по значению добавленного поля, отсылается сообщение — всё примерно как с отправкой сообщений подписчикам блога, но шаблон сообщения пришлось изменить. Для этого сделал модуль, наследующий Notify, и добавил свою функцию по образцу SendTopicNewToSubscribeBlog:

 public function SendNewMatch(ModuleUser_EntityUser $oUserTo, ModuleTopic_EntityTopic $oTopic, ModuleBlog_EntityBlog $oBlog, ModuleUser_EntityUser $oUserTopic) {
		/**
		 * Передаём в шаблон переменные
		 */
		$this->oViewerLocal->Assign('oUserTo',$oUserTo);
		$this->oViewerLocal->Assign('oTopic',$oTopic);
		$this->oViewerLocal->Assign('oBlog',$oBlog);
		$this->oViewerLocal->Assign('oUserTopic',$oUserTopic);
		/**
		 * Формируем шаблон
		 */
//ошибка
		$sBody=$this->oViewerLocal->Fetch(Plugin::GetTemplatePath(__CLASS__).'notify.new_match.tpl');
		/**
		 * Если в конфигураторе указан отложенный метод отправки, 
		 * то добавляем задание в массив. В противном случае,
		 * сразу отсылаем на email
		 */
		if(Config::Get('module.notify.delayed')) {
			$oNotifyTask=Engine::GetEntity(
				'Notify_Task', 
				array(
					'user_mail'      => $oUserTo->getMail(),
					'user_login'     => $oUserTo->getLogin(),
					'notify_text'    => $sBody,
					'notify_subject' => $this->Lang_Get('notify_subject_new_match').' «'.htmlspecialchars($oBlog->getTitle()).'»',
					'date_created'   => date("Y-m-d H:i:s"),
					'notify_task_status' => self::NOTIFY_TASK_STATUS_NULL,
				)
			);
			if(Config::Get('module.notify.insert_single')) {
				$this->aTask[] = $oNotifyTask;
			} else {
				$this->oMapper->AddTask($oNotifyTask);
			}
		} else {		
			/**
			 * Отправляем email
			 */
			$this->Mail_SetAdress($oUserTo->getMail(),$oUserTo->getLogin());
			$this->Mail_SetSubject($this->Lang_Get('notify_subject_new_match').' «'.htmlspecialchars($oBlog->getTitle()).'»');
			$this->Mail_SetBody($sBody);
			$this->Mail_setHTML();
			$this->Mail_Send();
		}
	}

Почему-то при заполнении тела письма шаблоном(oViewerLocal->Fetch) в браузер выводится этот шаблон и все дальнейшие шаги не выполняются. Если присвоить переменной $sBody простую текстовую строку, этого не происходит, но и письмо тоже не доставляется, но с этим уже позже разберусь

Плагин «Error report»

Плагин позволяет пользователям сообщать об ошибках на сайте выделяя их мышкой и нажав соответствующую комбинацию клавиш (по умолчанию Alt+1), отправить их админу, добавив, при желании, комментарий. Админу придет собственно выделенный текст на который нужно обратить внимание, комментарий пользователя к тексту (орфографическая ошибка, недопустимые высказывания и т.п.) и ссылка на страницу где это все произошло.

Можно пожаловаться на топик (сообщить о «неугодном топике») — для этого возле значка комментариев под топиком добавлена иконка. Админу придет уведомление и ссылка на топик.



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

Вид формы обратной связи:



Все уведомления приходят администрации как обычные письма ЛС с возможностью уведомления через почту.

Плагин доступен в каталоге. Стоимость 5$.

Читать дальше →

Дублирование писем на другой ящик

Как известно, отправкой писем занимается site.ru/classes/modules/notify/Notify.class.php

$this->Mail_SetAdress($oUserTo->getMail(),$oUserTo->getLogin());
$this->Mail_SetSubject($this->Lang_Get('notify_subject_talk_new'));
$this->Mail_SetBody($sBody);
$this->Mail_setHTML();
$this->Mail_Send();


Подскажите, как сделать так, чтобы каждое исходящее письмо дублировалось ещё на какой-нибудь другой мейл (одинаковый для всех).

Уведомления по email

Есть следующий вопрос по поводу уведомлений о новых сообщениях в почту. Хотелось бы, чтобы кроме текста сообщения, также указывался его автор. Для этого редактируем необходимый шаблон, например notify.comment_new.tpl, вставляя в необходиое место
{$oComment->getUserLogin()}

Но в результате получаем пустую строку. Странно, так как, к примеру,
{$oComment->getUserId()}
отдается нормально…

Что я делаю не так?