mirror of
https://github.com/Oreolek/ifhub.club.git
synced 2024-07-08 01:14:24 +03:00
59 lines
1.7 KiB
PHP
59 lines
1.7 KiB
PHP
<?php
|
||
/**
|
||
* LiveStreet CMS
|
||
* Copyright © 2013 OOO "ЛС-СОФТ"
|
||
*
|
||
* ------------------------------------------------------
|
||
*
|
||
* Official site: www.livestreetcms.com
|
||
* Contact e-mail: office@livestreetcms.com
|
||
*
|
||
* GNU General Public License, version 2:
|
||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||
*
|
||
* ------------------------------------------------------
|
||
*
|
||
* @link http://www.livestreetcms.com
|
||
* @copyright 2013 OOO "ЛС-СОФТ"
|
||
* @author Maxim Mzhelskiy <rus.engine@gmail.com>
|
||
*
|
||
*/
|
||
|
||
/**
|
||
* Обработка блока с редактированием свойств объекта
|
||
*
|
||
* @package blocks
|
||
* @since 2.0
|
||
*/
|
||
class BlockPropertyUpdate extends Block {
|
||
/**
|
||
* Запуск обработки
|
||
*/
|
||
public function Exec() {
|
||
$sEntity = $this->GetParam('entity');
|
||
$oTarget = $this->GetParam('target');
|
||
$sTargetType = $this->GetParam('target_type');
|
||
|
||
if (!$oTarget) {
|
||
$oTarget=Engine::GetEntity($sEntity);
|
||
}
|
||
|
||
$aBehaviors=$oTarget->GetBehaviors();
|
||
foreach($aBehaviors as $oBehavior) {
|
||
/**
|
||
* Определяем нужное нам поведение
|
||
*/
|
||
if ($oBehavior instanceof ModuleProperty_BehaviorEntity) {
|
||
/**
|
||
* Если в параметрах был тип, то переопределяем значение. Это необходимо для корректной работы, когда тип динамический.
|
||
*/
|
||
if ($sTargetType) {
|
||
$oBehavior->setParam('target_type',$sTargetType);
|
||
}
|
||
$aProperties = $this->Property_GetPropertiesForUpdate($oBehavior->getPropertyTargetType(),$oTarget->getId());
|
||
$this->Viewer_Assign('aProperties',$aProperties);
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
} |