• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/classes/general/taskitem.php
  • Класс: CTaskItem
  • Вызов: CTaskItem::getData
public function getData($returnEscapedData = true, array $parameters = [], bool $bCheckPermissions = true)
{
	// Preload data, if it isn't in cache
	if ($this->arTaskData === null)
	{
		$this->markCacheAsDirty();

		// Load task data
		$defaultParams = [
			'USER_ID' => $this->executiveUserId,
			'returnAsArray' => true,
			'bSkipExtraData' => false,
		];
		$arParams = array_merge($defaultParams, $parameters);

		/** @noinspection PhpDeprecationInspection */
		$arTask = CTasks::getById($this->taskId, $bCheckPermissions, $arParams);
		if (!isset($arTask['ID']) || !is_array($arTask))
		{
			$this->throwExceptionNotAccessible();
		}

		$this->arTaskData = $arTask;
	}

	if ($returnEscapedData)
	{
		// Prepare escaped data on-demand
		if ($this->arTaskDataEscaped === null)
		{
			foreach ($this->arTaskData as $field => $value)
			{
				$this->arTaskDataEscaped['~' . $field] = $value;

				if ($field === 'DESCRIPTION')
				{
					$this->arTaskDataEscaped[$field] = $this->getDescription();
				}
				elseif (is_numeric($value) || (!is_string($value)))
				{
					$this->arTaskDataEscaped[$field] = $value;
				}
				else
				{
					$this->arTaskDataEscaped[$field] = htmlspecialcharsex($value);
				}
			}
		}

		$returnData = $this->arTaskDataEscaped;
	}
	else
	{
		$returnData = $this->arTaskData;
	}

	return $returnData;
}