Делаем оповещение пользователя о получении нового статуса
Делаем оповещение для пользователя после того как администратор назначил ему новый статус.
Открываем ActionBlog.class.php и находим EventAdminBlog().
После:
Вставляем:
Далее идем в модуль Notify (Notify.class.php) и создаем там новую функцию:
И разумеется создаем шаблон письма с именем notify.blog_status_changed.tpl. Текст можно сделать например такой:
Открываем ActionBlog.class.php и находим EventAdminBlog().
После:
switch ($sRank) {
...
}
Вставляем:
/**
* Отправляем сообщение о получении нового статуса в блоге
*/
$oUser = $this->User_GetUserById($sUserId);
$this->Notify_SendUserNewRole($oUser,$oBlog,$sRank);
Далее идем в модуль Notify (Notify.class.php) и создаем там новую функцию:
/**
* Отправляет оповещение участнику блога о том, что администратор изменил его статус
*/
public function SendUserNewRole(UserEntity_User $oUserTo, BlogEntity_Blog $oBlog, $status) {
/**
* Проверяем можно ли юзеру рассылать уведомление
*/
// Здесь можно сделать проверку настройки пользователя об уведомлении
/**
* Определяем сообщения и заголовки
*/
switch ($status) {
case 'administrator':
$title = 'Вы стали администратором сообщества «' . $oBlog->getTitle() . '»';
$status = 'Вы получили статус Администратора.';
break;
case 'moderator':
$title = 'Вы стали модератором сообщества «' . $oBlog->getTitle() . '»';
$status = 'Вы получили статус Модератора.';
break;
}
/**
* Передаём в шаблон переменные
*/
$this->oViewerLocal->Assign('oUserTo',$oUserTo);
$this->oViewerLocal->Assign('oBlog',$oBlog);
$this->oViewerLocal->Assign('status',$status);
/**
* Формируем шаблон
*/
$sBody=$this->oViewerLocal->Fetch("notify.blog_status_changed.tpl");
/**
* Отправляем мыло
*/
$this->Mail_SetAdress($oUserTo->getMail(),$oUserTo->getLogin());
$this->Mail_SetSubject($title);
$this->Mail_SetBody($sBody);
$this->Mail_setHTML();
$this->Mail_Send();
}
И разумеется создаем шаблон письма с именем notify.blog_status_changed.tpl. Текст можно сделать например такой:
<b>Администратор блога <b>«{$oBlog->getTitle()|escape:'html'}»</b> изменил ваш статус.
{$status}
С уважением, администрация сайта <a href="{$DIR_WEB_ROOT}">{$SITE_NAME}</a></b>
9 комментариев
Когда администратор делает их модераторами в каком-то коллективном блоге?
в личку не дублируется?
и еще, после того как выводишь из модераторов, выскакивает вверхк страницы вот такое:
и