Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.48 KB | None | 0 0
  1. <?php
  2. function removeBOM($data) {
  3.     if (0 === strpos(bin2hex($data), 'efbbbf')) {
  4.        return substr($data, 3);
  5.     }
  6.     return $data;
  7. }
  8.  
  9. function getAllImagesProduct($productId,$IBlockId){
  10.     $cdnImages = array();
  11.     $localImages = array();
  12.     $localImageMain = array();
  13.     $cdnImage = array();
  14.     $arSelect = Array("ID", "NAME", "DETAIL_PICTURE", "PROPERTY_MORE_PHOTO", "PROPERTY_CDN_MAIN_IMAGE", "PROPERTY_CDN_IMAGES","PROPERTY_KARTINKI_V_CDN");
  15.     $arFilter = Array("IBLOCK_ID"=>IntVal($IBlockId), "ID"=>$productId, "ACTIVE"=>"Y");
  16.     $res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);
  17.     while($ob = $res->GetNextElement()){
  18.         $arFields = $ob->GetFields();
  19.         $cdnImageMainUrl = $arFields["PROPERTY_CDN_MAIN_IMAGE_VALUE"];
  20.         $cdnImageUrl = $arFields["PROPERTY_CDN_IMAGES_VALUE"];
  21.         $arFields['PROPERTY_KARTINKI_V_CDN_VALUE'] = str_replace('&quot;', '"', $arFields['PROPERTY_KARTINKI_V_CDN_VALUE']);
  22.         $cdnImageFrom1C = json_decode($arFields["PROPERTY_KARTINKI_V_CDN_VALUE"],1);
  23.        
  24.        
  25.        
  26.  
  27.         $localImageMainSrc = CFile::GetPath($arFields["DETAIL_PICTURE"]);
  28.         if(!in_array($cdnImageMainUrl,$localImageMain) && $cdnImageMainUrl){
  29.             $cdnImage[] = $cdnImageMainUrl;
  30.         }
  31.         if(!in_array($localImageMainSrc,$localImageMain) && $localImageMainSrc){
  32.             $localImageMain[] = $localImageMainSrc;
  33.         }
  34.         if(!in_array($cdnImageUrl,$cdnImages) && $cdnImageUrl){
  35.             $cdnImages[] = $cdnImageUrl;
  36.         }  
  37.         $localImageSrc =  CFile::GetPath($arFields["PROPERTY_MORE_PHOTO_VALUE"]);
  38.         if(!in_array($localImageSrc,$localImages) && $localImageSrc){
  39.             $localImages[] = $localImageSrc;
  40.         }
  41.     }
  42.     //картинки из 1с
  43.     //Отделяем главную картинку от остальных(картинки загруженные из 1с)
  44.  
  45.         foreach ($cdnImageFrom1C as $key => $value){
  46.             if($value['main']) {
  47.                 $cdnImageMainUrl1C = $value['URL'];
  48.             }
  49.             else {
  50.                 $cdnImageUrl1C[]=$value['URL'];
  51.             }          
  52.         }
  53.  
  54.         if(isset($cdnImageMainUrl1C) && isset($cdnImageUrl1C)){
  55.             array_unshift($cdnImageUrl1C,$cdnImageMainUrl1C);
  56.         }
  57.        
  58.  
  59.         if(empty($cdnImage) && !empty($cdnImageMainUrl1C)){
  60.             $cdnImage[] = $cdnImageMainUrl1C;            
  61.         }
  62.  
  63.         if(empty($cdnImages) && !empty($cdnImageUrl1C)){
  64.             $cdnImages = $cdnImageUrl1C;            
  65.         }
  66.     //
  67.  
  68.     $noImage = array("/local/templates/main/i/no_photo.png");
  69.     if(count($cdnImages)){
  70.         return $cdnImages;
  71.     }else{
  72.         if(count($cdnImage)) {
  73.             return $cdnImage;
  74.         } else {
  75.             if(count($localImages)){
  76.                 $localImagesMain =array_merge($localImageMain, $localImages);
  77.                 return $localImagesMain;
  78.             }else{
  79.                 if(count($localImageMain)){
  80.                     return $localImageMain;
  81.                 } else {
  82.                     return $noImage;
  83.                 }            
  84.             }
  85.         }
  86.     }
  87. }
  88.  
  89. function getMainImageProduct($productId,$IBlockId){
  90.     $arSelect = Array("ID", "NAME", "DETAIL_PICTURE", "PROPERTY_CDN_MAIN_IMAGE", "PROPERTY_KARTINKI_V_CDN");
  91.     $arFilter = Array("IBLOCK_ID"=>IntVal($IBlockId), "ID"=>$productId, "ACTIVE"=>"Y");
  92.     $res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);
  93.     while($ob = $res->GetNextElement()){
  94.         $arFields = $ob->GetFields();
  95.         $cdnImage = $arFields["PROPERTY_CDN_MAIN_IMAGE_VALUE"];
  96.         $localImage = CFile::GetPath($arFields["DETAIL_PICTURE"]);
  97.         $arFields['PROPERTY_KARTINKI_V_CDN_VALUE'] = str_replace('&quot;', '"', $arFields['PROPERTY_KARTINKI_V_CDN_VALUE']);
  98.         $cdnImageFrom1C = json_decode($arFields["PROPERTY_KARTINKI_V_CDN_VALUE"],1);
  99.        
  100.         foreach ($cdnImageFrom1C as $key => $value){
  101.             if($value['main']) {
  102.                 $cdnImageMainUrl1C = $value['URL'];
  103.                 break;
  104.             }      
  105.         }
  106.  
  107.         if(isset($cdnImageMainUrl1C)){
  108.             $cdnImage = $cdnImageMainUrl1C;
  109.         }
  110.     }
  111.     $noImageUrl = "/local/templates/main/i/no_photo_small.png";
  112.     if($cdnImage){
  113.         return $cdnImage;
  114.     }else{
  115.         if($localImage){
  116.             return $localImage;
  117.         }else{
  118.             return $noImageUrl;
  119.         }
  120.     }
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement