Advertisement
Guest User

Untitled

a guest
Feb 20th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.88 KB | None | 0 0
  1. <?php
  2. $res_arr = [];
  3.  
  4. function dir_array($dir, $reverse = false) {
  5. $arr = scandir($dir);
  6. array_shift($arr);
  7. array_shift($arr);
  8. natsort($arr);
  9. if ($reverse) {$arr = array_reverse($arr);}
  10. return $arr;
  11. }
  12.  
  13. function super_print_r($output) {
  14. echo '<pre>';
  15. print_r($output);
  16. echo '<pre>';
  17. }
  18.  
  19. function super_scan($dir, $deep_reverse = null, $deep = 2) {
  20. global $res_arr;
  21. if (isset($deep_reverse) and ($deep === $deep_reverse)) {
  22. $dir_arr = dir_array($dir, true);
  23. } else {
  24. $dir_arr = dir_array($dir);
  25. }
  26. $result = [];
  27. foreach ($dir_arr as $folder) {
  28. if (is_file("$dir/$folder")) {
  29. $res_arr[] = "$dir/$folder";
  30. } else {
  31. super_scan("$dir/$folder", $deep_reverse, $deep+1);
  32. }
  33. }
  34. }
  35.  
  36. function caption($file) {
  37. $file = file($file);
  38. $result = '';
  39. foreach ($file as $val) {
  40. $vals = strval($val);
  41. $vals = trim(preg_replace('/\s+/', ' ', $vals));
  42. if (strpos($vals, "&sup2;")) {
  43. $result .= "
  44. <div class='caption__footage'>$vals</div>";
  45. } elseif (strpos($vals, 'дней') or strpos($vals, 'дня') or strpos($vals, 'день')){
  46. $result .= "
  47. <div class='caption__time'>$vals</div>
  48. </div>";
  49. } else {
  50. $result .= "
  51. <div class='caption'>
  52. <div class='caption__address'>$vals</div>";
  53. }
  54. }
  55. return $result;
  56. }
  57.  
  58. function super_photo($arr, $number) {
  59. $slide_count = 1;
  60. $slider_photo = '';
  61. $last_el = $arr[count($arr)-1];
  62. foreach ($arr as $el) {
  63.  
  64. $explode_el = explode('/', $el);
  65.  
  66. if ((isset($prev_el) and (($explode_el[2] !== $explode_prev_el[2]) or ($explode_el[3] !== $explode_prev_el[3]))) or ($el === $last_el)) {
  67. if ($slide_count === $number) {
  68. return $slider_photo;
  69. }
  70. $slider_photo = '';
  71. $slide_count++;
  72. }
  73.  
  74. if ($explode_el[4] === 'full') {
  75. $medium = str_replace('full', 'medium', $el);
  76. $slider_photo .= "
  77. <div class='swiper-slide'>
  78. <div class='photo'>
  79. <a href='$el' class='fancybox'>
  80. <img data-src='$medium' alt='' class='swiper-lazy'>
  81. <div class='swiper-lazy-preloader'></div>
  82. </a>
  83. </div>
  84. </div>";
  85. }
  86.  
  87. $prev_el = $el;
  88. $explode_prev_el = $explode_el;
  89. }
  90. }
  91.  
  92. function super_thumbs($arr, $number) {
  93. $slide_count = 1;
  94. $slider_photo = '';
  95. $last_el = $arr[count($arr)-1];
  96. foreach ($arr as $el) {
  97.  
  98. $explode_el = explode('/', $el);
  99.  
  100. if ((isset($prev_el) and (($explode_el[2] !== $explode_prev_el[2]) or ($explode_el[3] !== $explode_prev_el[3]))) or ($el === $last_el)) {
  101. if ($slide_count === $number) {
  102. return $slider_photo;
  103. }
  104. $slider_photo = '';
  105. $slide_count++;
  106. }
  107.  
  108. if ($explode_el[4] === 'full') {
  109. $thumbs = str_replace('full', 'thumbs', $el);
  110. $slider_photo .= "
  111. <div class='swiper-slide'>
  112. <img data-src='$thumbs' alt='' class='swiper-lazy'>
  113. <div class='swiper-lazy-preloader'></div>
  114. </div>";
  115. }
  116.  
  117. $prev_el = $el;
  118. $explode_prev_el = $explode_el;
  119. }
  120. }
  121.  
  122. function super_division($arr) {
  123. $forSlider1 = '0';
  124. $forSlider2 = '';
  125. $fs = 0;
  126. $slider= "<div class='swiper-container gallery-all'>
  127. <div class='swiper-wrapper'>";
  128. $slide_count = 1;
  129. $last_el = $arr[count($arr)-1];
  130. foreach ($arr as $el) {
  131. $explode_el = explode('/', $el);
  132.  
  133. if ((isset($prev_el) and (($explode_el[2] !== $explode_prev_el[2]) or ($explode_el[3] !== $explode_prev_el[3]))) or ($el === $last_el)) {
  134. if ($slide_count === 1) {
  135. $slider .= "
  136. <div class='swiper-slide'>
  137. <div class='swiper-container gallery-top gallery-top-active'>
  138. <div class='swiper-wrapper'>" .
  139. super_photo($arr, $slide_count) . "
  140. </div>
  141. </div>
  142. <div class='swiper-container gallery-thumbs gallery-thumbs-active'>
  143. <div class='swiper-wrapper'>" .
  144. super_thumbs($arr, $slide_count) . "
  145. </div>
  146. </div>";
  147. } else {
  148. $slider .= "
  149. <div class='swiper-slide'>
  150. <div class='swiper-container gallery-top'>
  151. <div class='swiper-wrapper'>" .
  152. super_photo($arr, $slide_count) . "
  153. </div>
  154. </div>
  155. <div class='swiper-container gallery-thumbs'>
  156. <div class='swiper-wrapper'>" .
  157. super_thumbs($arr, $slide_count) . "
  158. </div>
  159. </div>";
  160. }
  161.  
  162. $slider .= $slider_caption;
  163. $slider .= "
  164. </div>";
  165.  
  166. $slide_count++;
  167. $forSlider2 .= ",$fs";
  168. }
  169.  
  170. if ($explode_el[4] === 'description.txt') {
  171. $slider_caption = caption($el);
  172. }
  173.  
  174.  
  175. if (isset($explode_prev_el[2]) and ($explode_el[2] !== $explode_prev_el[2])) {
  176. $slide_count_minus_one = $slide_count - 1;
  177. $forSlider1 .= ",$slide_count_minus_one";
  178. $fs++;
  179. }
  180.  
  181. $prev_el = $el;
  182. $explode_prev_el = $explode_el;
  183.  
  184. }
  185. $slider .= "
  186. </div>
  187. <div class='swiper-pagination'></div>
  188. <div class='swiper-button-next'><span>></span></div>
  189. <div class='swiper-button-prev'><span><</span></div>
  190. </div>";
  191. echo "<div>$forSlider1</div>";
  192. echo "
  193. <div>$forSlider2</div>
  194. ";
  195. return $slider;
  196. }
  197.  
  198. super_scan('uploads', 4);
  199. // super_print_r($res_arr);
  200. echo super_division($res_arr);
  201. // super_print_r(super_division($res_arr));
  202.  
  203. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement