- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/component/loglist/processor.php
- Класс: BitrixSocialnetworkComponentLogListProcessor
- Вызов: Processor::processCrmActivities
public function processCrmActivities($result): void
{
$activity2LogList = $this->getComponent()->getActivity2LogListValue();
if (
!empty($activity2LogList)
&& Loader::includeModule('crm')
&& Loader::includeModule('tasks')
)
{
$res = CCrmActivity::getList(
[],
[
'@ID' => array_keys($activity2LogList),
'CHECK_PERMISSIONS' => 'N'
],
false,
false,
['ID', 'ASSOCIATED_ENTITY_ID', 'TYPE_ID', 'PROVIDER_ID']
);
while (
($activityFields = $res->fetch())
&& ((int)$activityFields['ASSOCIATED_ENTITY_ID'] > 0)
)
{
if (
(int)$activityFields['TYPE_ID'] === CCrmActivityType::Task
|| (
(int)$activityFields['TYPE_ID'] === CCrmActivityType::Provider
&& $activityFields['PROVIDER_ID'] === Task::getId()
)
)
{
try
{
$taskItem = new CTaskItem((int)$activityFields['ASSOCIATED_ENTITY_ID'], $result['currentUserId']);
if (!$taskItem->checkCanRead())
{
$activity2LogList = $this->getComponent()->getActivity2LogListValue();
unset($activity2LogList[$activityFields['ID']]);
$this->getComponent()->setActivity2LogListValue($activity2LogList);
unset($activity2LogList);
}
else
{
$task2LogList = $this->getComponent()->getTask2LogListValue();
$task2LogList[(int)$activityFields['ASSOCIATED_ENTITY_ID']] = (int)$activity2LogList[$activityFields['ID']];
$this->getComponent()->setTask2LogListValue($task2LogList);
unset($task2LogList);
}
}
catch (CTaskAssertException $e)
{
}
}
}
}
}