• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/integration/landing/livefeed.php
  • Класс: BitrixSocialnetworkIntegrationLandingLivefeed
  • Вызов: Livefeed::getElementListData
public function getElementListData()
{
	$this->seo->clear();

	$result = [];

	$rightsFilter = $this->getRightsFilter();
	$authorFilter = $this->getAuthorFilter();

	if (empty($rightsFilter))
	{
		return $result;
	}

	$orderFields = self::getOrderFields();
	$order = $this->getOrder();

	if (!is_array($order))
	{
		$order = [];
	}

	$livefeedOrder = [];

	if (
		!empty($order)
		&& !empty($order['by'])
		&& !empty($order['order'])
	)
	{
		foreach($orderFields as $field)
		{
			if ($order['by'] == $field['ID'])
			{
				$livefeedOrder = [
					$order['by'] => $order['order']
				];
			}
		}
	}

	if (empty($livefeedOrder))
	{
		$livefeedOrder = [
			'LOG_DATE' => 'DESC'
		];
	}

	$livefeedFilter = [
		'LOG_RIGHTS' => $rightsFilter,
		'EVENT_ID' => CSocNetLogTools::findFullSetByEventID('blog_post'),
		'<=LOG_DATE' => 'NOW',
	];

	if (
		!empty($authorFilter)
		&& is_array($authorFilter)
		&& !empty($authorFilter[0])
	)
	{
		$livefeedFilter['USER_ID'] = intval($authorFilter[0]);
	}

	$settings = [
		'order' => $livefeedOrder,
		'filter' => $livefeedFilter,
		'limit' => [
			'nTopCount' => $this->getLimit()
		]
	];

	$result = $this->getElementsInternal($settings);

	return $result;
}