- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/rest/controllers/task/result.php
- Класс: BitrixTasksRestControllersTaskResult
- Вызов: Result::listAction
public function listAction(int $taskId, array $params = [])
{
if (!$taskId)
{
$this->errorCollection->add([new Error('Task not found.')]);
return null;
}
$userId = $this->getUserId();
if (!$userId)
{
$this->errorCollection->add([new Error('Access denied.')]);
return null;
}
if (!Loader::includeModule('tasks'))
{
$this->errorCollection->add([new Error('Module not loaded.')]);
return null;
}
if (!TaskAccessController::can($userId, ActionDictionary::ACTION_TASK_READ, $taskId))
{
$this->errorCollection->add([new Error('Access denied.')]);
return null;
}
$list = [];
$taskResults = (new ResultManager($userId))->getTaskResults($taskId);
foreach ($taskResults as $result)
{
$data = $result->toArray();
if (!is_array($data['files']))
{
$data['files'] = [];
}
$list[] = $data;
}
if (empty($list))
{
return [];
}
$params = [
'WITH_USER_INFO' => (array_key_exists('WITH_USER_INFO', $params) && $params['WITH_USER_INFO'] === 'Y'),
'WITH_PARSED_TEXT' => (array_key_exists('WITH_PARSED_TEXT', $params) && $params['WITH_PARSED_TEXT'] === 'Y'),
'WITH_FILE_INFO' =>
(array_key_exists('WITH_PARSED_TEXT', $params) && $params['WITH_PARSED_TEXT'] === 'Y')
|| (array_key_exists('WITH_FILE_INFO', $params) && $params['WITH_FILE_INFO'] === 'Y')
,
];
if ($params['WITH_USER_INFO'])
{
$list = $this->fillWithUserInfo($list);
}
if ($params['WITH_FILE_INFO'])
{
$list = $this->fillWithFileInfo($list);
}
if ($params['WITH_PARSED_TEXT'])
{
$list = $this->fillWithParsedText($list);
}
foreach ($list as $key => $result)
{
$list[$key]['fileInfo'] = $this->convertKeysToCamelCase($result['fileInfo']);
}
return $list;
}