2014-01-13 08:13:27 +02:00
|
|
|
|
<?php
|
2014-10-08 08:20:29 +03:00
|
|
|
|
/*
|
2014-09-25 17:37:43 +03:00
|
|
|
|
* 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>
|
|
|
|
|
*
|
|
|
|
|
*/
|
2014-01-13 08:13:27 +02:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Обработка блока с редактированием свойств объекта
|
|
|
|
|
*
|
2014-10-08 08:20:29 +03:00
|
|
|
|
* @package application.blocks
|
2014-09-25 17:37:43 +03:00
|
|
|
|
* @since 2.0
|
2014-01-13 08:13:27 +02:00
|
|
|
|
*/
|
2014-10-08 11:49:34 +03:00
|
|
|
|
class BlockPropertyUpdate extends Block
|
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* Запуск обработки
|
|
|
|
|
*/
|
|
|
|
|
public function Exec()
|
|
|
|
|
{
|
|
|
|
|
$sEntity = $this->GetParam('entity');
|
|
|
|
|
$oTarget = $this->GetParam('target');
|
|
|
|
|
$sTargetType = $this->GetParam('target_type');
|
2014-09-25 17:37:43 +03:00
|
|
|
|
|
2014-10-08 11:49:34 +03:00
|
|
|
|
if (!$oTarget) {
|
|
|
|
|
$oTarget = Engine::GetEntity($sEntity);
|
|
|
|
|
}
|
2014-09-25 17:37:43 +03:00
|
|
|
|
|
2014-10-08 11:49:34 +03:00
|
|
|
|
$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());
|
2014-10-21 16:58:28 +03:00
|
|
|
|
$this->Viewer_Assign('properties', $aProperties, true);
|
2014-10-08 11:49:34 +03:00
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
2014-10-21 16:58:28 +03:00
|
|
|
|
|
|
|
|
|
$this->SetTemplate('components/property/input/list.tpl');
|
2014-10-08 11:49:34 +03:00
|
|
|
|
}
|
2014-01-13 08:13:27 +02:00
|
|
|
|
}
|