• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/urlpreview/urlpreview.php
  • Класс: BitrixMainUrlPreviewUrlPreview
  • Вызов: UrlPreview::getMetadataAndHtmlByIds
static function getMetadataAndHtmlByIds(array $ids, $checkAccess = true, $userId = 0)
{
	if (!static::isEnabled())
	{
		return false;
	}

	$result = [];

	$queryResult = UrlMetadataTable::getList([
		'filter' => [
			'ID' => $ids,
			'!=TYPE' => UrlMetadataTable::TYPE_TEMPORARY,
		]
	]);

	while ($metadata = $queryResult->fetch())
	{
		if ($metadata['TYPE'] == UrlMetadataTable::TYPE_DYNAMIC)
		{
			$metadata['HTML'] = static::getDynamicPreview($metadata['URL'], $checkAccess, $userId);
			if ($metadata['HTML'] === false)
			{
				continue;
			}
		}
		if ($metadata['TYPE'] == UrlMetadataTable::TYPE_STATIC
			&& isset($metadata['DATE_EXPIRE'])
			&& $metadata['DATE_EXPIRE']->getTimestamp() <= time()
		)
		{
			$refreshResult = static::refreshMetadata($metadata);
			if (!$refreshResult)
			{
				continue;
			}
		}
		$result[$metadata['ID']] = $metadata;
	}

	return $result;
}