- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/activity/provider/task.php
- Класс: Bitrix\Crm\Activity\Provider\Task
- Вызов: Task::createLiveFeedLog
static function createLiveFeedLog($entityId, array $activity, array &$logFields) { $entityId = (int) $entityId; $activityId = isset($activity['ID']) ? (int)$activity['ID'] : 0; if ($entityId <= 0 || !Loader::includeModule('tasks') || !Loader::includeModule('socialnetwork')) { return false; } $eventId = 0; $dbTask = \CTasks::getByID($entityId, false); if ($task = $dbTask->fetch()) { $ufDocID = $GLOBALS["USER_FIELD_MANAGER"]->getUserFieldValue("TASKS_TASK", "UF_TASK_WEBDAV_FILES", $task["ID"], LANGUAGE_ID); if ($ufDocID) { $logFields["UF_SONET_LOG_DOC"] = $ufDocID; } } if ($task) { $rsLog = \CSocNetLog::getList( array(), array( "EVENT_ID" => "tasks", "SOURCE_ID" => $task["ID"] ), array("ID") ); if ($arLog = $rsLog->fetch()) { $eventId = (int)\CCrmLiveFeed::convertTasksLogEvent(array( "LOG_ID" => $arLog["ID"], "ACTIVITY_ID" => $activityId, "PARENTS" => (!empty($logFields['PARENTS']) ? $logFields['PARENTS'] : array()) )); } elseif (!empty($task['GROUP_ID'])) { $arSite = array(); $rsGroupSite = \CSocNetGroup::getSite(intval($task['GROUP_ID'])); if ($rsGroupSite) { while($arGroupSite = $rsGroupSite->fetch()) { $arSite[] = $arGroupSite["LID"]; } } if (!empty($arSite)) { $logFields['SITE_ID'] = $arSite; } } } if ($eventId === 0) { if ($task['CREATED_BY'] > 0) { $logFields['USER_ID'] = $task['CREATED_BY']; } $eventId = \CCrmLiveFeed::createLogEvent($logFields, \CCrmLiveFeedEvent::Add, array('ACTIVITY_PROVIDER_ID' => self::getId())); } if ($task && $eventId > 0) { $arTaskParticipant = \CTaskNotifications::getRecipientsIDs($task, false);// don't exclude current user $arSocnetRights = \CTaskNotifications::__userIDs2Rights($arTaskParticipant); if ( isset($task['GROUP_ID']) && intval($task['GROUP_ID']) > 0 ) { $arSocnetRights = array_merge( $arSocnetRights, array('SG'.$task['GROUP_ID']) ); } \CSocNetLogRights::DeleteByLogID($eventId); \CSocNetLogRights::Add($eventId, $arSocnetRights); } return $eventId; }