1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-05-17 00:08:17 +03:00

из модуля Viewer удалена логика по определению разных видов блоков. Теперь группировать блоки можно из экшенов

This commit is contained in:
Mzhelskiy Maxim 2008-10-16 15:15:19 +00:00
parent 2367a27ff6
commit 755cb02eba
10 changed files with 37 additions and 28 deletions

View file

@ -93,7 +93,7 @@ class ActionBlog extends Action {
/**
* Определяем какие блоки нужно выводить справа
*/
$this->Viewer_AddBlocksRight(array('comments','tags','blogs'));
$this->Viewer_AddBlocks('right',array('comments','tags','blogs'));
/**
* Подсчитываем новые топики
*/

View file

@ -56,7 +56,7 @@ class ActionIndex extends Action {
*
*/
public function Init() {
$this->Viewer_AddBlocksRight(array('comments','tags','blogs'));
$this->Viewer_AddBlocks('right',array('comments','tags','blogs'));
/**
* Подсчитываем новые топики
*/

View file

@ -130,7 +130,7 @@ class ActionLink extends Action {
/**
* Добавляем блок вывода информации о блоге
*/
$this->Viewer_AddBlocksRight(array('block.blogInfo.tpl'));
$this->Viewer_AddBlocks('right',array('block.blogInfo.tpl'));
/**
* Получаем данные для отображения формы
* Если админ то делаем доступными все блоги
@ -202,7 +202,7 @@ class ActionLink extends Action {
/**
* Добавляем блок вывода информации о блоге
*/
$this->Viewer_AddBlocksRight(array('block.blogInfo.tpl'));
$this->Viewer_AddBlocks('right',array('block.blogInfo.tpl'));
/**
* Получаем данные для отображения формы
*/

View file

@ -42,7 +42,7 @@ class ActionLog extends Action {
/**
* Добавляем блоки для отображения
*/
$this->Viewer_AddBlocksRight(array('comments','tags'));
$this->Viewer_AddBlocks('right',array('comments','tags'));
}
/**

View file

@ -56,7 +56,7 @@ class ActionNew extends Action {
*
*/
public function Init() {
$this->Viewer_AddBlocksRight(array('comments','tags','blogs'));
$this->Viewer_AddBlocks('right',array('comments','tags','blogs'));
/**
* Подсчитываем новые топики
*/

View file

@ -98,7 +98,7 @@ class ActionQuestion extends Action {
/**
* Добавляем блок вывода информации о блоге
*/
$this->Viewer_AddBlocksRight(array('block.blogInfo.tpl'));
$this->Viewer_AddBlocks('right',array('block.blogInfo.tpl'));
/**
* Получаем данные для отображения формы
*/
@ -168,7 +168,7 @@ class ActionQuestion extends Action {
/**
* Добавляем блок вывода информации о блоге
*/
$this->Viewer_AddBlocksRight(array('block.blogInfo.tpl'));
$this->Viewer_AddBlocks('right',array('block.blogInfo.tpl'));
/**
* Получаем данные для отображения формы
*/

View file

@ -28,7 +28,7 @@ class ActionTag extends Action {
/**
* Определяем какие блоки выводить
*/
$this->Viewer_AddBlocksRight(array('tags','comments'));
$this->Viewer_AddBlocks('right',array('tags','comments'));
}
protected function RegisterEvent() {

View file

@ -100,7 +100,7 @@ class ActionTopic extends Action {
/**
* Добавляем блок вывода информации о блоге
*/
$this->Viewer_AddBlocksRight(array('block.blogInfo.tpl'));
$this->Viewer_AddBlocks('right',array('block.blogInfo.tpl'));
/**
* Получаем данные для отображения формы
* Если админ то делаем доступными все блоги
@ -165,7 +165,7 @@ class ActionTopic extends Action {
/**
* Добавляем блок вывода информации о блоге
*/
$this->Viewer_AddBlocksRight(array('block.blogInfo.tpl'));
$this->Viewer_AddBlocks('right',array('block.blogInfo.tpl'));
/**
* Получаем данные для отображения формы
*/

View file

@ -27,14 +27,13 @@ class Viewer extends Module {
*
* @var Smarty
*/
protected $oSmarty;
protected $oSmarty;
/**
* Коллекция(массив) блоков.
* Обозначение $aBlockRight вместо $aBlock исключительно с целью дальнейшего расширения :)
* Коллекция(массив) блоков
*
* @var array
*/
protected $aBlockRight=array();
protected $aBlocks=array();
/**
* Заголовок HTML страницы
*
@ -91,12 +90,12 @@ class Viewer extends Module {
$this->Assign("DIR_STATIC_ROOT",DIR_STATIC_ROOT);
$this->Assign("SITE_NAME",SITE_NAME);
$this->Assign("DIR_UPLOADS_IMAGES",DIR_UPLOADS_IMAGES);
$this->Assign("USER_USE_INVITE",USER_USE_INVITE);
/**
* Загружаем список блоков
*/
$this->Assign("aBlockRight",$this->aBlockRight);
$this->Assign("aBlocks",$this->aBlocks);
/**
* Загружаем HTML заголовки
*/
@ -156,7 +155,7 @@ class Viewer extends Module {
* @param string $sName
* @param arra $aParams - параметры блока, которые будут переданы обработчику блока
*/
public function AddBlockRight($sName,$aParams=array()) {
public function AddBlock($sGroup,$sName,$aParams=array()) {
/**
* Если смогли определить тип блока то добавляем его
*/
@ -164,7 +163,7 @@ class Viewer extends Module {
if ($sType=='undefined') {
return false;
}
$this->aBlockRight[]=array(
$this->aBlocks[$sGroup][]=array(
'type' => $sType,
'name' => $sName,
'params' => $aParams,
@ -177,22 +176,32 @@ class Viewer extends Module {
*
* @param array $aBlocks
*/
public function AddBlocksRight($aBlocks) {
public function AddBlocks($sGroup,$aBlocks) {
/**
* Удаляем ранее добавленые блоки
*/
$this->ClearBlocksRight();
$this->ClearBlocks($sGroup);
foreach ($aBlocks as $sBlock) {
$this->AddBlockRight($sBlock);
$this->AddBlock($sGroup,$sBlock);
}
}
/**
* Удаляет блоки
* Удаляет блоки группы
*
*/
public function ClearBlocksRight() {
$this->aBlockRight=array();
public function ClearBlocks($sGroup) {
$this->aBlocks[$sGroup]=array();
}
/**
* Удаляет блоки всех групп
*
* @param unknown_type $sGroup
*/
public function ClearBlocksAll() {
foreach ($this->aBlocks as $sGroup => $aBlock) {
$this->aBlocks[$sGroup]=array();
}
}
/**

View file

@ -164,8 +164,8 @@ var msgNoticeBox=new Roar({
<DIV id=content>
<DIV id=right>
{foreach from=$aBlockRight item=aBlock}
{if isset($aBlocks.right)}
{foreach from=$aBlocks.right item=aBlock}
{if $aBlock.type=='block'}
{insert name="block" block=`$aBlock.name` params=`$aBlock.params`}
{/if}
@ -173,7 +173,7 @@ var msgNoticeBox=new Roar({
{include file=`$aBlock.name` params=`$aBlock.params`}
{/if}
{/foreach}
{/if}
</DIV>