• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/integration/landing/livefeed.php
  • Класс: BitrixSocialnetworkIntegrationLandingLivefeed
  • Вызов: Livefeed::onBuildSourceListHandler
static function onBuildSourceListHandler(MainEvent $event)
{
	/** @var LandingSourceSelector $selector */
	$selector = $event->getParameter('SELECTOR');

	$siteId = null;

	$restrictions = $selector->getModuleRestrictions('socialnetwork');
	if (
		!empty($restrictions)
		&& !empty($restrictions['SITE_ID'])
	)
	{
		$siteId = $restrictions['SITE_ID'];
	}
	unset($restrictions);

	$dataSettings = [
		'ORDER' => self::getOrderFields(),
		'FIELDS' => [
			[
				'ID' => 'TITLE',
				'NAME' => Loc::getMessage('SONET_LANDING_DYNAMIC_BLOCK_LIVEFEED_FIELD_TITLE'),
				'TYPE' => LandingNodeType::TEXT
			],
			[
				'ID' => 'PREVIEW_TEXT',
				'NAME' => Loc::getMessage('SONET_LANDING_DYNAMIC_BLOCK_LIVEFEED_FIELD_PREVIEW_TEXT'),
				'TYPE' => LandingNodeType::TEXT
			],
			[
				'ID' => 'DETAIL_TEXT',
				'NAME' => Loc::getMessage('SONET_LANDING_DYNAMIC_BLOCK_LIVEFEED_FIELD_DETAIL_TEXT'),
				'TYPE' => LandingNodeType::TEXT
			],
			[
				'ID' => 'AUTHOR_NAME_FORMATTED',
				'NAME' => Loc::getMessage('SONET_LANDING_DYNAMIC_BLOCK_LIVEFEED_FIELD_AUTHOR_NAME_FORMATTED'),
				'TYPE' => LandingNodeType::TEXT
			],
			[
				'ID' => 'LOG_DATE',
				'NAME' => Loc::getMessage('SONET_LANDING_DYNAMIC_BLOCK_LIVEFEED_FIELD_LOG_DATE'),
				'TYPE' => LandingNodeType::TEXT
			],
			[
				'ID' => 'PICTURE',
				'NAME' => Loc::getMessage('SONET_LANDING_DYNAMIC_BLOCK_LIVEFEED_FIELD_PICTURE'),
				'TYPE' => LandingNodeType::IMAGE
			],
			[
				'ID' => 'AUTHOR_AVATAR',
				'NAME' => Loc::getMessage('SONET_LANDING_DYNAMIC_BLOCK_LIVEFEED_FIELD_AUTHOR_AVATAR'),
				'TYPE' => LandingNodeType::IMAGE
			],
			[
				'ID' => 'LINK',
				'NAME' => Loc::getMessage('SONET_LANDING_DYNAMIC_BLOCK_LIVEFEED_ACTIONS'),
				'TYPE' => LandingNodeType::LINK,
				'ACTIONS' => $selector->getDefaultLinkActions()
			]
		]
	];

	$result = [];

	$result[] = [
		'SOURCE_ID' => 'livefeed',
		'TITLE' => Loc::getMessage('SONET_LANDING_DYNAMIC_BLOCK_LIVEFEED_TITLE2'),
		'TYPE' => LandingSourceSelector::SOURCE_TYPE_COMPONENT,
		'SETTINGS' => [
			'COMPONENT_NAME' => 'bitrix:socialnetwork.landing.livefeed.selector',
			'COMPONENT_TEMPLATE_NAME' => '.default',
			'COMPONENT_PARAMS' => [
				'SITE_ID' => $siteId,
			],
			"USE_UI_TOOLBAR" => "Y", // TODO: remove this key after stable update landing
			'WRAPPER' => [
				'USE_PADDING' => false,
				'PLAIN_VIEW' => false,
				'USE_UI_TOOLBAR' => 'Y'
			]
		],
		'SOURCE_FILTER' => [],
		'DATA_SETTINGS' => $dataSettings,
		'DATA_LOADER' => __CLASS__
	];


	unset($selector);

	return new MainEventResult(MainEventResult::SUCCESS, $result, 'socialnetwork');
}