- Модуль: 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();
}