• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/tradingplatform/vk/photoresizer.php
  • Класс: BitrixSaleTradingPlatformVkPhotoResizer
  • Вызов: PhotoResizer::checkPhotos
static function checkPhotos($photos, $type)
{
//		check empty photos
	if(!$photos)
		return NULL;
	
	$result = array();
	
	switch ($type)
	{
		case 'PRODUCT':
			$count = Vk::MAX_PHOTOS_IN_PRODUCT;
			$needMainPhoto = true;
			$sizesLimits = array(
				'MIN_WIDTH' => Vk::MIN_PRODUCT_PHOTO_WIDTH,
				'MIN_HEIGHT' => Vk::MIN_PRODUCT_PHOTO_HEIGHT,
				'MAX_SIZES_SUM' => Vk::MAX_PRODUCT_PHOTO_SIZES_SUM,
				'MAX_SIZE' => Vk::MAX_PRODUCT_PHOTO_SIZE,
				'RATIO_V' => Vk::MAX_PRODUCT_RATIO_V,	// width / height
				'RATIO_H' => Vk::MAX_PRODUCT_RATIO_H,
			);
			break;
		
		case 'ALBUM':
			$count = Vk::MAX_PHOTOS_IN_ALBUM;
			$needMainPhoto = false;
			$sizesLimits = array(
				'MIN_WIDTH' => Vk::MIN_ALBUM_PHOTO_WIDTH,
				'MIN_HEIGHT' => Vk::MIN_ALBUM_PHOTO_HEIGHT,
				'MAX_SIZES_SUM' => Vk::MAX_ALBUM_PHOTO_SIZES_SUM,
				'MAX_SIZE' => Vk::MAX_ALBUM_PHOTO_SIZE,
				'RATIO_V' => Vk::MAX_ALBUM_RATIO_V,	// width / height
				'RATIO_H' => Vk::MAX_ALBUM_RATIO_H,
			);
//				CONVERT photo-id format if needed
			if (!is_array($photos))
				$photos = array($photos => array("PHOTO_BX_ID" => $photos));
			break;
		
		default:
			return $photos;
	}

//		PROCESSED
	$i = 1;
	foreach ($photos as $photoId => $photo)
	{
		if ($photoChecked = self::checkPhoto($photoId, $sizesLimits))
		{
//				MAIN photo is first
			if ($i == 1 && $needMainPhoto)
			{
				$result["PHOTO_MAIN_BX_ID"] = $photoChecked['ID'];
				$result["PHOTO_MAIN_URL"] = $photoChecked['URL'];
				$count++;    //increase limit for other photos
				$i++;
			}

//				other PHOTOS
			elseif ($i++ <= $count)
			{
				$result["PHOTOS"][$photoChecked['ID']]["PHOTO_BX_ID"] = $photoChecked['ID'];
				$result["PHOTOS"][$photoChecked['ID']]["PHOTO_URL"] = $photoChecked['URL'];
			}
			
			else
			{
				break;
			}

//				set flag if image was be resized
			if ($photoChecked['RESIZE'])
			{
				$result["RESIZE"] = true;
				$result["RESIZE_TYPE"] = $photoChecked['RESIZE'];
			}
		}
	}
	
	return $result;
}