1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-07-06 00:14:25 +03:00
ifhub.club/engine/modules/message/Message.class.php

188 lines
4.9 KiB
PHP
Raw Normal View History

<?php
2008-09-21 09:36:57 +03:00
/*-------------------------------------------------------
*
* LiveStreet Engine Social Networking
* Copyright © 2008 Mzhelskiy Maxim
*
*--------------------------------------------------------
*
* Official site: www.livestreet.ru
* Contact e-mail: rus.engine@gmail.com
*
* GNU General Public License, version 2:
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
*
---------------------------------------------------------
*/
/**
* Модуль системных сообщений
*
*/
class ModuleMessage extends Module {
2008-09-21 09:36:57 +03:00
/**
* Массив сообщений со статусом ОШИБКА
*
* @var array
*/
protected $aMsgError=array();
/**
* Массив сообщений со статусом СООБЩЕНИЕ
*
* @var array
*/
protected $aMsgNotice=array();
/**
* Массив сообщений, который будут показаны на СЛЕДУЮЩЕЙ страничке
* @var array
*/
protected $aMsgNoticeSession=array();
/**
* Массив ошибок, который будут показаны на СЛЕДУЮЩЕЙ страничке
* @var array
*/
protected $aMsgErrorSession=array();
2008-09-21 09:36:57 +03:00
/**
* Инициализация модуля
*
*/
public function Init() {
/**
* Добавляем сообщения и ошибки, которые содержались в сессии
*/
2009-09-03 21:13:20 +03:00
$aNoticeSession = $this->Session_Get('message_notice_session');
if(is_array($aNoticeSession) and count($aNoticeSession)) {
$this->aMsgNotice = $aNoticeSession;
2009-09-03 21:13:20 +03:00
}
$aErrorSession = $this->Session_Get('message_error_session');
if(is_array($aErrorSession) and count($aErrorSession)) {
$this->aMsgError = $aErrorSession;
}
2008-09-21 09:36:57 +03:00
}
/**
* При завершении работы модуля передаем списки сообщений в шаблоны Smarty
*
*/
public function Shutdown() {
/**
* Добавляем в сессию те соощения, которые были отмечены для сессионого использования
*/
2009-09-03 21:13:20 +03:00
$this->Session_Set('message_notice_session', $this->GetNoticeSession());
$this->Session_Set('message_error_session', $this->GetErrorSession());
$this->Viewer_Assign('aMsgError',$this->GetError());
$this->Viewer_Assign('aMsgNotice',$this->GetNotice());
2008-09-21 09:36:57 +03:00
}
/**
* Добавляет новое сообщение об ошибке
*
* @param string $sMsg
* @param string $sTitle
* @param bool $bUseSession
2008-09-21 09:36:57 +03:00
*/
public function AddError($sMsg,$sTitle=null,$bUseSession=false) {
if(!$bUseSession) {
$this->aMsgError[]=array('msg'=>$sMsg,'title'=>$sTitle);
} else {
$this->aMsgErrorSession[]=array('msg'=>$sMsg,'title'=>$sTitle);
}
2008-09-21 09:36:57 +03:00
}
/**
* Создаёт идинственное сообщение об ошибке(т.е. очищает все предыдущие)
*
* @param string $sMsg
* @param string $sTitle
* @param bool $bUseSession
2008-09-21 09:36:57 +03:00
*/
public function AddErrorSingle($sMsg,$sTitle=null,$bUseSession=false) {
2010-09-24 17:50:45 +03:00
$this->ClearError();
2009-09-03 21:13:20 +03:00
$this->AddError($sMsg,$sTitle,$bUseSession);
2008-09-21 09:36:57 +03:00
}
/**
* Добавляет новое сообщение
*
* @param string $sMsg
* @param string $sTitle
* @param bool $bUseSession
2008-09-21 09:36:57 +03:00
*/
public function AddNotice($sMsg,$sTitle=null,$bUseSession=false) {
if(!$bUseSession) {
$this->aMsgNotice[]=array('msg'=>$sMsg,'title'=>$sTitle);
} else {
$this->aMsgNoticeSession[]=array('msg'=>$sMsg,'title'=>$sTitle);
}
2008-09-21 09:36:57 +03:00
}
/**
* Создаёт идинственное сообщение, удаляя предыдущие
*
* @param string $sMsg
* @param string $sTitle
* @param bool $bUseSession
2008-09-21 09:36:57 +03:00
*/
public function AddNoticeSingle($sMsg,$sTitle=null,$bUseSession=false) {
2010-09-24 17:50:45 +03:00
$this->ClearNotice();
$this->AddNotice($sMsg,$sTitle,$bUseSession);
}
/**
* Очищает стек сообщений
*
*/
public function ClearNotice() {
2009-09-03 21:13:20 +03:00
$this->aMsgNotice=array();
$this->aMsgNoticeSession=array();
2010-09-24 17:50:45 +03:00
}
/**
* Очищает стек ошибок
*
*/
public function ClearError() {
$this->aMsgError=array();
$this->aMsgErrorSession=array();
2008-09-21 09:36:57 +03:00
}
/**
* Получает список сообщений об ошибке
*
* @return array
*/
public function GetError() {
return $this->aMsgError;
}
/**
* Получает список сообщений
*
* @return array
*/
public function GetNotice() {
return $this->aMsgNotice;
}
/**
* Возвращает список сообщений,
* которые необходимо поместить в сессию
*
* @return array
*/
public function GetNoticeSession() {
return $this->aMsgNoticeSession;
}
/**
* Возвращает список ошибок,
* которые необходимо поместить в сессию
*
* @return array
*/
public function GetErrorSession() {
return $this->aMsgErrorSession;
}
2008-09-21 09:36:57 +03:00
}
?>