Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $res_arr = [];
- function dir_array($dir, $reverse = false) {
- $arr = scandir($dir);
- array_shift($arr);
- array_shift($arr);
- natsort($arr);
- if ($reverse) {$arr = array_reverse($arr);}
- return $arr;
- }
- function super_print_r($output) {
- echo '<pre>';
- print_r($output);
- echo '<pre>';
- }
- function super_scan($dir, $deep_reverse = null, $deep = 2) {
- global $res_arr;
- if (isset($deep_reverse) and ($deep === $deep_reverse)) {
- $dir_arr = dir_array($dir, true);
- } else {
- $dir_arr = dir_array($dir);
- }
- $result = [];
- foreach ($dir_arr as $folder) {
- if (is_file("$dir/$folder")) {
- $res_arr[] = "$dir/$folder";
- } else {
- super_scan("$dir/$folder", $deep_reverse, $deep+1);
- }
- }
- }
- function caption($file) {
- $file = file($file);
- $result = '';
- foreach ($file as $val) {
- $vals = strval($val);
- $vals = trim(preg_replace('/\s+/', ' ', $vals));
- if (strpos($vals, "²")) {
- $result .= "
- <div class='caption__footage'>$vals</div>";
- } elseif (strpos($vals, 'дней') or strpos($vals, 'дня') or strpos($vals, 'день')){
- $result .= "
- <div class='caption__time'>$vals</div>
- </div>";
- } else {
- $result .= "
- <div class='caption'>
- <div class='caption__address'>$vals</div>";
- }
- }
- return $result;
- }
- function super_photo($arr, $number) {
- $slide_count = 1;
- $slider_photo = '';
- $last_el = $arr[count($arr)-1];
- foreach ($arr as $el) {
- $explode_el = explode('/', $el);
- if ((isset($prev_el) and (($explode_el[2] !== $explode_prev_el[2]) or ($explode_el[3] !== $explode_prev_el[3]))) or ($el === $last_el)) {
- if ($slide_count === $number) {
- return $slider_photo;
- }
- $slider_photo = '';
- $slide_count++;
- }
- if ($explode_el[4] === 'full') {
- $medium = str_replace('full', 'medium', $el);
- $slider_photo .= "
- <div class='swiper-slide'>
- <div class='photo'>
- <a href='$el' class='fancybox'>
- <img data-src='$medium' alt='' class='swiper-lazy'>
- <div class='swiper-lazy-preloader'></div>
- </a>
- </div>
- </div>";
- }
- $prev_el = $el;
- $explode_prev_el = $explode_el;
- }
- }
- function super_thumbs($arr, $number) {
- $slide_count = 1;
- $slider_photo = '';
- $last_el = $arr[count($arr)-1];
- foreach ($arr as $el) {
- $explode_el = explode('/', $el);
- if ((isset($prev_el) and (($explode_el[2] !== $explode_prev_el[2]) or ($explode_el[3] !== $explode_prev_el[3]))) or ($el === $last_el)) {
- if ($slide_count === $number) {
- return $slider_photo;
- }
- $slider_photo = '';
- $slide_count++;
- }
- if ($explode_el[4] === 'full') {
- $thumbs = str_replace('full', 'thumbs', $el);
- $slider_photo .= "
- <div class='swiper-slide'>
- <img data-src='$thumbs' alt='' class='swiper-lazy'>
- <div class='swiper-lazy-preloader'></div>
- </div>";
- }
- $prev_el = $el;
- $explode_prev_el = $explode_el;
- }
- }
- function super_division($arr) {
- $forSlider1 = '0';
- $forSlider2 = '';
- $fs = 0;
- $slider= "<div class='swiper-container gallery-all'>
- <div class='swiper-wrapper'>";
- $slide_count = 1;
- $last_el = $arr[count($arr)-1];
- foreach ($arr as $el) {
- $explode_el = explode('/', $el);
- if ((isset($prev_el) and (($explode_el[2] !== $explode_prev_el[2]) or ($explode_el[3] !== $explode_prev_el[3]))) or ($el === $last_el)) {
- if ($slide_count === 1) {
- $slider .= "
- <div class='swiper-slide'>
- <div class='swiper-container gallery-top gallery-top-active'>
- <div class='swiper-wrapper'>" .
- super_photo($arr, $slide_count) . "
- </div>
- </div>
- <div class='swiper-container gallery-thumbs gallery-thumbs-active'>
- <div class='swiper-wrapper'>" .
- super_thumbs($arr, $slide_count) . "
- </div>
- </div>";
- } else {
- $slider .= "
- <div class='swiper-slide'>
- <div class='swiper-container gallery-top'>
- <div class='swiper-wrapper'>" .
- super_photo($arr, $slide_count) . "
- </div>
- </div>
- <div class='swiper-container gallery-thumbs'>
- <div class='swiper-wrapper'>" .
- super_thumbs($arr, $slide_count) . "
- </div>
- </div>";
- }
- $slider .= $slider_caption;
- $slider .= "
- </div>";
- $slide_count++;
- $forSlider2 .= ",$fs";
- }
- if ($explode_el[4] === 'description.txt') {
- $slider_caption = caption($el);
- }
- if (isset($explode_prev_el[2]) and ($explode_el[2] !== $explode_prev_el[2])) {
- $slide_count_minus_one = $slide_count - 1;
- $forSlider1 .= ",$slide_count_minus_one";
- $fs++;
- }
- $prev_el = $el;
- $explode_prev_el = $explode_el;
- }
- $slider .= "
- </div>
- <div class='swiper-pagination'></div>
- <div class='swiper-button-next'><span>></span></div>
- <div class='swiper-button-prev'><span><</span></div>
- </div>";
- echo "<div>$forSlider1</div>";
- echo "
- <div>$forSlider2</div>
- ";
- return $slider;
- }
- super_scan('uploads', 4);
- // super_print_r($res_arr);
- echo super_division($res_arr);
- // super_print_r(super_division($res_arr));
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement