- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/component/loglistcommon/processor.php
- Класс: BitrixSocialnetworkComponentLogListCommonProcessor
- Вызов: Processor::getResultTaskCommentsIdList
public function getResultTaskCommentsIdList(&$result): void
{
$result['RESULT_TASKS_DATA'] = [];
$result['RESULT_FIELD_TASKS_ID'] = [];
$result['RESULT_COMMENTS_DATA'] = [];
$tasks2LogList = $this->getComponent()->getTask2LogListValue();
if (
empty($tasks2LogList)
|| !Loader::includeModule('tasks')
|| !class_exists("Bitrix\Tasks\Internals\Task\Result\ResultManager")
)
{
return;
}
foreach ($tasks2LogList as $taskId => $logId)
{
$result['RESULT_TASKS_DATA'][(int)$logId] = (int)$taskId;
}
$taskIdList = [];
$res = BitrixTasksInternalsTaskTable::getList([
'filter' => [
'@ID' => array_keys($tasks2LogList),
'!=STATUS' => CTasks::STATE_COMPLETED,
],
'select' => [ 'ID' ],
]);
while ($taskFields = $res->fetch())
{
$taskIdList[] = (int)$taskFields['ID'];
}
if (empty($taskIdList))
{
return;
}
$result['RESULT_FIELD_TASKS_ID'] = $taskIdList;
$resultCommentIdList = BitrixTasksInternalsTaskResultResultManager::findResultComments($taskIdList);
foreach ($tasks2LogList as $taskId => $logId)
{
if (isset($resultCommentIdList[$taskId]))
{
$res = [];
foreach ($resultCommentIdList[$taskId] as $value)
{
$res[$value] = [
'taskId' => $taskId,
'logId' => $logId,
'commentId' => $value,
];
}
$result['RESULT_COMMENTS_DATA'][$taskId] = $res;
}
}
}