• Модуль: lists
  • Путь к файлу: ~/bitrix/modules/lists/classes/general/livefeed.php
  • Класс: CListsLiveFeed
  • Вызов: CListsLiveFeed::formatListsElement
static function formatListsElement($fields, $params, $mail = false)
{
	global $CACHE_MANAGER;

	$element = array(
		'EVENT' => $fields,
		'CREATED_BY' => array(),
		'ENTITY' => array(),
		'EVENT_FORMATTED' => array(),
	);

	$userObject = CUser::getByID($fields['ENTITY_ID']);
	$user = $userObject->fetch();
	if ($user)
	{
		if(!$mail)
		{
			global $APPLICATION;
			$rights = array();
			$rightsQuery = CSocNetLogRights::getList(array(), array('LOG_ID' => $fields['ID']));
			while ($right = $rightsQuery->fetch())
			{
				$rights[] = $right['GROUP_CODE'];
			}

			if(defined('BX_COMP_MANAGED_CACHE'))
			{
				$CACHE_MANAGER->registerTag('LISTS_ELEMENT_LIVE_FEED');
			}

			$componentResult = $APPLICATION->includeComponent(
				'bitrix:bizproc.workflow.livefeed',
				'',
				Array(
					'WORKFLOW_ID' => $fields['MESSAGE'],
					'SITE_TEMPLATE_ID' => (isset($params['SITE_TEMPLATE_ID']) ? $params['SITE_TEMPLATE_ID'] : '')
				),
				null,
				array('HIDE_ICONS' => 'Y')
			);

			$siteDir = rtrim(SITE_DIR, '/');
			$url = CSocNetLogTools::formatEvent_GetURL($fields, true);
			$url = str_replace('#SITE_DIR#', $siteDir, $url);
			$url .= ''.$fields['ID'].'/';

			$componentResultMessage = $componentResult ? $componentResult['MESSAGE'] : null;
			$element = array(
				'EVENT' => $fields,
				'EVENT_FORMATTED' => array(
					'TITLE_24' => ''.$fields['TITLE'].'',
					'MESSAGE' => $fields['TEXT_MESSAGE'] . $componentResultMessage,
					'IS_IMPORTANT' => false,
					'STYLE' => 'new-employee',
					'AVATAR_STYLE' => 'avatar-info',
					'DESTINATION' => CSocNetLogTools::formatDestinationFromRights($rights, array_merge($params, array('CREATED_BY' => $fields['USER_ID']))),
					'URL' => $url
				),
				'CREATED_BY' => CSocNetLogTools::formatEvent_GetCreatedBy($fields, $params, $mail),
				'AVATAR_SRC' => CSocNetLog::formatEvent_CreateAvatar($fields, $params),
				'CACHED_JS_PATH' => $componentResult['CACHED_JS_PATH'] ?? null,
				'CACHED_CSS_PATH' => $componentResult['CACHED_CSS_PATH'] ?? null,
			);
			if (isset($params['MOBILE']) && $params['MOBILE'] == 'Y')
			{
				$element['EVENT_FORMATTED']['TITLE_24'] = Loc::getMessage('LISTS_LF_MOBILE_DESTINATION');
				$element['EVENT_FORMATTED']['TITLE_24_2'] = $fields['TITLE'];
				unset($element['CACHED_CSS_PATH']);
			}

			if (CModule::IncludeModule('bizproc'))
			{
				$workflowId = CBPStateService::getWorkflowByIntegerId($element['EVENT']['SOURCE_ID']);
			}

			if ($workflowId)
			{
				$element['EVENT']['SOURCE_ID'] = $workflowId;
			}
		}
		return $element;
	}
}