detail-gallery.php 7.58 KB
<link rel="stylesheet" href="/css/owl.theme.css">
<link rel="stylesheet" href="/css/owl.carousel.css">
<!-- <link rel="stylesheet" href="/css/scroll.css">



<?

require_once($_SERVER['DOCUMENT_ROOT'].'/mobile_detect.php');

$detect = new Mobile_Detect; // Инициализируем копию класса
 

/** @var $item \SH\Entities\Project */
/** @var $img \Cpeople\Classes\Block\Image */
$images = array();
$images['interior'] = array('name' => 'экстерьер', 'images' => $item->getImages('IMAGES_INTERIOR'));
$images['exterior'] = array('name' => 'интерьер', 'images' => $item->getImages('IMAGES_EXTERIOR'));
$images['plans'] = array('name' => 'планировку', 'images' => $item->getImages('IMAGES_PLANING'));
foreach($images as $key => $arImage) {
    if(!$arImage['images']) {
        unset($images[$key]);
    }
}

if(!$images) {
    if($imgs = $item->getImages('IMAGES_PROJECT')) {
        $images['alone'] = array('name' => 'изображения', 'images' => $imgs);
    } elseif($item->hasPreviewImage()) {
        $images['alone'] = array('name' => 'изображения', 'images' => array(\Cpeople\Classes\Block\Image::fromId($item->PREVIEW_PICTURE)));
    }
}



if(isset($images['plans'])) {
    $planImageId = reset($images['plans']['images']);
    $planImageId = $planImageId->getId();

    foreach($images['plans']['images'] as $img) {
        $img->isPlan = true;
    }
}

if($images) {
    $allImages = array();
    foreach($images as $arImages) {
        $allImages = array_merge($allImages, $arImages['images']);
    }
    $images = array('images' => array('name' => 'Изображения', 'images' => $allImages));

    if(isset($planImageId)) {
        $planImageI = 0;
        foreach($allImages as $i => $img) {
            if($img->getId() === $planImageId) {
                $planImageI = $i;
                break;
            }
        }
    }
}
?>

<!--    <i class="flaticon-search" id='previewer_toggle'></i>-->
    <div class="project-galleries" >

        <?/*<nav class="project-galleries-nav">
<? $i = 0; ?>
<? foreach($images as $key => $arImage) { ?>
            <a href="#!" class="project-galleries-nav-item js-project-galleries-nav _<?= $key ?><? if(!$i++) { ?> _active<? } ?>"
               data-type="<?= $key ?>" style="background-image: url(<?= $arImage['images'][0]->getThumbUrl(array('width' => 190, 'height' => 100, 'type' => 'put_out')) ?>">
                <span class="va"></span>
                    <span class="project-galleries-nav-item-text">Посмотреть
                        <span class="project-galleries-nav-item-bigger"><?= $arImage['name'] ?></span>
                    </span>
            </a>
<? } ?>
        </nav>*/?>
<? $imgNumber = 1;
$prevNum = 0; ?>
<? foreach($images as $key => $arImage) { ?>
        <div class="project-gallery _<?= $key ?> js-project-gallery" data-type="<?= $key ?>">
            <div id="cursor">
                <div id='cursor_inside'></div>
            </div>
            <div id='pleasewaitScreen' class="project-gallery-items">
                <a href="#!" class="project-gallery-prev js-project-gallery-prev"></a>
                <a href="#!" class="project-gallery-next js-project-gallery-next"></a>
                <a href="#!" class="project-gallery-previews-toggle js-project-gallery-previews-toggle"></a>
                <div class="project-gallery-num">
                    <span class="project-gallery-num-current js-current"><?= count($arImage['images']) < 10 ? 0 : '' ?>1</span>
                    <span class="project-gallery-num-div">/</span>
                    <span class="project-gallery-num-total js-total"><?= count($arImage['images']) ?></span>
                </div>

                    <ul class="project_slider">
<? foreach($arImage['images'] as $img) {

    $ext = end(explode('.', $img->getUrl()));
        $previews[$prevNum] = $img;

        if($imgNumber < 2 and $ext != 'mp4' ) { 

                    
                    $imgNumber++ ;

                    
                    ?>

                    <li class="project-gallery-item js-slide<? if($img->isPlan) { ?> _plan<? } ?>" style="background-image: url(<?= $img->getUrl() ?>)">

        <? } elseif ($imgNumber >= 2 and $ext != 'mp4') { 

                    
                    $imgNumber++ ;


                    ?>
 
                    <li class="project-gallery-item js-slide<? if($img->isPlan) { ?> _plan<? } ?>" data-original="<?= $img->getUrl() ?>" >

        <? } ?>

        <? if($desc = $img->getDescription()) { ?>

                <h4 class="project-gallery-item-title"><?= $desc ?></h4>
        
        <? } ?>
                       
                        
                       <? if ( $ext == 'mp4' ) { 

                            if ( !$detect->isMobile() ) {

                        ?> 
                            
                            <li class="project-gallery-item js-slide">
        

                                <video autoplay  src="<?=$img->getUrl();?>" class="project_video" loop>
                                    
                                    <source  type="video/mp4" src="<?=$img->getUrl();?>">
                                
                                </video>

                            

                        <?
                            }

                        } elseif (1 == 2) { ?>

                            <img alt="<?= ($val = $img->getDescription()) ? $val : $item->getImgAlt($imgNumber) ?>" src="<?= $img->getUrl() ?>" style="display:none">

                      <?  } ?>

                    </li>
                        <? 

                            $prevNum ++;

                    } ?>
                </ul>
            </div>
            <div class="project-gallery-previews">
                <a href="#!" class="project-gallery-prev js-project-gallery-prev"></a>
                <a href="#!" class="project-gallery-next js-project-gallery-next"></a>
                <a href="#!" class="project-gallery-previews-close js-project-gallery-previews-toggle"></a>
                <div class="project-gallery-paging js-project-gallery-paging"></div>
                <ul class="project-gallery-previews-wr js-project-previews">

<? $imgNumber = 0 ?>
<? $imgsChunked = array_chunk($arImage['images'], 12) ?>



<?  foreach($previews as $pr_key => $img) {  // Построение превью

        $renderImage = \CFile::ResizeImageGet($img->getId(), Array("width" => 204, "height" => 127), BX_RESIZE_IMAGE_EXACT, false); 
        //var_dump($renderImage);
        //var_dump($img->getId());

        $ext = end(explode('.', $img->getUrl()));
        
        if ( $ext != 'mp4') {
        //  $img->getThumbUrl(array('width' => 204, 'height' => 127, 'type' => 'put_out')) 
        $imgNumber++ ?>
                
                <li>                
                
                    <a href="#!" class="project-gallery-previews-item js-project-gallery-preview" data-goto="<?=$pr_key;?>" ><img src="<?=$renderImage['src']?>" alt="<?= ($val = $img->getDescription()) ? $val : $item->getImgAlt($imgNumber) ?>"/></a>
                
                </li>


        <? } 

            else {
                $imgNumber++;
                ?>

                    <li class='video_preview_wrap'>                
                
                        <a href="#!" class="project-gallery-previews-item js-project-gallery-preview video_previewer" data-goto="<?=$pr_key;?>" ></a>
                
                    </li>  
                    
                <?

            }

        } ?>

                
                </ul>
            
            <!-- </div> -->
        
       <!--  </div> -->
<? } ?>
    
    </div>