• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/classes/general/restservice.php
  • Класс: CTaskRestService
  • Вызов: CTaskRestService::onEventFilter
static function onEventFilter($arParams, $arHandler)
{
	if ( ! isset($arHandler['EVENT_NAME']) )
		$arHandler['EVENT_NAME'] = '$arHandler['EVENT_NAME'] is not set';

	$arEventFields = array(
		'FIELDS_BEFORE'        => 'undefined',
		'FIELDS_AFTER'         => 'undefined',
		'IS_ACCESSIBLE_BEFORE' => 'undefined',
		'IS_ACCESSIBLE_AFTER'  => 'undefined'
	);

	$taskId = (int) $arParams[0];

	CTaskAssert::assert($taskId >= 1);

	switch(mb_strtolower($arHandler['EVENT_NAME']))
	{
		case 'ontaskadd':
			$arEventFields['FIELDS_BEFORE'] = 'undefined';
			$arEventFields['FIELDS_AFTER'] = array('ID' => $taskId);
			$arEventFields['IS_ACCESSIBLE_BEFORE'] = 'N';
			$arEventFields['IS_ACCESSIBLE_AFTER'] = 'undefined';
			break;

		case 'ontaskupdate':
			$arEventFields['FIELDS_BEFORE'] = array('ID' => $taskId);
			$arEventFields['FIELDS_AFTER'] = array('ID' => $taskId);
			$arEventFields['IS_ACCESSIBLE_BEFORE'] = 'undefined';
			$arEventFields['IS_ACCESSIBLE_AFTER'] = 'undefined';
			break;

		case 'ontaskdelete':
			$arEventFields['FIELDS_BEFORE'] = array('ID' => $taskId);
			$arEventFields['FIELDS_AFTER'] = 'undefined';
			$arEventFields['IS_ACCESSIBLE_BEFORE'] = 'undefined';
			$arEventFields['IS_ACCESSIBLE_AFTER'] = 'N';
			break;

		default:
			throw new Exception(
				'tasks' RPC event handler: onEventFilter: '
				.'not allowed $arHandler['EVENT_NAME']: '
				.$arHandler['EVENT_NAME']
			);
			break;
	}

	return ($arEventFields);
}