* */ /** * Поведение для подключения функционала дополнительных полей к модулям * * @package application.modules.property * @since 2.0 */ class ModuleProperty_BehaviorModule extends Behavior { /** * Список хуков * * @var array */ protected $aHooks=array( 'module_orm_GetItemsByFilter_after'=>array( 'CallbackGetItemsByFilterAfter',1000 ), 'module_orm_GetItemsByFilter_before'=>array( 'CallbackGetItemsByFilterBefore',1000 ), 'module_orm_GetByFilter_before'=>array( 'CallbackGetItemsByFilterBefore',1000 ), ); /** * Модифицирует фильтр в ORM запросе * * @param $aParams */ public function CallbackGetItemsByFilterAfter($aParams) { $aEntities=$aParams['aEntities']; $aFilter=$aParams['aFilter']; $this->Property_RewriteGetItemsByFilter($aEntities,$aFilter); } /** * Модифицирует результат ORM запроса * * @param $aParams */ public function CallbackGetItemsByFilterBefore($aParams) { $aFilter=$this->Property_RewriteFilter($aParams['aFilter'],$aParams['sEntityFull']); $aParams['aFilter']=$aFilter; } }