• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/urlpreview/urlpreview.php
  • Класс: BitrixMainUrlPreviewUrlPreview
  • Вызов: UrlPreview::setMetadataImage
static function setMetadataImage($id, $imageUrl)
{
	if (!is_int($id))
	{
		throw new ArgumentException("Id of the metadata must be an integer", "id");
	}
	if (!is_string($imageUrl) && !is_null($imageUrl))
	{
		throw new ArgumentException("Url of the image must be a string", "imageUrl");
	}

	$metadata = UrlMetadataTable::getList(array(
		'select' => array('IMAGE', 'IMAGE_ID', 'EXTRA'),
		'filter' => array('=ID' => $id)
	))->fetch();

	if (isset($metadata['EXTRA']['IMAGES']))
	{
		$imageIndex = array_search($imageUrl, $metadata['EXTRA']['IMAGES']);
		if ($imageIndex === false)
		{
			unset($metadata['EXTRA']['SELECTED_IMAGE']);
		}
		else
		{
			$metadata['EXTRA']['SELECTED_IMAGE'] = $imageIndex;
		}
	}

	if (static::getOptionSaveImages())
	{
		$metadata['IMAGE_ID'] = static::saveImage($imageUrl);
		$metadata['IMAGE'] = null;
	}
	else
	{
		$metadata['IMAGE'] = $imageUrl;
		$metadata['IMAGE_ID'] = null;
	}

	return UrlMetadataTable::update($id, $metadata)->isSuccess();
}