• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/integration/socialnetwork/task.php
  • Класс: BitrixTasksIntegrationSocialnetworkis
  • Вызов: is::getSonetLogByTaskId
static function getSonetLogByTaskId($taskId)
{
	static $cache = array();

	$result = array();

	$taskId = intval($taskId);
	if(!static::includeModule() || $taskId <= 0)
	{
		return $result;
	}

	if (isset($cache[$taskId]))
	{
		return $cache[$taskId];
	}
	else
	{
		$res = CSocNetLog::getList(
			array(),
			array('EVENT_ID' => 'tasks', 'SOURCE_ID' => $taskId),
			false,
			false,
			array('ID')
		);
		if ($item = $res->fetch())
		{
			$result = $item;
		}

		if (
			empty($result)
			&& Loader::includeModule('crm')
		)
		{
			$res = CCrmActivity::getList(
				array(),
				array(
					'TYPE_ID' => CCrmActivityType::Task,
					'ASSOCIATED_ENTITY_ID' => $taskId,
					'CHECK_PERMISSIONS' => 'N'
				),
				false,
				false,
				array('ID')
			);
			if ($crmActivity = $res->fetch())
			{
				$res = CSocNetLog::getList(
					array(),
					array('EVENT_ID' => 'crm_activity_add', 'ENTITY_ID' => $crmActivity['ID']),
					false,
					false,
					array('ID')
				);
				if ($item = $res->fetch())
				{
					$result = $item;
				}
			}
		}

		$cache[$taskId] = $result;
		return $result;
	}
}