• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/controller/livefeed.php
  • Класс: BitrixSocialnetworkControllerLivefeed
  • Вызов: Livefeed::mobileCreateNotificationLinkAction
public function mobileCreateNotificationLinkAction($tag): string
{
	$params = explode("|", $tag);
	if (empty($params[1]) || empty($params[2]) || !Loader::includeModule('socialnetwork'))
	{
		return '';
	}

	$liveFeedEntity = BitrixSocialNetworkLivefeedProvider::init([
		'ENTITY_TYPE' => BitrixSocialnetworkLivefeedProvider::DATA_ENTITY_TYPE_FORUM_POST,
		'ENTITY_ID' => $params[2]
	]);

	$suffix = $liveFeedEntity->getSuffix();
	if ($suffix === 'TASK')
	{
		$res = BitrixSocialnetworkLogTable::getList(array(
			'filter' => array(
				'ID' => $liveFeedEntity->getLogId()
			),
			'select' => [ 'ENTITY_ID', 'EVENT_ID', 'SOURCE_ID' ]
		));
		if ($logEntryFields = $res->fetch())
		{
			if ($logEntryFields['EVENT_ID'] === 'crm_activity_add')
			{
				if (
					Loader::includeModule('crm')
					&& ($activityFields = CCrmActivity::getById($logEntryFields['ENTITY_ID'], false))
					&& $activityFields['TYPE_ID'] == CCrmActivityType::Task
				)
				{
					$taskId = (int)$activityFields['ASSOCIATED_ENTITY_ID'];
				}
			}
			else
			{
				$taskId = (int)$logEntryFields['SOURCE_ID'];
			}

			if (isset($taskId) && $taskId > 0 && Loader::includeModule('mobile'))
			{
				return CMobileHelper::getParamsToCreateTaskLink($taskId);
			}
		}
	}

	return SITE_DIR . "mobile/log/?ACTION=CONVERT&ENTITY_TYPE_ID=FORUM_POST&ENTITY_ID=" . $params[2];
}