PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 1.3.1
JetFormBuilder — Dynamic Blocks Form Builder v1.3.1
3.6.3.1 3.6.3 3.6.2.2 3.6.2.1 3.6.2 3.6.1.1 3.6.1 3.6.0.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.1.0 2.1.1 2.1.10 2.1.11 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.0 3.0.0.1 3.0.0.2 3.0.0.3 3.0.1 3.0.1.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.0.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.3.2 3.3.3 3.3.3.1 3.3.4 3.3.4.1 3.3.4.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.5.1 3.4.5.2 3.4.6 3.4.7 3.4.7.1 3.5.0 3.5.1 3.5.1.1 3.5.1.2 3.5.2 3.5.2.1 3.5.3 3.5.4 3.5.5 3.5.6 3.5.6.1 3.5.6.2 3.5.6.3 3.6.0
jetformbuilder / includes / classes / gallery.php
jetformbuilder / includes / classes Last commit date
attributes-trait.php 4 years ago builder-helper.php 4 years ago condition-helper.php 4 years ago curl-helper.php 4 years ago factory.php 4 years ago gallery.php 4 years ago get-icon-trait.php 4 years ago get-template-trait.php 4 years ago instance-trait.php 4 years ago listing-filter-manager.php 4 years ago listing-filter.php 4 years ago messages-helper-trait.php 4 years ago tools.php 4 years ago
gallery.php
192 lines
1 <?php
2
3
4 namespace Jet_Form_Builder\Classes;
5
6
7 class Gallery {
8
9 /**
10 * Render images gallery as slider
11 *
12 * @param array $images [description]
13 * @param array $args [description]
14 *
15 * @return [type] [description]
16 */
17 public static function slider( $images = array(), $args = array() ) {
18
19 if ( empty( $images ) ) {
20 return '';
21 }
22
23 wp_enqueue_script( 'jquery-slick' );
24 wp_enqueue_script( 'imagesloaded' );
25 wp_enqueue_script( 'jet-engine-frontend' );
26
27 $args = wp_parse_args( $args, array(
28 'size' => 'full',
29 'lightbox' => false,
30 'slides_to_show' => 1,
31 'slides_to_show_t' => false,
32 'slides_to_show_m' => false,
33 ) );
34
35 $slider_atts = array(
36 'slidesToShow' => $args['slides_to_show'],
37 'dots' => false,
38 'slidesToScroll' => 1,
39 'adaptiveHeight' => true,
40 'prevArrow' => '<i class="fa fa-angle-left prev-arrow jet-engine-arrow"></i>',
41 'nextArrow' => '<i class="fa fa-angle-right next-arrow jet-engine-arrow"></i>',
42 'rtl' => is_rtl(),
43 );
44
45 $mobile_settings = apply_filters( 'jet-form-builder/gallery/slider/mobile-settings', array(
46 'slides_to_show_t' => 1025,
47 'slides_to_show_m' => 768,
48 ) );
49
50 foreach ( $mobile_settings as $key => $breakpoint ) {
51
52 if ( ! empty( $args[ $key ] ) ) {
53
54 if ( ! isset( $slider_atts['responsive'] ) ) {
55 $slider_atts['responsive'] = array();
56 }
57
58 $slider_atts['responsive'][] = array(
59 'breakpoint' => $breakpoint,
60 'settings' => array(
61 'slidesToShow' => $args[ $key ],
62 ),
63 );
64
65 }
66 }
67
68 $slider_atts = apply_filters( 'jet-form-builder/gallery/slider/atts', $slider_atts );
69 $slider_atts = htmlspecialchars( json_encode( $slider_atts ) );
70
71 echo '<div class="jet-engine-gallery-slider" data-atts="' . $slider_atts . '">';
72
73 $gallery_id = self::get_gallery_id();
74
75 foreach ( $images as $img_id ) {
76
77 if ( 'full' === $args['size'] ) {
78 $img_url = $img_full = wp_get_attachment_image_url( $img_id, $args['size'] );
79 } else {
80 $img_url = wp_get_attachment_image_url( $img_id, $args['size'] );
81 $img_full = wp_get_attachment_image_url( $img_id, 'full' );
82 }
83
84 echo '<div class="jet-engine-gallery-slider__item">';
85
86 if ( $args['lightbox'] ) {
87 echo '<a href="' . $img_full . '" class="jet-engine-gallery-slider__item-wrap jet-engine-gallery-item-wrap is-lightbox" data-elementor-open-lightbox="yes" data-elementor-lightbox-slideshow="' . $gallery_id . '">';
88 } else {
89 echo '<span class="jet-engine-gallery-slider__item-wrap jet-engine-gallery-item-wrap">';
90 }
91
92 $alt = get_post_meta( $img_id, '_wp_attachment_image_alt', true );
93
94 echo '<img src="' . $img_url . '" alt="' . $alt . '" class="jet-engine-gallery-slider__item-img">';
95
96 if ( $args['lightbox'] ) {
97 echo '</a>';
98 } else {
99 echo '</span>';
100 }
101
102 echo '</div>';
103
104 }
105
106 echo '</div>';
107
108 }
109
110 /**
111 * Render images gallery as grid
112 *
113 * @param array $images [description]
114 * @param string $size [description]
115 * @param boolean $lightbox [description]
116 *
117 * @return string
118 */
119 public static function grid( $images = array(), $args = array() ) {
120
121 if ( empty( $images ) ) {
122 return '';
123 }
124
125 $args = wp_parse_args( $args, array(
126 'size' => 'full',
127 'lightbox' => false,
128 'cols_desk' => 3,
129 'cols_tablet' => 3,
130 'cols_mobile' => 1,
131 ) );
132
133 ob_start();
134
135 $classes = array(
136 'grid-col-desk-' . $args['cols_desk'],
137 'grid-col-tablet-' . $args['cols_tablet'],
138 'grid-col-mobile-' . $args['cols_mobile'],
139 );
140 $classes = sprintf( ' %s', implode( ' ', $classes ) );
141
142 echo '<div class="jet-engine-gallery-grid' . $classes . '">';
143
144 $gallery_id = self::get_gallery_id();
145
146 foreach ( $images as $img_id ) {
147
148 if ( 'full' === $args['size'] ) {
149 $img_url = $img_full = wp_get_attachment_image_url( $img_id, $args['size'] );
150 } else {
151 $img_url = wp_get_attachment_image_url( $img_id, $args['size'] );
152 $img_full = wp_get_attachment_image_url( $img_id, 'full' );
153 }
154
155 echo '<div class="jet-engine-gallery-grid__item">';
156
157 if ( $args['lightbox'] ) {
158 echo '<a href="' . $img_full . '" class="jet-engine-gallery-grid__item-wrap jet-engine-gallery-item-wrap is-lightbox" data-elementor-open-lightbox="yes" data-elementor-lightbox-slideshow="' . $gallery_id . '">';
159 } else {
160 echo '<span class="jet-engine-gallery-grid__item-wrap jet-engine-gallery-item-wrap">';
161 }
162
163 $alt = get_post_meta( $img_id, '_wp_attachment_image_alt', true );
164
165 echo '<img src="' . $img_url . '" alt="' . $alt . '" class="jet-engine-gallery-grid__item-img">';
166
167 if ( $args['lightbox'] ) {
168 echo '</a>';
169 } else {
170 echo '</span>';
171 }
172
173 echo '</div>';
174
175 }
176
177 echo '</div>';
178
179 return ob_get_clean();
180
181 }
182
183 /**
184 * Returns random ID for gallery
185 *
186 * @return [type] [description]
187 */
188 public static function get_gallery_id() {
189 return 'gallery_' . rand( 1000, 9999 );
190 }
191
192 }