- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/classes/general/commentitem.php
- Класс: CTaskCommentItem
- Вызов: CTaskCommentItem::onEventFilter
static function onEventFilter($arParams, $arHandler)
{
if ( ! isset($arHandler['EVENT_NAME']) )
{
$arHandler['EVENT_NAME'] = '$arHandler['EVENT_NAME'] is not set';
}
$commentId = (int) array_shift($arParams);
$parameters = array_shift($arParams);
$taskId = intval($parameters['TASK_ID']);
$arEventFields = array(
'FIELDS_BEFORE' => 'undefined',
'FIELDS_AFTER' => 'undefined',
'IS_ACCESSIBLE_BEFORE' => 'undefined',
'IS_ACCESSIBLE_AFTER' => 'undefined'
);
CTaskAssert::assert($taskId >= 1);
if(!$commentId)
{
return;
}
switch(mb_strtolower($arHandler['EVENT_NAME']))
{
case 'ontaskcommentadd':
$arEventFields['FIELDS_AFTER'] = array('ID' => $commentId, 'TASK_ID' => $taskId);
$arEventFields['IS_ACCESSIBLE_BEFORE'] = 'N';
break;
case 'ontaskcommentupdate':
$arEventFields['FIELDS_BEFORE'] = array('ID' => $commentId, 'TASK_ID' => $taskId);
$arEventFields['FIELDS_AFTER'] = array('ID' => $commentId, 'TASK_ID' => $taskId, 'ACTION' => 'EDIT');
break;
case 'ontaskcommentdelete':
$arEventFields['FIELDS_BEFORE'] = array('ID' => $commentId, 'TASK_ID' => $taskId);
$arEventFields['FIELDS_AFTER'] = array('ID' => $commentId, 'TASK_ID' => $taskId, 'ACTION' => 'DEL');
break;
default:
throw new Exception(
'tasks' RPC event handler: onEventFilter: '
.'not allowed $arHandler['EVENT_NAME']: '
.$arHandler['EVENT_NAME']
);
break;
}
return ($arEventFields);
}