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
|
|
|
|
|
*
|
|
|
|
|
---------------------------------------------------------
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Абстрактный класс блока
|
|
|
|
|
* Это те блоки которые обрабатывают шаблоны Smarty перед выводом(например блок "Облако тегов")
|
|
|
|
|
*
|
2012-04-17 20:58:32 +03:00
|
|
|
|
* @package engine
|
|
|
|
|
* @since 1.0
|
2008-09-21 09:36:57 +03:00
|
|
|
|
*/
|
2012-04-07 09:41:52 +03:00
|
|
|
|
abstract class Block extends LsObject {
|
2012-04-17 20:58:32 +03:00
|
|
|
|
/**
|
|
|
|
|
* Ядро движка
|
|
|
|
|
*
|
|
|
|
|
* @var Engine|null
|
|
|
|
|
*/
|
|
|
|
|
protected $oEngine=null;
|
|
|
|
|
/**
|
|
|
|
|
* Список параметров блока
|
|
|
|
|
*
|
|
|
|
|
* @var array
|
|
|
|
|
*/
|
2009-04-04 19:07:01 +03:00
|
|
|
|
protected $aParams=array();
|
2012-04-17 20:58:32 +03:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* При создании блока передаем в него параметры
|
|
|
|
|
*
|
|
|
|
|
* @param array $aParams Список параметров блока
|
|
|
|
|
*/
|
|
|
|
|
public function __construct($aParams) {
|
|
|
|
|
$this->aParams=$aParams;
|
|
|
|
|
$this->oEngine=Engine::getInstance();
|
2008-09-21 09:36:57 +03:00
|
|
|
|
}
|
2012-04-17 20:58:32 +03:00
|
|
|
|
/**
|
|
|
|
|
* Возвращает параметр по имени
|
|
|
|
|
*
|
|
|
|
|
* @param string $sName Имя параметра
|
|
|
|
|
* @param null|mixed $def Дефолтное значение параметра, возвращается если такого параметра нет
|
|
|
|
|
* @return mixed
|
|
|
|
|
*/
|
2009-04-04 19:07:01 +03:00
|
|
|
|
protected function GetParam($sName,$def=null) {
|
|
|
|
|
if (isset($this->aParams[$sName])) {
|
|
|
|
|
return $this->aParams[$sName];
|
|
|
|
|
} else {
|
|
|
|
|
return $def;
|
|
|
|
|
}
|
|
|
|
|
}
|
2012-04-17 20:58:32 +03:00
|
|
|
|
/**
|
|
|
|
|
* Ставим хук на вызов неизвестного метода и считаем что хотели вызвать метод какого либо модуля
|
|
|
|
|
* @see Engine::_CallModule
|
|
|
|
|
*
|
|
|
|
|
* @param string $sName Имя метода
|
|
|
|
|
* @param array $aArgs Аргументы
|
|
|
|
|
* @return mixed
|
|
|
|
|
*/
|
2008-09-21 09:36:57 +03:00
|
|
|
|
public function __call($sName,$aArgs) {
|
|
|
|
|
return $this->oEngine->_CallModule($sName,$aArgs);
|
2012-04-17 20:58:32 +03:00
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* Метод запуска обработки блока.
|
|
|
|
|
* Его необходимо определять в конкретном блоге.
|
|
|
|
|
*
|
|
|
|
|
* @abstract
|
|
|
|
|
*/
|
2008-09-21 09:36:57 +03:00
|
|
|
|
abstract public function Exec();
|
|
|
|
|
}
|
|
|
|
|
?>
|