2009-05-10 10:50:39 +03:00
|
|
|
|
<?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
|
|
|
|
|
*
|
|
|
|
|
---------------------------------------------------------
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Модуль системных сообщений
|
|
|
|
|
*
|
|
|
|
|
*/
|
2009-03-21 15:48:00 +02:00
|
|
|
|
class LsMessage extends Module {
|
2008-09-21 09:36:57 +03:00
|
|
|
|
/**
|
|
|
|
|
* Массив сообщений со статусом ОШИБКА
|
|
|
|
|
*
|
|
|
|
|
* @var array
|
|
|
|
|
*/
|
|
|
|
|
protected $aMsgError=array();
|
|
|
|
|
/**
|
|
|
|
|
* Массив сообщений со статусом СООБЩЕНИЕ
|
|
|
|
|
*
|
|
|
|
|
* @var array
|
|
|
|
|
*/
|
|
|
|
|
protected $aMsgNotice=array();
|
|
|
|
|
|
2009-09-02 23:36:44 +03:00
|
|
|
|
/**
|
|
|
|
|
* Массив сообщений, который будут показаны на СЛЕДУЮЩЕЙ страничке
|
|
|
|
|
* @var array
|
|
|
|
|
*/
|
|
|
|
|
protected $aMsgNoticeSession=array();
|
|
|
|
|
/**
|
|
|
|
|
* Массив ошибок, который будут показаны на СЛЕДУЮЩЕЙ страничке
|
|
|
|
|
* @var array
|
|
|
|
|
*/
|
|
|
|
|
protected $aMsgErrorSession=array();
|
|
|
|
|
|
2008-09-21 09:36:57 +03:00
|
|
|
|
/**
|
|
|
|
|
* Инициализация модуля
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
public function Init() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* При завершении работы модуля передаем списки сообщений в шаблоны Smarty
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
public function Shutdown() {
|
2009-09-02 23:36:44 +03:00
|
|
|
|
// Логика здесь такая - получаем сообщения, которые содержаться в сессии
|
|
|
|
|
// и добавляем их к выводимым. А те сообщения, которые были добавлены
|
|
|
|
|
// текущими экшенами (в этом сеансе), вкладываем в сессию.
|
|
|
|
|
$sNoticeSession = $this->Session_Get('message_notice_session');
|
|
|
|
|
$aNotice=(!$sNoticeSession)
|
|
|
|
|
? $this->GetNotice()
|
|
|
|
|
: array_merge($this->GetNotice(), (array)unserialize($sNoticeSession));
|
|
|
|
|
$this->Session_Set('message_notice_session', serialize($this->GetNoticeSession()));
|
|
|
|
|
|
|
|
|
|
$sErrorSession = $this->Session_Get('message_error_session');
|
|
|
|
|
$aError=(!$sErrorSession)
|
|
|
|
|
? $this->GetError()
|
|
|
|
|
: array_merge($this->GetError(), (array)unserialize($sErrorSession));
|
|
|
|
|
$this->Session_Set('message_error_session', serialize($this->GetErrorSession()));
|
|
|
|
|
|
|
|
|
|
$this->Viewer_Assign('aMsgError',$aError);
|
|
|
|
|
$this->Viewer_Assign('aMsgNotice',$aNotice);
|
2008-09-21 09:36:57 +03:00
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* Добавляет новое сообщение об ошибке
|
|
|
|
|
*
|
|
|
|
|
* @param string $sMsg
|
|
|
|
|
* @param string $sTitle
|
2009-09-02 23:36:44 +03:00
|
|
|
|
* @param bool $bUseSession
|
2008-09-21 09:36:57 +03:00
|
|
|
|
*/
|
2009-09-02 23:36:44 +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
|
2009-09-02 23:36:44 +03:00
|
|
|
|
* @param bool $bUseSession
|
2008-09-21 09:36:57 +03:00
|
|
|
|
*/
|
2009-09-02 23:36:44 +03:00
|
|
|
|
public function AddErrorSingle($sMsg,$sTitle=null,$bUseSession=false) {
|
|
|
|
|
if(!$bUseSession) {
|
|
|
|
|
$this->aMsgError=array();
|
|
|
|
|
$this->aMsgError[]=array('msg'=>$sMsg,'title'=>$sTitle);
|
|
|
|
|
} else {
|
|
|
|
|
$this->aMsgErrorSession=array();
|
|
|
|
|
$this->aMsgErrorSession[]=array('msg'=>$sMsg,'title'=>$sTitle);
|
|
|
|
|
}
|
2008-09-21 09:36:57 +03:00
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* Добавляет новое сообщение
|
|
|
|
|
*
|
|
|
|
|
* @param string $sMsg
|
|
|
|
|
* @param string $sTitle
|
2009-09-02 23:36:44 +03:00
|
|
|
|
* @param bool $bUseSession
|
2008-09-21 09:36:57 +03:00
|
|
|
|
*/
|
2009-09-02 23:36:44 +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
|
2009-09-02 23:36:44 +03:00
|
|
|
|
* @param bool $bUseSession
|
2008-09-21 09:36:57 +03:00
|
|
|
|
*/
|
2009-09-02 23:36:44 +03:00
|
|
|
|
public function AddNoticeSingle($sMsg,$sTitle=null,$bUseSession=false) {
|
|
|
|
|
if(!$bUseSession) {
|
|
|
|
|
$this->aMsgNotice=array();
|
|
|
|
|
$this->aMsgNotice[]=array('msg'=>$sMsg,'title'=>$sTitle);
|
|
|
|
|
} else {
|
|
|
|
|
$this->aMsgNoticeSession=array();
|
|
|
|
|
$this->aMsgNoticeSession[]=array('msg'=>$sMsg,'title'=>$sTitle);
|
|
|
|
|
}
|
2008-09-21 09:36:57 +03:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Получает список сообщений об ошибке
|
|
|
|
|
*
|
|
|
|
|
* @return array
|
|
|
|
|
*/
|
|
|
|
|
public function GetError() {
|
|
|
|
|
return $this->aMsgError;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Получает список сообщений
|
|
|
|
|
*
|
|
|
|
|
* @return array
|
|
|
|
|
*/
|
|
|
|
|
public function GetNotice() {
|
|
|
|
|
return $this->aMsgNotice;
|
|
|
|
|
}
|
2009-09-02 23:36:44 +03:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Возвращает список сообщений,
|
|
|
|
|
* которые необходимо поместить в сессию
|
|
|
|
|
*
|
|
|
|
|
* @return array
|
|
|
|
|
*/
|
|
|
|
|
public function GetNoticeSession() {
|
|
|
|
|
return $this->aMsgNoticeSession;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Возвращает список ошибок,
|
|
|
|
|
* которые необходимо поместить в сессию
|
|
|
|
|
*
|
|
|
|
|
* @return array
|
|
|
|
|
*/
|
|
|
|
|
public function GetErrorSession() {
|
|
|
|
|
return $this->aMsgErrorSession;
|
|
|
|
|
}
|
2008-09-21 09:36:57 +03:00
|
|
|
|
}
|
|
|
|
|
?>
|