• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/classes/general/taskitem.php
  • Класс: CTaskItem
  • Вызов: CTaskItem::postProcessRestRequest
static function postProcessRestRequest($methodName, $result, $parameters = array())
{
	if(!is_array($parameters))
	{
		$parameters = array();
	}

	$originResult = $result;

	if($methodName == 'getfiles')
	{
		$result = array('UF_TASK_WEBDAV_FILES' => $result);

		// translate file UF values
		$result = UserField::postProcessValues($result, array(
			'FIELDS' => static::getEntityUserFields(),
			'SERVER' => $parameters['SERVER']
		));
		$result = $result['UF_TASK_WEBDAV_FILES'];
	}

	if($methodName == 'addfile')
	{
		if(intval($result))
		{
			$result = array('UF_TASK_WEBDAV_FILES' => array($result));

			// translate file UF values
			$result = UserField::postProcessValues($result, array(
				'FIELDS' => static::getEntityUserFields(),
				'SERVER' => $parameters['SERVER']
			));
			if(isset($result['UF_TASK_WEBDAV_FILES'][0]))
			{
				$result = $result['UF_TASK_WEBDAV_FILES'][0];
			}
			else
			{
				return $originResult;
			}
		}
	}

	if($methodName == 'getdata')
	{
		// CTaskItem::getData() does not return tags, but we want them in rest
		if(!empty($result) && intval($result['ID']))
		{
			$result['TAGS'] = array();
			// at this point we know we already have access to this task, so no rights check needed. use simple get list here
			$res = CTaskTags::GetList(array(), array('TASK_ID' => $result['ID']));
			while($item = $res->fetch())
			{
				$result['TAGS'][] = $item['NAME'];
			}
		}

		// translate file UF values
		$result = UserField::postProcessValues($result, array(
			'FIELDS' => static::getEntityUserFields(),
			'SERVER' => $parameters['SERVER']
		));
	}

	return $result;
}