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
|
|
|
|
|
*
|
|
|
|
|
---------------------------------------------------------
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Модуль системных сообщений
|
|
|
|
|
*
|
|
|
|
|
*/
|
2010-05-27 17:02:43 +03:00
|
|
|
|
class ModuleMessage 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() {
|
2009-09-03 10:30:50 +03:00
|
|
|
|
/**
|
|
|
|
|
* Добавляем сообщения и ошибки, которые содержались в сессии
|
|
|
|
|
*/
|
2009-09-03 21:13:20 +03:00
|
|
|
|
$aNoticeSession = $this->Session_Get('message_notice_session');
|
|
|
|
|
if(is_array($aNoticeSession) and count($aNoticeSession)) {
|
2009-09-03 20:07:02 +03:00
|
|
|
|
$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)) {
|
2009-09-03 20:07:02 +03:00
|
|
|
|
$this->aMsgError = $aErrorSession;
|
|
|
|
|
}
|
2008-09-21 09:36:57 +03:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* При завершении работы модуля передаем списки сообщений в шаблоны Smarty
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
public function Shutdown() {
|
2009-09-03 10:30:50 +03:00
|
|
|
|
/**
|
|
|
|
|
* Добавляем в сессию те соощения, которые были отмечены для сессионого использования
|
|
|
|
|
*/
|
2009-09-03 21:13:20 +03:00
|
|
|
|
$this->Session_Set('message_notice_session', $this->GetNoticeSession());
|
|
|
|
|
$this->Session_Set('message_error_session', $this->GetErrorSession());
|
2009-09-02 23:36:44 +03:00
|
|
|
|
|
2009-09-03 10:30:50 +03:00
|
|
|
|
$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
|
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) {
|
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
|
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) {
|
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;
|
|
|
|
|
}
|
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
|
|
|
|
}
|
|
|
|
|
?>
|