Responsive Lightbox & Gallery - Version 2.4.0

Version Description

  • New: WordPress 6.0 compatibility
  • New: HTML5 Media Library videos support (with Lightgallery, Fancybox Pro and Lightcase lightboxes)
  • New: Embed Youtube & Vimeo videos support (with Lightgallery, Fancybox Pro and Lightcase lightboxes)
  • New: Lightbox Comments extension
  • New: WP Gallery block support
  • New: WP Image block support
Download this release

Release Info

Developer dfactory
Plugin Icon 128x128 Responsive Lightbox & Gallery
Version 2.4.0
Comparing to
See all releases

Code changes from version 2.3.5 to 2.4.0

assets/swipebox/swipebox.css CHANGED
@@ -21,6 +21,14 @@ html.swipebox-html.swipebox-touch {
21
  user-select: none;
22
  }
23
 
 
 
 
 
 
 
 
 
24
  #swipebox-container {
25
  position: relative;
26
  width: 100%;
21
  user-select: none;
22
  }
23
 
24
+ .admin-bar #swipebox-overlay {
25
+ top: 32px;
26
+ }
27
+
28
+ .admin-bar #swipebox-container {
29
+ bottom: 32px;
30
+ }
31
+
32
  #swipebox-container {
33
  position: relative;
34
  width: 100%;
assets/swipebox/swipebox.min.css CHANGED
@@ -1,2 +1,2 @@
1
  /*! Swipebox v1.5.2 | Constantin Saguin csag.co | MIT License | github.com/brutaldesign/swipebox */
2
- html.swipebox-html.swipebox-touch{overflow:hidden!important}#swipebox-overlay img{border:none!important}#swipebox-overlay{width:100%;height:100%;position:fixed;top:0;left:0;z-index:99999!important;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#swipebox-container{position:relative;width:100%;height:100%}#swipebox-slider{-webkit-transition:-webkit-transform 0.4s ease;transition:transform 0.4s ease;height:100%;left:0;top:0;width:100%;white-space:nowrap;position:absolute;display:none;cursor:pointer}#swipebox-slider .slide{height:100%;width:100%;line-height:1px;text-align:center;display:inline-block}#swipebox-slider .slide:before{content:"";display:inline-block;height:50%;width:1px;margin-right:-1px}#swipebox-slider .slide img,#swipebox-slider .slide .swipebox-video-container,#swipebox-slider .slide .swipebox-inline-container{display:inline-block;max-height:100%;max-width:100%;margin:0;padding:0;width:auto;height:auto;vertical-align:middle}#swipebox-slider .slide .swipebox-video-container{background:none;max-width:1140px;max-height:100%;width:100%;padding:5%;-webkit-box-sizing:border-box;box-sizing:border-box}#swipebox-slider .slide .swipebox-video-container .swipebox-video{width:100%;height:0;padding-bottom:56.25%;overflow:hidden;position:relative}#swipebox-slider .slide .swipebox-video-container .swipebox-video iframe{width:100%!important;height:100%!important;position:absolute;top:0;left:0}#swipebox-slider .slide-loading{background:url(img/loader.gif) no-repeat center center}#swipebox-bottom-bar,#swipebox-top-bar{-webkit-transition:0.5s;transition:0.5s;position:absolute;left:0;z-index:999;height:50px;width:100%}#swipebox-bottom-bar{bottom:-50px}#swipebox-bottom-bar.visible-bars{-webkit-transform:translate3d(0,-50px,0);transform:translate3d(0,-50px,0)}#swipebox-top-bar{top:-50px}#swipebox-top-bar.visible-bars{-webkit-transform:translate3d(0,50px,0);transform:translate3d(0,50px,0)}#swipebox-title{display:block;width:100%;text-align:center}#swipebox-prev,#swipebox-next,#swipebox-close{background-image:url(img/icons.png);background-repeat:no-repeat;border:none!important;text-decoration:none!important;cursor:pointer;width:50px;height:50px;top:0}#swipebox-arrows{display:block;margin:0 auto;width:100%;height:50px}#swipebox-prev{background-position:-32px 13px;float:left}#swipebox-next{background-position:-78px 13px;float:right}#swipebox-close{top:0;right:0;position:absolute;z-index:9999;background-position:15px 12px}.swipebox-no-close-button #swipebox-close{display:none}#swipebox-prev.disabled,#swipebox-next.disabled{opacity:.3}.swipebox-no-touch #swipebox-overlay.rightSpring #swipebox-slider{-webkit-animation:rightSpring 0.3s;animation:rightSpring 0.3s}.swipebox-no-touch #swipebox-overlay.leftSpring #swipebox-slider{-webkit-animation:leftSpring 0.3s;animation:leftSpring 0.3s}.swipebox-touch #swipebox-container:before,.swipebox-touch #swipebox-container:after{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:all .3s ease;transition:all .3s ease;content:' ';position:absolute;z-index:999;top:0;height:100%;width:20px;opacity:0}.swipebox-touch #swipebox-container:before{left:0;-webkit-box-shadow:inset 10px 0 10px -8px #656565;box-shadow:inset 10px 0 10px -8px #656565}.swipebox-touch #swipebox-container:after{right:0;-webkit-box-shadow:inset -10px 0 10px -8px #656565;box-shadow:inset -10px 0 10px -8px #656565}.swipebox-touch #swipebox-overlay.leftSpringTouch #swipebox-container:before{opacity:1}.swipebox-touch #swipebox-overlay.rightSpringTouch #swipebox-container:after{opacity:1}@-webkit-keyframes rightSpring{0%{left:0}50%{left:-30px}100%{left:0}}@keyframes rightSpring{0%{left:0}50%{left:-30px}100%{left:0}}@-webkit-keyframes leftSpring{0%{left:0}50%{left:30px}100%{left:0}}@keyframes leftSpring{0%{left:0}50%{left:30px}100%{left:0}}@media screen and (min-width:800px){#swipebox-close{right:10px}#swipebox-arrows{width:92%;max-width:800px}}#swipebox-overlay{background:#0d0d0d}#swipebox-bottom-bar,#swipebox-top-bar{text-shadow:1px 1px 1px black;background:#000;opacity:.95}#swipebox-top-bar{color:white!important;font-size:15px;line-height:43px;font-family:Helvetica,Arial,sans-serif}
1
  /*! Swipebox v1.5.2 | Constantin Saguin csag.co | MIT License | github.com/brutaldesign/swipebox */
2
+ html.swipebox-html.swipebox-touch{overflow:hidden!important}#swipebox-overlay img{border:none!important}#swipebox-overlay{width:100%;height:100%;position:fixed;top:0;left:0;z-index:99999!important;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.admin-bar #swipebox-overlay{top: 32px;}.admin-bar #swipebox-container {bottom: 32px;}#swipebox-container{position:relative;width:100%;height:100%}#swipebox-slider{-webkit-transition:-webkit-transform 0.4s ease;transition:transform 0.4s ease;height:100%;left:0;top:0;width:100%;white-space:nowrap;position:absolute;display:none;cursor:pointer}#swipebox-slider .slide{height:100%;width:100%;line-height:1px;text-align:center;display:inline-block}#swipebox-slider .slide:before{content:"";display:inline-block;height:50%;width:1px;margin-right:-1px}#swipebox-slider .slide img,#swipebox-slider .slide .swipebox-video-container,#swipebox-slider .slide .swipebox-inline-container{display:inline-block;max-height:100%;max-width:100%;margin:0;padding:0;width:auto;height:auto;vertical-align:middle}#swipebox-slider .slide .swipebox-video-container{background:none;max-width:1140px;max-height:100%;width:100%;padding:5%;-webkit-box-sizing:border-box;box-sizing:border-box}#swipebox-slider .slide .swipebox-video-container .swipebox-video{width:100%;height:0;padding-bottom:56.25%;overflow:hidden;position:relative}#swipebox-slider .slide .swipebox-video-container .swipebox-video iframe{width:100%!important;height:100%!important;position:absolute;top:0;left:0}#swipebox-slider .slide-loading{background:url(img/loader.gif) no-repeat center center}#swipebox-bottom-bar,#swipebox-top-bar{-webkit-transition:0.5s;transition:0.5s;position:absolute;left:0;z-index:999;height:50px;width:100%}#swipebox-bottom-bar{bottom:-50px}#swipebox-bottom-bar.visible-bars{-webkit-transform:translate3d(0,-50px,0);transform:translate3d(0,-50px,0)}#swipebox-top-bar{top:-50px}#swipebox-top-bar.visible-bars{-webkit-transform:translate3d(0,50px,0);transform:translate3d(0,50px,0)}#swipebox-title{display:block;width:100%;text-align:center}#swipebox-prev,#swipebox-next,#swipebox-close{background-image:url(img/icons.png);background-repeat:no-repeat;border:none!important;text-decoration:none!important;cursor:pointer;width:50px;height:50px;top:0}#swipebox-arrows{display:block;margin:0 auto;width:100%;height:50px}#swipebox-prev{background-position:-32px 13px;float:left}#swipebox-next{background-position:-78px 13px;float:right}#swipebox-close{top:0;right:0;position:absolute;z-index:9999;background-position:15px 12px}.swipebox-no-close-button #swipebox-close{display:none}#swipebox-prev.disabled,#swipebox-next.disabled{opacity:.3}.swipebox-no-touch #swipebox-overlay.rightSpring #swipebox-slider{-webkit-animation:rightSpring 0.3s;animation:rightSpring 0.3s}.swipebox-no-touch #swipebox-overlay.leftSpring #swipebox-slider{-webkit-animation:leftSpring 0.3s;animation:leftSpring 0.3s}.swipebox-touch #swipebox-container:before,.swipebox-touch #swipebox-container:after{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:all .3s ease;transition:all .3s ease;content:' ';position:absolute;z-index:999;top:0;height:100%;width:20px;opacity:0}.swipebox-touch #swipebox-container:before{left:0;-webkit-box-shadow:inset 10px 0 10px -8px #656565;box-shadow:inset 10px 0 10px -8px #656565}.swipebox-touch #swipebox-container:after{right:0;-webkit-box-shadow:inset -10px 0 10px -8px #656565;box-shadow:inset -10px 0 10px -8px #656565}.swipebox-touch #swipebox-overlay.leftSpringTouch #swipebox-container:before{opacity:1}.swipebox-touch #swipebox-overlay.rightSpringTouch #swipebox-container:after{opacity:1}@-webkit-keyframes rightSpring{0%{left:0}50%{left:-30px}100%{left:0}}@keyframes rightSpring{0%{left:0}50%{left:-30px}100%{left:0}}@-webkit-keyframes leftSpring{0%{left:0}50%{left:30px}100%{left:0}}@keyframes leftSpring{0%{left:0}50%{left:30px}100%{left:0}}@media screen and (min-width:800px){#swipebox-close{right:10px}#swipebox-arrows{width:92%;max-width:800px}}#swipebox-overlay{background:#0d0d0d}#swipebox-bottom-bar,#swipebox-top-bar{text-shadow:1px 1px 1px black;background:#000;opacity:.95}#swipebox-top-bar{color:white!important;font-size:15px;line-height:43px;font-family:Helvetica,Arial,sans-serif}
css/admin-galleries.css CHANGED
@@ -157,8 +157,8 @@
157
  }
158
  .rl-display-metabox {
159
  display: block !important;
 
160
  }
161
-
162
  .rl-gallery-tab-menu {
163
  margin: 10px 0;
164
  }
@@ -403,17 +403,52 @@ label[for="responsive-gallery-misc-hide"] {
403
  .media-modal.rl-edit-modal .media-toolbar {
404
  right: 0;
405
  }
 
 
 
406
  #rl-edit-attachment-modal .attachment-info .thumbnail {
407
- max-width: 100%;
408
  max-height: 200px;
409
  }
410
  #rl-edit-attachment-modal .attachment-info .thumbnail img {
411
  max-width: 100%;
412
  max-height: 200px;
413
  }
 
 
 
 
 
 
 
414
  #rl-edit-attachment-modal .attachment-details .edit-attachment {
415
  display: none;
416
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
417
 
418
  @media (max-width: 960px) {
419
  .media-modal.rl-edit-modal {
157
  }
158
  .rl-display-metabox {
159
  display: block !important;
160
+ margin-bottom: 0;
161
  }
 
162
  .rl-gallery-tab-menu {
163
  margin: 10px 0;
164
  }
403
  .media-modal.rl-edit-modal .media-toolbar {
404
  right: 0;
405
  }
406
+ #rl-edit-attachment-modal .attachment-info .details {
407
+ min-width: 65%;
408
+ }
409
  #rl-edit-attachment-modal .attachment-info .thumbnail {
410
+ max-width: calc(35% - 10px);
411
  max-height: 200px;
412
  }
413
  #rl-edit-attachment-modal .attachment-info .thumbnail img {
414
  max-width: 100%;
415
  max-height: 200px;
416
  }
417
+ #rl-edit-attachment-modal .attachment-info .wp-media-wrapper {
418
+ max-width: calc(35% - 10px);
419
+ float: left;
420
+ margin-top: 5px;
421
+ margin-right: 10px;
422
+ margin-bottom: 5px;
423
+ }
424
  #rl-edit-attachment-modal .attachment-details .edit-attachment {
425
  display: none;
426
  }
427
+ #rl-edit-attachment-modal .attachment-details .setting .name {
428
+ min-width: 34%;
429
+ margin-right: 0;
430
+ }
431
+ #rl-edit-attachment-modal .compat-item .label {
432
+ min-width: 34%;
433
+ margin-right: 0;
434
+ }
435
+
436
+ @media only screen and (max-width: 640px), screen and (max-height: 400px) {
437
+ #rl-edit-attachment-modal .media-sidebar {
438
+ z-index: inherit;
439
+ max-width: 100%;
440
+ bottom: 0;
441
+ box-sizing: border-box;
442
+ padding-bottom: 0;
443
+ }
444
+ #rl-edit-attachment-modal .attachment-info .thumbnail {
445
+ max-width: 100%;
446
+ }
447
+ #rl-edit-attachment-modal .attachment-info .wp-media-wrapper {
448
+ max-width: 100%;
449
+ }
450
+ }
451
+
452
 
453
  @media (max-width: 960px) {
454
  .media-modal.rl-edit-modal {
css/admin-gallery.css CHANGED
@@ -78,4 +78,15 @@
78
  #rl-modal-gallery .media-frame.hide-router .media-frame-content {
79
  top: 50px;
80
  }
 
 
 
 
 
 
 
 
 
 
 
81
  }
78
  #rl-modal-gallery .media-frame.hide-router .media-frame-content {
79
  top: 50px;
80
  }
81
+ #rl-edit-attachment-modal .compat-item .label {
82
+ width: 100%;
83
+ text-align: left;
84
+ }
85
+ #rl-edit-attachment-modal .compat-item .label br {
86
+ display: none;
87
+ }
88
+ .compat-item .field {
89
+ width: 99%;
90
+ float: left;
91
+ }
92
  }
images/responsive-lightbox-video-thumbnail.png ADDED
Binary file
includes/class-folders.php CHANGED
@@ -875,7 +875,7 @@ class Responsive_Lightbox_Folders {
875
  * @global string $pagenow
876
  * @global object $wp_list_table
877
  * @global array $_wp_admin_css_colors
878
- *
879
  * @param string $page Current page similar to $pagenow depends on from which filter function was called
880
  * @return void
881
  */
875
  * @global string $pagenow
876
  * @global object $wp_list_table
877
  * @global array $_wp_admin_css_colors
878
+ *
879
  * @param string $page Current page similar to $pagenow depends on from which filter function was called
880
  * @return void
881
  */
includes/class-frontend.php CHANGED
@@ -32,7 +32,7 @@ class Responsive_Lightbox_Frontend {
32
  // filters
33
  add_filter( 'rl_gallery_container_class', array( $this, 'gallery_container_class' ), 10, 3 );
34
  add_filter( 'the_content', array( $this, 'gallery_preview' ) );
35
- add_filter( 'the_content', array( $this, 'add_lightbox' ) );
36
  add_filter( 'wp_get_attachment_link', array( $this, 'wp_get_attachment_link' ), 1000, 6 );
37
  add_filter( 'get_comment_text', array( $this, 'get_comment_text' ) );
38
  add_filter( 'dynamic_sidebar_params', array( $this, 'dynamic_sidebar_params' ) );
@@ -96,7 +96,7 @@ class Responsive_Lightbox_Frontend {
96
  // images
97
  if ( $args['settings']['plugin']['image_links'] || $args['settings']['plugin']['images_as_gallery'] || $args['settings']['plugin']['force_custom_gallery'] ) {
98
  // search for image links
99
- preg_match_all( '/<a([^<]*?)href=(?:\'|")([^<]*?)\.(bmp|gif|jpeg|jpg|png|webp)(?:\'|")(.*?)>/is', $content, $links );
100
 
101
  // found any links?
102
  if ( ! empty ( $links[0] ) ) {
@@ -114,7 +114,7 @@ class Responsive_Lightbox_Frontend {
114
  $args['link_number'] = $link_number;
115
 
116
  // link parts
117
- $args['link_parts'] = array( $links[1][$link_number], $links[2][$link_number], $links[3][$link_number], $links[4][$link_number] );
118
 
119
  // get title type
120
  $title_arg = $args['settings']['plugin']['force_custom_gallery'] ? $args['settings']['plugin']['gallery_image_title'] : $args['settings']['plugin']['image_title'];
@@ -134,8 +134,14 @@ class Responsive_Lightbox_Frontend {
134
  else
135
  $args['caption'] = '';
136
 
137
- // update link
138
- $content = str_replace( $link, $this->lightbox_image_link( $link, $args ), $content );
 
 
 
 
 
 
139
  }
140
  }
141
  }
@@ -143,7 +149,7 @@ class Responsive_Lightbox_Frontend {
143
  // videos
144
  if ( $args['settings']['plugin']['videos'] ) {
145
  // search for video links
146
- preg_match_all('/<a(.*?)href=(?:\'|")((http|https)(?::\/\/|)(?:(?:(?:youtu\.be\/|(?:www\.)?youtube\.com\/)(?:embed\/|v\/|watch\?v=)?([\w-]{11})(?:\?)?([a-z0-9;:@#&%=+\/\$_.-]*))|(?:(?:www\.)?vimeo\.com\/([0-9]+)(?:\?)?([a-z0-9;:@#&%=+\/\$_.-]*))))(?:\'|")(.*?)>/i', $content, $links );
147
 
148
  // set empty video arguments
149
  $args['video_id'] = $args['video_type'] = $args['video_query'] = $args['video_protocol'] = '';
@@ -170,10 +176,16 @@ class Responsive_Lightbox_Frontend {
170
  $args['link_number'] = $link_number;
171
 
172
  // link parts
173
- $args['link_parts'] = array( $links[1][$link_number], $links[2][$link_number], $links[8][$link_number] );
174
 
175
- // update link
176
- $content = str_replace( $link, $this->lightbox_video_link( $link, $args ), $content );
 
 
 
 
 
 
177
  }
178
  }
179
  }
@@ -186,33 +198,36 @@ class Responsive_Lightbox_Frontend {
186
  *
187
  * @param string $link Video link
188
  * @param array $args Link arguments
 
189
  * @return string
190
  */
191
- public function lightbox_video_link( $link, $args ) {
192
- // link already contains data-rel attribute?
193
- if ( preg_match( '/<a.*?(?:data-rel)=(?:\'|")(.*?)(?:\'|").*?>/is', $link, $result ) === 1 ) {
194
- // allow to modify link?
195
- if ( $result[1] !== 'norl' ) {
 
 
 
 
 
 
 
 
 
 
 
 
196
  // swipebox video fix
197
  if ( $args['script'] === 'swipebox' && $args['video_type'] === 'vimeo' )
198
- $link = str_replace( $args['link_parts'][1], add_query_arg( 'width', $args['settings']['script']['video_max_width'], $args['link_parts'][1] ), $link );
199
 
200
- // replace data-rel
201
- $link = preg_replace( '/data-rel=(\'|")(.*?)(\'|")/', 'data-rel="' . $args['selector'] . '-video-' . $args['link_number'] . '"', $link );
202
 
203
  if ( $args['script'] === 'magnific' )
204
  $link = preg_replace( '/(<a.*?)>/is', '$1 data-magnific_type="video">', $link );
205
  }
206
- } else {
207
- // swipebox video fix
208
- if ( $args['script'] === 'swipebox' && $args['video_type'] === 'vimeo' )
209
- $args['link_parts'][1] = add_query_arg( 'width', $args['settings']['script']['video_max_width'], $args['link_parts'][1] );
210
-
211
- // add data-rel
212
- $link = '<a' . $args['link_parts'][0] . 'href="' . $args['link_parts'][1] . '" data-rel="' . $args['selector'] . '-video-' . $args['link_number'] . '"' . $args['link_parts'][2] . '>';
213
-
214
- if ( $args['script'] === 'magnific' )
215
- $link = preg_replace( '/(<a.*?)>/is', '$1 data-magnific_type="video">', $link );
216
  }
217
 
218
  return apply_filters( 'rl_lightbox_video_link', $link, $args );
@@ -223,57 +238,60 @@ class Responsive_Lightbox_Frontend {
223
  *
224
  * @param string $link Image link
225
  * @param array $args Link arguments
 
226
  * @return string
227
  */
228
- public function lightbox_image_link( $link, $args ) {
229
- if ( rl_current_lightbox_supports( 'html_caption' ) ) {
230
- $title = esc_attr( trim ( nl2br( $args['title'] ) ) );
231
- $caption = esc_attr( trim( nl2br( $args['caption'] ) ) );
232
- } else {
233
- $title = esc_attr( wp_strip_all_tags( trim ( nl2br( $args['title'] ) ), true ) );
234
- $caption = esc_attr( wp_strip_all_tags( trim( nl2br( $args['caption'] ) ), true ) );
235
- }
 
236
 
237
- if ( isset( $_GET['rl_gallery_no'], $_GET['rl_page'] ) )
238
- $this->gallery_no = (int) $_GET['rl_gallery_no'];
239
 
240
- // link already contains data-rel attribute?
241
- if ( preg_match( '/<a.*?(?:data-rel)=(?:\'|")(.*?)(?:\'|").*?>/is', $link, $result ) === 1 ) {
242
- // allow to modify link?
243
- if ( $result[1] !== 'norl' ) {
244
- // gallery?
245
- if ( $args['settings']['plugin']['images_as_gallery'] || $args['settings']['plugin']['force_custom_gallery'] )
246
- $link = preg_replace( '/data-rel=(\'|")(.*?)(\'|")/s', 'data-rel="' . $args['selector'] . '-gallery-' . $this->gallery_no . '" data-rl_title="__RL_IMAGE_TITLE__" data-rl_caption="__RL_IMAGE_CAPTION__"' . ( $args['script'] === 'magnific' ? ' data-magnific_type="gallery"' : '' ) . ( $args['script'] === 'imagelightbox' ? ' data-imagelightbox="' . $args['link_number'] . '"' : '' ), $link );
247
- // single image
248
- else
249
- $link = preg_replace( '/data-rel=(\'|")(.*?)(\'|")/s', 'data-rel="' . $args['selector'] . '-image-' . base64_encode( $result[1] ) . '"' . ( $args['script'] === 'magnific' ? ' data-magnific_type="image"' : '' ) . ( $args['script'] === 'imagelightbox' ? ' data-imagelightbox="' . $args['link_number'] . '"' : '' ) . ' data-rl_title="__RL_IMAGE_TITLE__" data-rl_caption="__RL_IMAGE_CAPTION__"', $link );
250
- }
251
- // link without data-rel
252
- } else {
253
- // force images?
254
- if ( $args['settings']['plugin']['force_custom_gallery'] ) {
255
- // link already contains rel attribute?
256
- if ( preg_match( '/<a.*?(?:rel)=(?:\'|")(.*?)(?:\'|").*?>/is', $link, $result ) === 1 ) {
257
- // allow to modify link?
258
- if ( $result[1] !== 'norl' )
259
- $link = preg_replace( '/rel=(\'|")(.*?)(\'|")/', 'data-rel="' . $args['selector'] . '-gallery-' . $this->gallery_no . '" data-rl_title="__RL_IMAGE_TITLE__" data-rl_caption="__RL_IMAGE_CAPTION__"' . ( $args['script'] === 'magnific' ? ' data-magnific_type="gallery"' : '' ) . ( $args['script'] === 'imagelightbox' ? ' data-imagelightbox="' . $args['link_number'] . '"' : '' ), $link );
 
 
260
  } else
261
- $link = '<a' . $args['link_parts'][0] . ' href="' . $args['link_parts'][1] . '.' . $args['link_parts'][2] . '" data-rel="' . $args['selector'] . '-gallery-' . $this->gallery_no . '" data-rl_title="__RL_IMAGE_TITLE__" data-rl_caption="__RL_IMAGE_CAPTION__"' . ( $args['script'] === 'magnific' ? ' data-magnific_type="gallery"' : '' ) . ( $args['script'] === 'imagelightbox' ? ' data-imagelightbox="' . $args['link_number'] . '"' : '' ) . $args['link_parts'][3] . '>';
262
- } else
263
- $link = '<a' . $args['link_parts'][0] . 'href="' . $args['link_parts'][1] . '.' . $args['link_parts'][2] . '"' . $args['link_parts'][3] . ' data-rel="' . $args['selector'] . ( $args['settings']['plugin']['images_as_gallery'] ? $args['rel_hash'] : '-image-' . $args['link_number'] ) . '"' . ( $args['script'] === 'magnific' ? ' data-magnific_type="image"' : '' ) . ( $args['script'] === 'imagelightbox' ? ' data-imagelightbox="' . $args['link_number'] . '"' : '' ) . ' data-rl_title="__RL_IMAGE_TITLE__" data-rl_caption="__RL_IMAGE_CAPTION__">';
264
- }
265
 
266
- // use safe replacement
267
- $link = str_replace( '__RL_IMAGE_TITLE__', $title, str_replace( '__RL_IMAGE_CAPTION__', $caption, $link ) );
268
 
269
- // title exists?
270
- if ( preg_match( '/<a.*? title=(?:\'|").*?(?:\'|").*?>/is', $link ) === 1 ) {
271
- $link = preg_replace( '/(<a.*? title=(?:\'|")).*?((?:\'|").*?>)/s', '${1}__RL_IMAGE_TITLE__$2', $link );
272
- } else
273
- $link = preg_replace( '/(<a.*?)>/s', '$1 title="__RL_IMAGE_TITLE__">', $link );
274
 
275
- // last safe replacement
276
- $link = str_replace( '__RL_IMAGE_TITLE__', $title, $link );
 
277
 
278
  return apply_filters( 'rl_lightbox_image_link', $link, $args );
279
  }
@@ -459,6 +477,7 @@ class Responsive_Lightbox_Frontend {
459
  * @return array
460
  */
461
  public function get_gallery_fields( $type ) {
 
462
  $rl = Responsive_Lightbox();
463
 
464
  // get gallery fields
@@ -629,6 +648,7 @@ class Responsive_Lightbox_Frontend {
629
  * @return array
630
  */
631
  public function sanitize_shortcode_args( $atts, $fields ) {
 
632
  $rl = Responsive_Lightbox();
633
 
634
  // validate gallery fields
@@ -836,7 +856,7 @@ class Responsive_Lightbox_Frontend {
836
  $new_image = $images[$index] = array_merge( $image, $rl->galleries->get_gallery_image_src( $image, $shortcode_atts['src_size'], $shortcode_atts['size'] ) );
837
 
838
  // create image source data
839
- $args['src'] = array( $new_image['url'], $new_image['width'], $new_image['height'] );
840
 
841
  // set alt text
842
  $images[$index]['alt'] = ! empty( $new_image['alt'] ) ? esc_attr( $new_image['alt'] ) : ( ! empty( $new_image['id'] ) ? get_post_meta( $new_image['id'], '_wp_attachment_image_alt', true ) : '' );
@@ -844,14 +864,24 @@ class Responsive_Lightbox_Frontend {
844
  // set lightbox image title
845
  if ( $args['settings']['plugin']['gallery_image_title'] === 'default' )
846
  $images[$index]['title'] = $args['title'] = '';
847
- else
848
- $images[$index]['title'] = $args['title'] = ! empty( $new_image['id'] ) ? $this->get_attachment_title( $new_image['id'], apply_filters( 'rl_lightbox_attachment_image_title_arg', $args['settings']['plugin']['gallery_image_title'], $new_image['id'], $images[$index]['link'] ) ) : $new_image['title'];
 
 
 
 
 
849
 
850
  // set lightbox image caption
851
  if ( $args['settings']['plugin']['gallery_image_caption'] === 'default' )
852
  $images[$index]['caption'] = $args['caption'] = '';
853
- else
854
- $images[$index]['caption'] = $args['caption'] = ! empty( $new_image['id'] ) ? $this->get_attachment_title( $new_image['id'], apply_filters( 'rl_lightbox_attachment_image_title_arg', $args['settings']['plugin']['gallery_image_caption'], $images[$index]['link'] ) ) : $new_image['caption'];
 
 
 
 
 
855
 
856
  // set image gallery link
857
  $images[$index]['link'] = $this->lightbox_gallery_link( $this->get_gallery_image_link( $new_image['id'], $args['src'], array( $new_image['thumbnail_url'], $new_image['thumbnail_width'], $new_image['thumbnail_height'] ), $shortcode_atts ), $args );
@@ -877,20 +907,43 @@ class Responsive_Lightbox_Frontend {
877
  function get_gallery_image_link( $attachment_id, $image, $thumbnail, $args ) {
878
  switch ( $args['link'] ) {
879
  case 'post':
880
- $link = '<a href="' . get_permalink( $attachment_id ) . '"><img src="' . $thumbnail[0] . '" width="' . $thumbnail[1] . '" height="' . $thumbnail[2] . '" />';
 
 
 
 
881
  break;
882
 
883
  case 'none':
884
- $link = '<a href="javascript:void(0)" style="cursor: default;"><img src="' . $thumbnail[0] . '" width="' . $thumbnail[1] . '" height="' . $thumbnail[2] . '" />';
885
  break;
886
 
887
  default:
888
  case 'file':
889
- $link = '<a href="' . $image[0] . '"><img src="' . $thumbnail[0] . '" width="' . $thumbnail[1] . '" height="' . $thumbnail[2] . '" />';
 
 
 
 
 
 
 
 
 
890
  }
891
 
892
- $title = ! empty( $args['show_title'] ) ? trim( $this->get_attachment_title( $attachment_id, $args['show_title'] ) ) : '';
893
- $caption = ! empty( $args['show_caption'] ) ? trim( $this->get_attachment_title( $attachment_id, $args['show_caption'] ) ) : '';
 
 
 
 
 
 
 
 
 
 
894
 
895
  if ( $title || $caption ) {
896
  $link .= '<span class="rl-gallery-caption">';
@@ -904,6 +957,8 @@ class Responsive_Lightbox_Frontend {
904
  $link .= '</span>';
905
  }
906
 
 
 
907
  $link .= '</a>';
908
 
909
  return apply_filters( 'rl_gallery_image_link', $link, $attachment_id, $image, $thumbnail, $args );
@@ -931,7 +986,7 @@ class Responsive_Lightbox_Frontend {
931
 
932
  // update title if needed
933
  if ( $title_arg !== 'default' && $image_id )
934
- $title = esc_attr( wp_strip_all_tags( trim ( $this->get_attachment_title( $image_id, apply_filters( 'rl_lightbox_attachment_image_title_arg', $title_arg, $image_id, $links[2][$link_number] . '.' . $links[3][$link_number] ) ) ), true ) );
935
  else
936
  $title = '';
937
 
@@ -940,7 +995,7 @@ class Responsive_Lightbox_Frontend {
940
 
941
  // update caption if needed
942
  if ( $caption_arg !== 'default' )
943
- $caption = esc_attr( wp_strip_all_tags( trim ( $this->get_attachment_title( $image_id, apply_filters( 'rl_lightbox_attachment_image_title_arg', $caption_arg, $image_id, $links[2][$link_number] . '.' . $links[3][$link_number] ) ) ), true ) );
944
  else
945
  $caption = '';
946
 
@@ -1129,7 +1184,38 @@ class Responsive_Lightbox_Frontend {
1129
  }
1130
 
1131
  /**
1132
- * Get attachment title function
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1133
  *
1134
  * @param int $id
1135
  * @param string $title_arg
@@ -1141,26 +1227,26 @@ class Responsive_Lightbox_Frontend {
1141
 
1142
  switch( $title_arg ) {
1143
  case 'title':
1144
- $title = get_the_title( $id );
1145
  break;
1146
 
1147
  case 'caption':
1148
- $title = get_post_field( 'post_excerpt', $id ) ;
1149
  break;
1150
 
1151
  case 'alt':
1152
- $title = get_post_meta( $id, '_wp_attachment_image_alt', true );
1153
  break;
1154
 
1155
  case 'description':
1156
- $title = get_post_field( 'post_content', $id ) ;
1157
  break;
1158
 
1159
  default:
1160
- $title = '';
1161
  }
1162
 
1163
- return apply_filters( 'rl_get_attachment_title', $title, $id, $title_arg );
1164
  }
1165
 
1166
  /**
@@ -1268,7 +1354,14 @@ class Responsive_Lightbox_Frontend {
1268
  * @return string
1269
  */
1270
  public function gallery_attributes( $content, $shortcode_atts ) {
1271
- ++$this->gallery_no;
 
 
 
 
 
 
 
1272
 
1273
  // add inline style, to our galleries only
1274
  if ( isset( $shortcode_atts['type'] ) ) {
@@ -1447,8 +1540,8 @@ class Responsive_Lightbox_Frontend {
1447
  else
1448
  $current_id = (int) get_the_ID();
1449
 
1450
- if ( isset( $args['gallery_title_position'] ) && $args['gallery_title_position'] === 'top' && get_post_type( $current_id ) !== 'rl_gallery' )
1451
- echo '<div class="rl-gallery-title">' . esc_html( get_the_title( $gallery_id ) ) . '</div>';
1452
 
1453
  if ( isset( $args['gallery_description_position'] ) && $args['gallery_description_position'] === 'top' )
1454
  echo '<div class="rl-gallery-description">' . nl2br( esc_html( $args['gallery_description'] ) ) . '</div>';
@@ -1470,8 +1563,8 @@ class Responsive_Lightbox_Frontend {
1470
  else
1471
  $current_id = (int) get_the_ID();
1472
 
1473
- if ( isset( $args['gallery_title_position'] ) && $args['gallery_title_position'] === 'bottom' && get_post_type( $current_id ) !== 'rl_gallery' )
1474
- echo '<div class="rl-gallery-title">' . esc_html( get_the_title( $gallery_id ) ) . '</div>';
1475
 
1476
  if ( isset( $args['gallery_description_position'] ) && $args['gallery_description_position'] === 'bottom' )
1477
  echo '<div class="rl-gallery-description">' . nl2br( esc_html( $args['gallery_description'] ) ) . '</div>';
32
  // filters
33
  add_filter( 'rl_gallery_container_class', array( $this, 'gallery_container_class' ), 10, 3 );
34
  add_filter( 'the_content', array( $this, 'gallery_preview' ) );
35
+ add_filter( 'the_content', array( $this, 'add_lightbox' ), 11 );
36
  add_filter( 'wp_get_attachment_link', array( $this, 'wp_get_attachment_link' ), 1000, 6 );
37
  add_filter( 'get_comment_text', array( $this, 'get_comment_text' ) );
38
  add_filter( 'dynamic_sidebar_params', array( $this, 'dynamic_sidebar_params' ) );
96
  // images
97
  if ( $args['settings']['plugin']['image_links'] || $args['settings']['plugin']['images_as_gallery'] || $args['settings']['plugin']['force_custom_gallery'] ) {
98
  // search for image links
99
+ preg_match_all( '/<a([^>]*?)href=(?:\'|")([^>]*?)\.(bmp|gif|jpeg|jpg|png|webp)(?:\'|")(.*?)>(.*?)<\/a>/is', $content, $links );
100
 
101
  // found any links?
102
  if ( ! empty ( $links[0] ) ) {
114
  $args['link_number'] = $link_number;
115
 
116
  // link parts
117
+ $args['link_parts'] = array( $links[1][$link_number], $links[2][$link_number], $links[3][$link_number], $links[4][$link_number], $links[5][$link_number] );
118
 
119
  // get title type
120
  $title_arg = $args['settings']['plugin']['force_custom_gallery'] ? $args['settings']['plugin']['gallery_image_title'] : $args['settings']['plugin']['image_title'];
134
  else
135
  $args['caption'] = '';
136
 
137
+ // rl gallery link?
138
+ if ( preg_match( '/class="(?:.*?)rl-gallery-link[^"]*?"/i', $links[1][$link_number] ) === 1 || preg_match( '/class="(?:.*?)rl-gallery-link[^"]*?"/i', $links[4][$link_number] ) === 1 ) {
139
+ // update link allowing only filter to run, bypass default changes
140
+ $content = str_replace( $link, $this->lightbox_image_link( $link, $args, true ), $content );
141
+ } else {
142
+ // update link
143
+ $content = str_replace( $link, $this->lightbox_image_link( $link, $args ), $content );
144
+ }
145
  }
146
  }
147
  }
149
  // videos
150
  if ( $args['settings']['plugin']['videos'] ) {
151
  // search for video links
152
+ preg_match_all('/<a([^>]*?)href=(?:\'|")((http|https)(?::\/\/|)(?:(?:(?:youtu\.be\/|(?:www\.)?youtube\.com\/)(?:embed\/|v\/|watch\?v=)?([\w-]{11})(?:\?)?([a-z0-9;:@#&%=+\/\$_.-]*))|(?:(?:www\.)?vimeo\.com\/([0-9]+)(?:\?)?([a-z0-9;:@#&%=+\/\$_.-]*))))(?:\'|")(.*?)>(.*?)<\/a>/i', $content, $links );
153
 
154
  // set empty video arguments
155
  $args['video_id'] = $args['video_type'] = $args['video_query'] = $args['video_protocol'] = '';
176
  $args['link_number'] = $link_number;
177
 
178
  // link parts
179
+ $args['link_parts'] = array( $links[1][$link_number], $links[2][$link_number], $links[8][$link_number], $links[9][$link_number] );
180
 
181
+ // rl gallery link?
182
+ if ( preg_match( '/class="(?:.*?)rl-gallery-link[^"]*?"/i', $links[1][$link_number] ) === 1 || preg_match( '/class="(?:.*?)rl-gallery-link[^"]*?"/i', $links[8][$link_number] ) === 1 ) {
183
+ // update link allowing only filter to run, bypass default changes
184
+ $content = str_replace( $link, $this->lightbox_video_link( $link, $args, true ), $content );
185
+ } else {
186
+ // update link
187
+ $content = str_replace( $link, $this->lightbox_video_link( $link, $args ), $content );
188
+ }
189
  }
190
  }
191
  }
198
  *
199
  * @param string $link Video link
200
  * @param array $args Link arguments
201
+ * @param bool $only_filter Whether function should run only filter
202
  * @return string
203
  */
204
+ public function lightbox_video_link( $link, $args, $only_filter = false ) {
205
+ if ( ! $only_filter ) {
206
+ // link already contains data-rel attribute?
207
+ if ( preg_match( '/<a.*?(?:data-rel)=(?:\'|")(.*?)(?:\'|").*?>/is', $link, $result ) === 1 ) {
208
+ // allow to modify link?
209
+ if ( $result[1] !== 'norl' ) {
210
+ // swipebox video fix
211
+ if ( $args['script'] === 'swipebox' && $args['video_type'] === 'vimeo' )
212
+ $link = str_replace( $args['link_parts'][1], add_query_arg( 'width', $args['settings']['script']['video_max_width'], $args['link_parts'][1] ), $link );
213
+
214
+ // replace data-rel
215
+ $link = preg_replace( '/data-rel=(\'|")(.*?)(\'|")/', 'data-rel="' . $args['selector'] . '-video-' . $args['link_number'] . '"', $link );
216
+
217
+ if ( $args['script'] === 'magnific' )
218
+ $link = preg_replace( '/(<a.*?)>/is', '$1 data-magnific_type="video">', $link );
219
+ }
220
+ } else {
221
  // swipebox video fix
222
  if ( $args['script'] === 'swipebox' && $args['video_type'] === 'vimeo' )
223
+ $args['link_parts'][1] = add_query_arg( 'width', $args['settings']['script']['video_max_width'], $args['link_parts'][1] );
224
 
225
+ // add data-rel
226
+ $link = '<a' . $args['link_parts'][0] . 'href="' . $args['link_parts'][1] . '" data-rel="' . $args['selector'] . '-video-' . $args['link_number'] . '"' . $args['link_parts'][2] . '>' . $args['link_parts'][3] . '</a>';
227
 
228
  if ( $args['script'] === 'magnific' )
229
  $link = preg_replace( '/(<a.*?)>/is', '$1 data-magnific_type="video">', $link );
230
  }
 
 
 
 
 
 
 
 
 
 
231
  }
232
 
233
  return apply_filters( 'rl_lightbox_video_link', $link, $args );
238
  *
239
  * @param string $link Image link
240
  * @param array $args Link arguments
241
+ * @param bool $only_filter Whether function should run only filter
242
  * @return string
243
  */
244
+ public function lightbox_image_link( $link, $args, $only_filter = false ) {
245
+ if ( ! $only_filter ) {
246
+ if ( rl_current_lightbox_supports( 'html_caption' ) ) {
247
+ $title = esc_attr( trim ( nl2br( $args['title'] ) ) );
248
+ $caption = esc_attr( trim( nl2br( $args['caption'] ) ) );
249
+ } else {
250
+ $title = esc_attr( wp_strip_all_tags( trim ( nl2br( $args['title'] ) ), true ) );
251
+ $caption = esc_attr( wp_strip_all_tags( trim( nl2br( $args['caption'] ) ), true ) );
252
+ }
253
 
254
+ if ( isset( $_GET['rl_gallery_no'], $_GET['rl_page'] ) )
255
+ $this->gallery_no = (int) $_GET['rl_gallery_no'];
256
 
257
+ // link already contains data-rel attribute?
258
+ if ( preg_match( '/<a.*?(?:data-rel)=(?:\'|")(.*?)(?:\'|").*?>/is', $link, $result ) === 1 ) {
259
+ // allow to modify link?
260
+ if ( $result[1] !== 'norl' ) {
261
+ // gallery?
262
+ if ( $args['settings']['plugin']['images_as_gallery'] || $args['settings']['plugin']['force_custom_gallery'] )
263
+ $link = preg_replace( '/data-rel=(\'|")(.*?)(\'|")/s', 'data-rel="' . $args['selector'] . '-gallery-' . $this->gallery_no . '" data-rl_title="__RL_IMAGE_TITLE__" data-rl_caption="__RL_IMAGE_CAPTION__"' . ( $args['script'] === 'magnific' ? ' data-magnific_type="gallery"' : '' ) . ( $args['script'] === 'imagelightbox' ? ' data-imagelightbox="' . $args['link_number'] . '"' : '' ), $link );
264
+ // single image
265
+ else
266
+ $link = preg_replace( '/data-rel=(\'|")(.*?)(\'|")/s', 'data-rel="' . $args['selector'] . '-image-' . base64_encode( $result[1] ) . '"' . ( $args['script'] === 'magnific' ? ' data-magnific_type="image"' : '' ) . ( $args['script'] === 'imagelightbox' ? ' data-imagelightbox="' . $args['link_number'] . '"' : '' ) . ' data-rl_title="__RL_IMAGE_TITLE__" data-rl_caption="__RL_IMAGE_CAPTION__"', $link );
267
+ }
268
+ // link without data-rel
269
+ } else {
270
+ // force images?
271
+ if ( $args['settings']['plugin']['force_custom_gallery'] ) {
272
+ // link already contains rel attribute?
273
+ if ( preg_match( '/<a.*?(?:rel)=(?:\'|")(.*?)(?:\'|").*?>/is', $link, $result ) === 1 ) {
274
+ // allow to modify link?
275
+ if ( $result[1] !== 'norl' )
276
+ $link = preg_replace( '/rel=(\'|")(.*?)(\'|")/', 'data-rel="' . $args['selector'] . '-gallery-' . $this->gallery_no . '" data-rl_title="__RL_IMAGE_TITLE__" data-rl_caption="__RL_IMAGE_CAPTION__"' . ( $args['script'] === 'magnific' ? ' data-magnific_type="gallery"' : '' ) . ( $args['script'] === 'imagelightbox' ? ' data-imagelightbox="' . $args['link_number'] . '"' : '' ), $link );
277
+ } else
278
+ $link = '<a' . $args['link_parts'][0] . ' href="' . $args['link_parts'][1] . '.' . $args['link_parts'][2] . '" data-rel="' . $args['selector'] . '-gallery-' . $this->gallery_no . '" data-rl_title="__RL_IMAGE_TITLE__" data-rl_caption="__RL_IMAGE_CAPTION__"' . ( $args['script'] === 'magnific' ? ' data-magnific_type="gallery"' : '' ) . ( $args['script'] === 'imagelightbox' ? ' data-imagelightbox="' . $args['link_number'] . '"' : '' ) . $args['link_parts'][3] . '>' . $args['link_parts'][4] . '</a>';
279
  } else
280
+ $link = '<a' . $args['link_parts'][0] . 'href="' . $args['link_parts'][1] . '.' . $args['link_parts'][2] . '"' . $args['link_parts'][3] . ' data-rel="' . $args['selector'] . ( $args['settings']['plugin']['images_as_gallery'] ? $args['rel_hash'] : '-image-' . $args['link_number'] ) . '"' . ( $args['script'] === 'magnific' ? ' data-magnific_type="image"' : '' ) . ( $args['script'] === 'imagelightbox' ? ' data-imagelightbox="' . $args['link_number'] . '"' : '' ) . ' data-rl_title="__RL_IMAGE_TITLE__" data-rl_caption="__RL_IMAGE_CAPTION__">' . $args['link_parts'][4] . '</a>';
281
+ }
 
 
282
 
283
+ // use safe replacement
284
+ $link = str_replace( '__RL_IMAGE_TITLE__', $title, str_replace( '__RL_IMAGE_CAPTION__', $caption, $link ) );
285
 
286
+ // title exists?
287
+ if ( preg_match( '/<a.*? title=(?:\'|").*?(?:\'|").*?>/is', $link ) === 1 ) {
288
+ $link = preg_replace( '/(<a.*? title=(?:\'|")).*?((?:\'|").*?>)/s', '${1}__RL_IMAGE_TITLE__$2', $link );
289
+ } else
290
+ $link = preg_replace( '/(<a.*?)>/s', '$1 title="__RL_IMAGE_TITLE__">', $link );
291
 
292
+ // last safe replacement
293
+ $link = str_replace( '__RL_IMAGE_TITLE__', $title, $link );
294
+ }
295
 
296
  return apply_filters( 'rl_lightbox_image_link', $link, $args );
297
  }
477
  * @return array
478
  */
479
  public function get_gallery_fields( $type ) {
480
+ // get main instance
481
  $rl = Responsive_Lightbox();
482
 
483
  // get gallery fields
648
  * @return array
649
  */
650
  public function sanitize_shortcode_args( $atts, $fields ) {
651
+ // get main instance
652
  $rl = Responsive_Lightbox();
653
 
654
  // validate gallery fields
856
  $new_image = $images[$index] = array_merge( $image, $rl->galleries->get_gallery_image_src( $image, $shortcode_atts['src_size'], $shortcode_atts['size'] ) );
857
 
858
  // create image source data
859
+ $args['src'] = array( $new_image['url'], $new_image['width'], $new_image['height'], $new_image );
860
 
861
  // set alt text
862
  $images[$index]['alt'] = ! empty( $new_image['alt'] ) ? esc_attr( $new_image['alt'] ) : ( ! empty( $new_image['id'] ) ? get_post_meta( $new_image['id'], '_wp_attachment_image_alt', true ) : '' );
864
  // set lightbox image title
865
  if ( $args['settings']['plugin']['gallery_image_title'] === 'default' )
866
  $images[$index]['title'] = $args['title'] = '';
867
+ else {
868
+ // embed element?
869
+ if ( preg_match( '/^e\d+$/', $new_image['id'] ) === 1 )
870
+ $shortcode_atts['title'] = $images[$index]['title'] = $args['title'] = $this->get_embed_title( $new_image['id'], apply_filters( 'rl_lightbox_embed_image_title_arg', $args['settings']['plugin']['gallery_image_title'], $images[$index]['link'] ), $new_image );
871
+ else
872
+ $images[$index]['title'] = $args['title'] = ! empty( $new_image['id'] ) ? $this->get_attachment_title( $new_image['id'], apply_filters( 'rl_lightbox_attachment_image_title_arg', $args['settings']['plugin']['gallery_image_title'], $new_image['id'], $images[$index]['link'] ) ) : $new_image['title'];
873
+ }
874
 
875
  // set lightbox image caption
876
  if ( $args['settings']['plugin']['gallery_image_caption'] === 'default' )
877
  $images[$index]['caption'] = $args['caption'] = '';
878
+ else {
879
+ // embed element?
880
+ if ( preg_match( '/^e\d+$/', $new_image['id'] ) === 1 )
881
+ $shortcode_atts['caption'] = $images[$index]['caption'] = $args['caption'] = $this->get_embed_title( $new_image['id'], apply_filters( 'rl_lightbox_embed_image_title_arg', $args['settings']['plugin']['gallery_image_caption'], $images[$index]['link'] ), $new_image );
882
+ else
883
+ $images[$index]['caption'] = $args['caption'] = ! empty( $new_image['id'] ) ? $this->get_attachment_title( $new_image['id'], apply_filters( 'rl_lightbox_attachment_image_title_arg', $args['settings']['plugin']['gallery_image_caption'], $images[$index]['link'] ) ) : $new_image['caption'];
884
+ }
885
 
886
  // set image gallery link
887
  $images[$index]['link'] = $this->lightbox_gallery_link( $this->get_gallery_image_link( $new_image['id'], $args['src'], array( $new_image['thumbnail_url'], $new_image['thumbnail_width'], $new_image['thumbnail_height'] ), $shortcode_atts ), $args );
907
  function get_gallery_image_link( $attachment_id, $image, $thumbnail, $args ) {
908
  switch ( $args['link'] ) {
909
  case 'post':
910
+ // embed element?
911
+ if ( preg_match( '/^e\d+$/', $attachment_id ) === 1 )
912
+ $attr = array( 'href' => $image[0] );
913
+ else
914
+ $attr = array( 'href' => get_permalink( $attachment_id ) );
915
  break;
916
 
917
  case 'none':
918
+ $attr = array( 'href' => 'javascript:void(0)', 'style' => 'cursor: default;' );
919
  break;
920
 
921
  default:
922
  case 'file':
923
+ $attr = array( 'href' => $image[0] );
924
+ }
925
+
926
+ $attr = apply_filters( 'rl_gallery_image_link_attributes', $attr, $attachment_id, $image, $args );
927
+
928
+ $attr = array_map( 'esc_attr', $attr );
929
+ $link = rtrim( "<a " );
930
+
931
+ foreach ( $attr as $name => $value ) {
932
+ $link .= " $name=" . '"' . $value . '"';
933
  }
934
 
935
+ $link .= '>';
936
+ $link .= apply_filters( 'rl_gallery_image_link_before', '', $attachment_id, $args );
937
+ $link .= '<img src="' . $thumbnail[0] . '" width="' . $thumbnail[1] . '" height="' . $thumbnail[2] . '" />';
938
+
939
+ // embed element?
940
+ if ( preg_match( '/^e\d+$/', $attachment_id ) === 1 ) {
941
+ $title = ! empty( $args['show_title'] ) ? $this->get_embed_title( $attachment_id, $args['show_title'], $args ) : '';
942
+ $caption = ! empty( $args['show_caption'] ) ? $this->get_embed_title( $attachment_id, $args['show_caption'], $args ) : '';
943
+ } else {
944
+ $title = ! empty( $args['show_title'] ) ? $this->get_attachment_title( $attachment_id, $args['show_title'] ) : '';
945
+ $caption = ! empty( $args['show_caption'] ) ? $this->get_attachment_title( $attachment_id, $args['show_caption'] ) : '';
946
+ }
947
 
948
  if ( $title || $caption ) {
949
  $link .= '<span class="rl-gallery-caption">';
957
  $link .= '</span>';
958
  }
959
 
960
+ $link .= apply_filters( 'rl_gallery_image_link_after', '', $attachment_id, $args );
961
+
962
  $link .= '</a>';
963
 
964
  return apply_filters( 'rl_gallery_image_link', $link, $attachment_id, $image, $thumbnail, $args );
986
 
987
  // update title if needed
988
  if ( $title_arg !== 'default' && $image_id )
989
+ $title = esc_attr( wp_strip_all_tags( $this->get_attachment_title( $image_id, apply_filters( 'rl_lightbox_attachment_image_title_arg', $title_arg, $image_id, $links[2][$link_number] . '.' . $links[3][$link_number] ) ), true ) );
990
  else
991
  $title = '';
992
 
995
 
996
  // update caption if needed
997
  if ( $caption_arg !== 'default' )
998
+ $caption = esc_attr( wp_strip_all_tags( $this->get_attachment_title( $image_id, apply_filters( 'rl_lightbox_attachment_image_title_arg', $caption_arg, $image_id, $links[2][$link_number] . '.' . $links[3][$link_number] ) ), true ) );
999
  else
1000
  $caption = '';
1001
 
1184
  }
1185
 
1186
  /**
1187
+ * Get embed text.
1188
+ *
1189
+ * @param string $id
1190
+ * @param string $title_arg
1191
+ * @param array $embed
1192
+ * @return false|string
1193
+ */
1194
+ public function get_embed_title( $id, $title_arg, $embed ) {
1195
+ if ( empty( $title_arg ) || empty( $id ) )
1196
+ return false;
1197
+
1198
+ switch( $title_arg ) {
1199
+ case 'title':
1200
+ $text = $embed['title'];
1201
+ break;
1202
+
1203
+ // caption is always the same for these options
1204
+ case 'caption':
1205
+ case 'alt':
1206
+ case 'description':
1207
+ $text = $embed['caption'];
1208
+ break;
1209
+
1210
+ default:
1211
+ $text = '';
1212
+ }
1213
+
1214
+ return trim( apply_filters( 'rl_get_embed_title', $text, $id, $title_arg, $embed ) );
1215
+ }
1216
+
1217
+ /**
1218
+ * Get attachment text.
1219
  *
1220
  * @param int $id
1221
  * @param string $title_arg
1227
 
1228
  switch( $title_arg ) {
1229
  case 'title':
1230
+ $text = get_the_title( $id );
1231
  break;
1232
 
1233
  case 'caption':
1234
+ $text = get_post_field( 'post_excerpt', $id ) ;
1235
  break;
1236
 
1237
  case 'alt':
1238
+ $text = get_post_meta( $id, '_wp_attachment_image_alt', true );
1239
  break;
1240
 
1241
  case 'description':
1242
+ $text = get_post_field( 'post_content', $id ) ;
1243
  break;
1244
 
1245
  default:
1246
+ $text = '';
1247
  }
1248
 
1249
+ return trim( apply_filters( 'rl_get_attachment_title', $text, $id, $title_arg ) );
1250
  }
1251
 
1252
  /**
1354
  * @return string
1355
  */
1356
  public function gallery_attributes( $content, $shortcode_atts ) {
1357
+ // check forced gallery number
1358
+ if ( isset( $shortcode_atts['rl_gallery_no'] ) ) {
1359
+ $shortcode_atts['rl_gallery_no'] = (int) $shortcode_atts['rl_gallery_no'];
1360
+
1361
+ if ( $shortcode_atts['rl_gallery_no'] > 0 )
1362
+ $this->gallery_no = $shortcode_atts['rl_gallery_no'];
1363
+ } else
1364
+ ++$this->gallery_no;
1365
 
1366
  // add inline style, to our galleries only
1367
  if ( isset( $shortcode_atts['type'] ) ) {
1540
  else
1541
  $current_id = (int) get_the_ID();
1542
 
1543
+ if ( isset( $args['gallery_title_position'] ) && $args['gallery_title_position'] === 'top' && get_post_type( $current_id ) )
1544
+ echo '<h4 class="rl-gallery-title">' . esc_html( get_the_title( $gallery_id ) ) . '</h4>';
1545
 
1546
  if ( isset( $args['gallery_description_position'] ) && $args['gallery_description_position'] === 'top' )
1547
  echo '<div class="rl-gallery-description">' . nl2br( esc_html( $args['gallery_description'] ) ) . '</div>';
1563
  else
1564
  $current_id = (int) get_the_ID();
1565
 
1566
+ if ( isset( $args['gallery_title_position'] ) && $args['gallery_title_position'] === 'bottom' )
1567
+ echo '<h4 class="rl-gallery-title">' . esc_html( get_the_title( $gallery_id ) ) . '</h4>';
1568
 
1569
  if ( isset( $args['gallery_description_position'] ) && $args['gallery_description_position'] === 'bottom' )
1570
  echo '<div class="rl-gallery-description">' . nl2br( esc_html( $args['gallery_description'] ) ) . '</div>';
includes/class-galleries.php CHANGED
@@ -32,6 +32,7 @@ class Responsive_Lightbox_Galleries {
32
  // actions
33
  add_action( 'init', array( $this, 'init' ), 11 );
34
  add_action( 'admin_init', array( $this, 'init_admin' ) );
 
35
  add_action( 'edit_form_after_title', array( $this, 'after_title_nav_menu' ) );
36
  add_action( 'admin_footer', array( $this, 'modal_gallery_template' ) );
37
  add_action( 'customize_controls_print_footer_scripts', array( $this, 'modal_gallery_template' ) );
@@ -70,19 +71,19 @@ class Responsive_Lightbox_Galleries {
70
  public function get_media_item_template( $args = [] ) {
71
  $args = array_merge(
72
  array(
73
- 'draggable' => false,
74
- 'editable' => false,
75
- 'removable' => false,
76
- 'changable' => false
77
  ),
78
  $args
79
  );
80
 
81
  return '
82
- <li class="rl-gallery-image __IMAGE_STATUS__" data-attachment_id="__IMAGE_ID__"' . ( $args['draggable'] ? ' style="cursor: move;"' : '' ) . '>
83
  <div class="rl-gallery-inner">
84
  <div class="centered">
85
- __IMAGE__
86
  </div>
87
  </div>
88
  <div class="rl-gallery-actions">' .
@@ -93,6 +94,67 @@ class Responsive_Lightbox_Galleries {
93
  </li>';
94
  }
95
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
96
  /**
97
  * Load needed data.
98
  *
@@ -180,7 +242,8 @@ class Responsive_Lightbox_Galleries {
180
  'type' => 'media_library',
181
  'default' => array(
182
  'ids' => [],
183
- 'exclude' => []
 
184
  ),
185
  'preview' => array(
186
  'pagination' => true,
@@ -944,7 +1007,24 @@ class Responsive_Lightbox_Galleries {
944
  }
945
  }
946
 
947
- return do_shortcode( '[gallery rl_gallery_id="' . $args['id'] .'" include="' . ( empty( $attachments ) ? '' : implode( ',', $attachments ) ) . '"' . $shortcode . ']' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
948
  }
949
 
950
  /**
@@ -1308,6 +1388,12 @@ class Responsive_Lightbox_Galleries {
1308
  case 'media_library':
1309
  $data = get_post_meta( $gallery_id, '_rl_images', true );
1310
 
 
 
 
 
 
 
1311
  // get images
1312
  if ( ( ! empty( $data['menu_item'] ) && $data['menu_item'] === 'media' ) || ! ( defined( 'DOING_AJAX' ) && DOING_AJAX && isset( $_POST['action'] ) && $_POST['action'] === 'rl-get-menu-content' ) )
1313
  $images = $this->get_gallery_images( $gallery_id );
@@ -1317,10 +1403,21 @@ class Responsive_Lightbox_Galleries {
1317
  // get media item template
1318
  $media_item_template = $this->get_media_item_template( $args['preview'] );
1319
 
 
 
 
1320
  $html .= '
1321
  <td colspan="2" class="rl-colspan">
1322
- <input type="hidden" class="rl-gallery-ids" name="rl_gallery[' . $tab_id . '][' . $menu_item . '][' . $field . '][ids]" value="' . ( ! empty( $args['value']['ids'] ) ? implode( ',', $args['value']['ids'] ) : '' ) . '">
1323
- <a href="#" class="rl-gallery-select button button-secondary">' . __( 'Select images', 'responsive-lightbox' ) . '</a>
 
 
 
 
 
 
 
 
1324
  <div class="rl-gallery-content">
1325
  <ul class="rl-gallery-images rl-gallery-images-media">';
1326
 
@@ -1628,7 +1725,7 @@ class Responsive_Lightbox_Galleries {
1628
  if ( strpos( $value, '<' ) !== false ) {
1629
  $value = wp_pre_kses_less_than( $value );
1630
 
1631
- // this will strip extra whitespace for us.
1632
  $value = wp_strip_all_tags( $value, false );
1633
 
1634
  // use html entities in a special case to make sure no later newline stripping stage could lead to a functional tag
@@ -1643,7 +1740,7 @@ class Responsive_Lightbox_Galleries {
1643
  $found = true;
1644
  }
1645
 
1646
- // strip out the whitespace that may now exist after removing the octets.
1647
  if ( $found )
1648
  $value = trim( preg_replace( '/ +/', ' ', $value ) );
1649
  }
@@ -1658,36 +1755,121 @@ class Responsive_Lightbox_Galleries {
1658
  if ( is_array( $value ) ) {
1659
  $data = $args['default'];
1660
 
1661
- // check IDs
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1662
  if ( array_key_exists( 'ids', $value ) ) {
 
1663
  $ids = (string) trim( $value['ids'] );
1664
 
1665
- if ( $ids !== '' )
1666
- // get unique and non empty attachment IDs only
1667
- $data['ids'] = $this->check_attachments( array_unique( array_filter( array_map( 'intval', explode( ',', $ids ) ) ) ) );
1668
- else
 
 
 
 
1669
  $data['ids'] = [];
1670
  }
1671
 
1672
  // check excluded items
1673
  if ( array_key_exists( 'exclude', $value ) && is_array( $value['exclude'] ) && ! empty( $value['exclude'] ) ) {
1674
- $ids = $strings = [];
 
 
1675
 
1676
- foreach ( $value['exclude'] as $exclude_item ) {
1677
- $item = trim( $exclude_item );
1678
-
1679
- if ( is_numeric( $item ) )
1680
- $ids[] = (int) $item;
1681
- elseif ( $item !== '' )
1682
- $strings[] = $item;
1683
- }
1684
-
1685
- if ( ! empty( $ids ) ) {
1686
- // get unique and non empty attachment IDs only
1687
- $ids = $this->check_attachments( array_unique( array_filter( $ids ) ) );
1688
- }
1689
-
1690
- $data['exclude'] = $ids + $strings;
1691
  }
1692
 
1693
  $value = $data;
@@ -1713,7 +1895,7 @@ class Responsive_Lightbox_Galleries {
1713
  }
1714
 
1715
  if ( ! empty( $ids ) ) {
1716
- // get unique and non empty attachment IDs only
1717
  $ids = $this->check_attachments( array_unique( array_filter( $ids ) ) );
1718
  }
1719
 
@@ -2116,8 +2298,11 @@ class Responsive_Lightbox_Galleries {
2116
  $args['posts_per_page'] = ! empty( $args['posts_per_page'] ) ? (int) $args['posts_per_page'] : -1;
2117
  $args['nopaging'] = (bool) ! empty( $args['nopaging'] );
2118
 
2119
- // is it rl_gallery?
2120
- if ( ( $valid_gallery_type = ( get_post_type( $gallery_id ) === 'rl_gallery' ) ) && ! $args['count_images'] ) {
 
 
 
2121
  $paging = get_post_meta( $gallery_id, '_rl_paging', true );
2122
 
2123
  if ( isset( $paging['menu_item'] ) ) {
@@ -2195,32 +2380,47 @@ class Responsive_Lightbox_Galleries {
2195
 
2196
  switch ( $menu_item ) {
2197
  case 'media':
 
 
 
 
 
 
 
 
 
2198
  // get attachment ids
2199
- $attachments = ! empty( $data[$menu_item]['attachments']['ids'] ) ? array_map( 'absint', $data[$menu_item]['attachments']['ids'] ) : [];
2200
 
2201
  // filter attachments
2202
- $attachments = apply_filters( 'rl_get_gallery_images_attachments', $attachments );
2203
 
2204
  // exclude any attachments?
2205
  if ( $args['exclude'] && ! empty( $data[$menu_item]['attachments']['exclude'] ) )
2206
  $attachments = array_diff( $attachments, $data[$menu_item]['attachments']['exclude'] );
2207
 
 
 
 
2208
  // any attachments?
2209
  if ( $attachments ) {
2210
  if ( $args['limit'] )
2211
  $counter = 0;
2212
 
2213
  foreach ( $attachments as $attachment_id ) {
2214
- // real attachment?
2215
- if ( ! wp_attachment_is_image( $attachment_id ) )
2216
- continue;
2217
-
2218
  // for counting mode get attachment id only
2219
  if ( $args['count_images'] )
2220
  $images[] = $attachment_id;
2221
  else {
 
 
 
 
 
 
 
2222
  // get attachment image data
2223
- $images[] = $this->get_gallery_image_src( $attachment_id, $args['image_size'], $args['thumbnail_size'] );
2224
 
2225
  // limit attachments?
2226
  if ( $args['limit'] ) {
@@ -2572,14 +2772,8 @@ class Responsive_Lightbox_Galleries {
2572
  $images_count = count( $images );
2573
 
2574
  // no preview?
2575
- if ( ! $args['preview'] && ! $args['count_images'] ) {
2576
- if ( metadata_exists( 'post', $gallery_id, '_rl_images_count' ) ) {
2577
- $images_count_prev = get_post_meta( $gallery_id, '_rl_images_count', true );
2578
-
2579
- update_post_meta( $gallery_id, '_rl_images_count', $images_count, $images_count_prev );
2580
- } else
2581
- add_post_meta( $gallery_id, '_rl_images_count', $images_count );
2582
- }
2583
 
2584
  // images pagination?
2585
  if ( $images && ! $args['nopaging'] && $args['images_per_page'] > 0 && ! $args['count_images'] ) {
@@ -2590,6 +2784,10 @@ class Responsive_Lightbox_Galleries {
2590
  $this->gallery_args = $args;
2591
  $this->gallery_args['total'] = (int) ceil( $images_count / $args['images_per_page'] );
2592
 
 
 
 
 
2593
  // pagination position
2594
  if ( $args['pagination_position'] === 'top' )
2595
  add_action( 'rl_before_gallery', array( $this, 'do_pagination' ), 10, 2 );
@@ -2626,6 +2824,9 @@ class Responsive_Lightbox_Galleries {
2626
  else
2627
  $class = '';
2628
 
 
 
 
2629
  echo
2630
  '<div class="rl-pagination' . $class . '"' . ( $args['pagination_type'] === 'infinite' ? ' data-button="' . $args['load_more'] . '"' : '' ) .'>' .
2631
  paginate_links(
@@ -2657,7 +2858,7 @@ class Responsive_Lightbox_Galleries {
2657
  * @return void
2658
  */
2659
  public function get_gallery_page( $args ) {
2660
- if ( isset( $_POST['gallery_id'], $_POST['page'], $_POST['nonce'], $_POST['preview'], $_POST['post_id'] ) && wp_verify_nonce( $_POST['nonce'], 'rl_nonce' ) ) {
2661
  // cast page number
2662
  $_GET['rl_page'] = (int) $_POST['page'];
2663
 
@@ -2666,8 +2867,9 @@ class Responsive_Lightbox_Galleries {
2666
 
2667
  echo $this->gallery_shortcode(
2668
  [
2669
- 'id' => (int) $_POST['gallery_id'],
2670
- 'preview' => $preview
 
2671
  ]
2672
  );
2673
  }
@@ -3014,19 +3216,53 @@ class Responsive_Lightbox_Galleries {
3014
  else
3015
  $excluded_flag = in_array( $excluded_item, $excluded, true );
3016
 
3017
- // replace ID and URL of an image
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3018
  return str_replace(
3019
- '__IMAGE__',
3020
- '<input type="hidden" class="rl-gallery-exclude" name="rl_gallery[' . $tab_id . '][' . $menu_item . '][' . $field_name . '][exclude][]" value="' . ( $excluded_flag ? $excluded_item : '' ) . '" />' . $image['thumbnail_link'],
3021
- str_replace(
3022
- '__IMAGE_ID__',
 
 
 
 
3023
  $image['id'],
3024
- str_replace(
3025
- '__IMAGE_STATUS__',
3026
- $excluded_flag ? 'rl-status-inactive' : 'rl-status-active',
3027
- $template
3028
- )
3029
- )
3030
  );
3031
  }
3032
 
@@ -3104,14 +3340,54 @@ class Responsive_Lightbox_Galleries {
3104
 
3105
  // attachment id?
3106
  if ( is_int( $image ) ) {
3107
- if ( $image && wp_attachment_is_image( $image ) ) {
3108
- $image_src = wp_get_attachment_image_src( $image, $image_size, false );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3109
 
3110
- // different image and thumbnail sizes?
3111
- if ( $diff_sizes )
3112
- $thumbnail_src = wp_get_attachment_image_src( $image, $thumbnail_size, false );
3113
- else
3114
- $thumbnail_src = $image_src;
 
 
 
 
 
3115
 
3116
  // get alternative text
3117
  $alt = get_post_meta( $image, '_wp_attachment_image_alt', true );
@@ -3126,13 +3402,14 @@ class Responsive_Lightbox_Galleries {
3126
  'date' => get_the_date( 'Y-m-d H:i:s', $image ),
3127
  'caption' => '',
3128
  'alt' => $alt,
3129
- 'url' => $image_src[0],
3130
- 'width' => $image_src[1],
3131
- 'height' => $image_src[2],
3132
- 'orientation' => $image_src[2] > $image_src[1] ? 'portrait' : 'landscape',
3133
- 'thumbnail_url' => $thumbnail_src[0],
3134
- 'thumbnail_width' => $thumbnail_src[1],
3135
- 'thumbnail_height' => $thumbnail_src[2]
 
3136
  );
3137
 
3138
  if ( $diff_sizes )
@@ -3149,6 +3426,7 @@ class Responsive_Lightbox_Galleries {
3149
  $imagedata = array(
3150
  'id' => 0,
3151
  'title' => '',
 
3152
  'caption' => '',
3153
  'alt' => '',
3154
  'url' => $imagedata['url'],
@@ -3157,7 +3435,8 @@ class Responsive_Lightbox_Galleries {
3157
  'orientation' => $imagedata['height'] > $imagedata['width'] ? 'portrait' : 'landscape',
3158
  'thumbnail_url' => $imagedata['url'],
3159
  'thumbnail_width' => $imagedata['width'],
3160
- 'thumbnail_height' => $imagedata['height']
 
3161
  );
3162
 
3163
  $imagedata['thumbnail_orientation'] = $imagedata['orientation'];
@@ -3179,8 +3458,9 @@ class Responsive_Lightbox_Galleries {
3179
  }
3180
 
3181
  $imagedata = array(
3182
- 'id' => ! empty( $image['id'] ) ? (int) $image['id'] : 0,
3183
  'title' => ! empty( $image['title'] ) ? esc_html( $image['title'] ) : '',
 
3184
  'caption' => ! empty( $image['caption'] ) ? esc_html( $image['caption'] ) : '',
3185
  'alt' => ! empty( $image['alt'] ) ? esc_html( $image['alt'] ) : '',
3186
  'url' => ! empty( $image['url'] ) ? esc_url( $image['url'] ) : '',
@@ -3190,7 +3470,8 @@ class Responsive_Lightbox_Galleries {
3190
  'thumbnail_width' => ! empty( $image['thumbnail_width'] ) ? (int) $image['thumbnail_width'] : 0,
3191
  'thumbnail_height' => ! empty( $image['thumbnail_height'] ) ? (int) $image['thumbnail_height'] : 0,
3192
  'link' => ! empty( $image['link'] ) ? esc_url( $image['link'] ) : '',
3193
- 'thumbnail_link' => ! empty( $image['thumbnail_link'] ) ? esc_url( $image['thumbnail_link'] ) : ''
 
3194
  );
3195
 
3196
  $imagedata['orientation'] = $imagedata['height'] > $imagedata['width'] ? 'portrait' : 'landscape';
@@ -3702,6 +3983,102 @@ class Responsive_Lightbox_Galleries {
3702
  return (int) $thumbnail_id;
3703
  }
3704
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3705
  /**
3706
  * Change status of new attachment thumbnail replacement.
3707
  *
@@ -4008,6 +4385,61 @@ class Responsive_Lightbox_Galleries {
4008
  return $data;
4009
  }
4010
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4011
  /**
4012
  * Save gallery metadata.
4013
  *
@@ -4020,6 +4452,7 @@ class Responsive_Lightbox_Galleries {
4020
  if ( wp_is_post_revision( $post_id ) || ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || ! $update || in_array( $post->post_status, array( 'trash', 'auto-draft' ), true ) || ( isset( $_GET['action'] ) && $_GET['action'] === 'untrash' ) || empty( $_POST['rl_gallery'] ) )
4021
  return;
4022
 
 
4023
  $this->save_gallery( wp_unslash( $_POST ), $post_id );
4024
  }
4025
 
@@ -4032,6 +4465,7 @@ class Responsive_Lightbox_Galleries {
4032
  * @return void
4033
  */
4034
  public function save_gallery( $post_data, $post_id, $preview = false ) {
 
4035
  $data = $post_data['rl_gallery'];
4036
 
4037
  // prepare sanitized data
@@ -4081,11 +4515,8 @@ class Responsive_Lightbox_Galleries {
4081
  // add menu item
4082
  $menu_item = isset( $data[$tab_id], $data[$tab_id]['menu_item'] ) && array_key_exists( $data[$tab_id]['menu_item'], $this->tabs[$tab_id]['menu_items'] ) ? $data[$tab_id]['menu_item'] : 'options';
4083
 
4084
- // prepare fields
4085
- $items = $menu_items[$menu_item];
4086
-
4087
  // sanitize fields
4088
- $safedata = $this->sanitize_fields( $items, $data, $tab_id, $menu_item );
4089
 
4090
  // add menu item
4091
  $safedata[$tab_id]['menu_item'] = $menu_item;
@@ -4155,22 +4586,51 @@ class Responsive_Lightbox_Galleries {
4155
  * Check attachments IDs.
4156
  *
4157
  * @param array $attachments Attachment ID's
 
4158
  * @return array
4159
  */
4160
- public function check_attachments( $attachments ) {
 
4161
  if ( empty( $attachments ) || ! is_array( $attachments ) )
4162
  return [];
4163
 
4164
- $copy = array_map( 'intval', $attachments );
 
 
 
 
 
 
 
 
 
 
4165
 
4166
  // check attachments
4167
  foreach ( $attachments as $key => $attachment_id ) {
4168
- // is it an image?
4169
- if ( ! wp_attachment_is_image( $attachment_id ) )
4170
- unset( $copy[$key] );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4171
  }
4172
 
4173
- return $copy;
4174
  }
4175
 
4176
  /**
32
  // actions
33
  add_action( 'init', array( $this, 'init' ), 11 );
34
  add_action( 'admin_init', array( $this, 'init_admin' ) );
35
+ add_action( 'current_screen', array( $this, 'clear_metaboxes' ) );
36
  add_action( 'edit_form_after_title', array( $this, 'after_title_nav_menu' ) );
37
  add_action( 'admin_footer', array( $this, 'modal_gallery_template' ) );
38
  add_action( 'customize_controls_print_footer_scripts', array( $this, 'modal_gallery_template' ) );
71
  public function get_media_item_template( $args = [] ) {
72
  $args = array_merge(
73
  array(
74
+ 'draggable' => false,
75
+ 'editable' => false,
76
+ 'removable' => false,
77
+ 'changeable' => false
78
  ),
79
  $args
80
  );
81
 
82
  return '
83
+ <li class="rl-gallery-image__MEDIA_STATUS__" data-attachment_id="__MEDIA_ID__" data-type="__MEDIA_TYPE__"' . ( $args['draggable'] ? ' style="cursor: move;"' : '' ) . '>
84
  <div class="rl-gallery-inner">
85
  <div class="centered">
86
+ __MEDIA_DATA__
87
  </div>
88
  </div>
89
  <div class="rl-gallery-actions">' .
94
  </li>';
95
  }
96
 
97
+ /**
98
+ * Get default gallery embed template.
99
+ *
100
+ * @param bool $js
101
+ * @return string
102
+ */
103
+ public function get_media_embed_template( $js = false ) {
104
+ $html = '';
105
+
106
+ if ( $js )
107
+ $html .= '<div data-id="__EMBED_ID__" style="display: none;">';
108
+
109
+ $html .= '
110
+ <input type="hidden" name="rl_gallery[images][media][attachments][embed][__EMBED_ID__][url]" data-type="url" value="__EMBED_URL__">
111
+ <input type="hidden" name="rl_gallery[images][media][attachments][embed][__EMBED_ID__][width]" data-type="width" value="__EMBED_WIDTH__">
112
+ <input type="hidden" name="rl_gallery[images][media][attachments][embed][__EMBED_ID__][height]" data-type="height" value="__EMBED_HEIGHT__">
113
+ <input type="hidden" name="rl_gallery[images][media][attachments][embed][__EMBED_ID__][thumbnail_url]" data-type="thumbnail_url" value="__EMBED_THUMBNAIL_URL__">
114
+ <input type="hidden" name="rl_gallery[images][media][attachments][embed][__EMBED_ID__][thumbnail_width]" data-type="thumbnail_width" value="__EMBED_THUMBNAIL_WIDTH__">
115
+ <input type="hidden" name="rl_gallery[images][media][attachments][embed][__EMBED_ID__][thumbnail_height]" data-type="thumbnail_height" value="__EMBED_THUMBNAIL_HEIGHT__">
116
+ <input type="hidden" name="rl_gallery[images][media][attachments][embed][__EMBED_ID__][title]" data-type="title" value="__EMBED_TITLE__">
117
+ <textarea class="hidden" name="rl_gallery[images][media][attachments][embed][__EMBED_ID__][caption]" data-type="caption">__EMBED_DESCRIPTION__</textarea>
118
+ <input type="hidden" name="rl_gallery[images][media][attachments][embed][__EMBED_ID__][date]" data-type="date" value="__EMBED_DATE__">';
119
+
120
+ if ( $js )
121
+ $html .= '</div>';
122
+
123
+ return $html;
124
+ }
125
+
126
+ /**
127
+ * Get default gallery exclude input template.
128
+ *
129
+ * @param string $tab_id
130
+ * @param string $menu_item
131
+ * @param string $field_name
132
+ * @param mixed $excluded_value
133
+ * @return string
134
+ */
135
+ public function get_media_exclude_input_template( $tab_id = '', $menu_item = '', $field_name = '', $excluded_value = '' ) {
136
+ $template = '<input type="hidden" class="rl-gallery-exclude" name="rl_gallery[__MEDIA_TAB_ID__][__MEDIA_MENU_ITEM__][__MEDIA_FIELD_NAME__][exclude][]" value="__MEDIA_FIELD_VALUE__" />';
137
+
138
+ if ( $tab_id === '' && $menu_item === '' && $field_name === '' && $excluded_value === '' )
139
+ return str_replace( '__MEDIA_FIELD_VALUE__', '', $template );
140
+
141
+ return str_replace(
142
+ [
143
+ '__MEDIA_TAB_ID__',
144
+ '__MEDIA_MENU_ITEM__',
145
+ '__MEDIA_FIELD_NAME__',
146
+ '__MEDIA_FIELD_VALUE__'
147
+ ],
148
+ [
149
+ $tab_id,
150
+ $menu_item,
151
+ $field_name,
152
+ empty( $excluded_value ) ? '' : esc_attr( $excluded_value )
153
+ ],
154
+ $template
155
+ );
156
+ }
157
+
158
  /**
159
  * Load needed data.
160
  *
242
  'type' => 'media_library',
243
  'default' => array(
244
  'ids' => [],
245
+ 'exclude' => [],
246
+ 'embed' => []
247
  ),
248
  'preview' => array(
249
  'pagination' => true,
1007
  }
1008
  }
1009
 
1010
+ $forced_gallery_no = '';
1011
+
1012
+ // check forced gallery number
1013
+ if ( isset( $args['gallery_no'] ) ) {
1014
+ $args['gallery_no'] = (int) $args['gallery_no'];
1015
+
1016
+ if ( $args['gallery_no'] > 0 )
1017
+ $forced_gallery_no = ' rl_gallery_no="' . $args['gallery_no'] .'"';
1018
+ }
1019
+
1020
+ // get content
1021
+ $content = do_shortcode( '[gallery rl_gallery_id="' . $args['id'] .'"' . $forced_gallery_no . ' include="' . ( empty( $attachments ) ? '' : implode( ',', $attachments ) ) . '"' . $shortcode . ']' );
1022
+
1023
+ // make sure every filter is available in frontend ajax
1024
+ if ( wp_doing_ajax() )
1025
+ $content = $rl->frontend->add_lightbox( $content );
1026
+
1027
+ return $content;
1028
  }
1029
 
1030
  /**
1388
  case 'media_library':
1389
  $data = get_post_meta( $gallery_id, '_rl_images', true );
1390
 
1391
+ // video support?
1392
+ if ( rl_current_lightbox_supports( 'video' ) )
1393
+ $button_label = __( 'Select images & videos', 'responsive-lightbox' );
1394
+ else
1395
+ $button_label = __( 'Select images', 'responsive-lightbox' );
1396
+
1397
  // get images
1398
  if ( ( ! empty( $data['menu_item'] ) && $data['menu_item'] === 'media' ) || ! ( defined( 'DOING_AJAX' ) && DOING_AJAX && isset( $_POST['action'] ) && $_POST['action'] === 'rl-get-menu-content' ) )
1399
  $images = $this->get_gallery_images( $gallery_id );
1403
  // get media item template
1404
  $media_item_template = $this->get_media_item_template( $args['preview'] );
1405
 
1406
+ // media buttons
1407
+ $buttons = [ '<a href="#" class="rl-gallery-select button button-secondary">' . $button_label . '</a>' ];
1408
+
1409
  $html .= '
1410
  <td colspan="2" class="rl-colspan">
1411
+ <input type="hidden" class="rl-gallery-ids" name="rl_gallery[' . $tab_id . '][' . $menu_item . '][' . $field . '][ids]" value="' . ( ! empty( $args['value']['ids'] ) ? implode( ',', $args['value']['ids'] ) : '' ) . '">';
1412
+
1413
+ // embed video support?
1414
+ if ( rl_current_lightbox_supports( [ 'youtube', 'vimeo' ], 'OR' ) )
1415
+ $buttons[] = '<a href="#" class="rl-gallery-select-videos button button-secondary" style="margin-left: 10px;">' . __( 'Embed videos', 'responsive-lightbox' ) . '</a>';
1416
+
1417
+ // add buttons
1418
+ $html .= implode( '', $buttons );
1419
+
1420
+ $html .= '
1421
  <div class="rl-gallery-content">
1422
  <ul class="rl-gallery-images rl-gallery-images-media">';
1423
 
1725
  if ( strpos( $value, '<' ) !== false ) {
1726
  $value = wp_pre_kses_less_than( $value );
1727
 
1728
+ // this will strip extra whitespace for us
1729
  $value = wp_strip_all_tags( $value, false );
1730
 
1731
  // use html entities in a special case to make sure no later newline stripping stage could lead to a functional tag
1740
  $found = true;
1741
  }
1742
 
1743
+ // strip out the whitespace that may now exist after removing the octets
1744
  if ( $found )
1745
  $value = trim( preg_replace( '/ +/', ' ', $value ) );
1746
  }
1755
  if ( is_array( $value ) ) {
1756
  $data = $args['default'];
1757
 
1758
+ if ( rl_current_lightbox_supports( [ 'youtube', 'vimeo' ], 'OR' ) ) {
1759
+ $reindexed_embed = [];
1760
+
1761
+ // check embed items
1762
+ if ( array_key_exists( 'embed', $value ) && is_array( $value['embed'] ) && ! empty( $value['embed'] ) ) {
1763
+ $copy = $value['embed'];
1764
+
1765
+ $index = 0;
1766
+
1767
+ foreach ( $value['embed'] as $embed_id => $embed_data ) {
1768
+ // check url
1769
+ if ( ! array_key_exists( 'url', $embed_data ) ) {
1770
+ unset( $copy[$embed_id] );
1771
+
1772
+ continue;
1773
+ } else
1774
+ $copy[$embed_id]['url'] = esc_url( $embed_data['url'] );
1775
+
1776
+ // check width
1777
+ if ( ! array_key_exists( 'width', $embed_data ) )
1778
+ $copy[$embed_id]['width'] = 0;
1779
+ else
1780
+ $copy[$embed_id]['width'] = (int) $embed_data['width'];
1781
+
1782
+ // check height
1783
+ if ( ! array_key_exists( 'height', $embed_data ) )
1784
+ $copy[$embed_id]['height'] = 0;
1785
+ else
1786
+ $copy[$embed_id]['height'] = (int) $embed_data['height'];
1787
+
1788
+ // check thumbnail url
1789
+ if ( empty( $embed_data['thumbnail_url'] ) )
1790
+ $copy[$embed_id]['thumbnail_url'] = '';
1791
+ else
1792
+ $copy[$embed_id]['thumbnail_url'] = esc_url( $embed_data['thumbnail_url'] );
1793
+
1794
+ // check thumbnail width
1795
+ if ( ! array_key_exists( 'thumbnail_width', $embed_data ) )
1796
+ $copy[$embed_id]['thumbnail_width'] = 0;
1797
+ else
1798
+ $copy[$embed_id]['thumbnail_width'] = (int) $embed_data['thumbnail_width'];
1799
+
1800
+ // check thumbnail height
1801
+ if ( ! array_key_exists( 'thumbnail_height', $embed_data ) )
1802
+ $copy[$embed_id]['thumbnail_height'] = 0;
1803
+ else
1804
+ $copy[$embed_id]['thumbnail_height'] = (int) $embed_data['thumbnail_height'];
1805
+
1806
+ // check title
1807
+ if ( empty( $embed_data['title'] ) )
1808
+ $copy[$embed_id]['title'] = '';
1809
+ else
1810
+ $copy[$embed_id]['title'] = trim( sanitize_text_field( $embed_data['title'] ) );
1811
+
1812
+ // check caption
1813
+ if ( empty( $embed_data['caption'] ) )
1814
+ $copy[$embed_id]['caption'] = '';
1815
+ else
1816
+ $copy[$embed_id]['caption'] = trim( sanitize_textarea_field( $embed_data['caption'] ) );
1817
+
1818
+ // check date
1819
+ if ( empty( $embed_data['date'] ) )
1820
+ $copy[$embed_id]['date'] = '';
1821
+ else
1822
+ $copy[$embed_id]['date'] = date( 'Y-m-d H:i:s', strtotime( $embed_data['date'] ) );
1823
+
1824
+ // new embed id
1825
+ $new_id = 'e' . $index;
1826
+
1827
+ // add embed data
1828
+ $data['embed'][$new_id] = $copy[$embed_id];
1829
+ $data['embed'][$new_id]['id'] = $new_id;
1830
+
1831
+ // add special id
1832
+ $reindexed_embed[$embed_id] = 'em' . $index++;
1833
+ }
1834
+
1835
+ // last replacement is 'em' to avoid replacing same embed ids
1836
+ $reindexed_embed['em'] = 'e';
1837
+
1838
+ // prepare embed additional data
1839
+ $atts_args = [
1840
+ 'embed_keys' => array_keys( $data['embed'] ),
1841
+ 'providers' => [ 'youtube', 'vimeo' ]
1842
+ ];
1843
+ } else
1844
+ $atts_args = [];
1845
+ } else
1846
+ $atts_args = [];
1847
+
1848
+
1849
+ // check ids
1850
  if ( array_key_exists( 'ids', $value ) ) {
1851
+ // prepare ids
1852
  $ids = (string) trim( $value['ids'] );
1853
 
1854
+ if ( $ids !== '' ) {
1855
+ // reindex embed
1856
+ if ( ! empty( $reindexed_embed ) )
1857
+ $ids = str_replace( array_keys( $reindexed_embed ), array_values( $reindexed_embed ), $ids );
1858
+
1859
+ // get unique and non empty attachment ids only
1860
+ $data['ids'] = $this->check_attachments( array_unique( array_filter( explode( ',', $ids ) ) ), $atts_args );
1861
+ } else
1862
  $data['ids'] = [];
1863
  }
1864
 
1865
  // check excluded items
1866
  if ( array_key_exists( 'exclude', $value ) && is_array( $value['exclude'] ) && ! empty( $value['exclude'] ) ) {
1867
+ // reindex embed
1868
+ if ( ! empty( $reindexed_embed ) )
1869
+ $value['exclude'] = explode( ',', str_replace( array_keys( $reindexed_embed ), array_values( $reindexed_embed ), implode( ',', array_filter( $value['exclude'] ) ) ) );
1870
 
1871
+ // get unique and non empty attachment ids only
1872
+ $data['exclude'] = $this->check_attachments( array_unique( array_filter( $value['exclude'] ) ), $atts_args );
 
 
 
 
 
 
 
 
 
 
 
 
 
1873
  }
1874
 
1875
  $value = $data;
1895
  }
1896
 
1897
  if ( ! empty( $ids ) ) {
1898
+ // get unique and non empty attachment ids only
1899
  $ids = $this->check_attachments( array_unique( array_filter( $ids ) ) );
1900
  }
1901
 
2298
  $args['posts_per_page'] = ! empty( $args['posts_per_page'] ) ? (int) $args['posts_per_page'] : -1;
2299
  $args['nopaging'] = (bool) ! empty( $args['nopaging'] );
2300
 
2301
+ // check gallery post type
2302
+ $valid_gallery_type = ( get_post_type( $gallery_id ) === 'rl_gallery' );
2303
+
2304
+ // is it rl_gallery? skip when counting mode is enabled
2305
+ if ( $valid_gallery_type && ! $args['count_images'] ) {
2306
  $paging = get_post_meta( $gallery_id, '_rl_paging', true );
2307
 
2308
  if ( isset( $paging['menu_item'] ) ) {
2380
 
2381
  switch ( $menu_item ) {
2382
  case 'media':
2383
+ // check embed data
2384
+ if ( ! empty( $data[$menu_item]['attachments']['embed'] ) ) {
2385
+ $atts_args = [
2386
+ 'embed_keys' => array_keys( $data[$menu_item]['attachments']['embed'] ),
2387
+ 'providers' => [ 'youtube', 'vimeo' ]
2388
+ ];
2389
+ } else
2390
+ $atts_args = [];
2391
+
2392
  // get attachment ids
2393
+ $attachments = ! empty( $data[$menu_item]['attachments']['ids'] ) ? $this->check_attachments( array_unique( array_filter( $data[$menu_item]['attachments']['ids'] ) ), $atts_args ) : [];
2394
 
2395
  // filter attachments
2396
+ $attachments = apply_filters( 'rl_get_gallery_images_attachments', $attachments, $atts_args );
2397
 
2398
  // exclude any attachments?
2399
  if ( $args['exclude'] && ! empty( $data[$menu_item]['attachments']['exclude'] ) )
2400
  $attachments = array_diff( $attachments, $data[$menu_item]['attachments']['exclude'] );
2401
 
2402
+ // check filtered attachments
2403
+ $attachments = $this->check_attachments( $attachments, $atts_args );
2404
+
2405
  // any attachments?
2406
  if ( $attachments ) {
2407
  if ( $args['limit'] )
2408
  $counter = 0;
2409
 
2410
  foreach ( $attachments as $attachment_id ) {
 
 
 
 
2411
  // for counting mode get attachment id only
2412
  if ( $args['count_images'] )
2413
  $images[] = $attachment_id;
2414
  else {
2415
+ // embed?
2416
+ if ( preg_match( '/^e\d+$/', $attachment_id ) === 1 ) {
2417
+ $attachment_data = $data[$menu_item]['attachments']['embed'][$attachment_id];
2418
+ $attachment_data['type'] = 'embed';
2419
+ } else
2420
+ $attachment_data = $attachment_id;
2421
+
2422
  // get attachment image data
2423
+ $images[] = $this->get_gallery_image_src( $attachment_data, $args['image_size'], $args['thumbnail_size'] );
2424
 
2425
  // limit attachments?
2426
  if ( $args['limit'] ) {
2772
  $images_count = count( $images );
2773
 
2774
  // no preview?
2775
+ if ( ! $args['preview'] && ! $args['count_images'] && $args['limit'] === 0 )
2776
+ update_post_meta( $gallery_id, '_rl_images_count', $images_count );
 
 
 
 
 
 
2777
 
2778
  // images pagination?
2779
  if ( $images && ! $args['nopaging'] && $args['images_per_page'] > 0 && ! $args['count_images'] ) {
2784
  $this->gallery_args = $args;
2785
  $this->gallery_args['total'] = (int) ceil( $images_count / $args['images_per_page'] );
2786
 
2787
+ // remove actions to avoid issues with multiple galleries on single page
2788
+ remove_action( 'rl_before_gallery', array( $this, 'do_pagination' ), 10 );
2789
+ remove_action( 'rl_after_gallery', array( $this, 'do_pagination' ), 10 );
2790
+
2791
  // pagination position
2792
  if ( $args['pagination_position'] === 'top' )
2793
  add_action( 'rl_before_gallery', array( $this, 'do_pagination' ), 10, 2 );
2824
  else
2825
  $class = '';
2826
 
2827
+ if ( empty( $args['pagination_type'] ) )
2828
+ $args['pagination_type'] = 'paged';
2829
+
2830
  echo
2831
  '<div class="rl-pagination' . $class . '"' . ( $args['pagination_type'] === 'infinite' ? ' data-button="' . $args['load_more'] . '"' : '' ) .'>' .
2832
  paginate_links(
2858
  * @return void
2859
  */
2860
  public function get_gallery_page( $args ) {
2861
+ if ( isset( $_POST['gallery_id'], $_POST['gallery_no'], $_POST['page'], $_POST['nonce'], $_POST['preview'], $_POST['post_id'] ) && wp_verify_nonce( $_POST['nonce'], 'rl_nonce' ) ) {
2862
  // cast page number
2863
  $_GET['rl_page'] = (int) $_POST['page'];
2864
 
2867
 
2868
  echo $this->gallery_shortcode(
2869
  [
2870
+ 'id' => (int) $_POST['gallery_id'],
2871
+ 'gallery_no' => (int) $_POST['gallery_no'],
2872
+ 'preview' => $preview
2873
  ]
2874
  );
2875
  }
3216
  else
3217
  $excluded_flag = in_array( $excluded_item, $excluded, true );
3218
 
3219
+ if ( $image['type'] === 'embed' ) {
3220
+ // replace all embed data
3221
+ $media_html = str_replace(
3222
+ [
3223
+ '__EMBED_ID__',
3224
+ '__EMBED_URL__',
3225
+ '__EMBED_WIDTH__',
3226
+ '__EMBED_HEIGHT__',
3227
+ '__EMBED_THUMBNAIL_URL__',
3228
+ '__EMBED_THUMBNAIL_WIDTH__',
3229
+ '__EMBED_THUMBNAIL_HEIGHT__',
3230
+ '__EMBED_TITLE__',
3231
+ '__EMBED_DESCRIPTION__',
3232
+ '__EMBED_DATE__'
3233
+ ],
3234
+ [
3235
+ $image['id'],
3236
+ esc_url( $image['url'] ),
3237
+ (int) $image['width'],
3238
+ (int) $image['height'],
3239
+ esc_url( $image['thumbnail_url'] ),
3240
+ (int) $image['thumbnail_width'],
3241
+ (int) $image['thumbnail_height'],
3242
+ esc_attr( $image['title'] ),
3243
+ esc_textarea( $image['caption'] ),
3244
+ $image['date']
3245
+ ],
3246
+ $this->get_media_embed_template( false )
3247
+ );
3248
+ } else
3249
+ $media_html = '';
3250
+
3251
+ // replace id and url of an image
3252
  return str_replace(
3253
+ [
3254
+ '__MEDIA_DATA__',
3255
+ '__MEDIA_ID__',
3256
+ '__MEDIA_STATUS__',
3257
+ '__MEDIA_TYPE__'
3258
+ ],
3259
+ [
3260
+ $this->get_media_exclude_input_template( $tab_id, $menu_item, $field_name, $excluded_flag ? $excluded_item : '' ) . $media_html . $image['thumbnail_link'],
3261
  $image['id'],
3262
+ $excluded_flag ? ' rl-status-inactive' : ' rl-status-active',
3263
+ $image['type']
3264
+ ],
3265
+ $template
 
 
3266
  );
3267
  }
3268
 
3340
 
3341
  // attachment id?
3342
  if ( is_int( $image ) ) {
3343
+ if ( $image ) {
3344
+ $type = 'image';
3345
+ $width = 0;
3346
+ $height = 0;
3347
+
3348
+ // image src
3349
+ if ( wp_attachment_is_image( $image ) ) {
3350
+ $image_src = wp_get_attachment_image_src( $image, $image_size, false );
3351
+
3352
+ // different image and thumbnail sizes?
3353
+ if ( $diff_sizes )
3354
+ $thumbnail_src = wp_get_attachment_image_src( $image, $thumbnail_size, false );
3355
+ else
3356
+ $thumbnail_src = $image_src;
3357
+
3358
+ $file_url = $image_src[0];
3359
+ $width = $image_src[1];
3360
+ $height = $image_src[2];
3361
+ $thumbnail_url = $thumbnail_src[0];
3362
+ $thumbnail_width = $thumbnail_src[1];
3363
+ $thumbnail_height = $thumbnail_src[2];
3364
+ // video, blank thumbnail src
3365
+ } elseif ( rl_current_lightbox_supports( 'video' ) && wp_attachment_is( 'video', $image ) ) {
3366
+ $type = 'video';
3367
+ $thumbnail_id = $this->get_video_thumbnail_id( $image );
3368
+ $thumbnail_src = wp_get_attachment_image_src( $thumbnail_id, $image_size, false );
3369
+
3370
+ // get video metadata
3371
+ $meta = wp_get_attachment_metadata( $image );
3372
+
3373
+ if ( $meta ) {
3374
+ $width = $meta['width'];
3375
+ $height = $meta['height'];
3376
+ } else {
3377
+ $width = $thumbnail_src[1];
3378
+ $height = $thumbnail_src[2];
3379
+ }
3380
 
3381
+ // different image and thumbnail sizes?
3382
+ if ( $diff_sizes )
3383
+ $thumbnail_src = wp_get_attachment_image_src( $thumbnail_id, $thumbnail_size, false );
3384
+
3385
+ // file url
3386
+ $file_url = wp_get_attachment_url( $image );
3387
+ $thumbnail_url = $thumbnail_src[0];
3388
+ $thumbnail_width = $thumbnail_src[1];
3389
+ $thumbnail_height = $thumbnail_src[2];
3390
+ }
3391
 
3392
  // get alternative text
3393
  $alt = get_post_meta( $image, '_wp_attachment_image_alt', true );
3402
  'date' => get_the_date( 'Y-m-d H:i:s', $image ),
3403
  'caption' => '',
3404
  'alt' => $alt,
3405
+ 'url' => $file_url, // $image_src[0],
3406
+ 'width' => $width,
3407
+ 'height' => $height,
3408
+ 'orientation' => $height > $width ? 'portrait' : 'landscape',
3409
+ 'thumbnail_url' => $thumbnail_url,
3410
+ 'thumbnail_width' => $thumbnail_width,
3411
+ 'thumbnail_height' => $thumbnail_height,
3412
+ 'type' => $type
3413
  );
3414
 
3415
  if ( $diff_sizes )
3426
  $imagedata = array(
3427
  'id' => 0,
3428
  'title' => '',
3429
+ 'date' => '',
3430
  'caption' => '',
3431
  'alt' => '',
3432
  'url' => $imagedata['url'],
3435
  'orientation' => $imagedata['height'] > $imagedata['width'] ? 'portrait' : 'landscape',
3436
  'thumbnail_url' => $imagedata['url'],
3437
  'thumbnail_width' => $imagedata['width'],
3438
+ 'thumbnail_height' => $imagedata['height'],
3439
+ 'type' => 'image'
3440
  );
3441
 
3442
  $imagedata['thumbnail_orientation'] = $imagedata['orientation'];
3458
  }
3459
 
3460
  $imagedata = array(
3461
+ 'id' => ! empty( $image['id'] ) ? ( preg_match( '/^e\d+$/', $image['id'] ) === 1 ? $image['id'] : (int) $image['id'] ) : 0,
3462
  'title' => ! empty( $image['title'] ) ? esc_html( $image['title'] ) : '',
3463
+ 'date' => ! empty( $image['date'] ) ? esc_html( $image['date'] ) : '',
3464
  'caption' => ! empty( $image['caption'] ) ? esc_html( $image['caption'] ) : '',
3465
  'alt' => ! empty( $image['alt'] ) ? esc_html( $image['alt'] ) : '',
3466
  'url' => ! empty( $image['url'] ) ? esc_url( $image['url'] ) : '',
3470
  'thumbnail_width' => ! empty( $image['thumbnail_width'] ) ? (int) $image['thumbnail_width'] : 0,
3471
  'thumbnail_height' => ! empty( $image['thumbnail_height'] ) ? (int) $image['thumbnail_height'] : 0,
3472
  'link' => ! empty( $image['link'] ) ? esc_url( $image['link'] ) : '',
3473
+ 'thumbnail_link' => ! empty( $image['thumbnail_link'] ) ? esc_url( $image['thumbnail_link'] ) : '',
3474
+ 'type' => ! empty( $image['type'] ) ? esc_html( $image['type'] ) : 'image'
3475
  );
3476
 
3477
  $imagedata['orientation'] = $imagedata['height'] > $imagedata['width'] ? 'portrait' : 'landscape';
3983
  return (int) $thumbnail_id;
3984
  }
3985
 
3986
+ /**
3987
+ * Get video thumbnail replacement.
3988
+ *
3989
+ * @param int $post_id
3990
+ * @return int
3991
+ */
3992
+ public function get_video_thumbnail_id( $post_id ) {
3993
+ $thumbnail_id = 0;
3994
+
3995
+ // try to get video thumbnail
3996
+ $attachment_id = (int) get_post_thumbnail_id( $post_id );
3997
+
3998
+ // real attachment?
3999
+ if ( wp_attachment_is_image( $attachment_id ) )
4000
+ $thumbnail_id = $attachment_id;
4001
+
4002
+ // try to get default video poster image
4003
+ if ( ! $thumbnail_id ) {
4004
+ $thumbnail_id = get_posts(
4005
+ array(
4006
+ 'name' => 'responsive-lightbox-video-thumbnail',
4007
+ 'post_type' => 'attachment',
4008
+ 'post_status' => 'inherit',
4009
+ 'numberposts' => 1,
4010
+ 'fields' => 'ids'
4011
+ )
4012
+ );
4013
+ }
4014
+
4015
+ // no attachment?
4016
+ if ( ! $thumbnail_id ) {
4017
+ // get new attachment
4018
+ $thumbnail_id = get_posts(
4019
+ array(
4020
+ 'name' => 'responsive-lightbox-video-thumbnail',
4021
+ 'post_type' => 'attachment',
4022
+ 'post_status' => 'pending',
4023
+ 'numberposts' => 1,
4024
+ 'fields' => 'ids'
4025
+ )
4026
+ );
4027
+
4028
+ // no attachment?
4029
+ if ( ! $thumbnail_id ) {
4030
+ // get upload directory data
4031
+ $wp_upload_dir = wp_upload_dir();
4032
+
4033
+ // get file path
4034
+ $filepath = str_replace( '\\', '/', RESPONSIVE_LIGHTBOX_PATH . 'images/responsive-lightbox-video-thumbnail.png' );
4035
+
4036
+ // get file name
4037
+ $filename = basename( $filepath );
4038
+
4039
+ // new filepath in upload dir
4040
+ $new_filepath = $wp_upload_dir['path'] . '/' . $filename;
4041
+
4042
+ // copty file to upload dir
4043
+ copy( $filepath, $new_filepath );
4044
+
4045
+ // get type of file
4046
+ $filetype = wp_check_filetype( $filename );
4047
+
4048
+ // force pending status for the attachment
4049
+ add_filter( 'wp_insert_attachment_data', array( $this, 'set_attachment_post_status' ) );
4050
+
4051
+ // insert attachment
4052
+ $thumbnail_id = wp_insert_attachment(
4053
+ array(
4054
+ 'guid' => $wp_upload_dir['url'] . '/' . $filename,
4055
+ 'post_mime_type' => $filetype['type'],
4056
+ 'post_title' => preg_replace( '/\.[^.]+$/', '', $filename ),
4057
+ 'post_content' => '',
4058
+ 'post_parent' => 0,
4059
+ 'post_status' => 'inherit'
4060
+ ),
4061
+ $new_filepath,
4062
+ 0
4063
+ );
4064
+
4065
+ remove_filter( 'wp_insert_attachment_data', array( $this, 'set_attachment_post_status' ) );
4066
+
4067
+ // success?
4068
+ if ( $thumbnail_id ) {
4069
+ // make sure that this file is included
4070
+ require_once( ABSPATH . 'wp-admin/includes/image.php' );
4071
+
4072
+ // update database with generated metadata for the attachment
4073
+ wp_update_attachment_metadata( $thumbnail_id, wp_generate_attachment_metadata( $thumbnail_id, $new_filepath ) );
4074
+ }
4075
+ } else
4076
+ $thumbnail_id = $thumbnail_id[0];
4077
+ }
4078
+
4079
+ return (int) $thumbnail_id;
4080
+ }
4081
+
4082
  /**
4083
  * Change status of new attachment thumbnail replacement.
4084
  *
4385
  return $data;
4386
  }
4387
 
4388
+ /**
4389
+ * Fix possible misplaced or hidden metaboxes do to old 'after_title' metabox and possibility to move internal metaboxes.
4390
+ *
4391
+ * @return void
4392
+ */
4393
+ public function clear_metaboxes( $screen ) {
4394
+ global $pagenow;
4395
+
4396
+ if ( ! ( ( $pagenow === 'post.php' || $pagenow === 'post-new.php' ) && ! empty( $screen->post_type ) && $screen->post_type === 'rl_gallery' && empty( $_POST['rl_gallery'] ) ) )
4397
+ return;
4398
+
4399
+ // get user id
4400
+ $user_id = get_current_user_id();
4401
+
4402
+ // get rl metaboxes
4403
+ $order = get_user_meta( $user_id, 'meta-box-order_rl_gallery', true );
4404
+
4405
+ // any metabox order? fix possible misplaced metaboxes
4406
+ if ( is_array( $order ) && ! empty( $order ) ) {
4407
+ // save metaboxes
4408
+ $_order = $order;
4409
+
4410
+ // default rl metaboxes
4411
+ $rl_boxes = [ 'responsive-gallery-images', 'responsive-gallery-config', 'responsive-gallery-design', 'responsive-gallery-paging', 'responsive-gallery-lightbox', 'responsive-gallery-misc' ];
4412
+
4413
+ foreach ( $_order as $group => $metaboxes ) {
4414
+ if ( $group === 'after_title' ) {
4415
+ // remove deprecated after_title metabox
4416
+ unset( $order['after_title'] );
4417
+ } elseif ( $metaboxes !== '' ) {
4418
+ $boxes = explode( ',', $metaboxes );
4419
+ $new_boxes = [];
4420
+
4421
+ foreach ( $boxes as $box ) {
4422
+ if ( ! in_array( $box, $rl_boxes, true ) )
4423
+ $new_boxes[] = $box;
4424
+ }
4425
+
4426
+ if ( ! empty( $new_boxes ) )
4427
+ $order[$group] = implode( ',', $new_boxes );
4428
+ else
4429
+ $order[$group] = '';
4430
+ }
4431
+ }
4432
+
4433
+ // remove default metaboxes storage
4434
+ if ( array_key_exists( 'responsive_lightbox_metaboxes', $order ) )
4435
+ unset( $order['responsive_lightbox_metaboxes'] );
4436
+
4437
+ // update usermeta to prevent issues with rl metaboxes
4438
+ if ( $order !== $_order )
4439
+ update_user_meta( $user_id, 'meta-box-order_rl_gallery', $order );
4440
+ }
4441
+ }
4442
+
4443
  /**
4444
  * Save gallery metadata.
4445
  *
4452
  if ( wp_is_post_revision( $post_id ) || ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || ! $update || in_array( $post->post_status, array( 'trash', 'auto-draft' ), true ) || ( isset( $_GET['action'] ) && $_GET['action'] === 'untrash' ) || empty( $_POST['rl_gallery'] ) )
4453
  return;
4454
 
4455
+ // save gallery
4456
  $this->save_gallery( wp_unslash( $_POST ), $post_id );
4457
  }
4458
 
4465
  * @return void
4466
  */
4467
  public function save_gallery( $post_data, $post_id, $preview = false ) {
4468
+ // get gallery data
4469
  $data = $post_data['rl_gallery'];
4470
 
4471
  // prepare sanitized data
4515
  // add menu item
4516
  $menu_item = isset( $data[$tab_id], $data[$tab_id]['menu_item'] ) && array_key_exists( $data[$tab_id]['menu_item'], $this->tabs[$tab_id]['menu_items'] ) ? $data[$tab_id]['menu_item'] : 'options';
4517
 
 
 
 
4518
  // sanitize fields
4519
+ $safedata = $this->sanitize_fields( $menu_items[$menu_item], $data, $tab_id, $menu_item );
4520
 
4521
  // add menu item
4522
  $safedata[$tab_id]['menu_item'] = $menu_item;
4586
  * Check attachments IDs.
4587
  *
4588
  * @param array $attachments Attachment ID's
4589
+ * @param array $args
4590
  * @return array
4591
  */
4592
+ public function check_attachments( $attachments, $args = [] ) {
4593
+ // no attachments?
4594
  if ( empty( $attachments ) || ! is_array( $attachments ) )
4595
  return [];
4596
 
4597
+ // check providers support
4598
+ if ( ! empty( $args['providers'] ) )
4599
+ $embed = rl_current_lightbox_supports( $args['providers'], 'OR' );
4600
+ else
4601
+ $embed = false;
4602
+
4603
+ // no embed data?
4604
+ if ( ! $embed )
4605
+ $copy = array_map( 'intval', $attachments );
4606
+ else
4607
+ $copy = $attachments;
4608
 
4609
  // check attachments
4610
  foreach ( $attachments as $key => $attachment_id ) {
4611
+ // embed?
4612
+ if ( $embed && preg_match( '/^e\d+$/', $attachment_id ) === 1 ) {
4613
+ if ( ! in_array( $attachment_id, $args['embed_keys'], true ) )
4614
+ unset( $copy[$key] );
4615
+ // video support?
4616
+ } elseif ( rl_current_lightbox_supports( 'video' ) ) {
4617
+ // is it an image or video?
4618
+ if ( ! wp_attachment_is( 'video', $attachment_id ) && ! wp_attachment_is( 'image', $attachment_id ) )
4619
+ unset( $copy[$key] );
4620
+ // make sure it's integer
4621
+ elseif ( $embed )
4622
+ $copy[$key] = (int) $copy[$key];
4623
+ } else {
4624
+ // is it an image?
4625
+ if ( ! wp_attachment_is_image( $attachment_id ) )
4626
+ unset( $copy[$key] );
4627
+ // make sure it's integer
4628
+ elseif ( $embed )
4629
+ $copy[$key] = (int) $copy[$key];
4630
+ }
4631
  }
4632
 
4633
+ return array_values( $copy );
4634
  }
4635
 
4636
  /**
includes/class-multilang.php CHANGED
@@ -293,7 +293,7 @@ class Responsive_Lightbox_Multilang {
293
  $taxonomy = $rl->options['folders']['media_taxonomy'];
294
 
295
  // parse URL
296
- $params = parse_url( html_entity_decode( urldecode( add_query_arg() ) ) );
297
 
298
  if ( isset( $params['query'] ) ) {
299
  // parse query string
293
  $taxonomy = $rl->options['folders']['media_taxonomy'];
294
 
295
  // parse URL
296
+ $params = parse_url( html_entity_decode( urldecode( add_query_arg( '', '' ) ) ) );
297
 
298
  if ( isset( $params['query'] ) ) {
299
  // parse query string
includes/class-settings.php CHANGED
@@ -1024,14 +1024,7 @@ class Responsive_Lightbox_Settings {
1024
  'reset' => 'reset_rl_remote_library'
1025
  );
1026
 
1027
- // push licenses just before the addons
1028
- if ( isset( $this->tabs['seo_images'] ) ) {
1029
- $seo = $this->tabs['seo_images'];
1030
-
1031
- unset( $this->tabs['seo_images'] );
1032
-
1033
- $this->tabs['seo_images'] = $seo;
1034
- }
1035
 
1036
  // push licenses just before the addons
1037
  if ( isset( $this->tabs['licenses'] ) ) {
1024
  'reset' => 'reset_rl_remote_library'
1025
  );
1026
 
1027
+ $this->tabs = apply_filters( 'rl_settings_tabs_extra', $this->tabs );
 
 
 
 
 
 
 
1028
 
1029
  // push licenses just before the addons
1030
  if ( isset( $this->tabs['licenses'] ) ) {
includes/class-tour.php CHANGED
@@ -162,21 +162,12 @@ class Responsive_Lightbox_Tour {
162
  );
163
  // lightboxes
164
  } elseif ( $_GET['page'] === 'responsive-lightbox-configuration' ) {
165
- // get additional plugins based on tabs
166
- $plugins = array_values( array_diff( array_keys( $rl->settings->tabs ), array( 'settings', 'configuration', 'gallery', 'builder', 'folders', 'remote_library', 'capabilities', 'licenses', 'addons' ) ) );
167
-
168
- if ( ! empty( $plugins ) ) {
169
- // get first plugin tab key
170
- $plugin_key = $plugins[0];
171
- } else
172
- $plugin_key = 'gallery';
173
-
174
  $pointer = array(
175
  'content' => '<h3>' . __( 'Lightboxes Settings', 'responsive-lightbox' ) . '</h3>' .
176
  '<p>' . __( 'Each lightbox has different look, possibilities and parameters. Here is a list of available lightbox effects along with their settings. After entering the tab you can see the settings of the currently selected lightbox, but you can also modify or restore the settings of the others.', 'responsive-lightbox' ) . '</p>',
177
  'button2' => __( 'Next', 'responsive-lightbox' ),
178
  'id' => '#wpbody-content .wrap .nav-tab-active',
179
- 'function' => 'window.location="' . admin_url( 'admin.php?page=responsive-lightbox-' . $plugin_key ) . '";'
180
  );
181
  // galleries
182
  } elseif ( $_GET['page'] === 'responsive-lightbox-gallery' ) {
@@ -216,12 +207,21 @@ class Responsive_Lightbox_Tour {
216
  );
217
  // remote library
218
  } elseif ( $_GET['page'] === 'responsive-lightbox-remote_library' ) {
 
 
 
 
 
 
 
 
 
219
  $pointer = array(
220
  'content' => '<h3>' . __( 'Remote Library Settings', 'responsive-lightbox' ) . '</h3>' .
221
  '<p>' . __( 'Are you looking for free royalty free public domain and CC0-Licensed images for your website? Or you need to access your images stored in photo-sharing apps? Remote Library allows you to use images from multiple sources like Unsplash, Pixabay, Flickr or Instagram directly in your WordPress Media Manager. Now you can create galleries, browse, insert and import images as never before.', 'responsive-lightbox' ) . '</p>',
222
  'button2' => __( 'Next', 'responsive-lightbox' ),
223
  'id' => '#wpbody-content .wrap .nav-tab-active',
224
- 'function' => 'window.location="' . admin_url( 'admin.php?page=responsive-lightbox-' . ( ! empty( $rl->settings->tabs['licenses'] ) ? 'licenses' : 'addons' ) ) . '";'
225
  );
226
 
227
  // licenses
162
  );
163
  // lightboxes
164
  } elseif ( $_GET['page'] === 'responsive-lightbox-configuration' ) {
 
 
 
 
 
 
 
 
 
165
  $pointer = array(
166
  'content' => '<h3>' . __( 'Lightboxes Settings', 'responsive-lightbox' ) . '</h3>' .
167
  '<p>' . __( 'Each lightbox has different look, possibilities and parameters. Here is a list of available lightbox effects along with their settings. After entering the tab you can see the settings of the currently selected lightbox, but you can also modify or restore the settings of the others.', 'responsive-lightbox' ) . '</p>',
168
  'button2' => __( 'Next', 'responsive-lightbox' ),
169
  'id' => '#wpbody-content .wrap .nav-tab-active',
170
+ 'function' => 'window.location="' . admin_url( 'admin.php?page=responsive-lightbox-gallery' ) . '";'
171
  );
172
  // galleries
173
  } elseif ( $_GET['page'] === 'responsive-lightbox-gallery' ) {
207
  );
208
  // remote library
209
  } elseif ( $_GET['page'] === 'responsive-lightbox-remote_library' ) {
210
+ // get additional plugins based on tabs
211
+ $plugins = array_values( array_diff( array_keys( $rl->settings->tabs ), array( 'settings', 'configuration', 'gallery', 'builder', 'folders', 'remote_library', 'capabilities', 'licenses', 'addons' ) ) );
212
+
213
+ if ( ! empty( $plugins ) ) {
214
+ // get first plugin tab key
215
+ $plugin_key = $plugins[0];
216
+ } else
217
+ $plugin_key = 'addons';
218
+
219
  $pointer = array(
220
  'content' => '<h3>' . __( 'Remote Library Settings', 'responsive-lightbox' ) . '</h3>' .
221
  '<p>' . __( 'Are you looking for free royalty free public domain and CC0-Licensed images for your website? Or you need to access your images stored in photo-sharing apps? Remote Library allows you to use images from multiple sources like Unsplash, Pixabay, Flickr or Instagram directly in your WordPress Media Manager. Now you can create galleries, browse, insert and import images as never before.', 'responsive-lightbox' ) . '</p>',
222
  'button2' => __( 'Next', 'responsive-lightbox' ),
223
  'id' => '#wpbody-content .wrap .nav-tab-active',
224
+ 'function' => 'window.location="' . admin_url( 'admin.php?page=responsive-lightbox-' . $plugin_key ) . '";'
225
  );
226
 
227
  // licenses
includes/functions.php CHANGED
@@ -112,18 +112,53 @@ function rl_get_image_size_by_url( $url ) {
112
  /**
113
  * Check whether lightbox supports specified type.
114
  *
115
- * @param string $type Lightbox support type
116
- * @return bool|array
 
117
  */
118
- function rl_current_lightbox_supports( $type = '' ) {
119
- $script = Responsive_Lightbox()->options['settings']['script'];
120
- $scripts = Responsive_Lightbox()->settings->scripts;
121
-
122
- if ( $type !== '' ) {
123
- if ( array_key_exists( $script, $scripts ) && array_key_exists( 'supports', $scripts[$script] ) )
124
- return in_array( $type, $scripts[$script]['supports'], true );
125
- } else
126
- return $scripts[$script]['supports'];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
127
 
128
  return false;
129
  }
112
  /**
113
  * Check whether lightbox supports specified type.
114
  *
115
+ * @param string|array $type Lightbox support type(s), leave empty to get all supported features
116
+ * @param string $compare_mode
117
+ * @return bool|array
118
  */
119
+ function rl_current_lightbox_supports( $type = '', $compare_mode = 'AND' ) {
120
+ // get main instance
121
+ $rl = Responsive_Lightbox();
122
+
123
+ // get current script
124
+ $script = $rl->options['settings']['script'];
125
+
126
+ // get scripts
127
+ $scripts = $rl->settings->scripts;
128
+
129
+ // valid script?
130
+ if ( array_key_exists( $script, $scripts ) && array_key_exists( 'supports', $scripts[$script] ) ) {
131
+ if ( ! empty( $type ) ) {
132
+ // multitype?
133
+ if ( is_array( $type ) ) {
134
+ // filter types
135
+ $type = array_filter( $type );
136
+
137
+ if ( empty( $type ) )
138
+ return false;
139
+
140
+ $supports = ( $compare_mode === 'AND' );
141
+
142
+ foreach ( $type as $_type ) {
143
+ // single type required
144
+ if ( $compare_mode === 'OR' ) {
145
+ if ( in_array( $_type, $scripts[$script]['supports'], true ) )
146
+ return true;
147
+ // all types required
148
+ } else {
149
+ if ( ! in_array( $_type, $scripts[$script]['supports'], true ) )
150
+ return false;
151
+ }
152
+ }
153
+
154
+ return $supports;
155
+ // single type
156
+ } else
157
+ return in_array( $type, $scripts[$script]['supports'], true );
158
+ // return all supported features
159
+ } else
160
+ return $scripts[$script]['supports'];
161
+ }
162
 
163
  return false;
164
  }
js/admin-galleries.js CHANGED
@@ -5,9 +5,11 @@
5
  */
6
  $( function() {
7
  var galleryFrame = null;
 
8
  var attachmentFrame = null;
9
  var galleryContainer = $( '.rl-gallery-images' );
10
  var galleryIds = $( '.rl-gallery-ids' );
 
11
  var mediaProviders = {};
12
  var secondaryToolbar = false;
13
 
@@ -130,10 +132,10 @@
130
  return false;
131
 
132
  var li = $( this ).closest( 'li.rl-gallery-image' );
133
- var attachmentIds = getCurrentAttachments( galleryIds );
134
 
135
  // remove id
136
- attachmentIds = _.without( attachmentIds, parseInt( li.data( 'attachment_id' ) ) );
137
 
138
  // remove attachment
139
  li.remove();
@@ -150,55 +152,150 @@
150
  $( document ).on( 'click', '.rl-gallery-image-edit', function( e ) {
151
  e.preventDefault();
152
 
153
- var li = $( this ).closest( 'li.rl-gallery-image' );
154
- var attachmentId = parseInt( li.data( 'attachment_id' ) );
155
 
156
- // frame already exists?
157
- if ( attachmentFrame !== null ) {
158
- attachmentFrame.detach();
159
- attachmentFrame.dispose();
160
- attachmentFrame = null;
161
- }
162
 
163
- // create new frame
164
- attachmentFrame = wp.media( {
165
- id: 'rl-edit-attachment-modal',
166
- frame: 'select',
167
- uploader: false,
168
- title: rlArgsGalleries.editTitle,
169
- library: {
170
- post__in: [ attachmentId ],
171
- type: 'image',
172
- content: 'browse',
173
- contentUserSetting: false,
174
- router: 'browse',
175
- searchable: false,
176
- sortable: false,
177
- multiple: false,
178
- editable: true
179
- },
180
- button: {
181
- text: rlArgsGalleries.buttonEditFile
182
  }
183
- } ).on( 'open', function() {
184
- var attachment = wp.media.attachment( attachmentId );
185
- var selection = attachmentFrame.state().get( 'selection' );
186
 
187
- // set browser mode
188
- attachmentFrame.content.mode( 'browse' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
189
 
190
- // add classes
191
- attachmentFrame.$el.closest( '.media-modal' ).addClass( 'rl-edit-modal' );
192
- attachmentFrame.$el.closest( '.media-frame' ).addClass( 'hide-router' );
193
 
194
- // get attachment
195
- attachment.fetch();
196
 
197
- // add attachment
198
- selection.add( attachment );
199
- } );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
200
 
201
- attachmentFrame.open();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
202
 
203
  return false;
204
  } );
@@ -210,27 +307,18 @@
210
  e.preventDefault();
211
 
212
  var li = $( this ).closest( 'li.rl-gallery-image' );
213
- var input = li.find( '.rl-gallery-exclude' );
214
- var status = li.hasClass( 'rl-status-active' );
215
- var id = parseInt( li.data( 'attachment_id' ) );
216
- var item = '';
217
-
218
- if ( id > 0 )
219
- item = id;
220
- else
221
- item = li.find( '.rl-gallery-inner img' ).attr( 'src' );
222
 
223
- // exclude?
224
- if ( status ) {
225
  li.addClass( 'rl-status-inactive' ).removeClass( 'rl-status-active' );
226
 
227
  // add item
228
- input.val( item );
229
  } else {
230
  li.addClass( 'rl-status-active' ).removeClass( 'rl-status-inactive' );
231
 
232
  // remove item
233
- input.val( '' );
234
  }
235
 
236
  return false;
@@ -254,8 +342,10 @@
254
  title: rlArgsGalleries.textSelectImages,
255
  multiple: 'add',
256
  autoSelect: true,
 
257
  library: {
258
- type: 'image'
 
259
  },
260
  button: {
261
  text: rlArgsGalleries.textUseImages
@@ -284,7 +374,9 @@
284
  style: 'secondary',
285
  priority: 0,
286
  text: rlArgsGalleries.clearSelection,
287
- requires: { selection: true },
 
 
288
  click: function() {
289
  var state = this.controller.state();
290
  var selection = state.get( 'selection' );
@@ -298,7 +390,7 @@
298
  } );
299
 
300
  var selection = galleryFrame.state().get( 'selection' );
301
- var attachmentIds = getCurrentAttachments( galleryIds );
302
 
303
  if ( ! secondaryToolbar ) {
304
  toolbar.secondary.$el.append(
@@ -325,7 +417,7 @@
325
  selection.off( 'remove', toggleSelection );
326
 
327
  // select attachment
328
- selection.add( attachment ? [ attachment ] : [ ] );
329
  } );
330
 
331
  var span = toolbar.secondary.$el.find( '.rl-gallery-count' );
@@ -340,16 +432,10 @@
340
  } );
341
  } ).on( 'select', function() {
342
  var selection = galleryFrame.state().get( 'selection' );
343
- var attachmentIds = getCurrentAttachments( galleryIds );
344
- var selectedIds = [ ];
345
 
346
  if ( selection ) {
347
- var tabId = $( 'input[name="rl_active_tab"]' ).val();
348
- var menuItem = $( '.rl-gallery-tab-menu-' + tabId ).find( '.rl-gallery-tab-menu-item:checked' ).val();
349
- var fieldName = galleryContainer.closest( 'tr[data-field_name]' ).data( 'field_name' );
350
- var excludedInput = '<input type="hidden" class="rl-gallery-exclude" name="rl_gallery[__IMAGE_TAB_ID__][__IMAGE_MENU_ITEM__][__IMAGE_FIELD_NAME__][exclude][]" value="" />';
351
- var input = excludedInput.replace( /__IMAGE_TAB_ID__/g, tabId ).replace( /__IMAGE_MENU_ITEM__/g, menuItem ).replace( /__IMAGE_FIELD_NAME__/g, fieldName );
352
-
353
  selection.map( function( attachment ) {
354
  // fetched attachment? attachment visible in modal
355
  if ( typeof attachment.id === 'number' ) {
@@ -357,7 +443,7 @@
357
  selectedIds.push( attachment.id );
358
 
359
  // is image already in gallery?
360
- if ( $.inArray( attachment.id, attachmentIds ) !== -1 )
361
  return;
362
 
363
  // add attachment
@@ -366,32 +452,77 @@
366
 
367
  // default size
368
  var size = {
 
369
  height: 150,
370
  orientation: 'landscape',
371
- url: attachment.url,
372
- width: 150
373
  };
374
 
375
- // is preview size available?
376
- if ( attachment.sizes && attachment.sizes['thumbnail'] )
377
- size = attachment.sizes['thumbnail'];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
378
 
379
  // append new image
380
- galleryContainer.append( rlArgsGalleries.mediaItemTemplate.replace( /__IMAGE_ID__/g, attachment.id ).replace( /__IMAGE__/g, input + '<img width="' + size.width + '" height="' + size.height + '" src="' + rlArgsGalleries.thumbnail[0] + '" class="attachment-thumbnail size-thumbnail format-' + size.orientation + '" alt="" />' ).replace( /__IMAGE_STATUS__/g, 'rl-status-active' ) );
381
 
382
  // update image src and alt the safe way
383
  $( 'li[data-attachment_id="' + attachment.id + '"]' ).find( 'img' ).attr( 'alt', attachment.alt ).attr( 'src', size.url );
384
  // only attachment id? attachment not visible in modal
385
  } else {
386
  // add attachment
387
- selectedIds.push( +attachment.id );
388
 
389
  // is image already in gallery?
390
- if ( $.inArray( +attachment.id, attachmentIds ) !== -1 )
391
  return;
392
 
393
  // add attachment
394
- attachmentIds.push( +attachment.id );
395
  }
396
  } );
397
  }
@@ -399,15 +530,22 @@
399
  // assign copy of attachment ids
400
  var copy = attachmentIds;
401
 
402
- for ( var i = 0; i < attachmentIds.length; i++ ) {
403
  // unselected image?
404
- if ( $.inArray( attachmentIds[i], selectedIds ) === -1 ) {
 
 
 
 
 
405
  galleryContainer.find( 'li.rl-gallery-image[data-attachment_id="' + attachmentIds[i] + '"]' ).remove();
406
 
 
407
  copy = _.without( copy, attachmentIds[i] );
408
  }
409
  }
410
 
 
411
  galleryIds.val( _.uniq( copy ).join( ',' ) );
412
  } );
413
 
@@ -415,6 +553,212 @@
415
  galleryFrame.open();
416
  } );
417
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
418
  /**
419
  * Handle updating gallery preview.
420
  */
@@ -551,44 +895,46 @@
551
  menu_item: menuItem,
552
  query: queryArgs,
553
  preview_type: type,
554
- excluded: $( '.rl-gallery-exclude' ).map( function( i, elem ) { return $( elem ).val(); } ).get(),
 
 
555
  nonce: rlArgsGalleries.nonce
556
  } ).done( function( response ) {
557
  // try {
558
- if ( response.success ) {
559
- container.find( 'tr[data-field_type]' ).each( function() {
560
- var el = $( this );
561
-
562
- // any response data fields?
563
- if ( el.data( 'field_type' ) === 'hidden' && el.data( 'field_name' ) === 'response_data' ) {
564
- var responseData = response.data.response_data;
565
-
566
- // loop through all providers
567
- for ( var provider in responseData ) {
568
- if ( responseData.hasOwnProperty( provider ) ) {
569
- var arguments = responseData[provider];
570
-
571
- // loop through all arguments
572
- for ( var argument in arguments ) {
573
- if ( arguments.hasOwnProperty( argument ) ) {
574
- $( '#rl_images_remote_library_response_data_' + provider + '_' + argument ).data( 'value', arguments[argument] );
575
- }
576
  }
577
  }
578
  }
579
  }
580
- } );
 
581
 
582
- // update images
583
- $( '.rl-gallery-images' ).empty().append( response.data.images );
584
 
585
- // update pagination
586
- $( '.rl-gallery-preview-pagination' ).replaceWith( response.data.pagination );
587
- } else {
588
- // @todo
589
- }
590
  // } catch ( e ) {
591
- // console.log( 'err' );
592
  // }
593
  } ).always( function() {
594
  // hide spinner
@@ -636,13 +982,13 @@
636
  var thumbnail_id = parseInt( $( '#_thumbnail_id' ).attr( 'data-featured-id' ) );
637
 
638
  if ( thumbnail_id > 0 )
639
- $( '#_thumbnail_id' ).val( thumbnail_id ).attr( 'data-featured-id', -1 );
640
- // custom URL or first gallery image
641
  } else {
642
  var thumbnail_id = parseInt( $( '#_thumbnail_id' ).val() );
643
 
644
  if ( thumbnail_id > 0 )
645
- $( '#_thumbnail_id' ).attr( 'data-featured-id', thumbnail_id ).val( -1 );
646
  }
647
  } );
648
 
@@ -725,21 +1071,21 @@
725
  } );
726
 
727
  // handle toggling postboxes
728
- $( document).on( 'postbox-toggled', disableFirstButton );
729
 
730
  // handle moving postboxes
731
  $( '.postbox .handle-order-higher, .postbox .handle-order-lower' ).on( 'click.postboxes', disableFirstButton );
732
 
733
  // stop observer
734
  observer.disconnect();
735
- }, 10 );
736
  }
737
  }
738
  } );
739
  } );
740
 
741
  // start observing
742
- observer.observe( metabox, { attributes: true } );
743
  }
744
  }
745
 
@@ -766,16 +1112,48 @@
766
  } );
767
  }
768
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
769
  /**
770
  * Get attachment IDs.
771
  */
772
- function getCurrentAttachments( galleryIds ) {
773
- var attachments = galleryIds.val();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
774
 
775
- // return integer image ids or empty array
776
- return attachments !== '' ? attachments.split( ',' ).map( function( i ) {
777
- return parseInt( i );
778
- } ) : [];
779
  }
780
 
781
  /**
@@ -800,10 +1178,10 @@
800
  ui.item.removeAttr( 'style' );
801
  },
802
  update: function( event, ui ) {
803
- var attachmentIds = [ ];
804
 
805
  gallery.find( 'li.rl-gallery-image' ).each( function() {
806
- attachmentIds.push( parseInt( $( this ).attr( 'data-attachment_id' ) ) );
807
  } );
808
 
809
  ids.val( _.uniq( attachmentIds ).join( ',' ) );
5
  */
6
  $( function() {
7
  var galleryFrame = null;
8
+ var embedFrame = null;
9
  var attachmentFrame = null;
10
  var galleryContainer = $( '.rl-gallery-images' );
11
  var galleryIds = $( '.rl-gallery-ids' );
12
+ var embedNumber = galleryContainer.find( 'li[data-type="embed"]' ).length;
13
  var mediaProviders = {};
14
  var secondaryToolbar = false;
15
 
132
  return false;
133
 
134
  var li = $( this ).closest( 'li.rl-gallery-image' );
135
+ var attachmentIds = getCurrentAttachments( galleryIds, false );
136
 
137
  // remove id
138
+ attachmentIds = _.without( attachmentIds, li.data( 'attachment_id' ) );
139
 
140
  // remove attachment
141
  li.remove();
152
  $( document ).on( 'click', '.rl-gallery-image-edit', function( e ) {
153
  e.preventDefault();
154
 
155
+ var attachmentId = $( this ).closest( 'li.rl-gallery-image' ).data( 'attachment_id' );
156
+ var parsedInt = parseInt( attachmentId );
157
 
158
+ // integer id
159
+ if ( parsedInt == attachmentId ) {
160
+ attachmentId = parsedInt;
 
 
 
161
 
162
+ // frame already exists?
163
+ if ( attachmentFrame !== null ) {
164
+ attachmentFrame.detach();
165
+ attachmentFrame.dispose();
166
+ attachmentFrame = null;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
167
  }
 
 
 
168
 
169
+ // create new frame
170
+ attachmentFrame = wp.media( {
171
+ id: 'rl-edit-attachment-modal',
172
+ frame: 'select',
173
+ uploader: false,
174
+ title: rlArgsGalleries.editAttachment,
175
+ library: {
176
+ post__in: [attachmentId],
177
+ type: rlArgsGalleries.supports.default,
178
+ content: 'browse',
179
+ contentUserSetting: false,
180
+ router: 'browse',
181
+ searchable: false,
182
+ sortable: false,
183
+ multiple: false,
184
+ editable: true
185
+ },
186
+ button: {
187
+ text: rlArgsGalleries.saveChanges
188
+ }
189
+ } ).on( 'open', function() {
190
+ var attachment = wp.media.attachment( attachmentId );
191
+ var selection = attachmentFrame.state().get( 'selection' );
192
+
193
+ // set browser mode
194
+ attachmentFrame.content.mode( 'browse' );
195
 
196
+ // add classes
197
+ attachmentFrame.$el.closest( '.media-modal' ).addClass( 'rl-edit-modal' );
198
+ attachmentFrame.$el.closest( '.media-frame' ).addClass( 'hide-router' );
199
 
200
+ // get attachment
201
+ attachment.fetch();
202
 
203
+ // add attachment
204
+ selection.add( attachment );
205
+ } ).on( 'close', function() {
206
+ var selection = attachmentFrame.state().get( 'selection' );
207
+
208
+ // unselect attachment to avoid issues with videos
209
+ selection.reset();
210
+ } );
211
+
212
+ attachmentFrame.open();
213
+ // embed string
214
+ } else if ( /^e\d+$/.test( attachmentId ) ) {
215
+ // attachmentId = 0;
216
+
217
+ // frame already exists?
218
+ if ( attachmentFrame !== null ) {
219
+ attachmentFrame.detach();
220
+ attachmentFrame.dispose();
221
+ attachmentFrame = null;
222
+ }
223
+
224
+ // create new frame
225
+ attachmentFrame = wp.media( {
226
+ id: 'rl-edit-attachment-modal',
227
+ frame: 'select',
228
+ uploader: false,
229
+ title: rlArgsGalleries.editEmbed,
230
+ library: {
231
+ post__in: [0]
232
+ },
233
+ button: {
234
+ text: rlArgsGalleries.saveChanges
235
+ }
236
+ } ).on( 'open', function() {
237
+ var attachment = wp.media.attachment( attachmentId );
238
+ var selection = attachmentFrame.state().get( 'selection' );
239
+ var embedItem = $( '.rl-gallery-image[data-attachment_id="' + attachmentId + '"]' );
240
+
241
+ // set browser mode
242
+ attachmentFrame.content.mode( 'browse' );
243
+
244
+ // add classes
245
+ attachmentFrame.$el.closest( '.media-modal' ).addClass( 'rl-edit-modal' );
246
+ attachmentFrame.$el.closest( '.media-frame' ).addClass( 'hide-router' );
247
+
248
+ // get attachment
249
+ attachment.fetch();
250
+
251
+ // simulate real attachment
252
+ attachment.id = attachmentId;
253
+ attachment.attributes = {
254
+ id: attachmentId,
255
+ filename: embedItem.find( 'input[data-type="url"]' ).val(),
256
+ dateFormatted: embedItem.find( 'input[data-type="date"]' ).val(),
257
+ width: embedItem.find( 'input[data-type="width"]' ).val(),
258
+ height: embedItem.find( 'input[data-type="height"]' ).val(),
259
+ title: embedItem.find( 'input[data-type="title"]' ).val(),
260
+ description: embedItem.find( 'textarea[data-type="caption"]' ).val(),
261
+ url: embedItem.find( 'input[data-type="url"]' ).val(),
262
+ sizes: {
263
+ thumbnail: {
264
+ width: embedItem.find( 'input[data-type="thumbnail_width"]' ).val(),
265
+ height: embedItem.find( 'input[data-type="thumbnail_height"]' ).val(),
266
+ url: embedItem.find( 'input[data-type="thumbnail_url"]' ).val(),
267
+ orientation: 'landscape'
268
+ }
269
+ },
270
+ type: 'image',
271
+ };
272
+
273
+ // add attachment
274
+ selection.add( attachment );
275
+
276
+ // update details label
277
+ attachmentFrame.$el.find( '.media-sidebar h2' ).text( rlArgsGalleries.videoDetails );
278
+
279
+ var detailsItem = attachmentFrame.$el.find( '.attachment-details' );
280
 
281
+ // hide unwanted html
282
+ detailsItem.find( 'p.description' ).hide();
283
+ detailsItem.find( '[data-setting="alt"]' ).hide();
284
+ detailsItem.find( '[data-setting="caption"]' ).hide();
285
+ detailsItem.find( '[data-setting="title"] input' ).prop( 'readonly', false );
286
+ detailsItem.find( '[data-setting="description"] textarea' ).prop( 'readonly', false );
287
+
288
+ // get media toolbar
289
+ var toolbar = attachmentFrame.toolbar.get();
290
+
291
+ toolbar.primary.$el.find( 'button' ).on( 'click', function() {
292
+ embedItem.find( 'input[data-type="title"]' ).val( detailsItem.find( '[data-setting="title"] input' ).val() );
293
+ embedItem.find( 'textarea[data-type="caption"]' ).val( detailsItem.find( '[data-setting="description"] textarea' ).val() );
294
+ } );
295
+ } );
296
+
297
+ attachmentFrame.open();
298
+ }
299
 
300
  return false;
301
  } );
307
  e.preventDefault();
308
 
309
  var li = $( this ).closest( 'li.rl-gallery-image' );
 
 
 
 
 
 
 
 
 
310
 
311
+ // active?
312
+ if ( li.hasClass( 'rl-status-active' ) ) {
313
  li.addClass( 'rl-status-inactive' ).removeClass( 'rl-status-active' );
314
 
315
  // add item
316
+ li.find( '.rl-gallery-exclude' ).val( li.data( 'attachment_id' ) );
317
  } else {
318
  li.addClass( 'rl-status-active' ).removeClass( 'rl-status-inactive' );
319
 
320
  // remove item
321
+ li.find( '.rl-gallery-exclude' ).val( '' );
322
  }
323
 
324
  return false;
342
  title: rlArgsGalleries.textSelectImages,
343
  multiple: 'add',
344
  autoSelect: true,
345
+ filters: 'all',
346
  library: {
347
+ type: rlArgsGalleries.supports.default,
348
+ filters: 'all'
349
  },
350
  button: {
351
  text: rlArgsGalleries.textUseImages
374
  style: 'secondary',
375
  priority: 0,
376
  text: rlArgsGalleries.clearSelection,
377
+ requires: {
378
+ selection: true
379
+ },
380
  click: function() {
381
  var state = this.controller.state();
382
  var selection = state.get( 'selection' );
390
  } );
391
 
392
  var selection = galleryFrame.state().get( 'selection' );
393
+ var attachmentIds = getCurrentAttachments( galleryIds, true );
394
 
395
  if ( ! secondaryToolbar ) {
396
  toolbar.secondary.$el.append(
417
  selection.off( 'remove', toggleSelection );
418
 
419
  // select attachment
420
+ selection.add( attachment ? [attachment] : [] );
421
  } );
422
 
423
  var span = toolbar.secondary.$el.find( '.rl-gallery-count' );
432
  } );
433
  } ).on( 'select', function() {
434
  var selection = galleryFrame.state().get( 'selection' );
435
+ var attachmentIds = getCurrentAttachments( galleryIds, false );
436
+ var selectedIds = [];
437
 
438
  if ( selection ) {
 
 
 
 
 
 
439
  selection.map( function( attachment ) {
440
  // fetched attachment? attachment visible in modal
441
  if ( typeof attachment.id === 'number' ) {
443
  selectedIds.push( attachment.id );
444
 
445
  // is image already in gallery?
446
+ if ( $.inArray( attachment.id, attachmentIds ) !== - 1 )
447
  return;
448
 
449
  // add attachment
452
 
453
  // default size
454
  var size = {
455
+ width: 150,
456
  height: 150,
457
  orientation: 'landscape',
458
+ url: attachment.url
 
459
  };
460
 
461
+ // image?
462
+ if ( attachment.type === 'image' ) {
463
+ // is preview size available?
464
+ if ( attachment.sizes && attachment.sizes.thumbnail ) {
465
+ if ( attachment.sizes.thumbnail.url )
466
+ size.url = attachment.sizes.thumbnail.url;
467
+
468
+ if ( attachment.sizes.thumbnail.height )
469
+ size.height = attachment.sizes.thumbnail.height;
470
+
471
+ if ( attachment.sizes.thumbnail.width )
472
+ size.width = attachment.sizes.thumbnail.width;
473
+
474
+ if ( attachment.sizes.thumbnail.orientation )
475
+ size.orientation = attachment.sizes.thumbnail.orientation;
476
+ }
477
+ // video?
478
+ } else if ( attachment.type === 'video' ) {
479
+ size.url = rlArgsGalleries.videoIcon;
480
+
481
+ // is preview size available?
482
+ if ( attachment.thumb ) {
483
+ if ( attachment.thumb.src && attachment.icon !== attachment.thumb.src )
484
+ size.url = attachment.thumb.src;
485
+
486
+ if ( attachment.thumb.height )
487
+ size.height = attachment.thumb.height;
488
+
489
+ if ( attachment.thumb.width )
490
+ size.width = attachment.thumb.width;
491
+
492
+ if ( attachment.thumb.orientation )
493
+ size.orientation = attachment.thumb.orientation;
494
+ // fallback to full size preview image
495
+ } else if ( attachment.image ) {
496
+ if ( attachment.image.src && attachment.icon !== attachment.image.src )
497
+ size.url = attachment.image.src;
498
+
499
+ if ( attachment.image.height )
500
+ size.height = attachment.image.height;
501
+
502
+ if ( attachment.image.width )
503
+ size.width = attachment.image.width;
504
+
505
+ if ( attachment.image.orientation )
506
+ size.orientation = attachment.image.orientation;
507
+ }
508
+ }
509
 
510
  // append new image
511
+ galleryContainer.append( rlArgsGalleries.mediaItemTemplate.replace( /__MEDIA_ID__/g, attachment.id ).replace( /__MEDIA_DATA__/g, getExcludeInput( galleryContainer ) + '<img width="' + size.width + '" height="' + size.height + '" src="' + rlArgsGalleries.thumbnail[0] + '" class="attachment-thumbnail size-thumbnail format-' + size.orientation + '" alt="" />' ).replace( /__MEDIA_STATUS__/g, ' rl-status-active' ).replace( /__MEDIA_TYPE__/g, attachment.type ) );
512
 
513
  // update image src and alt the safe way
514
  $( 'li[data-attachment_id="' + attachment.id + '"]' ).find( 'img' ).attr( 'alt', attachment.alt ).attr( 'src', size.url );
515
  // only attachment id? attachment not visible in modal
516
  } else {
517
  // add attachment
518
+ selectedIds.push( + attachment.id );
519
 
520
  // is image already in gallery?
521
+ if ( $.inArray( + attachment.id, attachmentIds ) !== - 1 )
522
  return;
523
 
524
  // add attachment
525
+ attachmentIds.push( + attachment.id );
526
  }
527
  } );
528
  }
530
  // assign copy of attachment ids
531
  var copy = attachmentIds;
532
 
533
+ for ( var i = 0; i < attachmentIds.length; i ++ ) {
534
  // unselected image?
535
+ if ( $.inArray( attachmentIds[i], selectedIds ) === - 1 ) {
536
+ // skip embed
537
+ if ( /^e\d+$/.test( attachmentIds[i] ) )
538
+ continue;
539
+
540
+ // remove unselected attachment
541
  galleryContainer.find( 'li.rl-gallery-image[data-attachment_id="' + attachmentIds[i] + '"]' ).remove();
542
 
543
+ // update attachment ids
544
  copy = _.without( copy, attachmentIds[i] );
545
  }
546
  }
547
 
548
+ // update gallery ids
549
  galleryIds.val( _.uniq( copy ).join( ',' ) );
550
  } );
551
 
553
  galleryFrame.open();
554
  } );
555
 
556
+ // extend Embed
557
+ var RLToolbarEmbed = wp.media.view.Toolbar.Embed;
558
+
559
+ wp.media.view.Toolbar.Embed = wp.media.view.Toolbar.Embed.extend( {
560
+ initialize: function() {
561
+ // replace button text
562
+ this.options.text = rlArgsGalleries.embedVideo;
563
+
564
+ // call original function
565
+ RLToolbarEmbed.prototype.initialize.apply( this, arguments );
566
+ }
567
+ } );
568
+
569
+ // extend EmbedLink
570
+ var RLEmbedLink = wp.media.view.EmbedLink;
571
+
572
+ wp.media.view.EmbedLink = wp.media.view.EmbedLink.extend( {
573
+ rlVideoFrameToolbar: null,
574
+ rlDisableButton: function() {
575
+ this.rlVideoFrameToolbar.primary.$el.find( 'button' ).prop( 'disabled', true );
576
+ },
577
+ updateoEmbed: function( model, url ) {
578
+ var youtube = new RegExp( 'https?://((m|www)\.)?youtube\.com/watch.*', 'i' );
579
+ var vimeo = new RegExp( 'https?://(.+\.)?vimeo\.com/.*', 'i' );
580
+
581
+ if ( ( rlArgsGalleries.supports.youtube && youtube.test( url ) ) || ( rlArgsGalleries.supports.vimeo && vimeo.test( url ) ) ) {
582
+ this.$el.find( '.rl-embed-video-text' ).hide();
583
+ } else {
584
+ // clear url
585
+ model.set( 'url', '' );
586
+
587
+ this.$el.find( '.rl-embed-video-text' ).show();
588
+ }
589
+
590
+ // call original function
591
+ RLEmbedLink.prototype.updateoEmbed.apply( this, arguments );
592
+ },
593
+ fetch: function() {
594
+ // no url?
595
+ if ( ! this.controller.state().props.get( 'url' ) )
596
+ return;
597
+
598
+ // call original function
599
+ RLEmbedLink.prototype.fetch.apply( this, arguments );
600
+
601
+ this.dfd.done( function( response, status, xhr ) {
602
+ // save response for later use
603
+ embedFrame.rlOembedResponse = response;
604
+
605
+ this.rlVideoFrameToolbar.primary.$el.find( 'button' ).prop( 'disabled', false );
606
+ } );
607
+ },
608
+ initialize: function() {
609
+ this.rlVideoFrameToolbar = embedFrame.toolbar.get();
610
+
611
+ // call original function
612
+ RLEmbedLink.prototype.initialize.apply( this, arguments );
613
+
614
+ this.listenTo( this.model, 'change:url', this.rlDisableButton );
615
+ }
616
+ } );
617
+
618
+ /**
619
+ * Handle gallery modal.
620
+ */
621
+ $( document ).on( 'click', '.rl-gallery-select-videos', function( e ) {
622
+ e.preventDefault();
623
+
624
+ // open media frame if already exists
625
+ if ( embedFrame !== null ) {
626
+ embedFrame.open();
627
+
628
+ return;
629
+ }
630
+
631
+ // create the media frame
632
+ embedFrame = wp.media( {
633
+ frame: 'post',
634
+ state: 'embed',
635
+ type: 'link',
636
+ metadata: {}
637
+ } ).on( 'open', function() {
638
+ // clear response
639
+ embedFrame.rlOembedResponse = {};
640
+
641
+ // get content
642
+ var content = embedFrame.content.get();
643
+
644
+ // hide setting link text
645
+ content.$( '.setting' ).hide();
646
+
647
+ var supportedEmbeds = [];
648
+
649
+ if ( rlArgsGalleries.supports.youtube )
650
+ supportedEmbeds.push( 'YouTube' );
651
+
652
+ if ( rlArgsGalleries.supports.vimeo )
653
+ supportedEmbeds.push( 'Vimeo' );
654
+
655
+ if ( content.$( '.embed-link-settings' ).find( '.rl-embed-video-text' ).length === 0 ) {
656
+ // append text
657
+ content.$( '.embed-link-settings' ).prepend( '<span class="rl-embed-video-text">' + rlArgsGalleries.onlyEmbedProviders.replace( '%s', supportedEmbeds.join( ', ' ) ) + '</span>' );
658
+ }
659
+
660
+ // get menu
661
+ var menu = embedFrame.$el;
662
+
663
+ // hide menu
664
+ if ( menu.length > 0 )
665
+ $( menu ).addClass( 'hide-menu' );
666
+
667
+ // get media toolbar
668
+ var toolbar = embedFrame.toolbar.get();
669
+
670
+ // update button
671
+ toolbar.primary.$el.find( 'button' ).prop( 'disabled', true );
672
+ } ).on( 'close', function() {
673
+ var state = embedFrame.state();
674
+
675
+ // save url before clearing
676
+ embedFrame.rlSelectedUrl = state.props.get( 'url' );
677
+
678
+ // clear url
679
+ state.props.set( 'url', 'http://' );
680
+ } ).on( 'select', function() {
681
+ var attachmentIds = getCurrentAttachments( galleryIds, false );
682
+
683
+ // embed id
684
+ var embedId = 'e' + embedNumber;
685
+
686
+ // add attachment
687
+ attachmentIds.push( embedId );
688
+
689
+ // update gallery ids
690
+ galleryIds.val( _.uniq( attachmentIds ).join( ',' ) );
691
+
692
+ // get embed item
693
+ var embedItem = $( rlArgsGalleries.mediaEmbedTemplate.replace( /__EMBED_ID__/g, embedId ) );
694
+
695
+ // update embed item values
696
+ embedItem.find( 'input[data-type="url"]' ).val( embedFrame.rlSelectedUrl );
697
+
698
+ // check width
699
+ if ( 'width' in embedFrame.rlOembedResponse )
700
+ embedItem.find( 'input[data-type="width"]' ).val( embedFrame.rlOembedResponse.width );
701
+ else
702
+ embedItem.find( 'input[data-type="width"]' ).val( 0 );
703
+
704
+ // check height
705
+ if ( 'height' in embedFrame.rlOembedResponse )
706
+ embedItem.find( 'input[data-type="height"]' ).val( embedFrame.rlOembedResponse.height );
707
+ else
708
+ embedItem.find( 'input[data-type="height"]' ).val( 0 );
709
+
710
+ // check thumbnail url
711
+ if ( 'thumbnail_url' in embedFrame.rlOembedResponse )
712
+ embedItem.find( 'input[data-type="thumbnail_url"]' ).val( embedFrame.rlOembedResponse.thumbnail_url );
713
+ else
714
+ embedItem.find( 'input[data-type="thumbnail_url"]' ).val( '' );
715
+
716
+ // check thumbnail width
717
+ if ( 'thumbnail_width' in embedFrame.rlOembedResponse )
718
+ embedItem.find( 'input[data-type="thumbnail_width"]' ).val( embedFrame.rlOembedResponse.thumbnail_width );
719
+ else
720
+ embedItem.find( 'input[data-type="thumbnail_width"]' ).val( 0 );
721
+
722
+ // check thumbnail height
723
+ if ( 'thumbnail_height' in embedFrame.rlOembedResponse )
724
+ embedItem.find( 'input[data-type="thumbnail_height"]' ).val( embedFrame.rlOembedResponse.thumbnail_height );
725
+ else
726
+ embedItem.find( 'input[data-type="thumbnail_height"]' ).val( 0 );
727
+
728
+ // check title
729
+ if ( 'title' in embedFrame.rlOembedResponse )
730
+ embedItem.find( 'input[data-type="title"]' ).val( embedFrame.rlOembedResponse.title );
731
+ else
732
+ embedItem.find( 'input[data-type="title"]' ).val( '' );
733
+
734
+ // check description
735
+ if ( 'description' in embedFrame.rlOembedResponse )
736
+ embedItem.find( 'textarea[data-type="caption"]' ).text( embedFrame.rlOembedResponse.description );
737
+ else
738
+ embedItem.find( 'textarea[data-type="caption"]' ).text( '' );
739
+
740
+ // check upload date
741
+ if ( 'upload_date' in embedFrame.rlOembedResponse )
742
+ embedItem.find( 'input[data-type="date"]' ).val( embedFrame.rlOembedResponse.upload_date );
743
+ else
744
+ embedItem.find( 'input[data-type="date"]' ).val( '' );
745
+
746
+ // append new image
747
+ galleryContainer.append(
748
+ rlArgsGalleries.mediaItemTemplate
749
+ .replace( /__MEDIA_ID__/g, embedId )
750
+ .replace( /__MEDIA_DATA__/g, getExcludeInput( galleryContainer ) + embedItem.html() + '<img width="' + embedFrame.rlOembedResponse.thumbnail_width + '" height="' + embedFrame.rlOembedResponse.thumbnail_height + '" src="' + embedFrame.rlOembedResponse.thumbnail_url + '" class="attachment-thumbnail size-thumbnail format-' + ( embedFrame.rlOembedResponse.thumbnail_width > embedFrame.rlOembedResponse.thumbnail_height ? 'landscape' : 'portrait' ) + '" alt="" />' )
751
+ .replace( /__MEDIA_STATUS__/g, ' rl-status-active' )
752
+ .replace( /__MEDIA_TYPE__/g, 'embed' )
753
+ );
754
+
755
+ embedNumber++
756
+ } );
757
+
758
+ // open media frame
759
+ embedFrame.open();
760
+ } );
761
+
762
  /**
763
  * Handle updating gallery preview.
764
  */
895
  menu_item: menuItem,
896
  query: queryArgs,
897
  preview_type: type,
898
+ excluded: $( '.rl-gallery-exclude' ).map( function( i, elem ) {
899
+ return $( elem ).val();
900
+ } ).get(),
901
  nonce: rlArgsGalleries.nonce
902
  } ).done( function( response ) {
903
  // try {
904
+ if ( response.success ) {
905
+ container.find( 'tr[data-field_type]' ).each( function() {
906
+ var el = $( this );
907
+
908
+ // any response data fields?
909
+ if ( el.data( 'field_type' ) === 'hidden' && el.data( 'field_name' ) === 'response_data' ) {
910
+ var responseData = response.data.response_data;
911
+
912
+ // loop through all providers
913
+ for ( var provider in responseData ) {
914
+ if ( responseData.hasOwnProperty( provider ) ) {
915
+ var arguments = responseData[provider];
916
+
917
+ // loop through all arguments
918
+ for ( var argument in arguments ) {
919
+ if ( arguments.hasOwnProperty( argument ) ) {
920
+ $( '#rl_images_remote_library_response_data_' + provider + '_' + argument ).data( 'value', arguments[argument] );
 
921
  }
922
  }
923
  }
924
  }
925
+ }
926
+ } );
927
 
928
+ // update images
929
+ $( '.rl-gallery-images' ).empty().append( response.data.images );
930
 
931
+ // update pagination
932
+ $( '.rl-gallery-preview-pagination' ).replaceWith( response.data.pagination );
933
+ } else {
934
+ // @todo
935
+ }
936
  // } catch ( e ) {
937
+ // console.log( 'err' );
938
  // }
939
  } ).always( function() {
940
  // hide spinner
982
  var thumbnail_id = parseInt( $( '#_thumbnail_id' ).attr( 'data-featured-id' ) );
983
 
984
  if ( thumbnail_id > 0 )
985
+ $( '#_thumbnail_id' ).val( thumbnail_id ).attr( 'data-featured-id', - 1 );
986
+ // custom URL or first gallery image
987
  } else {
988
  var thumbnail_id = parseInt( $( '#_thumbnail_id' ).val() );
989
 
990
  if ( thumbnail_id > 0 )
991
+ $( '#_thumbnail_id' ).attr( 'data-featured-id', thumbnail_id ).val( - 1 );
992
  }
993
  } );
994
 
1071
  } );
1072
 
1073
  // handle toggling postboxes
1074
+ $( document ).on( 'postbox-toggled', disableFirstButton );
1075
 
1076
  // handle moving postboxes
1077
  $( '.postbox .handle-order-higher, .postbox .handle-order-lower' ).on( 'click.postboxes', disableFirstButton );
1078
 
1079
  // stop observer
1080
  observer.disconnect();
1081
+ }, 50 );
1082
  }
1083
  }
1084
  } );
1085
  } );
1086
 
1087
  // start observing
1088
+ observer.observe( metabox, {attributes: true} );
1089
  }
1090
  }
1091
 
1112
  } );
1113
  }
1114
 
1115
+ /**
1116
+ * Get gallery item exclude input.
1117
+ */
1118
+ function getExcludeInput( container ) {
1119
+ var tabId = $( 'input[name="rl_active_tab"]' ).val();
1120
+ var menuItem = $( '.rl-gallery-tab-menu-' + tabId ).find( '.rl-gallery-tab-menu-item:checked' ).val();
1121
+ var fieldName = container.closest( 'tr[data-field_name]' ).data( 'field_name' );
1122
+
1123
+ return rlArgsGalleries.mediaExcludeTemplate
1124
+ .replace( /__MEDIA_TAB_ID__/g, tabId )
1125
+ .replace( /__MEDIA_MENU_ITEM__/g, menuItem )
1126
+ .replace( /__MEDIA_FIELD_NAME__/g, fieldName );
1127
+ }
1128
+
1129
  /**
1130
  * Get attachment IDs.
1131
  */
1132
+ function getCurrentAttachments( ids, onlyAttachments ) {
1133
+ var attachments = ids.val();
1134
+ var parsedAttachments = [];
1135
+
1136
+ if ( attachments !== '' ) {
1137
+ attachments.split( ',' ).forEach( function( val, i ) {
1138
+ var parsedInt = parseInt( val );
1139
+
1140
+ // only real attachments?
1141
+ if ( onlyAttachments ) {
1142
+ // integer ids
1143
+ if ( Number.isInteger( parsedInt ) && parsedInt > 0 )
1144
+ parsedAttachments.push( parsedInt );
1145
+ } else {
1146
+ // integer ids
1147
+ if ( parsedInt == val )
1148
+ parsedAttachments.push( parsedInt );
1149
+ // embed strings
1150
+ else if ( /^e\d+$/.test( val ) )
1151
+ parsedAttachments.push( val );
1152
+ }
1153
+ } );
1154
+ }
1155
 
1156
+ return parsedAttachments;
 
 
 
1157
  }
1158
 
1159
  /**
1178
  ui.item.removeAttr( 'style' );
1179
  },
1180
  update: function( event, ui ) {
1181
+ var attachmentIds = [];
1182
 
1183
  gallery.find( 'li.rl-gallery-image' ).each( function() {
1184
+ attachmentIds.push( $( this ).attr( 'data-attachment_id' ) );
1185
  } );
1186
 
1187
  ids.val( _.uniq( attachmentIds ).join( ',' ) );
js/admin-gallery.js CHANGED
@@ -451,7 +451,7 @@
451
  } );
452
  } );
453
  }
454
- }
455
 
456
  ResponsiveLightboxGallery.init();
457
 
451
  } );
452
  } );
453
  }
454
+ }
455
 
456
  ResponsiveLightboxGallery.init();
457
 
js/front-basicmasonry.js CHANGED
@@ -34,14 +34,17 @@
34
  grid.imagesLoaded( function() {
35
  grid.masonry( 'layout' );
36
 
37
- // reinitialize lightbox
38
- $.event.trigger( {
39
- type: 'doResponsiveLightbox',
40
- script: rlArgs.script,
41
- selector: rlArgs.selector,
42
- args: rlArgs,
43
- masonry: false
44
- } );
 
 
 
45
  } );
46
  }
47
  // ajax
34
  grid.imagesLoaded( function() {
35
  grid.masonry( 'layout' );
36
 
37
+ // trigger event only for standard lightboxes
38
+ if ( rlArgs.scriptExtension !== '1' ) {
39
+ // reinitialize lightbox
40
+ $.event.trigger( {
41
+ type: 'doResponsiveLightbox',
42
+ script: rlArgs.script,
43
+ selector: rlArgs.selector,
44
+ args: rlArgs,
45
+ masonry: false
46
+ } );
47
+ }
48
  } );
49
  }
50
  // ajax
js/front.js CHANGED
@@ -136,6 +136,7 @@
136
  e.stopPropagation();
137
 
138
  var galleryId = container.data( 'gallery_id' );
 
139
 
140
  // add loading class
141
  container.addClass( 'rl-loading' );
@@ -143,6 +144,7 @@
143
  $.post( rlArgs.ajaxurl, {
144
  action: 'rl-get-gallery-page-content',
145
  gallery_id: galleryId,
 
146
  post_id: rlArgs.postId,
147
  page: parseQueryString( 'rl_page', link.prop( 'href' ) ),
148
  nonce: rlArgs.nonce,
@@ -158,7 +160,8 @@
158
  selector: rlArgs.selector,
159
  args: rlArgs,
160
  pagination_type: 'ajax',
161
- gallery_id: galleryId
 
162
  } );
163
  } ).always( function() {
164
  container.removeClass( 'rl-loading' );
136
  e.stopPropagation();
137
 
138
  var galleryId = container.data( 'gallery_id' );
139
+ var galleryNo = container.find( '.rl-gallery' ).data( 'gallery_no' );
140
 
141
  // add loading class
142
  container.addClass( 'rl-loading' );
144
  $.post( rlArgs.ajaxurl, {
145
  action: 'rl-get-gallery-page-content',
146
  gallery_id: galleryId,
147
+ gallery_no: galleryNo,
148
  post_id: rlArgs.postId,
149
  page: parseQueryString( 'rl_page', link.prop( 'href' ) ),
150
  nonce: rlArgs.nonce,
160
  selector: rlArgs.selector,
161
  args: rlArgs,
162
  pagination_type: 'ajax',
163
+ gallery_id: galleryId,
164
+ gallery_no: galleryNo
165
  } );
166
  } ).always( function() {
167
  container.removeClass( 'rl-loading' );
languages/responsive-lightbox.pot CHANGED
@@ -2,7 +2,7 @@
2
  msgid ""
3
  msgstr ""
4
  "Project-Id-Version: Responsive Lightbox\n"
5
- "POT-Creation-Date: 2021-02-19 13:28+0100\n"
6
  "PO-Revision-Date: 2015-05-12 12:06+0100\n"
7
  "Last-Translator: Bartosz Arendt <info@dfactory.eu>\n"
8
  "Language-Team: dFactory <info@dfactory.eu>\n"
@@ -10,869 +10,857 @@ msgstr ""
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
12
  "Content-Transfer-Encoding: 8bit\n"
13
- "X-Generator: Poedit 2.4.2\n"
14
  "X-Poedit-KeywordsList: gettext;gettext_noop;__;_e\n"
15
  "X-Poedit-Basepath: .\n"
16
  "X-Poedit-SourceCharset: UTF-8\n"
17
  "X-Poedit-SearchPath-0: ..\n"
18
 
19
- #: ../includes/class-folders.php:181 ../includes/class-folders.php:195
20
- #: ../includes/class-folders.php:247 ../includes/class-folders.php:261
21
- #: ../includes/class-folders.php:440 ../includes/class-folders.php:1085
22
- #: ../includes/class-folders.php:1109 ../includes/class-folders.php:1140
23
- #: ../includes/class-galleries.php:1181
24
  msgid "Root Folder"
25
  msgstr ""
26
 
27
- #: ../includes/class-folders.php:266
28
  msgid "Upload files to"
29
  msgstr ""
30
 
31
- #: ../includes/class-folders.php:307 ../includes/class-folders.php:319
32
- #: ../includes/class-folders.php:1082 ../includes/class-folders.php:1114
33
- #: ../includes/class-folders.php:1141 ../includes/class-folders.php:1150
34
  #: ../responsive-lightbox.php:1550
35
  msgid "All Files"
36
  msgstr ""
37
 
38
- #: ../includes/class-folders.php:1142
39
  msgid "New Folder"
40
  msgstr ""
41
 
42
- #: ../includes/class-folders.php:1143
43
  msgid "Are you sure you want to delete this folder?"
44
  msgstr ""
45
 
46
- #: ../includes/class-folders.php:1144
47
  msgid "Are you sure you want to delete this folder with all subfolders?"
48
  msgstr ""
49
 
50
- #: ../includes/class-folders.php:1166
51
  #, php-format
52
  msgid "Save new %s"
53
  msgstr ""
54
 
55
- #: ../includes/class-folders.php:1167
56
  #, php-format
57
  msgid "Cancel adding new %s"
58
  msgstr ""
59
 
60
- #: ../includes/class-folders.php:1169
61
  #, php-format
62
  msgid "Save %s"
63
  msgstr ""
64
 
65
- #: ../includes/class-folders.php:1170
66
  #, php-format
67
  msgid "Cancel renaming %s"
68
  msgstr ""
69
 
70
- #: ../includes/class-folders.php:1171
71
  #, php-format
72
  msgid "Delete %s"
73
  msgstr ""
74
 
75
- #: ../includes/class-folders.php:1172
76
  #, php-format
77
  msgid "Expand %s"
78
  msgstr ""
79
 
80
- #: ../includes/class-folders.php:1173
81
  #, php-format
82
  msgid "Collapse %s"
83
  msgstr ""
84
 
85
- #: ../includes/class-frontend.php:567 ../includes/class-widgets.php:476
86
  msgid "Size"
87
  msgstr ""
88
 
89
- #: ../includes/class-frontend.php:569
90
  msgid "Specify the image size to use for the thumbnail display."
91
  msgstr ""
92
 
93
- #: ../includes/class-frontend.php:574
94
  msgid "Link To"
95
  msgstr ""
96
 
97
- #: ../includes/class-frontend.php:576
98
  msgid "Specify where you want the image to link."
99
  msgstr ""
100
 
101
- #: ../includes/class-frontend.php:579 ../includes/class-widgets.php:342
102
  msgid "Attachment Page"
103
  msgstr ""
104
 
105
- #: ../includes/class-frontend.php:580 ../includes/class-widgets.php:341
106
  msgid "Media File"
107
  msgstr ""
108
 
109
- #: ../includes/class-frontend.php:581 ../includes/class-galleries.php:160
110
- #: ../includes/class-settings.php:150 ../includes/class-settings.php:650
111
- #: ../includes/class-settings.php:709 ../includes/class-widgets.php:93
112
- #: ../includes/class-widgets.php:340 ../includes/class-widgets.php:347
113
  msgid "None"
114
  msgstr ""
115
 
116
- #: ../includes/class-frontend.php:585
117
  msgid "Orderby"
118
  msgstr ""
119
 
120
- #: ../includes/class-frontend.php:587
121
  msgid "Specify how to sort the display thumbnails."
122
  msgstr ""
123
 
124
- #: ../includes/class-frontend.php:590 ../includes/class-galleries.php:218
125
  #: ../includes/class-widgets.php:79
126
  msgid "ID"
127
  msgstr ""
128
 
129
- #: ../includes/class-frontend.php:591 ../includes/class-galleries.php:220
130
  #: ../includes/class-widgets.php:77 ../includes/class-widgets.php:133
131
- #: ../includes/class-widgets.php:457
132
  msgid "Title"
133
  msgstr ""
134
 
135
- #: ../includes/class-frontend.php:592 ../includes/class-galleries.php:222
136
  msgid "Date"
137
  msgstr ""
138
 
139
- #: ../includes/class-frontend.php:593
140
  msgid "Menu Order"
141
  msgstr ""
142
 
143
- #: ../includes/class-frontend.php:594 ../includes/class-galleries.php:225
144
  #: ../includes/class-widgets.php:80
145
  msgid "Random"
146
  msgstr ""
147
 
148
- #: ../includes/class-frontend.php:598 ../includes/class-widgets.php:192
149
  msgid "Order"
150
  msgstr ""
151
 
152
- #: ../includes/class-frontend.php:600
153
  msgid "Specify the sort order."
154
  msgstr ""
155
 
156
- #: ../includes/class-frontend.php:603 ../includes/class-galleries.php:234
157
  #: ../includes/class-widgets.php:84
158
  msgid "Ascending"
159
  msgstr ""
160
 
161
- #: ../includes/class-frontend.php:604 ../includes/class-galleries.php:235
162
  #: ../includes/class-widgets.php:85
163
  msgid "Descending"
164
  msgstr ""
165
 
166
- #: ../includes/class-frontend.php:608
167
  msgid "Columns"
168
  msgstr ""
169
 
170
- #: ../includes/class-frontend.php:610
171
  msgid "Specify the number of columns."
172
  msgstr ""
173
 
174
- #: ../includes/class-galleries.php:85 ../includes/class-galleries.php:3640
175
  msgid "Status"
176
  msgstr ""
177
 
178
- #: ../includes/class-galleries.php:86
179
  msgid "Edit image"
180
  msgstr ""
181
 
182
- #: ../includes/class-galleries.php:87 ../responsive-lightbox.php:1734
183
  msgid "Remove image"
184
  msgstr ""
185
 
186
- #: ../includes/class-galleries.php:105 ../includes/class-galleries.php:155
187
- #: ../includes/class-galleries.php:166
188
  msgid "Global"
189
  msgstr ""
190
 
191
- #: ../includes/class-galleries.php:112 ../includes/class-settings.php:209
192
  msgid "Images"
193
  msgstr ""
194
 
195
- #: ../includes/class-galleries.php:113
196
  msgid "The settings below adjust the contents of the gallery."
197
  msgstr ""
198
 
199
- #: ../includes/class-galleries.php:115 ../includes/class-galleries.php:4074
200
  msgid "Media Library"
201
  msgstr ""
202
 
203
- #: ../includes/class-galleries.php:116
204
  msgid "Featured Content"
205
  msgstr ""
206
 
207
- #: ../includes/class-galleries.php:120
208
  msgid "Config"
209
  msgstr ""
210
 
211
- #: ../includes/class-galleries.php:121
212
  msgid "The settings below adjust the configuration options for the gallery."
213
  msgstr ""
214
 
215
- #: ../includes/class-galleries.php:125
216
  msgid "Design"
217
  msgstr ""
218
 
219
- #: ../includes/class-galleries.php:126
220
  msgid "The settings below adjust the gallery design options."
221
  msgstr ""
222
 
223
- #: ../includes/class-galleries.php:129
224
  msgid "Paging"
225
  msgstr ""
226
 
227
- #: ../includes/class-galleries.php:130
228
  msgid "The settings below adjust the gallery pagination options."
229
  msgstr ""
230
 
231
- #: ../includes/class-galleries.php:133 ../includes/class-settings.php:1840
232
  msgid "Lightbox"
233
  msgstr ""
234
 
235
- #: ../includes/class-galleries.php:134
236
  msgid "The settings below adjust the lightbox options."
237
  msgstr ""
238
 
239
- #: ../includes/class-galleries.php:137
240
  msgid "Misc"
241
  msgstr ""
242
 
243
- #: ../includes/class-galleries.php:138
244
  msgid "The settings below adjust miscellaneous options."
245
  msgstr ""
246
 
247
- #: ../includes/class-galleries.php:144
248
  msgid "Media Folders"
249
  msgstr ""
250
 
251
- #: ../includes/class-galleries.php:147 ../includes/class-settings.php:499
252
- #: ../includes/class-settings.php:1028
253
  msgid "Remote Library"
254
  msgstr ""
255
 
256
- #: ../includes/class-galleries.php:154
257
  msgid "Full size"
258
  msgstr ""
259
 
260
- #: ../includes/class-galleries.php:156 ../includes/class-galleries.php:538
261
  msgid "Custom size"
262
  msgstr ""
263
 
264
- #: ../includes/class-galleries.php:161
265
  msgid "Top"
266
  msgstr ""
267
 
268
- #: ../includes/class-galleries.php:162
269
  msgid "Bottom"
270
  msgstr ""
271
 
272
- #: ../includes/class-galleries.php:206
273
  msgid "Number of Posts"
274
  msgstr ""
275
 
276
- #: ../includes/class-galleries.php:208
277
  msgid "Enter the number of posts."
278
  msgstr ""
279
 
280
- #: ../includes/class-galleries.php:213
281
  msgid "Posts Sorting"
282
  msgstr ""
283
 
284
- #: ../includes/class-galleries.php:215
285
  msgid "Select the posts sorting."
286
  msgstr ""
287
 
288
- #: ../includes/class-galleries.php:219
289
  msgid "Author"
290
  msgstr ""
291
 
292
- #: ../includes/class-galleries.php:221
293
  msgid "Slug"
294
  msgstr ""
295
 
296
- #: ../includes/class-galleries.php:223
297
  msgid "Last modified date"
298
  msgstr ""
299
 
300
- #: ../includes/class-galleries.php:224
301
  msgid "Parent ID"
302
  msgstr ""
303
 
304
- #: ../includes/class-galleries.php:229
305
  msgid "Posts Order"
306
  msgstr ""
307
 
308
- #: ../includes/class-galleries.php:231
309
  msgid "Select the posts order."
310
  msgstr ""
311
 
312
- #: ../includes/class-galleries.php:239
313
  msgid "Posts Offset"
314
  msgstr ""
315
 
316
- #: ../includes/class-galleries.php:241
317
  msgid "Enter the posts offset."
318
  msgstr ""
319
 
320
- #: ../includes/class-galleries.php:246
321
  msgid "Image Source"
322
  msgstr ""
323
 
324
- #: ../includes/class-galleries.php:248
325
  msgid "Select the image source."
326
  msgstr ""
327
 
328
- #: ../includes/class-galleries.php:251
329
  msgid "Post Thumbnails"
330
  msgstr ""
331
 
332
- #: ../includes/class-galleries.php:252
333
  msgid "Post Attached Images"
334
  msgstr ""
335
 
336
- #: ../includes/class-galleries.php:256
337
  msgid "Images per Post"
338
  msgstr ""
339
 
340
- #: ../includes/class-galleries.php:258
341
  msgid "Enter maximum number of images for a post."
342
  msgstr ""
343
 
344
- #: ../includes/class-galleries.php:263
345
  msgid "Post Type"
346
  msgstr ""
347
 
348
- #: ../includes/class-galleries.php:265
349
  msgid "Select the post types to query."
350
  msgstr ""
351
 
352
- #: ../includes/class-galleries.php:270
353
  msgid "Post Status"
354
  msgstr ""
355
 
356
- #: ../includes/class-galleries.php:272
357
  msgid "Select the post status."
358
  msgstr ""
359
 
360
- #: ../includes/class-galleries.php:277
361
  msgid "Post Format"
362
  msgstr ""
363
 
364
- #: ../includes/class-galleries.php:279
365
  msgid "Select the post format."
366
  msgstr ""
367
 
368
- #: ../includes/class-galleries.php:284
369
  msgid "Post Term"
370
  msgstr ""
371
 
372
- #: ../includes/class-galleries.php:286
373
  msgid "Select the post taxonomy terms to query."
374
  msgstr ""
375
 
376
- #: ../includes/class-galleries.php:291
377
  msgid "Post Author"
378
  msgstr ""
379
 
380
- #: ../includes/class-galleries.php:293
381
  msgid "Select the post author."
382
  msgstr ""
383
 
384
- #: ../includes/class-galleries.php:298
385
  msgid "Page Parent"
386
  msgstr ""
387
 
388
- #: ../includes/class-galleries.php:300
389
  msgid "Select the post parent."
390
  msgstr ""
391
 
392
- #: ../includes/class-galleries.php:305
393
  msgid "Page Template"
394
  msgstr ""
395
 
396
- #: ../includes/class-galleries.php:307
397
  msgid "Select the page template."
398
  msgstr ""
399
 
400
- #: ../includes/class-galleries.php:328
401
  msgid "Media Folder"
402
  msgstr ""
403
 
404
- #: ../includes/class-galleries.php:330
405
  msgid "Select media folder."
406
  msgstr ""
407
 
408
- #: ../includes/class-galleries.php:355
409
  msgid "Search string"
410
  msgstr ""
411
 
412
- #: ../includes/class-galleries.php:357
413
  msgid "Enter the search phrase."
414
  msgstr ""
415
 
416
- #: ../includes/class-galleries.php:361 ../includes/class-settings.php:491
417
  msgid "Media Providers"
418
  msgstr ""
419
 
420
- #: ../includes/class-galleries.php:363
421
  msgid "Select which remote library should be used."
422
  msgstr ""
423
 
424
- #: ../includes/class-galleries.php:366
425
  msgid "All Media Providers"
426
  msgstr ""
427
 
428
- #: ../includes/class-galleries.php:382
429
  msgid "Thumbnail title"
430
  msgstr ""
431
 
432
- #: ../includes/class-galleries.php:384
433
  msgid "Select title for the gallery thumbnails."
434
  msgstr ""
435
 
436
- #: ../includes/class-galleries.php:389
437
  msgid "Thumbnail caption"
438
  msgstr ""
439
 
440
- #: ../includes/class-galleries.php:391
441
  msgid "Select caption for the gallery thumbnails."
442
  msgstr ""
443
 
444
- #: ../includes/class-galleries.php:396
445
  msgid "Thumbnail icon"
446
  msgstr ""
447
 
448
- #: ../includes/class-galleries.php:398
449
  msgid "Select icon for the gallery thumbnails."
450
  msgstr ""
451
 
452
- #: ../includes/class-galleries.php:401 ../includes/class-galleries.php:420
453
- #: ../includes/class-settings.php:100
454
  msgid "none"
455
  msgstr ""
456
 
457
- #: ../includes/class-galleries.php:415
458
  msgid "Hover effect"
459
  msgstr ""
460
 
461
- #: ../includes/class-galleries.php:417
462
  msgid "Select thumbnail effect on hover."
463
  msgstr ""
464
 
465
- #: ../includes/class-galleries.php:421 ../includes/class-galleries.php:422
466
- #: ../includes/class-galleries.php:423 ../includes/class-galleries.php:424
467
- #: ../includes/class-galleries.php:425 ../includes/class-galleries.php:426
468
- #: ../includes/class-galleries.php:427 ../includes/class-galleries.php:428
469
- #: ../includes/class-galleries.php:429
470
  #, php-format
471
  msgid "Effect %s"
472
  msgstr ""
473
 
474
- #: ../includes/class-galleries.php:433
475
  msgid "Title Color"
476
  msgstr ""
477
 
478
- #: ../includes/class-galleries.php:438
479
  msgid "Caption Color"
480
  msgstr ""
481
 
482
- #: ../includes/class-galleries.php:443
483
  msgid "Background Color"
484
  msgstr ""
485
 
486
- #: ../includes/class-galleries.php:448
487
  msgid "Background Opacity"
488
  msgstr ""
489
 
490
- #: ../includes/class-galleries.php:457
491
  msgid "Border Color"
492
  msgstr ""
493
 
494
- #: ../includes/class-galleries.php:462
495
  msgid "Border Width"
496
  msgstr ""
497
 
498
- #: ../includes/class-galleries.php:475
499
  msgid "Use pagination"
500
  msgstr ""
501
 
502
- #: ../includes/class-galleries.php:477
503
  msgid "Enable pagination."
504
  msgstr ""
505
 
506
- #: ../includes/class-galleries.php:481
507
  msgid "Pagination type"
508
  msgstr ""
509
 
510
- #: ../includes/class-galleries.php:483
511
  msgid "Select pagination type."
512
  msgstr ""
513
 
514
- #: ../includes/class-galleries.php:486
515
  msgid "standard"
516
  msgstr ""
517
 
518
- #: ../includes/class-galleries.php:487
519
  msgid "AJAX"
520
  msgstr ""
521
 
522
- #: ../includes/class-galleries.php:488
523
  msgid "infinite scroll"
524
  msgstr ""
525
 
526
- #: ../includes/class-galleries.php:492
527
  msgid "Pagination position"
528
  msgstr ""
529
 
530
- #: ../includes/class-galleries.php:494
531
  msgid "Select pagination position."
532
  msgstr ""
533
 
534
- #: ../includes/class-galleries.php:497
535
  msgid "bottom"
536
  msgstr ""
537
 
538
- #: ../includes/class-galleries.php:498
539
  msgid "top"
540
  msgstr ""
541
 
542
- #: ../includes/class-galleries.php:499
543
  msgid "top & bottom"
544
  msgstr ""
545
 
546
- #: ../includes/class-galleries.php:503
547
  msgid "Images per page"
548
  msgstr ""
549
 
550
- #: ../includes/class-galleries.php:505
551
  msgid "Number of images per page."
552
  msgstr ""
553
 
554
- #: ../includes/class-galleries.php:511
555
  msgid "Load More"
556
  msgstr ""
557
 
558
- #: ../includes/class-galleries.php:513
559
  msgid "Select the load more trigger (infinite scroll only)."
560
  msgstr ""
561
 
562
- #: ../includes/class-galleries.php:516
563
  msgid "Automatically"
564
  msgstr ""
565
 
566
- #: ../includes/class-galleries.php:517
567
  msgid "On click"
568
  msgstr ""
569
 
570
- #: ../includes/class-galleries.php:525
571
  msgid "Enable Lightbox"
572
  msgstr ""
573
 
574
- #: ../includes/class-galleries.php:527
575
  msgid "Enable lightbox effect for the gallery."
576
  msgstr ""
577
 
578
- #: ../includes/class-galleries.php:531
579
  msgid "Image Size"
580
  msgstr ""
581
 
582
- #: ../includes/class-galleries.php:533
583
  msgid "Select image size for gallery lightbox."
584
  msgstr ""
585
 
586
- #: ../includes/class-galleries.php:540
587
  msgid ""
588
  "Choose the custom image size for gallery lightbox (used if Custom Image size "
589
  "is selected)."
590
  msgstr ""
591
 
592
- #: ../includes/class-galleries.php:544
593
  msgid "width in px"
594
  msgstr ""
595
 
596
- #: ../includes/class-galleries.php:549
597
  msgid "height in px"
598
  msgstr ""
599
 
600
- #: ../includes/class-galleries.php:555 ../includes/class-settings.php:151
601
  msgid "Image Title"
602
  msgstr ""
603
 
604
- #: ../includes/class-galleries.php:557
605
  msgid "Select image title for gallery lightbox."
606
  msgstr ""
607
 
608
- #: ../includes/class-galleries.php:562 ../includes/class-settings.php:152
609
  msgid "Image Caption"
610
  msgstr ""
611
 
612
- #: ../includes/class-galleries.php:564
613
  msgid ""
614
  "Select image caption for gallery lightbox (used if supported by selected "
615
  "lightbox effect)."
616
  msgstr ""
617
 
618
- #: ../includes/class-galleries.php:573
619
  msgid "Title Position"
620
  msgstr ""
621
 
622
- #: ../includes/class-galleries.php:575
623
  msgid "Select where to display the title."
624
  msgstr ""
625
 
626
- #: ../includes/class-galleries.php:580
627
  msgid "Description Position"
628
  msgstr ""
629
 
630
- #: ../includes/class-galleries.php:582
631
  msgid "Select where to display the description."
632
  msgstr ""
633
 
634
- #: ../includes/class-galleries.php:587
635
  msgid "Gallery Description"
636
  msgstr ""
637
 
638
- #: ../includes/class-galleries.php:589
639
  msgid "Enter the gallery description (optional)."
640
  msgstr ""
641
 
642
- #: ../includes/class-galleries.php:594
643
  msgid "Custom Classes"
644
  msgstr ""
645
 
646
- #: ../includes/class-galleries.php:596
647
  msgid "Add custom, space saparated CSS classes (optional)."
648
  msgstr ""
649
 
650
- #: ../includes/class-galleries.php:625 ../includes/class-galleries.php:631
651
  msgid "No gallery to duplicate has been supplied!"
652
  msgstr ""
653
 
654
- #: ../includes/class-galleries.php:634
655
  msgid "You do not have permission to copy this gallery."
656
  msgstr ""
657
 
658
- #: ../includes/class-galleries.php:646
659
  msgid "Copy creation failed, could not find original gallery:"
660
  msgstr ""
661
 
662
- #: ../includes/class-galleries.php:666
663
  msgid "Duplicate"
664
  msgstr ""
665
 
666
- #: ../includes/class-galleries.php:947
667
  msgid "Add Gallery"
668
  msgstr ""
669
 
670
- #: ../includes/class-galleries.php:1011 ../includes/class-galleries.php:1012
671
  msgid "All categories"
672
  msgstr ""
673
 
674
- #: ../includes/class-galleries.php:1031 ../includes/class-tour.php:255
675
  msgid "Close"
676
  msgstr ""
677
 
678
- #: ../includes/class-galleries.php:1035
679
  msgid "Insert Gallery"
680
  msgstr ""
681
 
682
- #: ../includes/class-galleries.php:1035
683
  msgid "Reload"
684
  msgstr ""
685
 
686
- #: ../includes/class-galleries.php:1050
687
  msgid "Search galleries"
688
  msgstr ""
689
 
690
- #: ../includes/class-galleries.php:1056
691
  msgid "Select A Gallery"
692
  msgstr ""
693
 
694
- #: ../includes/class-galleries.php:1057
695
  msgid "To select a gallery simply click on one of the boxes to the left."
696
  msgstr ""
697
 
698
- #: ../includes/class-galleries.php:1058
699
  msgid ""
700
  "To insert your gallery into the editor, click on the \"Insert Gallery\" "
701
  "button below."
702
  msgstr ""
703
 
704
- #: ../includes/class-galleries.php:1068 ../responsive-lightbox.php:1287
705
  msgid "Edit gallery"
706
  msgstr ""
707
 
708
- #: ../includes/class-galleries.php:1078
709
  msgid "Insert gallery into post"
710
  msgstr ""
711
 
712
- #: ../includes/class-galleries.php:1079
713
  msgid "Select gallery"
714
  msgstr ""
715
 
716
- #: ../includes/class-galleries.php:1080 ../responsive-lightbox.php:976
717
  msgid "Cancel"
718
  msgstr ""
719
 
720
- #: ../includes/class-galleries.php:1295 ../includes/class-widgets.php:140
721
- #: ../responsive-lightbox.php:1611 ../responsive-lightbox.php:1735
 
 
 
 
722
  msgid "Select images"
723
  msgstr ""
724
 
725
- #: ../includes/class-galleries.php:1331
 
 
 
 
726
  msgid "Update preview"
727
  msgstr ""
728
 
729
- #: ../includes/class-galleries.php:1423
730
  msgid "First page"
731
  msgstr ""
732
 
733
- #: ../includes/class-galleries.php:1434
734
  msgid "Previous page"
735
  msgstr ""
736
 
737
- #: ../includes/class-galleries.php:1441
738
  msgid "Current Page"
739
  msgstr ""
740
 
741
- #: ../includes/class-galleries.php:1456
742
  msgid "Next page"
743
  msgstr ""
744
 
745
- #: ../includes/class-galleries.php:1467
746
  msgid "Last page"
747
  msgstr ""
748
 
749
- #: ../includes/class-galleries.php:1838
750
  #, php-format
751
  msgid "Gallery %s"
752
  msgstr ""
753
 
754
- #: ../includes/class-galleries.php:1842
755
  msgid "Gallery Code"
756
  msgstr ""
757
 
758
- #: ../includes/class-galleries.php:1881
759
  msgid "Remote Library is disabled. Enable it in the settings."
760
  msgstr ""
761
 
762
- #: ../includes/class-galleries.php:1885
763
  msgid "Media Folders are disabled. Enable it in the settings."
764
  msgstr ""
765
 
766
- #: ../includes/class-galleries.php:1987
767
  msgid "No data"
768
  msgstr ""
769
 
770
- #: ../includes/class-galleries.php:2501
771
  msgid "&laquo; Previous"
772
  msgstr ""
773
 
774
- #: ../includes/class-galleries.php:2502
775
  msgid "Next &raquo;"
776
  msgstr ""
777
 
778
- #: ../includes/class-galleries.php:2632
779
  msgid "(no title)"
780
  msgstr ""
781
 
782
- #: ../includes/class-galleries.php:2646
783
  msgid "Deselect"
784
  msgstr ""
785
 
786
- #: ../includes/class-galleries.php:3551
787
  msgid "Untitled"
788
  msgstr ""
789
 
790
- #: ../includes/class-galleries.php:3632
791
  msgid "Aside"
792
  msgstr ""
793
 
794
- #: ../includes/class-galleries.php:3633
795
  msgid "Audio"
796
  msgstr ""
797
 
798
- #: ../includes/class-galleries.php:3634
799
  msgid "Chat"
800
  msgstr ""
801
 
802
- #: ../includes/class-galleries.php:3635 ../includes/class-galleries.php:3937
803
  #: ../includes/class-widgets.php:57 ../includes/class-widgets.php:65
804
- #: ../responsive-lightbox.php:1162
805
  msgid "Gallery"
806
  msgstr ""
807
 
808
- #: ../includes/class-galleries.php:3636
809
  msgid "Link"
810
  msgstr ""
811
 
812
- #: ../includes/class-galleries.php:3637
813
  msgid "Photo"
814
  msgstr ""
815
 
816
- #: ../includes/class-galleries.php:3638
817
  msgid "Quote"
818
  msgstr ""
819
 
820
- #: ../includes/class-galleries.php:3639
821
  msgid "Standard"
822
  msgstr ""
823
 
824
- #: ../includes/class-galleries.php:3641
825
  msgid "Video"
826
  msgstr ""
827
 
828
- #: ../includes/class-galleries.php:3742
829
  msgid "Default Template"
830
  msgstr ""
831
 
832
- #: ../includes/class-galleries.php:3917
833
  msgid ""
834
  "You can place this gallery anywhere into your posts, pages, custom post "
835
  "types or widgets by using the shortcode below"
836
  msgstr ""
837
 
838
- #: ../includes/class-galleries.php:3919
839
  msgid ""
840
  "You can also place this gallery into your template files by using the "
841
  "template tag below"
842
  msgstr ""
843
 
844
- #: ../includes/class-galleries.php:3946
845
  msgid "Shortcode"
846
  msgstr ""
847
 
848
- #: ../includes/class-galleries.php:3947
849
  msgid "Type"
850
  msgstr ""
851
 
852
- #: ../includes/class-galleries.php:3948
853
  msgid "Source"
854
  msgstr ""
855
 
856
- #: ../includes/class-galleries.php:4072
857
- msgid "Select gallery featured image source:"
858
- msgstr ""
859
-
860
- #: ../includes/class-galleries.php:4073
861
- msgid "First gallery image"
862
- msgstr ""
863
-
864
- #: ../includes/class-galleries.php:4075 ../includes/class-widgets.php:343
865
- msgid "Custom URL"
866
- msgstr ""
867
-
868
- #: ../includes/class-galleries.php:4081
869
- msgid "Custom featured image URL"
870
- msgstr ""
871
-
872
- #: ../includes/class-galleries.php:4083
873
- msgid "Dynamically generated first gallery image"
874
- msgstr ""
875
-
876
  #: ../includes/class-remote-library-api.php:145
877
  msgid "Request error"
878
  msgstr ""
@@ -897,1696 +885,1696 @@ msgstr ""
897
  msgid "via <a href=\"%s\" target=\"_blank\">%s</a>"
898
  msgstr ""
899
 
900
- #: ../includes/class-remote-library.php:165
901
  msgid "All providers"
902
  msgstr ""
903
 
904
- #: ../includes/class-remote-library.php:166
905
  msgid "Upload and Insert"
906
  msgstr ""
907
 
908
- #: ../includes/class-remote-library.php:167
909
  msgid "Upload and Select"
910
  msgstr ""
911
 
912
- #: ../includes/class-remote-library.php:168
913
  msgid "Filter by remote library"
914
  msgstr ""
915
 
916
- #: ../includes/class-remote-library.php:345
917
  msgid "F j Y"
918
  msgstr ""
919
 
920
- #: ../includes/class-settings.php:64
921
  msgid "SwipeBox"
922
  msgstr ""
923
 
924
- #: ../includes/class-settings.php:66
925
  msgid "CSS"
926
  msgstr ""
927
 
928
- #: ../includes/class-settings.php:67
929
  msgid "jQuery"
930
  msgstr ""
931
 
932
- #: ../includes/class-settings.php:72
933
  msgid "prettyPhoto"
934
  msgstr ""
935
 
936
- #: ../includes/class-settings.php:74
937
  msgid "slow"
938
  msgstr ""
939
 
940
- #: ../includes/class-settings.php:75
941
  msgid "normal"
942
  msgstr ""
943
 
944
- #: ../includes/class-settings.php:76
945
  msgid "fast"
946
  msgstr ""
947
 
948
- #: ../includes/class-settings.php:79
949
  msgid "default"
950
  msgstr ""
951
 
952
- #: ../includes/class-settings.php:80
953
  msgid "light rounded"
954
  msgstr ""
955
 
956
- #: ../includes/class-settings.php:81
957
  msgid "dark rounded"
958
  msgstr ""
959
 
960
- #: ../includes/class-settings.php:82
961
  msgid "light square"
962
  msgstr ""
963
 
964
- #: ../includes/class-settings.php:83
965
  msgid "dark square"
966
  msgstr ""
967
 
968
- #: ../includes/class-settings.php:84
969
  msgid "facebook"
970
  msgstr ""
971
 
972
- #: ../includes/class-settings.php:87
973
  msgid "window"
974
  msgstr ""
975
 
976
- #: ../includes/class-settings.php:88
977
  msgid "transparent"
978
  msgstr ""
979
 
980
- #: ../includes/class-settings.php:89
981
  msgid "opaque"
982
  msgstr ""
983
 
984
- #: ../includes/class-settings.php:90
985
  msgid "direct"
986
  msgstr ""
987
 
988
- #: ../includes/class-settings.php:91
989
  msgid "gpu"
990
  msgstr ""
991
 
992
- #: ../includes/class-settings.php:96
993
  msgid "FancyBox"
994
  msgstr ""
995
 
996
- #: ../includes/class-settings.php:98
997
  msgid "elastic"
998
  msgstr ""
999
 
1000
- #: ../includes/class-settings.php:99 ../includes/class-settings.php:121
1001
- #: ../includes/class-settings.php:1580
1002
  msgid "fade"
1003
  msgstr ""
1004
 
1005
- #: ../includes/class-settings.php:103
1006
  msgid "auto"
1007
  msgstr ""
1008
 
1009
- #: ../includes/class-settings.php:104
1010
  msgid "yes"
1011
  msgstr ""
1012
 
1013
- #: ../includes/class-settings.php:105
1014
  msgid "no"
1015
  msgstr ""
1016
 
1017
- #: ../includes/class-settings.php:108
1018
  msgid "swing"
1019
  msgstr ""
1020
 
1021
- #: ../includes/class-settings.php:109
1022
  msgid "linear"
1023
  msgstr ""
1024
 
1025
- #: ../includes/class-settings.php:112
1026
  msgid "outside"
1027
  msgstr ""
1028
 
1029
- #: ../includes/class-settings.php:113
1030
  msgid "inside"
1031
  msgstr ""
1032
 
1033
- #: ../includes/class-settings.php:114
1034
  msgid "over"
1035
  msgstr ""
1036
 
1037
- #: ../includes/class-settings.php:119
1038
  msgid "Nivo Lightbox"
1039
  msgstr ""
1040
 
1041
- #: ../includes/class-settings.php:122
1042
  msgid "fade scale"
1043
  msgstr ""
1044
 
1045
- #: ../includes/class-settings.php:123
1046
  msgid "slide left"
1047
  msgstr ""
1048
 
1049
- #: ../includes/class-settings.php:124
1050
  msgid "slide right"
1051
  msgstr ""
1052
 
1053
- #: ../includes/class-settings.php:125
1054
  msgid "slide up"
1055
  msgstr ""
1056
 
1057
- #: ../includes/class-settings.php:126
1058
  msgid "slide down"
1059
  msgstr ""
1060
 
1061
- #: ../includes/class-settings.php:127
1062
  msgid "fall"
1063
  msgstr ""
1064
 
1065
- #: ../includes/class-settings.php:132
1066
  msgid "Image Lightbox"
1067
  msgstr ""
1068
 
1069
- #: ../includes/class-settings.php:136
1070
  msgid "TosRUs"
1071
  msgstr ""
1072
 
1073
- #: ../includes/class-settings.php:140
1074
  msgid "Featherlight"
1075
  msgstr ""
1076
 
1077
- #: ../includes/class-settings.php:144
1078
  msgid "Magnific Popup"
1079
  msgstr ""
1080
 
1081
- #: ../includes/class-settings.php:153
1082
  msgid "Image Alt Text"
1083
  msgstr ""
1084
 
1085
- #: ../includes/class-settings.php:154
1086
  msgid "Image Description"
1087
  msgstr ""
1088
 
1089
- #: ../includes/class-settings.php:164
1090
  msgid "Thumbnail"
1091
  msgstr ""
1092
 
1093
- #: ../includes/class-settings.php:165
1094
  msgid "Medium"
1095
  msgstr ""
1096
 
1097
- #: ../includes/class-settings.php:166
1098
  msgid "Large"
1099
  msgstr ""
1100
 
1101
- #: ../includes/class-settings.php:167
1102
  msgid "Full Size"
1103
  msgstr ""
1104
 
1105
- #: ../includes/class-settings.php:181 ../includes/class-tour.php:151
1106
  msgid "General Settings"
1107
  msgstr ""
1108
 
1109
- #: ../includes/class-settings.php:187
1110
  msgid "Introduction Tour"
1111
  msgstr ""
1112
 
1113
- #: ../includes/class-settings.php:190 ../includes/class-welcome.php:68
1114
  msgid "Start Tour"
1115
  msgstr ""
1116
 
1117
- #: ../includes/class-settings.php:191
1118
  msgid "Take this tour to quickly learn about the use of this plugin."
1119
  msgstr ""
1120
 
1121
- #: ../includes/class-settings.php:195
1122
  msgid "Default lightbox"
1123
  msgstr ""
1124
 
1125
- #: ../includes/class-settings.php:199
1126
  #, php-format
1127
  msgid ""
1128
  "Select your preferred ligthbox effect script or get our <a href=\"%s"
1129
  "\">premium extensions</a>."
1130
  msgstr ""
1131
 
1132
- #: ../includes/class-settings.php:203
1133
  msgid "Selector"
1134
  msgstr ""
1135
 
1136
- #: ../includes/class-settings.php:206
1137
  msgid "Enter the rel selector lightbox effect will be applied to."
1138
  msgstr ""
1139
 
1140
- #: ../includes/class-settings.php:212
1141
  msgid "Enable lightbox for WordPress image links."
1142
  msgstr ""
1143
 
1144
- #: ../includes/class-settings.php:215
1145
  msgid "Single image title"
1146
  msgstr ""
1147
 
1148
- #: ../includes/class-settings.php:218
1149
  msgid "Select title for single images."
1150
  msgstr ""
1151
 
1152
- #: ../includes/class-settings.php:222
1153
  msgid "Single image caption"
1154
  msgstr ""
1155
 
1156
- #: ../includes/class-settings.php:225
1157
  msgid ""
1158
  "Select caption for single images (if supported by selected lightbox and/or "
1159
  "gallery)."
1160
  msgstr ""
1161
 
1162
- #: ../includes/class-settings.php:229
1163
  msgid "Single images as gallery"
1164
  msgstr ""
1165
 
1166
- #: ../includes/class-settings.php:232
1167
  msgid "Display single post images as a gallery."
1168
  msgstr ""
1169
 
1170
- #: ../includes/class-settings.php:235 ../includes/class-settings.php:997
1171
- #: ../responsive-lightbox.php:1276 ../responsive-lightbox.php:1282
1172
- #: ../responsive-lightbox.php:1293 ../responsive-lightbox.php:1304
1173
  msgid "Galleries"
1174
  msgstr ""
1175
 
1176
- #: ../includes/class-settings.php:238
1177
  msgid "Enable lightbox for WordPress image galleries."
1178
  msgstr ""
1179
 
1180
- #: ../includes/class-settings.php:241
1181
  msgid "WordPress gallery"
1182
  msgstr ""
1183
 
1184
- #: ../includes/class-settings.php:244
1185
  msgid "Select your preferred default WordPress gallery style."
1186
  msgstr ""
1187
 
1188
- #: ../includes/class-settings.php:248
1189
  msgid "Builder gallery"
1190
  msgstr ""
1191
 
1192
- #: ../includes/class-settings.php:251
1193
  msgid "Select your preferred default builder gallery style."
1194
  msgstr ""
1195
 
1196
- #: ../includes/class-settings.php:255
1197
  msgid "WooCommerce gallery"
1198
  msgstr ""
1199
 
1200
- #: ../includes/class-settings.php:259
1201
  msgid "Select your preferred gallery style for WooCommerce product gallery."
1202
  msgstr ""
1203
 
1204
- #: ../includes/class-settings.php:263
1205
  msgid "Gallery image size"
1206
  msgstr ""
1207
 
1208
- #: ../includes/class-settings.php:266
1209
  msgid "Select image size for gallery image links."
1210
  msgstr ""
1211
 
1212
- #: ../includes/class-settings.php:270
1213
  msgid "Gallery image title"
1214
  msgstr ""
1215
 
1216
- #: ../includes/class-settings.php:273
1217
  msgid "Select title for the gallery images."
1218
  msgstr ""
1219
 
1220
- #: ../includes/class-settings.php:277
1221
  msgid "Gallery image caption"
1222
  msgstr ""
1223
 
1224
- #: ../includes/class-settings.php:280
1225
  msgid ""
1226
  "Select caption for the gallery images (if supported by selected lightbox and/"
1227
  "or gallery)."
1228
  msgstr ""
1229
 
1230
- #: ../includes/class-settings.php:284
1231
  msgid "Videos"
1232
  msgstr ""
1233
 
1234
- #: ../includes/class-settings.php:287
1235
  msgid "Enable lightbox for YouTube and Vimeo video links."
1236
  msgstr ""
1237
 
1238
- #: ../includes/class-settings.php:290
1239
  msgid "Widgets"
1240
  msgstr ""
1241
 
1242
- #: ../includes/class-settings.php:293
1243
  msgid "Enable lightbox for widgets content."
1244
  msgstr ""
1245
 
1246
- #: ../includes/class-settings.php:296
1247
  msgid "Comments"
1248
  msgstr ""
1249
 
1250
- #: ../includes/class-settings.php:299
1251
  msgid "Enable lightbox for comments content."
1252
  msgstr ""
1253
 
1254
- #: ../includes/class-settings.php:302
1255
  msgid "Force lightbox"
1256
  msgstr ""
1257
 
1258
- #: ../includes/class-settings.php:305
1259
  msgid ""
1260
  "Try to force lightbox for custom WP gallery replacements, like Jetpack or "
1261
  "Visual Composer galleries."
1262
  msgstr ""
1263
 
1264
- #: ../includes/class-settings.php:308
1265
  msgid "WooCommerce lightbox"
1266
  msgstr ""
1267
 
1268
- #: ../includes/class-settings.php:311
1269
  msgid "Replace WooCommerce product gallery lightbox."
1270
  msgstr ""
1271
 
1272
- #: ../includes/class-settings.php:315
1273
  msgid "Custom events"
1274
  msgstr ""
1275
 
1276
- #: ../includes/class-settings.php:321
1277
  msgid "Enable triggering lightbox on custom jQuery events."
1278
  msgstr ""
1279
 
1280
- #: ../includes/class-settings.php:325
1281
  msgid "Enter a space separated list of events."
1282
  msgstr ""
1283
 
1284
- #: ../includes/class-settings.php:330
1285
  msgid "Loading place"
1286
  msgstr ""
1287
 
1288
- #: ../includes/class-settings.php:333
1289
  msgid "Select where all the lightbox scripts should be placed."
1290
  msgstr ""
1291
 
1292
- #: ../includes/class-settings.php:335
1293
  msgid "Header"
1294
  msgstr ""
1295
 
1296
- #: ../includes/class-settings.php:336
1297
  msgid "Footer"
1298
  msgstr ""
1299
 
1300
- #: ../includes/class-settings.php:340
1301
  msgid "Conditional loading"
1302
  msgstr ""
1303
 
1304
- #: ../includes/class-settings.php:343
1305
  msgid ""
1306
  "Enable to load scripts and styles only on pages that have images or "
1307
  "galleries in post content."
1308
  msgstr ""
1309
 
1310
- #: ../includes/class-settings.php:346
1311
  msgid "Delete data"
1312
  msgstr ""
1313
 
1314
- #: ../includes/class-settings.php:349
1315
  msgid "Delete all plugin settings on deactivation."
1316
  msgstr ""
1317
 
1318
- #: ../includes/class-settings.php:350
1319
  msgid ""
1320
  "Enable this to delete all plugin settings and also delete all plugin "
1321
  "capabilities from all users on deactivation."
1322
  msgstr ""
1323
 
1324
- #: ../includes/class-settings.php:359
1325
  msgid "Gallery Builder Settings"
1326
  msgstr ""
1327
 
1328
- #: ../includes/class-settings.php:365 ../includes/class-tour.php:102
1329
  msgid "Gallery Builder"
1330
  msgstr ""
1331
 
1332
- #: ../includes/class-settings.php:368
1333
  msgid "Enable advanced gallery builder."
1334
  msgstr ""
1335
 
1336
- #: ../includes/class-settings.php:371 ../responsive-lightbox.php:1077
1337
- #: ../responsive-lightbox.php:1313 ../responsive-lightbox.php:1324
1338
  msgid "Categories"
1339
  msgstr ""
1340
 
1341
- #: ../includes/class-settings.php:374
1342
  msgid "Enable Gallery Categories."
1343
  msgstr ""
1344
 
1345
- #: ../includes/class-settings.php:375
1346
  msgid "Enable if you want to use Gallery Categories."
1347
  msgstr ""
1348
 
1349
- #: ../includes/class-settings.php:378 ../responsive-lightbox.php:1123
1350
- #: ../responsive-lightbox.php:1333 ../responsive-lightbox.php:1344
1351
  msgid "Tags"
1352
  msgstr ""
1353
 
1354
- #: ../includes/class-settings.php:381
1355
  msgid "Enable Gallery Tags."
1356
  msgstr ""
1357
 
1358
- #: ../includes/class-settings.php:382
1359
  msgid "Enable if you want to use Gallery Tags."
1360
  msgstr ""
1361
 
1362
- #: ../includes/class-settings.php:385
1363
  msgid "Gallery Permalink"
1364
  msgstr ""
1365
 
1366
- #: ../includes/class-settings.php:388
1367
  msgid "Enter gallery page slug."
1368
  msgstr ""
1369
 
1370
- #: ../includes/class-settings.php:391
1371
  msgid "Categories Permalink"
1372
  msgstr ""
1373
 
1374
- #: ../includes/class-settings.php:394
1375
  msgid "Enter gallery categories archive page slug."
1376
  msgstr ""
1377
 
1378
- #: ../includes/class-settings.php:397
1379
  msgid "Tags Permalink"
1380
  msgstr ""
1381
 
1382
- #: ../includes/class-settings.php:400
1383
  msgid "Enter gallery tags archive page slug."
1384
  msgstr ""
1385
 
1386
- #: ../includes/class-settings.php:403
1387
  msgid "Archives"
1388
  msgstr ""
1389
 
1390
- #: ../includes/class-settings.php:406
1391
  msgid "Enable gallery archives."
1392
  msgstr ""
1393
 
1394
- #: ../includes/class-settings.php:409
1395
  msgid "Archives category"
1396
  msgstr ""
1397
 
1398
- #: ../includes/class-settings.php:412
1399
  msgid "Select category for gallery archives."
1400
  msgstr ""
1401
 
1402
- #: ../includes/class-settings.php:414 ../includes/class-settings.php:673
1403
  msgid "All"
1404
  msgstr ""
1405
 
1406
- #: ../includes/class-settings.php:424 ../includes/class-tour.php:196
1407
  msgid "Folders Settings"
1408
  msgstr ""
1409
 
1410
- #: ../includes/class-settings.php:430 ../includes/class-settings.php:441
1411
- #: ../includes/class-settings.php:1014
1412
  msgid "Folders"
1413
  msgstr ""
1414
 
1415
- #: ../includes/class-settings.php:433
1416
  msgid "Enable media folders."
1417
  msgstr ""
1418
 
1419
- #: ../includes/class-settings.php:436
1420
  msgid "Media taxonomy"
1421
  msgstr ""
1422
 
1423
- #: ../includes/class-settings.php:439
1424
  msgid "Select media taxonomy."
1425
  msgstr ""
1426
 
1427
- #: ../includes/class-settings.php:439
1428
  msgid ""
1429
  "If you have ever used custom media taxonomies you may try to <a id="
1430
  "\"rl_folders_load_old_taxonomies\" href=\"#\">load and use them.</a>"
1431
  msgstr ""
1432
 
1433
- #: ../includes/class-settings.php:444
1434
  msgid "Media tags"
1435
  msgstr ""
1436
 
1437
- #: ../includes/class-settings.php:447
1438
  msgid "Enable media tags."
1439
  msgstr ""
1440
 
1441
- #: ../includes/class-settings.php:448
1442
  msgid "Enable if you want to use media tags."
1443
  msgstr ""
1444
 
1445
- #: ../includes/class-settings.php:451
1446
  msgid "Show in menu"
1447
  msgstr ""
1448
 
1449
- #: ../includes/class-settings.php:454
1450
  msgid "Enable to show the taxonomy in the admin menu."
1451
  msgstr ""
1452
 
1453
- #: ../includes/class-settings.php:457
1454
  msgid "Subfolder removal"
1455
  msgstr ""
1456
 
1457
- #: ../includes/class-settings.php:460
1458
  msgid "Select to remove subfolders when parent folder is deleted."
1459
  msgstr ""
1460
 
1461
- #: ../includes/class-settings.php:476
1462
  msgid "Whole row"
1463
  msgstr ""
1464
 
1465
- #: ../includes/class-settings.php:479
1466
  msgid "Enable to highlight folder's row as a clickable area."
1467
  msgstr ""
1468
 
1469
- #: ../includes/class-settings.php:488 ../includes/class-tour.php:214
1470
  msgid "Remote Library Settings"
1471
  msgstr ""
1472
 
1473
- #: ../includes/class-settings.php:502
1474
  msgid "Enable remote libraries."
1475
  msgstr ""
1476
 
1477
- #: ../includes/class-settings.php:503
1478
  msgid "Check this to enable remote access to the following image libraries."
1479
  msgstr ""
1480
 
1481
- #: ../includes/class-settings.php:506
1482
  msgid "Caching"
1483
  msgstr ""
1484
 
1485
- #: ../includes/class-settings.php:509
1486
  msgid "Enable remote library requests caching."
1487
  msgstr ""
1488
 
1489
- #: ../includes/class-settings.php:512
1490
  msgid "Cache expiry"
1491
  msgstr ""
1492
 
1493
- #: ../includes/class-settings.php:516
1494
  msgid "Enter the cache expiry time."
1495
  msgstr ""
1496
 
1497
- #: ../includes/class-settings.php:517
1498
  msgid "hour(s)"
1499
  msgstr ""
1500
 
1501
- #: ../includes/class-settings.php:526 ../includes/class-settings.php:1062
1502
  #, php-format
1503
  msgid "%s Settings"
1504
  msgstr ""
1505
 
1506
- #: ../includes/class-settings.php:538 ../includes/class-tour.php:205
1507
  msgid "Capabilities Settings"
1508
  msgstr ""
1509
 
1510
- #: ../includes/class-settings.php:548 ../includes/class-settings.php:1021
1511
  msgid "Capabilities"
1512
  msgstr ""
1513
 
1514
- #: ../includes/class-settings.php:551
1515
  msgid "Enable advanced capability management."
1516
  msgstr ""
1517
 
1518
- #: ../includes/class-settings.php:552
1519
  msgid "Check this to enable access to plugin features for selected user roles."
1520
  msgstr ""
1521
 
1522
- #: ../includes/class-settings.php:561
1523
  msgid "Basic Grid Gallery Settings"
1524
  msgstr ""
1525
 
1526
- #: ../includes/class-settings.php:567 ../includes/class-settings.php:843
1527
  msgid "Screen sizes"
1528
  msgstr ""
1529
 
1530
- #: ../includes/class-settings.php:570 ../includes/class-settings.php:846
1531
  msgid ""
1532
  "Number of columns in a gallery depending on the device screen size. (if "
1533
  "greater than 0 overrides the Columns option)"
1534
  msgstr ""
1535
 
1536
- #: ../includes/class-settings.php:576 ../includes/class-settings.php:853
1537
  msgid "large devices / desktops (&ge;1200px)"
1538
  msgstr ""
1539
 
1540
- #: ../includes/class-settings.php:582 ../includes/class-settings.php:860
1541
  msgid "medium devices / desktops (&ge;992px)"
1542
  msgstr ""
1543
 
1544
- #: ../includes/class-settings.php:588 ../includes/class-settings.php:867
1545
  msgid "small devices / tablets (&ge;768px)"
1546
  msgstr ""
1547
 
1548
- #: ../includes/class-settings.php:594 ../includes/class-settings.php:874
1549
  msgid "extra small devices / phones (<768px)"
1550
  msgstr ""
1551
 
1552
- #: ../includes/class-settings.php:599 ../includes/class-settings.php:879
1553
  msgid "Gutter"
1554
  msgstr ""
1555
 
1556
- #: ../includes/class-settings.php:603
1557
  msgid "Set the pixel width between the columns and rows."
1558
  msgstr ""
1559
 
1560
- #: ../includes/class-settings.php:607
1561
  msgid "Force height"
1562
  msgstr ""
1563
 
1564
- #: ../includes/class-settings.php:610
1565
  msgid "Enable to force the thumbnail row height."
1566
  msgstr ""
1567
 
1568
- #: ../includes/class-settings.php:613
1569
  msgid "Row height"
1570
  msgstr ""
1571
 
1572
- #: ../includes/class-settings.php:617
1573
  msgid ""
1574
  "Enter the thumbnail row height in pixels (used if Force height is enabled). "
1575
  "Defaults to 150px."
1576
  msgstr ""
1577
 
1578
- #: ../includes/class-settings.php:627
1579
  msgid "Basic Slider Gallery Settings"
1580
  msgstr ""
1581
 
1582
- #: ../includes/class-settings.php:633
1583
  msgid "Adaptive Height"
1584
  msgstr ""
1585
 
1586
- #: ../includes/class-settings.php:636
1587
  msgid ""
1588
  "The slider height should change on the fly according to the current slide."
1589
  msgstr ""
1590
 
1591
- #: ../includes/class-settings.php:639
1592
  msgid "Loop"
1593
  msgstr ""
1594
 
1595
- #: ../includes/class-settings.php:642
1596
  msgid ""
1597
  "Whether the slider should loop (i.e. the first slide goes to the last, the "
1598
  "last slide goes to the first)."
1599
  msgstr ""
1600
 
1601
- #: ../includes/class-settings.php:645
1602
  msgid "Captions Position"
1603
  msgstr ""
1604
 
1605
- #: ../includes/class-settings.php:648
1606
  msgid "Specifies the position of captions or no captions at all."
1607
  msgstr ""
1608
 
1609
- #: ../includes/class-settings.php:651
1610
  msgid "Overlay"
1611
  msgstr ""
1612
 
1613
- #: ../includes/class-settings.php:652
1614
  msgid "Below"
1615
  msgstr ""
1616
 
1617
- #: ../includes/class-settings.php:656
1618
  msgid "Single Image Slider"
1619
  msgstr ""
1620
 
1621
- #: ../includes/class-settings.php:659
1622
  msgid ""
1623
  "Whether the slider should initialize even if there is only one slide element."
1624
  msgstr ""
1625
 
1626
- #: ../includes/class-settings.php:662
1627
  msgid "Responsive"
1628
  msgstr ""
1629
 
1630
- #: ../includes/class-settings.php:665
1631
  msgid "Whether the slider should be responsive."
1632
  msgstr ""
1633
 
1634
- #: ../includes/class-settings.php:668
1635
  msgid "Preload"
1636
  msgstr ""
1637
 
1638
- #: ../includes/class-settings.php:671
1639
  msgid "Elements that are preloaded before slider shows."
1640
  msgstr ""
1641
 
1642
- #: ../includes/class-settings.php:674
1643
  msgid "Only visible"
1644
  msgstr ""
1645
 
1646
- #: ../includes/class-settings.php:678
1647
  msgid "Pager"
1648
  msgstr ""
1649
 
1650
- #: ../includes/class-settings.php:681
1651
  msgid "Whether the slider should have a pager."
1652
  msgstr ""
1653
 
1654
- #: ../includes/class-settings.php:684
1655
  msgid "Controls"
1656
  msgstr ""
1657
 
1658
- #: ../includes/class-settings.php:687
1659
  msgid "Whether the slider should have controls (next, previous arrows)."
1660
  msgstr ""
1661
 
1662
- #: ../includes/class-settings.php:690
1663
  msgid "Hide Controls on End"
1664
  msgstr ""
1665
 
1666
- #: ../includes/class-settings.php:693
1667
  msgid ""
1668
  "Hide the previous or next control when it reaches the first or last slide "
1669
  "respectively."
1670
  msgstr ""
1671
 
1672
- #: ../includes/class-settings.php:696
1673
  msgid "Slide Margin"
1674
  msgstr ""
1675
 
1676
- #: ../includes/class-settings.php:700
1677
  msgid "The spacing between slides."
1678
  msgstr ""
1679
 
1680
- #: ../includes/class-settings.php:704
1681
  msgid "Transition"
1682
  msgstr ""
1683
 
1684
- #: ../includes/class-settings.php:707
1685
  msgid "Transition type to use, or no transitions."
1686
  msgstr ""
1687
 
1688
- #: ../includes/class-settings.php:710
1689
  msgid "Fade"
1690
  msgstr ""
1691
 
1692
- #: ../includes/class-settings.php:711
1693
  msgid "Horizontal"
1694
  msgstr ""
1695
 
1696
- #: ../includes/class-settings.php:712
1697
  msgid "Vertical"
1698
  msgstr ""
1699
 
1700
- #: ../includes/class-settings.php:713
1701
  msgid "Ken Burns"
1702
  msgstr ""
1703
 
1704
- #: ../includes/class-settings.php:717
1705
  msgid "Ken Burns Zoom"
1706
  msgstr ""
1707
 
1708
- #: ../includes/class-settings.php:721
1709
  msgid "Max zoom level use for the Ken Burns transition."
1710
  msgstr ""
1711
 
1712
- #: ../includes/class-settings.php:725
1713
  msgid "Transition Speed"
1714
  msgstr ""
1715
 
1716
- #: ../includes/class-settings.php:729
1717
  msgid "The time the transition takes to complete."
1718
  msgstr ""
1719
 
1720
- #: ../includes/class-settings.php:733
1721
  msgid "Easing Effect"
1722
  msgstr ""
1723
 
1724
- #: ../includes/class-settings.php:736
1725
  msgid "The easing effect to use for the selected transition."
1726
  msgstr ""
1727
 
1728
- #: ../includes/class-settings.php:773
1729
  msgid "Continuous"
1730
  msgstr ""
1731
 
1732
- #: ../includes/class-settings.php:776
1733
  msgid ""
1734
  "Whether the slider should run continuously (seamless transition between the "
1735
  "first and last slides)."
1736
  msgstr ""
1737
 
1738
- #: ../includes/class-settings.php:779
1739
  msgid "Use CSS"
1740
  msgstr ""
1741
 
1742
- #: ../includes/class-settings.php:782
1743
  msgid ""
1744
  "Whether the slider should use CSS transitions. If the user's browser doesn't "
1745
  "support CSS transitions the slider will fallback to jQuery."
1746
  msgstr ""
1747
 
1748
- #: ../includes/class-settings.php:785 ../includes/class-settings.php:1148
1749
  msgid "Slideshow"
1750
  msgstr ""
1751
 
1752
- #: ../includes/class-settings.php:788
1753
  msgid "Whether the slider should run automatically on load."
1754
  msgstr ""
1755
 
1756
- #: ../includes/class-settings.php:791
1757
  msgid "Slideshow Direction"
1758
  msgstr ""
1759
 
1760
- #: ../includes/class-settings.php:794
1761
  msgid "Which direction the slider should move in if in slideshow mode."
1762
  msgstr ""
1763
 
1764
- #: ../includes/class-settings.php:796 ../includes/class-tour.php:104
1765
- #: ../includes/class-tour.php:125 ../includes/class-tour.php:139
1766
- #: ../includes/class-tour.php:153 ../includes/class-tour.php:171
1767
- #: ../includes/class-tour.php:180 ../includes/class-tour.php:189
1768
- #: ../includes/class-tour.php:198 ../includes/class-tour.php:207
1769
- #: ../includes/class-tour.php:216 ../includes/class-tour.php:226
1770
  msgid "Next"
1771
  msgstr ""
1772
 
1773
- #: ../includes/class-settings.php:797
1774
  msgid "Previous"
1775
  msgstr ""
1776
 
1777
- #: ../includes/class-settings.php:801
1778
  msgid "Slideshow Hover"
1779
  msgstr ""
1780
 
1781
- #: ../includes/class-settings.php:804
1782
  msgid "Whether the slideshow should pause automatically on hover."
1783
  msgstr ""
1784
 
1785
- #: ../includes/class-settings.php:807
1786
  msgid "Slideshow Hover Delay"
1787
  msgstr ""
1788
 
1789
- #: ../includes/class-settings.php:811
1790
  msgid "The delay (if any) before the slider resumes automatically after hover."
1791
  msgstr ""
1792
 
1793
- #: ../includes/class-settings.php:815
1794
  msgid "Slideshow Delay"
1795
  msgstr ""
1796
 
1797
- #: ../includes/class-settings.php:819
1798
  msgid "The delay (if any) before the slider runs automatically on load."
1799
  msgstr ""
1800
 
1801
- #: ../includes/class-settings.php:823
1802
  msgid "Slideshow Pause"
1803
  msgstr ""
1804
 
1805
- #: ../includes/class-settings.php:827
1806
  msgid "The time a slide lasts."
1807
  msgstr ""
1808
 
1809
- #: ../includes/class-settings.php:837
1810
  msgid "Basic Masonry Gallery Settings"
1811
  msgstr ""
1812
 
1813
- #: ../includes/class-settings.php:882
1814
  msgid "Horizontal space between gallery items."
1815
  msgstr ""
1816
 
1817
- #: ../includes/class-settings.php:886 ../includes/class-settings.php:1459
1818
  msgid "Margin"
1819
  msgstr ""
1820
 
1821
- #: ../includes/class-settings.php:889
1822
  msgid "Vertical space between gallery items."
1823
  msgstr ""
1824
 
1825
- #: ../includes/class-settings.php:893
1826
  msgid "Origin Left"
1827
  msgstr ""
1828
 
1829
- #: ../includes/class-settings.php:896
1830
  msgid "Enable left-to-right layouts."
1831
  msgstr ""
1832
 
1833
- #: ../includes/class-settings.php:897
1834
  msgid ""
1835
  "Controls the horizontal flow of the layout. By default, item elements start "
1836
  "positioning at the left. Uncheck it for right-to-left layouts."
1837
  msgstr ""
1838
 
1839
- #: ../includes/class-settings.php:900
1840
  msgid "Origin Top"
1841
  msgstr ""
1842
 
1843
- #: ../includes/class-settings.php:903
1844
  msgid "Enable top-to-bottom layouts."
1845
  msgstr ""
1846
 
1847
- #: ../includes/class-settings.php:904
1848
  msgid ""
1849
  "Controls the vetical flow of the layout. By default, item elements start "
1850
  "positioning at the top. Uncheck it for bottom-up layouts."
1851
  msgstr ""
1852
 
1853
- #: ../includes/class-settings.php:912 ../includes/class-settings.php:1840
1854
  msgid "General"
1855
  msgstr ""
1856
 
1857
- #: ../includes/class-settings.php:918
1858
  msgid "Lightboxes"
1859
  msgstr ""
1860
 
1861
- #: ../includes/class-settings.php:926 ../responsive-lightbox.php:641
1862
  msgid "Basic Grid"
1863
  msgstr ""
1864
 
1865
- #: ../includes/class-settings.php:932 ../responsive-lightbox.php:642
1866
  msgid "Basic Slider"
1867
  msgstr ""
1868
 
1869
- #: ../includes/class-settings.php:938 ../responsive-lightbox.php:643
1870
  msgid "Basic Masonry"
1871
  msgstr ""
1872
 
1873
- #: ../includes/class-settings.php:1007
1874
  msgid "Builder"
1875
  msgstr ""
1876
 
1877
- #: ../includes/class-settings.php:1048 ../includes/class-settings.php:2072
1878
  msgid "Licenses"
1879
  msgstr ""
1880
 
1881
- #: ../includes/class-settings.php:1056 ../includes/class-tour.php:233
1882
- #: ../responsive-lightbox.php:930
1883
  msgid "Add-ons"
1884
  msgstr ""
1885
 
1886
- #: ../includes/class-settings.php:1070
1887
  msgid "Animation type"
1888
  msgstr ""
1889
 
1890
- #: ../includes/class-settings.php:1074
1891
  msgid "Select a method of applying a lightbox effect."
1892
  msgstr ""
1893
 
1894
- #: ../includes/class-settings.php:1079
1895
  msgid "Force PNG icons"
1896
  msgstr ""
1897
 
1898
- #: ../includes/class-settings.php:1082
1899
  msgid ""
1900
  "Enable this if you're having problems with navigation icons not visible on "
1901
  "some devices."
1902
  msgstr ""
1903
 
1904
- #: ../includes/class-settings.php:1086
1905
  msgid "Hide close on mobile"
1906
  msgstr ""
1907
 
1908
- #: ../includes/class-settings.php:1089
1909
  msgid "Hide the close button on mobile devices."
1910
  msgstr ""
1911
 
1912
- #: ../includes/class-settings.php:1093
1913
  msgid "Remove bars on mobile"
1914
  msgstr ""
1915
 
1916
- #: ../includes/class-settings.php:1096
1917
  msgid "Hide the top and bottom bars on mobile devices."
1918
  msgstr ""
1919
 
1920
- #: ../includes/class-settings.php:1100
1921
  msgid "Top and bottom bars"
1922
  msgstr ""
1923
 
1924
- #: ../includes/class-settings.php:1106
1925
  msgid "Hide top and bottom bars after a period of time."
1926
  msgstr ""
1927
 
1928
- #: ../includes/class-settings.php:1111
1929
  msgid ""
1930
  "Enter the time after which the top and bottom bars will be hidden (when "
1931
  "hiding is enabled)."
1932
  msgstr ""
1933
 
1934
- #: ../includes/class-settings.php:1118
1935
  msgid "Video max width"
1936
  msgstr ""
1937
 
1938
- #: ../includes/class-settings.php:1121
1939
  msgid "Enter the max video width in a lightbox."
1940
  msgstr ""
1941
 
1942
- #: ../includes/class-settings.php:1126
1943
  msgid "Loop at end"
1944
  msgstr ""
1945
 
1946
- #: ../includes/class-settings.php:1129
1947
  msgid "True will return to the first image after the last image is reached."
1948
  msgstr ""
1949
 
1950
- #: ../includes/class-settings.php:1139 ../includes/class-settings.php:1525
1951
  msgid "Animation speed"
1952
  msgstr ""
1953
 
1954
- #: ../includes/class-settings.php:1143
1955
  msgid "Select animation speed for lightbox effect."
1956
  msgstr ""
1957
 
1958
- #: ../includes/class-settings.php:1154
1959
  msgid "Display images as slideshow"
1960
  msgstr ""
1961
 
1962
- #: ../includes/class-settings.php:1159
1963
  msgid "Enter time (in miliseconds)."
1964
  msgstr ""
1965
 
1966
- #: ../includes/class-settings.php:1166
1967
  msgid "Slideshow autoplay"
1968
  msgstr ""
1969
 
1970
- #: ../includes/class-settings.php:1169 ../includes/class-settings.php:1605
1971
  msgid "Automatically start slideshow."
1972
  msgstr ""
1973
 
1974
- #: ../includes/class-settings.php:1173 ../includes/class-settings.php:1373
1975
  msgid "Opacity"
1976
  msgstr ""
1977
 
1978
- #: ../includes/class-settings.php:1176
1979
  msgid "Value between 0 and 100, 100 for no opacity."
1980
  msgstr ""
1981
 
1982
- #: ../includes/class-settings.php:1182
1983
  msgid "Show title"
1984
  msgstr ""
1985
 
1986
- #: ../includes/class-settings.php:1185
1987
  msgid "Display image title."
1988
  msgstr ""
1989
 
1990
- #: ../includes/class-settings.php:1189
1991
  msgid "Allow resize big images"
1992
  msgstr ""
1993
 
1994
- #: ../includes/class-settings.php:1192
1995
  msgid "Resize the photos bigger than viewport."
1996
  msgstr ""
1997
 
1998
- #: ../includes/class-settings.php:1196
1999
  msgid "Allow expand"
2000
  msgstr ""
2001
 
2002
- #: ../includes/class-settings.php:1199
2003
  msgid "Allow expanding images."
2004
  msgstr ""
2005
 
2006
- #: ../includes/class-settings.php:1203 ../includes/class-settings.php:1467
2007
  msgid "Video width"
2008
  msgstr ""
2009
 
2010
- #: ../includes/class-settings.php:1210 ../includes/class-settings.php:1475
2011
  msgid "Video height"
2012
  msgstr ""
2013
 
2014
- #: ../includes/class-settings.php:1217
2015
  msgid "Theme"
2016
  msgstr ""
2017
 
2018
- #: ../includes/class-settings.php:1220
2019
  msgid "Select the theme for lightbox effect."
2020
  msgstr ""
2021
 
2022
- #: ../includes/class-settings.php:1225
2023
  msgid "Horizontal padding"
2024
  msgstr ""
2025
 
2026
- #: ../includes/class-settings.php:1232
2027
  msgid "Hide Flash"
2028
  msgstr ""
2029
 
2030
- #: ../includes/class-settings.php:1235
2031
  msgid ""
2032
  "Hide all the flash objects on a page. Enable this if flash appears over "
2033
  "prettyPhoto."
2034
  msgstr ""
2035
 
2036
- #: ../includes/class-settings.php:1239
2037
  msgid "Flash Window Mode (wmode)"
2038
  msgstr ""
2039
 
2040
- #: ../includes/class-settings.php:1242
2041
  msgid "Select flash window mode."
2042
  msgstr ""
2043
 
2044
- #: ../includes/class-settings.php:1247
2045
  msgid "Video autoplay"
2046
  msgstr ""
2047
 
2048
- #: ../includes/class-settings.php:1250
2049
  msgid "Automatically start videos."
2050
  msgstr ""
2051
 
2052
- #: ../includes/class-settings.php:1254 ../includes/class-settings.php:1295
2053
  msgid "Modal"
2054
  msgstr ""
2055
 
2056
- #: ../includes/class-settings.php:1257
2057
  msgid "If set to true, only the close button will close the window."
2058
  msgstr ""
2059
 
2060
- #: ../includes/class-settings.php:1261
2061
  msgid "Deeplinking"
2062
  msgstr ""
2063
 
2064
- #: ../includes/class-settings.php:1264
2065
  msgid "Allow prettyPhoto to update the url to enable deeplinking."
2066
  msgstr ""
2067
 
2068
- #: ../includes/class-settings.php:1268
2069
  msgid "Overlay gallery"
2070
  msgstr ""
2071
 
2072
- #: ../includes/class-settings.php:1271
2073
  msgid "If enabled, a gallery will overlay the fullscreen image on mouse over."
2074
  msgstr ""
2075
 
2076
- #: ../includes/class-settings.php:1275
2077
  msgid "Keyboard shortcuts"
2078
  msgstr ""
2079
 
2080
- #: ../includes/class-settings.php:1278
2081
  msgid "Set to false if you open forms inside prettyPhoto."
2082
  msgstr ""
2083
 
2084
- #: ../includes/class-settings.php:1282
2085
  msgid "Social (Twitter, Facebook)"
2086
  msgstr ""
2087
 
2088
- #: ../includes/class-settings.php:1285
2089
  msgid "Display links to Facebook and Twitter."
2090
  msgstr ""
2091
 
2092
- #: ../includes/class-settings.php:1298
2093
  msgid ""
2094
  "When true, \"overlayShow\" is set to true and \"hideOnOverlayClick\", "
2095
  "\"hideOnContentClick\", \"enableEscapeButton\", \"showCloseButton\" are set "
2096
  "to false."
2097
  msgstr ""
2098
 
2099
- #: ../includes/class-settings.php:1302
2100
  msgid "Show overlay"
2101
  msgstr ""
2102
 
2103
- #: ../includes/class-settings.php:1305
2104
  msgid "Toggle overlay."
2105
  msgstr ""
2106
 
2107
- #: ../includes/class-settings.php:1309 ../includes/class-settings.php:1758
2108
  msgid "Show close button"
2109
  msgstr ""
2110
 
2111
- #: ../includes/class-settings.php:1312
2112
  msgid "Toggle close button."
2113
  msgstr ""
2114
 
2115
- #: ../includes/class-settings.php:1316
2116
  msgid "Enable escape button"
2117
  msgstr ""
2118
 
2119
- #: ../includes/class-settings.php:1319 ../includes/class-settings.php:1689
2120
  msgid "Toggle if pressing Esc button closes lightbox."
2121
  msgstr ""
2122
 
2123
- #: ../includes/class-settings.php:1323
2124
  msgid "Hide on overlay click"
2125
  msgstr ""
2126
 
2127
- #: ../includes/class-settings.php:1326
2128
  msgid "Toggle if clicking the overlay should close FancyBox."
2129
  msgstr ""
2130
 
2131
- #: ../includes/class-settings.php:1330
2132
  msgid "Hide on content click"
2133
  msgstr ""
2134
 
2135
- #: ../includes/class-settings.php:1333
2136
  msgid "Toggle if clicking the content should close FancyBox."
2137
  msgstr ""
2138
 
2139
- #: ../includes/class-settings.php:1337
2140
  msgid "Cyclic"
2141
  msgstr ""
2142
 
2143
- #: ../includes/class-settings.php:1340
2144
  msgid ""
2145
  "When true, galleries will be cyclic, allowing you to keep pressing next/back."
2146
  msgstr ""
2147
 
2148
- #: ../includes/class-settings.php:1344
2149
  msgid "Show nav arrows"
2150
  msgstr ""
2151
 
2152
- #: ../includes/class-settings.php:1347
2153
  msgid "Toggle navigation arrows."
2154
  msgstr ""
2155
 
2156
- #: ../includes/class-settings.php:1351
2157
  msgid "Auto scale"
2158
  msgstr ""
2159
 
2160
- #: ../includes/class-settings.php:1354
2161
  msgid "If true, FancyBox is scaled to fit in viewport."
2162
  msgstr ""
2163
 
2164
- #: ../includes/class-settings.php:1358
2165
  msgid "Scrolling (in/out)"
2166
  msgstr ""
2167
 
2168
- #: ../includes/class-settings.php:1361
2169
  msgid "Set the overflow CSS property to create or hide scrollbars."
2170
  msgstr ""
2171
 
2172
- #: ../includes/class-settings.php:1366
2173
  msgid "Center on scroll"
2174
  msgstr ""
2175
 
2176
- #: ../includes/class-settings.php:1369
2177
  msgid "When true, FancyBox is centered while scrolling page."
2178
  msgstr ""
2179
 
2180
- #: ../includes/class-settings.php:1376
2181
  msgid "When true, transparency of content is changed for elastic transitions."
2182
  msgstr ""
2183
 
2184
- #: ../includes/class-settings.php:1380
2185
  msgid "Overlay opacity"
2186
  msgstr ""
2187
 
2188
- #: ../includes/class-settings.php:1383
2189
  msgid "Opacity of the overlay."
2190
  msgstr ""
2191
 
2192
- #: ../includes/class-settings.php:1389
2193
  msgid "Overlay color"
2194
  msgstr ""
2195
 
2196
- #: ../includes/class-settings.php:1392
2197
  msgid "Color of the overlay."
2198
  msgstr ""
2199
 
2200
- #: ../includes/class-settings.php:1396
2201
  msgid "Title show"
2202
  msgstr ""
2203
 
2204
- #: ../includes/class-settings.php:1399
2205
  msgid "Toggle title."
2206
  msgstr ""
2207
 
2208
- #: ../includes/class-settings.php:1403
2209
  msgid "Title position"
2210
  msgstr ""
2211
 
2212
- #: ../includes/class-settings.php:1406
2213
  msgid "The position of title."
2214
  msgstr ""
2215
 
2216
- #: ../includes/class-settings.php:1411
2217
  msgid "Transition (in/out)"
2218
  msgstr ""
2219
 
2220
- #: ../includes/class-settings.php:1414
2221
  msgid "The transition type."
2222
  msgstr ""
2223
 
2224
- #: ../includes/class-settings.php:1419
2225
  msgid "Easings (in/out)"
2226
  msgstr ""
2227
 
2228
- #: ../includes/class-settings.php:1422
2229
  msgid "Easing used for elastic animations."
2230
  msgstr ""
2231
 
2232
- #: ../includes/class-settings.php:1427
2233
  msgid "Speed (in/out)"
2234
  msgstr ""
2235
 
2236
- #: ../includes/class-settings.php:1430
2237
  msgid "Speed of the fade and elastic transitions, in milliseconds."
2238
  msgstr ""
2239
 
2240
- #: ../includes/class-settings.php:1435
2241
  msgid "Change speed"
2242
  msgstr ""
2243
 
2244
- #: ../includes/class-settings.php:1438
2245
  msgid "Speed of resizing when changing gallery items, in milliseconds."
2246
  msgstr ""
2247
 
2248
- #: ../includes/class-settings.php:1443
2249
  msgid "Change fade"
2250
  msgstr ""
2251
 
2252
- #: ../includes/class-settings.php:1446
2253
  msgid "Speed of the content fading while changing gallery items."
2254
  msgstr ""
2255
 
2256
- #: ../includes/class-settings.php:1451
2257
  msgid "Padding"
2258
  msgstr ""
2259
 
2260
- #: ../includes/class-settings.php:1454
2261
  msgid "Space between FancyBox wrapper and content."
2262
  msgstr ""
2263
 
2264
- #: ../includes/class-settings.php:1462
2265
  msgid "Space between viewport and FancyBox wrapper."
2266
  msgstr ""
2267
 
2268
- #: ../includes/class-settings.php:1470
2269
  msgid "Width of the video."
2270
  msgstr ""
2271
 
2272
- #: ../includes/class-settings.php:1478
2273
  msgid "Height of the video."
2274
  msgstr ""
2275
 
2276
- #: ../includes/class-settings.php:1489
2277
  msgid "Effect"
2278
  msgstr ""
2279
 
2280
- #: ../includes/class-settings.php:1492
2281
  msgid "The effect to use when showing the lightbox."
2282
  msgstr ""
2283
 
2284
- #: ../includes/class-settings.php:1497 ../includes/class-settings.php:1592
2285
  msgid "Keyboard navigation"
2286
  msgstr ""
2287
 
2288
- #: ../includes/class-settings.php:1500 ../includes/class-settings.php:1595
2289
  msgid "Enable keyboard navigation (left/right/escape)."
2290
  msgstr ""
2291
 
2292
- #: ../includes/class-settings.php:1504
2293
  msgid "Click overlay to close"
2294
  msgstr ""
2295
 
2296
- #: ../includes/class-settings.php:1507 ../includes/class-settings.php:1648
2297
  msgid "Enable to close lightbox on overlay click."
2298
  msgstr ""
2299
 
2300
- #: ../includes/class-settings.php:1511
2301
  msgid "Error message"
2302
  msgstr ""
2303
 
2304
- #: ../includes/class-settings.php:1515
2305
  msgid "Error message if the content cannot be loaded."
2306
  msgstr ""
2307
 
2308
- #: ../includes/class-settings.php:1528
2309
  msgid "Animation speed."
2310
  msgstr ""
2311
 
2312
- #: ../includes/class-settings.php:1533
2313
  msgid "Preload next image"
2314
  msgstr ""
2315
 
2316
- #: ../includes/class-settings.php:1536
2317
  msgid "Silently preload the next image."
2318
  msgstr ""
2319
 
2320
- #: ../includes/class-settings.php:1540
2321
  msgid "Enable keyboard keys"
2322
  msgstr ""
2323
 
2324
- #: ../includes/class-settings.php:1543
2325
  msgid "Enable keyboard shortcuts (arrows Left/Right and Esc)."
2326
  msgstr ""
2327
 
2328
- #: ../includes/class-settings.php:1547
2329
  msgid "Quit after last image"
2330
  msgstr ""
2331
 
2332
- #: ../includes/class-settings.php:1550
2333
  msgid "Quit after viewing the last image."
2334
  msgstr ""
2335
 
2336
- #: ../includes/class-settings.php:1554
2337
  msgid "Quit on image click"
2338
  msgstr ""
2339
 
2340
- #: ../includes/class-settings.php:1557
2341
  msgid "Quit when the viewed image is clicked."
2342
  msgstr ""
2343
 
2344
- #: ../includes/class-settings.php:1561
2345
  msgid "Quit on anything click"
2346
  msgstr ""
2347
 
2348
- #: ../includes/class-settings.php:1564
2349
  msgid "Quit when anything but the viewed image is clicked."
2350
  msgstr ""
2351
 
2352
- #: ../includes/class-settings.php:1574
2353
  msgid "Transition effect"
2354
  msgstr ""
2355
 
2356
- #: ../includes/class-settings.php:1577
2357
  msgid "What effect to use for the transition."
2358
  msgstr ""
2359
 
2360
- #: ../includes/class-settings.php:1579
2361
  msgid "slide"
2362
  msgstr ""
2363
 
2364
- #: ../includes/class-settings.php:1585
2365
  msgid "Infinite loop"
2366
  msgstr ""
2367
 
2368
- #: ../includes/class-settings.php:1588
2369
  msgid ""
2370
  "Whether or not to slide back to the first slide when the last has been "
2371
  "reached."
2372
  msgstr ""
2373
 
2374
- #: ../includes/class-settings.php:1599
2375
  msgid "Autoplay"
2376
  msgstr ""
2377
 
2378
- #: ../includes/class-settings.php:1610
2379
  msgid "The timeout between sliding to the next slide in milliseconds."
2380
  msgstr ""
2381
 
2382
- #: ../includes/class-settings.php:1617
2383
  msgid "Pause on hover"
2384
  msgstr ""
2385
 
2386
- #: ../includes/class-settings.php:1620
2387
  msgid "Whether or not to pause on hover."
2388
  msgstr ""
2389
 
2390
- #: ../includes/class-settings.php:1624
2391
  msgid "Pagination"
2392
  msgstr ""
2393
 
2394
- #: ../includes/class-settings.php:1630
2395
  msgid "Whether or not to add a pagination."
2396
  msgstr ""
2397
 
2398
- #: ../includes/class-settings.php:1635
2399
  msgid "What type of pagination to use."
2400
  msgstr ""
2401
 
2402
- #: ../includes/class-settings.php:1637
2403
  msgid "Bullets"
2404
  msgstr ""
2405
 
2406
- #: ../includes/class-settings.php:1638
2407
  msgid "Thumbnails"
2408
  msgstr ""
2409
 
2410
- #: ../includes/class-settings.php:1645
2411
  msgid "Overlay close"
2412
  msgstr ""
2413
 
2414
- #: ../includes/class-settings.php:1658
2415
  msgid "Opening speed"
2416
  msgstr ""
2417
 
2418
- #: ../includes/class-settings.php:1661
2419
  msgid "Duration of opening animation."
2420
  msgstr ""
2421
 
2422
- #: ../includes/class-settings.php:1666
2423
  msgid "Closing speed"
2424
  msgstr ""
2425
 
2426
- #: ../includes/class-settings.php:1669
2427
  msgid "Duration of closing animation."
2428
  msgstr ""
2429
 
2430
- #: ../includes/class-settings.php:1674
2431
  msgid "Close on click"
2432
  msgstr ""
2433
 
2434
- #: ../includes/class-settings.php:1677
2435
  msgid "Select how to close lightbox."
2436
  msgstr ""
2437
 
2438
- #: ../includes/class-settings.php:1679
2439
  msgid "background"
2440
  msgstr ""
2441
 
2442
- #: ../includes/class-settings.php:1680
2443
  msgid "anywhere"
2444
  msgstr ""
2445
 
2446
- #: ../includes/class-settings.php:1681
2447
  msgid "false"
2448
  msgstr ""
2449
 
2450
- #: ../includes/class-settings.php:1686
2451
  msgid "Close on Esc"
2452
  msgstr ""
2453
 
2454
- #: ../includes/class-settings.php:1693
2455
  msgid "Gallery fade in"
2456
  msgstr ""
2457
 
2458
- #: ../includes/class-settings.php:1696
2459
  msgid "Animation speed when image is loaded."
2460
  msgstr ""
2461
 
2462
- #: ../includes/class-settings.php:1701
2463
  msgid "Gallery fade out"
2464
  msgstr ""
2465
 
2466
- #: ../includes/class-settings.php:1704
2467
  msgid "Animation speed before image is loaded."
2468
  msgstr ""
2469
 
2470
- #: ../includes/class-settings.php:1715
2471
  msgid "Disable on"
2472
  msgstr ""
2473
 
2474
- #: ../includes/class-settings.php:1718
2475
  msgid ""
2476
  "If window width is less than the number in this option lightbox will not be "
2477
  "opened and the default behavior of the element will be triggered. Set to 0 "
2478
  "to disable behavior."
2479
  msgstr ""
2480
 
2481
- #: ../includes/class-settings.php:1723
2482
  msgid "Middle click"
2483
  msgstr ""
2484
 
2485
- #: ../includes/class-settings.php:1726
2486
  msgid ""
2487
  "If option enabled, lightbox is opened if the user clicked on the middle "
2488
  "mouse button, or click with Command/Ctrl key."
2489
  msgstr ""
2490
 
2491
- #: ../includes/class-settings.php:1730
2492
  msgid "Preloader"
2493
  msgstr ""
2494
 
2495
- #: ../includes/class-settings.php:1733
2496
  msgid ""
2497
  "If option enabled, it's always present in DOM only text inside of it changes."
2498
  msgstr ""
2499
 
2500
- #: ../includes/class-settings.php:1737
2501
  msgid "Close on content click"
2502
  msgstr ""
2503
 
2504
- #: ../includes/class-settings.php:1740
2505
  msgid ""
2506
  "Close popup when user clicks on content of it. It's recommended to enable "
2507
  "this option when you have only image in popup."
2508
  msgstr ""
2509
 
2510
- #: ../includes/class-settings.php:1744
2511
  msgid "Close on background click"
2512
  msgstr ""
2513
 
2514
- #: ../includes/class-settings.php:1747
2515
  msgid "Close the popup when user clicks on the dark overlay."
2516
  msgstr ""
2517
 
2518
- #: ../includes/class-settings.php:1751
2519
  msgid "Close button inside"
2520
  msgstr ""
2521
 
2522
- #: ../includes/class-settings.php:1754
2523
  msgid ""
2524
  "If enabled, Magnific Popup will put close button inside content of popup."
2525
  msgstr ""
2526
 
2527
- #: ../includes/class-settings.php:1761
2528
  msgid "Controls whether the close button will be displayed or not."
2529
  msgstr ""
2530
 
2531
- #: ../includes/class-settings.php:1765
2532
  msgid "Enable escape key"
2533
  msgstr ""
2534
 
2535
- #: ../includes/class-settings.php:1768
2536
  msgid ""
2537
  "Controls whether pressing the escape key will dismiss the active popup or "
2538
  "not."
2539
  msgstr ""
2540
 
2541
- #: ../includes/class-settings.php:1772
2542
  msgid "Align top"
2543
  msgstr ""
2544
 
2545
- #: ../includes/class-settings.php:1775
2546
  msgid "If set to true popup is aligned to top instead of to center."
2547
  msgstr ""
2548
 
2549
- #: ../includes/class-settings.php:1779
2550
  msgid "Content position type"
2551
  msgstr ""
2552
 
2553
- #: ../includes/class-settings.php:1782
2554
  msgid ""
2555
  "Popup content position. If set to \"auto\" popup will automatically disable "
2556
  "this option when browser doesn't support fixed position properly."
2557
  msgstr ""
2558
 
2559
- #: ../includes/class-settings.php:1784 ../includes/class-settings.php:1796
2560
  msgid "Auto"
2561
  msgstr ""
2562
 
2563
- #: ../includes/class-settings.php:1785 ../includes/class-settings.php:1797
2564
  msgid "Fixed"
2565
  msgstr ""
2566
 
2567
- #: ../includes/class-settings.php:1786 ../includes/class-settings.php:1798
2568
  msgid "Absolute"
2569
  msgstr ""
2570
 
2571
- #: ../includes/class-settings.php:1791
2572
  msgid "Fixed background position"
2573
  msgstr ""
2574
 
2575
- #: ../includes/class-settings.php:1794
2576
  msgid "Dark transluscent overlay content position."
2577
  msgstr ""
2578
 
2579
- #: ../includes/class-settings.php:1803
2580
  msgid "Auto focus last"
2581
  msgstr ""
2582
 
2583
- #: ../includes/class-settings.php:1806
2584
  msgid ""
2585
  "If set to true last focused element before popup showup will be focused "
2586
  "after popup close."
2587
  msgstr ""
2588
 
2589
- #: ../includes/class-settings.php:1828
2590
  #, php-format
2591
  msgid ""
2592
  "Below you'll find a list of available remote media libraries. If you're "
@@ -2594,16 +2582,16 @@ msgid ""
2594
  "the <a href=\"%s\" target=\"_blank\">Remote Library Pro addon</a>."
2595
  msgstr ""
2596
 
2597
- #: ../includes/class-settings.php:1878 ../includes/class-settings.php:1891
2598
- #: ../responsive-lightbox.php:1355
2599
  msgid "Responsive Lightbox & Gallery"
2600
  msgstr ""
2601
 
2602
- #: ../includes/class-settings.php:1893
2603
  msgid "Need support?"
2604
  msgstr ""
2605
 
2606
- #: ../includes/class-settings.php:1894
2607
  #, php-format
2608
  msgid ""
2609
  "If you are having problems with this plugin, please browse it's <a href=\"%s"
@@ -2611,67 +2599,67 @@ msgid ""
2611
  "\" target=\"_blank\">Support forum</a>"
2612
  msgstr ""
2613
 
2614
- #: ../includes/class-settings.php:1896
2615
  msgid "Do you like this plugin?"
2616
  msgstr ""
2617
 
2618
- #: ../includes/class-settings.php:1897
2619
  #, php-format
2620
  msgid "<a href=\"%s\" target=\"_blank\">Rate it 5</a> on WordPress.org"
2621
  msgstr ""
2622
 
2623
- #: ../includes/class-settings.php:1898
2624
  #, php-format
2625
  msgid ""
2626
  "Blog about it & link to the <a href=\"%s\" target=\"_blank\">plugin page</a>."
2627
  msgstr ""
2628
 
2629
- #: ../includes/class-settings.php:1899
2630
  #, php-format
2631
  msgid ""
2632
  "Check out our other <a href=\"%s\" target=\"_blank\">WordPress plugins</a>."
2633
  msgstr ""
2634
 
2635
- #: ../includes/class-settings.php:1943
2636
  msgid "Reset to defaults"
2637
  msgstr ""
2638
 
2639
- #: ../includes/class-settings.php:2341 ../includes/class-settings.php:2396
2640
  msgid "Settings restored to defaults."
2641
  msgstr ""
2642
 
2643
- #: ../includes/class-settings.php:2418
2644
  msgid "Role"
2645
  msgstr ""
2646
 
2647
- #: ../includes/class-settings.php:2464
2648
  msgid "Add-ons / Extensions"
2649
  msgstr ""
2650
 
2651
- #: ../includes/class-settings.php:2465
2652
  msgid ""
2653
  "Enhance your website with these beautiful, easy to use extensions, designed "
2654
  "with Responsive Lightbox & Gallery integration in mind."
2655
  msgstr ""
2656
 
2657
- #: ../includes/class-settings.php:2477
2658
  msgid ""
2659
  "There was an error retrieving the extensions list from the server. Please "
2660
  "try again later."
2661
  msgstr ""
2662
 
2663
- #: ../includes/class-settings.php:2489
2664
  msgid "A list of licenses for your Responsive Lightbox & Gallery extensions."
2665
  msgstr ""
2666
 
2667
- #: ../includes/class-settings.php:2509
2668
  #, php-format
2669
  msgid ""
2670
  "Enter your license key to activate %s extension and enable automatic upgrade "
2671
  "notices."
2672
  msgstr ""
2673
 
2674
- #: ../includes/class-tour.php:103
2675
  msgid ""
2676
  "This is an advanced gallery builder. Here you can see a preview of all "
2677
  "created galleries along with their settings, such as the name, type, source "
@@ -2679,11 +2667,11 @@ msgid ""
2679
  "edit existing ones or quickly copy the code allowing its use on the site."
2680
  msgstr ""
2681
 
2682
- #: ../includes/class-tour.php:123
2683
  msgid "Gallery Categories"
2684
  msgstr ""
2685
 
2686
- #: ../includes/class-tour.php:124
2687
  msgid ""
2688
  "Gallery categories allow you to arrange galleries into individual groups "
2689
  "that you can potentially use. Here you can create, name and edit them. "
@@ -2691,18 +2679,18 @@ msgid ""
2691
  "editing screen."
2692
  msgstr ""
2693
 
2694
- #: ../includes/class-tour.php:137
2695
  msgid "Gallery Tags"
2696
  msgstr ""
2697
 
2698
- #: ../includes/class-tour.php:138
2699
  msgid ""
2700
  "Gallery tags, like categories, allow you to arrange galleries into groups. "
2701
  "You can think of them as keywords, which you can use to further specify your "
2702
  "galleries. Here you can create, name and edit them."
2703
  msgstr ""
2704
 
2705
- #: ../includes/class-tour.php:152
2706
  msgid ""
2707
  "Here are the main settings for Responsive Lightbox & Gallery. They allow you "
2708
  "to specify general rules of the plugin's operation and technical parameters "
@@ -2712,11 +2700,11 @@ msgid ""
2712
  "its settings."
2713
  msgstr ""
2714
 
2715
- #: ../includes/class-tour.php:169
2716
  msgid "Lightboxes Settings"
2717
  msgstr ""
2718
 
2719
- #: ../includes/class-tour.php:170
2720
  msgid ""
2721
  "Each lightbox has different look, possibilities and parameters. Here is a "
2722
  "list of available lightbox effects along with their settings. After entering "
@@ -2724,11 +2712,11 @@ msgid ""
2724
  "can also modify or restore the settings of the others."
2725
  msgstr ""
2726
 
2727
- #: ../includes/class-tour.php:178
2728
  msgid "Gallery Settings"
2729
  msgstr ""
2730
 
2731
- #: ../includes/class-tour.php:179
2732
  msgid ""
2733
  "This is the screen of the default gallery settings. As in the case of "
2734
  "lightbox effects, there is a list of available galleries and their "
@@ -2737,11 +2725,11 @@ msgid ""
2737
  "it's default settings."
2738
  msgstr ""
2739
 
2740
- #: ../includes/class-tour.php:187
2741
  msgid "Builder Settings"
2742
  msgstr ""
2743
 
2744
- #: ../includes/class-tour.php:188
2745
  msgid ""
2746
  "You can use the galleries in many ways - insert them into posts using the "
2747
  "Add Gallery button, insert manually using shortcodes or add to the theme "
@@ -2750,7 +2738,7 @@ msgid ""
2750
  "builder like categories, tags, archives and permalinks."
2751
  msgstr ""
2752
 
2753
- #: ../includes/class-tour.php:197
2754
  msgid ""
2755
  "Responsive Lithbox & Gallery comes with an optional Media Folders feature "
2756
  "that extends your WordPress Media Library with visual folders. It allows you "
@@ -2758,7 +2746,7 @@ msgid ""
2758
  "and delete files and folders with a nice drag and drop interface."
2759
  msgstr ""
2760
 
2761
- #: ../includes/class-tour.php:206
2762
  msgid ""
2763
  "Capabilities give you the ability to control what users can and cannot do "
2764
  "within the plugin. By default only the Administrator role allows a user to "
@@ -2766,7 +2754,7 @@ msgid ""
2766
  "match your specific requirements."
2767
  msgstr ""
2768
 
2769
- #: ../includes/class-tour.php:215
2770
  msgid ""
2771
  "Are you looking for free royalty free public domain and CC0-Licensed images "
2772
  "for your website? Or you need to access your images stored in photo-sharing "
@@ -2776,11 +2764,11 @@ msgid ""
2776
  "never before."
2777
  msgstr ""
2778
 
2779
- #: ../includes/class-tour.php:224
2780
  msgid "License Settings"
2781
  msgstr ""
2782
 
2783
- #: ../includes/class-tour.php:225
2784
  msgid ""
2785
  "This section contains a list of currently installed premium extensions. "
2786
  "Activate your licenses to have access to automatic updates from your site. "
@@ -2789,7 +2777,7 @@ msgid ""
2789
  "our website."
2790
  msgstr ""
2791
 
2792
- #: ../includes/class-tour.php:234
2793
  msgid ""
2794
  "Responsive Lightbox & Gallery is more than that. Do you need a beautiful "
2795
  "lightbox effect, integration with social media, an attractive image gallery? "
@@ -2817,8 +2805,8 @@ msgid ""
2817
  "lightbox plugin and a powerful gallery builder for WordPress."
2818
  msgstr ""
2819
 
2820
- #: ../includes/class-welcome.php:69 ../responsive-lightbox.php:927
2821
- #: ../responsive-lightbox.php:1237
2822
  msgid "Settings"
2823
  msgstr ""
2824
 
@@ -2892,7 +2880,7 @@ msgstr ""
2892
  msgid "Image date"
2893
  msgstr ""
2894
 
2895
- #: ../includes/class-widgets.php:94 ../responsive-lightbox.php:640
2896
  msgid "Default"
2897
  msgstr ""
2898
 
@@ -2924,203 +2912,207 @@ msgstr ""
2924
  msgid "Custom gallery shortcode attributes (optional)."
2925
  msgstr ""
2926
 
2927
- #: ../includes/class-widgets.php:313 ../includes/class-widgets.php:321
2928
  msgid "Image"
2929
  msgstr ""
2930
 
2931
- #: ../includes/class-widgets.php:315
2932
  msgid "Displays a single image."
2933
  msgstr ""
2934
 
2935
- #: ../includes/class-widgets.php:335
2936
  msgid "Below the image"
2937
  msgstr ""
2938
 
2939
- #: ../includes/class-widgets.php:336
2940
  msgid "Above the image"
2941
  msgstr ""
2942
 
2943
  #: ../includes/class-widgets.php:348
 
 
 
 
2944
  msgid "Left"
2945
  msgstr ""
2946
 
2947
- #: ../includes/class-widgets.php:349
2948
  msgid "Center"
2949
  msgstr ""
2950
 
2951
- #: ../includes/class-widgets.php:350
2952
  msgid "Right"
2953
  msgstr ""
2954
 
2955
- #: ../includes/class-widgets.php:351
2956
  msgid "Justify"
2957
  msgstr ""
2958
 
2959
- #: ../includes/class-widgets.php:462 ../responsive-lightbox.php:1736
2960
  msgid "Select image"
2961
  msgstr ""
2962
 
2963
- #: ../includes/class-widgets.php:471
2964
  msgid "Force responsive"
2965
  msgstr ""
2966
 
2967
- #: ../includes/class-widgets.php:490
2968
  msgid "Link to"
2969
  msgstr ""
2970
 
2971
- #: ../includes/class-widgets.php:504
2972
  msgid "URL"
2973
  msgstr ""
2974
 
2975
- #: ../includes/class-widgets.php:510
2976
  msgid "Image align"
2977
  msgstr ""
2978
 
2979
- #: ../includes/class-widgets.php:523
2980
  msgid "Text"
2981
  msgstr ""
2982
 
2983
- #: ../includes/class-widgets.php:527
2984
  msgid "Automatically add paragraphs"
2985
  msgstr ""
2986
 
2987
- #: ../includes/class-widgets.php:532
2988
  msgid "Text position"
2989
  msgstr ""
2990
 
2991
- #: ../includes/class-widgets.php:543
2992
  msgid "Text align"
2993
  msgstr ""
2994
 
2995
- #: ../includes/providers/class-flickr.php:22
2996
  msgid "Flickr"
2997
  msgstr ""
2998
 
2999
- #: ../includes/providers/class-flickr.php:49
3000
  msgid "Enable Flickr."
3001
  msgstr ""
3002
 
3003
- #: ../includes/providers/class-flickr.php:51
3004
  msgid "API key"
3005
  msgstr ""
3006
 
3007
- #: ../includes/providers/class-flickr.php:52
3008
  #, php-format
3009
  msgid "Provide your <a href=\"%s\">Flickr API key</a>."
3010
  msgstr ""
3011
 
3012
- #: ../includes/providers/class-flickr.php:128
3013
- #: ../includes/providers/class-unsplash.php:126
3014
- #: ../includes/providers/class-wikimedia.php:127
3015
  msgid "Responsive Lightbox"
3016
  msgstr ""
3017
 
3018
- #: ../includes/providers/class-flickr.php:142
3019
- #: ../includes/providers/class-unsplash.php:140
3020
- #: ../includes/providers/class-wikimedia.php:141
3021
  msgid "Parsing request error"
3022
  msgstr ""
3023
 
3024
- #: ../includes/providers/class-unsplash.php:22
3025
  msgid "Unsplash"
3026
  msgstr ""
3027
 
3028
- #: ../includes/providers/class-unsplash.php:49
3029
  msgid "Enable Unsplash."
3030
  msgstr ""
3031
 
3032
- #: ../includes/providers/class-unsplash.php:51
3033
  msgid "Access key"
3034
  msgstr ""
3035
 
3036
- #: ../includes/providers/class-unsplash.php:52
3037
  #, php-format
3038
  msgid "Provide your <a href=\"%s\">Unsplash API key</a>."
3039
  msgstr ""
3040
 
3041
- #: ../includes/providers/class-wikimedia.php:22
3042
  msgid "Wikimedia"
3043
  msgstr ""
3044
 
3045
- #: ../includes/providers/class-wikimedia.php:56
3046
  msgid "Enable Wikimedia."
3047
  msgstr ""
3048
 
3049
- #: ../responsive-lightbox.php:690
3050
  msgid "Publish Galleries"
3051
  msgstr ""
3052
 
3053
- #: ../responsive-lightbox.php:691
3054
  msgid "Edit Galleries"
3055
  msgstr ""
3056
 
3057
- #: ../responsive-lightbox.php:692
3058
  msgid "Edit Published Galleries"
3059
  msgstr ""
3060
 
3061
- #: ../responsive-lightbox.php:693
3062
  msgid "Edit Others Galleries"
3063
  msgstr ""
3064
 
3065
- #: ../responsive-lightbox.php:694
3066
  msgid "Edit Private Galleries"
3067
  msgstr ""
3068
 
3069
- #: ../responsive-lightbox.php:695
3070
  msgid "Delete Galleries"
3071
  msgstr ""
3072
 
3073
- #: ../responsive-lightbox.php:696
3074
  msgid "Delete Published Galleries"
3075
  msgstr ""
3076
 
3077
- #: ../responsive-lightbox.php:697
3078
  msgid "Delete Others Galleries"
3079
  msgstr ""
3080
 
3081
- #: ../responsive-lightbox.php:698
3082
  msgid "Delete Private Galleries"
3083
  msgstr ""
3084
 
3085
- #: ../responsive-lightbox.php:699
3086
  msgid "Read Private Galleries"
3087
  msgstr ""
3088
 
3089
- #: ../responsive-lightbox.php:700
3090
  msgid "Manage Gallery Categories"
3091
  msgstr ""
3092
 
3093
- #: ../responsive-lightbox.php:701
3094
  msgid "Manage Gallery Tags"
3095
  msgstr ""
3096
 
3097
- #: ../responsive-lightbox.php:702
3098
  msgid "Manage Settings"
3099
  msgstr ""
3100
 
3101
- #: ../responsive-lightbox.php:764
3102
  #, php-format
3103
  msgid ""
3104
  "Hey, you've been using <strong>Responsive Lightbox & Gallery</strong> for "
3105
  "more than %s"
3106
  msgstr ""
3107
 
3108
- #: ../responsive-lightbox.php:764
3109
  msgid ""
3110
  "Could you please do me a BIG favor and give it a 5-star rating on WordPress "
3111
  "to help us spread the word and boost our motivation."
3112
  msgstr ""
3113
 
3114
- #: ../responsive-lightbox.php:764
3115
  msgid "Your help is much appreciated. Thank you very much"
3116
  msgstr ""
3117
 
3118
- #: ../responsive-lightbox.php:764
3119
  #, php-format
3120
  msgid "founder of <a href=\"%s\" target=\"_blank\">dFactory</a> plugins."
3121
  msgstr ""
3122
 
3123
- #: ../responsive-lightbox.php:764
3124
  #, php-format
3125
  msgid ""
3126
  "<a href=\"%s\" class=\"rl-dismissible-notice\" target=\"_blank\" rel="
@@ -3130,201 +3122,201 @@ msgid ""
3130
  "\" rel=\"noopener\">I already did</a>"
3131
  msgstr ""
3132
 
3133
- #: ../responsive-lightbox.php:889
3134
  msgid "Support"
3135
  msgstr ""
3136
 
3137
- #: ../responsive-lightbox.php:953
3138
  msgid "We're sorry to see you go. Could you please tell us what happened?"
3139
  msgstr ""
3140
 
3141
- #: ../responsive-lightbox.php:957
3142
  msgid "I couldn't figure out how to make it work."
3143
  msgstr ""
3144
 
3145
- #: ../responsive-lightbox.php:958
3146
  msgid "I found another plugin to use for the same task."
3147
  msgstr ""
3148
 
3149
- #: ../responsive-lightbox.php:959
3150
  msgid "The User Interface is not clear to me."
3151
  msgstr ""
3152
 
3153
- #: ../responsive-lightbox.php:960
3154
  msgid "The plugin is not what I was looking for."
3155
  msgstr ""
3156
 
3157
- #: ../responsive-lightbox.php:961
3158
  msgid "Support isn't timely."
3159
  msgstr ""
3160
 
3161
- #: ../responsive-lightbox.php:962
3162
  msgid "Other"
3163
  msgstr ""
3164
 
3165
- #: ../responsive-lightbox.php:977
3166
  msgid "Deactivate"
3167
  msgstr ""
3168
 
3169
- #: ../responsive-lightbox.php:978
3170
  msgid "Deactivate & Submit"
3171
  msgstr ""
3172
 
3173
- #: ../responsive-lightbox.php:1068
3174
  msgid "Search Gallery Categories"
3175
  msgstr ""
3176
 
3177
- #: ../responsive-lightbox.php:1069
3178
  msgid "All Gallery Categories"
3179
  msgstr ""
3180
 
3181
- #: ../responsive-lightbox.php:1070
3182
  msgid "Parent Gallery Category"
3183
  msgstr ""
3184
 
3185
- #: ../responsive-lightbox.php:1071
3186
  msgid "Parent Gallery Category:"
3187
  msgstr ""
3188
 
3189
- #: ../responsive-lightbox.php:1072
3190
  msgid "Edit Gallery Category"
3191
  msgstr ""
3192
 
3193
- #: ../responsive-lightbox.php:1073
3194
  msgid "View Gallery Category"
3195
  msgstr ""
3196
 
3197
- #: ../responsive-lightbox.php:1074
3198
  msgid "Update Gallery Category"
3199
  msgstr ""
3200
 
3201
- #: ../responsive-lightbox.php:1075
3202
  msgid "Add New Gallery Category"
3203
  msgstr ""
3204
 
3205
- #: ../responsive-lightbox.php:1076
3206
  msgid "New Gallery Category Name"
3207
  msgstr ""
3208
 
3209
- #: ../responsive-lightbox.php:1111
3210
  msgid "Search Gallery Tags"
3211
  msgstr ""
3212
 
3213
- #: ../responsive-lightbox.php:1112
3214
  msgid "Popular Gallery Tags"
3215
  msgstr ""
3216
 
3217
- #: ../responsive-lightbox.php:1113
3218
  msgid "All Gallery Tags"
3219
  msgstr ""
3220
 
3221
- #: ../responsive-lightbox.php:1116
3222
  msgid "Edit Gallery Tag"
3223
  msgstr ""
3224
 
3225
- #: ../responsive-lightbox.php:1117
3226
  msgid "Update Gallery Tag"
3227
  msgstr ""
3228
 
3229
- #: ../responsive-lightbox.php:1118
3230
  msgid "Add New Gallery Tag"
3231
  msgstr ""
3232
 
3233
- #: ../responsive-lightbox.php:1119
3234
  msgid "New Gallery Tag Name"
3235
  msgstr ""
3236
 
3237
- #: ../responsive-lightbox.php:1120
3238
  msgid "Separate gallery tags with commas"
3239
  msgstr ""
3240
 
3241
- #: ../responsive-lightbox.php:1121
3242
  msgid "Add or remove gallery tags"
3243
  msgstr ""
3244
 
3245
- #: ../responsive-lightbox.php:1122
3246
  msgid "Choose from the most used gallery tags"
3247
  msgstr ""
3248
 
3249
- #: ../responsive-lightbox.php:1152
3250
  msgid "Add New"
3251
  msgstr ""
3252
 
3253
- #: ../responsive-lightbox.php:1153
3254
  msgid "Add New Gallery"
3255
  msgstr ""
3256
 
3257
- #: ../responsive-lightbox.php:1154
3258
  msgid "Edit Gallery"
3259
  msgstr ""
3260
 
3261
- #: ../responsive-lightbox.php:1155
3262
  msgid "New Gallery"
3263
  msgstr ""
3264
 
3265
- #: ../responsive-lightbox.php:1156
3266
  msgid "View Gallery"
3267
  msgstr ""
3268
 
3269
- #: ../responsive-lightbox.php:1157
3270
  msgid "View Galleries"
3271
  msgstr ""
3272
 
3273
- #: ../responsive-lightbox.php:1158
3274
  msgid "Search Galleries"
3275
  msgstr ""
3276
 
3277
- #: ../responsive-lightbox.php:1159
3278
  msgid "No galleries found"
3279
  msgstr ""
3280
 
3281
- #: ../responsive-lightbox.php:1160
3282
  msgid "No galleries found in trash"
3283
  msgstr ""
3284
 
3285
- #: ../responsive-lightbox.php:1161
3286
  msgid "All Galleries"
3287
  msgstr ""
3288
 
3289
- #: ../responsive-lightbox.php:1298
3290
  msgid "New gallery"
3291
  msgstr ""
3292
 
3293
- #: ../responsive-lightbox.php:1318
3294
  msgid "Edit category"
3295
  msgstr ""
3296
 
3297
- #: ../responsive-lightbox.php:1338
3298
  msgid "Edit tag"
3299
  msgstr ""
3300
 
3301
- #: ../responsive-lightbox.php:1411 ../responsive-lightbox.php:1412
3302
  msgid "Gallery updated."
3303
  msgstr ""
3304
 
3305
- #: ../responsive-lightbox.php:1413
3306
  #, php-format
3307
  msgid "Gallery restored to revision from %s"
3308
  msgstr ""
3309
 
3310
- #: ../responsive-lightbox.php:1414
3311
  msgid "Gallery published."
3312
  msgstr ""
3313
 
3314
- #: ../responsive-lightbox.php:1415
3315
  msgid "Gallery saved."
3316
  msgstr ""
3317
 
3318
- #: ../responsive-lightbox.php:1416
3319
  msgid "Gallery submitted."
3320
  msgstr ""
3321
 
3322
- #: ../responsive-lightbox.php:1418
3323
  #, php-format
3324
  msgid "Gallery scheduled for: <strong>%1$s</strong>."
3325
  msgstr ""
3326
 
3327
- #: ../responsive-lightbox.php:1419
3328
  msgid "M j, Y @ G:i"
3329
  msgstr ""
3330
 
@@ -3404,22 +3396,55 @@ msgstr ""
3404
  msgid "Are you sure you want to reset these settings to defaults?"
3405
  msgstr ""
3406
 
3407
- #: ../responsive-lightbox.php:1612 ../responsive-lightbox.php:1737
3408
- msgid "Use these images"
3409
  msgstr ""
3410
 
3411
- #: ../responsive-lightbox.php:1613
 
 
 
 
 
 
 
 
 
 
 
 
3412
  msgid "Edit attachment"
3413
  msgstr ""
3414
 
3415
- #: ../responsive-lightbox.php:1614
3416
- msgid "Save attachment"
3417
  msgstr ""
3418
 
3419
- #: ../responsive-lightbox.php:1639
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3420
  msgid "Responsive Lightbox & Gallery - Deactivation survey"
3421
  msgstr ""
3422
 
3423
- #: ../responsive-lightbox.php:1738
 
 
 
 
3424
  msgid "Use this image"
3425
  msgstr ""
2
  msgid ""
3
  msgstr ""
4
  "Project-Id-Version: Responsive Lightbox\n"
5
+ "POT-Creation-Date: 2022-06-13 13:39+0200\n"
6
  "PO-Revision-Date: 2015-05-12 12:06+0100\n"
7
  "Last-Translator: Bartosz Arendt <info@dfactory.eu>\n"
8
  "Language-Team: dFactory <info@dfactory.eu>\n"
10
  "MIME-Version: 1.0\n"
11
  "Content-Type: text/plain; charset=UTF-8\n"
12
  "Content-Transfer-Encoding: 8bit\n"
13
+ "X-Generator: Poedit 3.0.1\n"
14
  "X-Poedit-KeywordsList: gettext;gettext_noop;__;_e\n"
15
  "X-Poedit-Basepath: .\n"
16
  "X-Poedit-SourceCharset: UTF-8\n"
17
  "X-Poedit-SearchPath-0: ..\n"
18
 
19
+ #: ../includes/class-folders.php:183 ../includes/class-folders.php:197
20
+ #: ../includes/class-folders.php:249 ../includes/class-folders.php:263
21
+ #: ../includes/class-folders.php:444 ../includes/class-folders.php:1090
22
+ #: ../includes/class-folders.php:1114 ../includes/class-folders.php:1144
23
+ #: ../includes/class-galleries.php:1289
24
  msgid "Root Folder"
25
  msgstr ""
26
 
27
+ #: ../includes/class-folders.php:268
28
  msgid "Upload files to"
29
  msgstr ""
30
 
31
+ #: ../includes/class-folders.php:310 ../includes/class-folders.php:322
32
+ #: ../includes/class-folders.php:1087 ../includes/class-folders.php:1119
33
+ #: ../includes/class-folders.php:1145 ../includes/class-folders.php:1154
34
  #: ../responsive-lightbox.php:1550
35
  msgid "All Files"
36
  msgstr ""
37
 
38
+ #: ../includes/class-folders.php:1146
39
  msgid "New Folder"
40
  msgstr ""
41
 
42
+ #: ../includes/class-folders.php:1147
43
  msgid "Are you sure you want to delete this folder?"
44
  msgstr ""
45
 
46
+ #: ../includes/class-folders.php:1148
47
  msgid "Are you sure you want to delete this folder with all subfolders?"
48
  msgstr ""
49
 
50
+ #: ../includes/class-folders.php:1170
51
  #, php-format
52
  msgid "Save new %s"
53
  msgstr ""
54
 
55
+ #: ../includes/class-folders.php:1171
56
  #, php-format
57
  msgid "Cancel adding new %s"
58
  msgstr ""
59
 
60
+ #: ../includes/class-folders.php:1173
61
  #, php-format
62
  msgid "Save %s"
63
  msgstr ""
64
 
65
+ #: ../includes/class-folders.php:1174
66
  #, php-format
67
  msgid "Cancel renaming %s"
68
  msgstr ""
69
 
70
+ #: ../includes/class-folders.php:1175
71
  #, php-format
72
  msgid "Delete %s"
73
  msgstr ""
74
 
75
+ #: ../includes/class-folders.php:1176
76
  #, php-format
77
  msgid "Expand %s"
78
  msgstr ""
79
 
80
+ #: ../includes/class-folders.php:1177
81
  #, php-format
82
  msgid "Collapse %s"
83
  msgstr ""
84
 
85
+ #: ../includes/class-frontend.php:592 ../includes/class-widgets.php:481
86
  msgid "Size"
87
  msgstr ""
88
 
89
+ #: ../includes/class-frontend.php:594
90
  msgid "Specify the image size to use for the thumbnail display."
91
  msgstr ""
92
 
93
+ #: ../includes/class-frontend.php:599
94
  msgid "Link To"
95
  msgstr ""
96
 
97
+ #: ../includes/class-frontend.php:601
98
  msgid "Specify where you want the image to link."
99
  msgstr ""
100
 
101
+ #: ../includes/class-frontend.php:604 ../includes/class-widgets.php:347
102
  msgid "Attachment Page"
103
  msgstr ""
104
 
105
+ #: ../includes/class-frontend.php:605 ../includes/class-widgets.php:346
106
  msgid "Media File"
107
  msgstr ""
108
 
109
+ #: ../includes/class-frontend.php:606 ../includes/class-galleries.php:226
110
+ #: ../includes/class-settings.php:156 ../includes/class-settings.php:643
111
+ #: ../includes/class-settings.php:702 ../includes/class-widgets.php:93
112
+ #: ../includes/class-widgets.php:345 ../includes/class-widgets.php:352
113
  msgid "None"
114
  msgstr ""
115
 
116
+ #: ../includes/class-frontend.php:610
117
  msgid "Orderby"
118
  msgstr ""
119
 
120
+ #: ../includes/class-frontend.php:612
121
  msgid "Specify how to sort the display thumbnails."
122
  msgstr ""
123
 
124
+ #: ../includes/class-frontend.php:615 ../includes/class-galleries.php:285
125
  #: ../includes/class-widgets.php:79
126
  msgid "ID"
127
  msgstr ""
128
 
129
+ #: ../includes/class-frontend.php:616 ../includes/class-galleries.php:287
130
  #: ../includes/class-widgets.php:77 ../includes/class-widgets.php:133
131
+ #: ../includes/class-widgets.php:462
132
  msgid "Title"
133
  msgstr ""
134
 
135
+ #: ../includes/class-frontend.php:617 ../includes/class-galleries.php:289
136
  msgid "Date"
137
  msgstr ""
138
 
139
+ #: ../includes/class-frontend.php:618
140
  msgid "Menu Order"
141
  msgstr ""
142
 
143
+ #: ../includes/class-frontend.php:619 ../includes/class-galleries.php:292
144
  #: ../includes/class-widgets.php:80
145
  msgid "Random"
146
  msgstr ""
147
 
148
+ #: ../includes/class-frontend.php:623 ../includes/class-widgets.php:192
149
  msgid "Order"
150
  msgstr ""
151
 
152
+ #: ../includes/class-frontend.php:625
153
  msgid "Specify the sort order."
154
  msgstr ""
155
 
156
+ #: ../includes/class-frontend.php:628 ../includes/class-galleries.php:301
157
  #: ../includes/class-widgets.php:84
158
  msgid "Ascending"
159
  msgstr ""
160
 
161
+ #: ../includes/class-frontend.php:629 ../includes/class-galleries.php:302
162
  #: ../includes/class-widgets.php:85
163
  msgid "Descending"
164
  msgstr ""
165
 
166
+ #: ../includes/class-frontend.php:633
167
  msgid "Columns"
168
  msgstr ""
169
 
170
+ #: ../includes/class-frontend.php:635
171
  msgid "Specify the number of columns."
172
  msgstr ""
173
 
174
+ #: ../includes/class-galleries.php:90 ../includes/class-galleries.php:4281
175
  msgid "Status"
176
  msgstr ""
177
 
178
+ #: ../includes/class-galleries.php:91
179
  msgid "Edit image"
180
  msgstr ""
181
 
182
+ #: ../includes/class-galleries.php:92 ../responsive-lightbox.php:1770
183
  msgid "Remove image"
184
  msgstr ""
185
 
186
+ #: ../includes/class-galleries.php:171 ../includes/class-galleries.php:221
187
+ #: ../includes/class-galleries.php:232
188
  msgid "Global"
189
  msgstr ""
190
 
191
+ #: ../includes/class-galleries.php:178 ../includes/class-settings.php:215
192
  msgid "Images"
193
  msgstr ""
194
 
195
+ #: ../includes/class-galleries.php:179
196
  msgid "The settings below adjust the contents of the gallery."
197
  msgstr ""
198
 
199
+ #: ../includes/class-galleries.php:181
200
  msgid "Media Library"
201
  msgstr ""
202
 
203
+ #: ../includes/class-galleries.php:182
204
  msgid "Featured Content"
205
  msgstr ""
206
 
207
+ #: ../includes/class-galleries.php:186
208
  msgid "Config"
209
  msgstr ""
210
 
211
+ #: ../includes/class-galleries.php:187
212
  msgid "The settings below adjust the configuration options for the gallery."
213
  msgstr ""
214
 
215
+ #: ../includes/class-galleries.php:191
216
  msgid "Design"
217
  msgstr ""
218
 
219
+ #: ../includes/class-galleries.php:192
220
  msgid "The settings below adjust the gallery design options."
221
  msgstr ""
222
 
223
+ #: ../includes/class-galleries.php:195
224
  msgid "Paging"
225
  msgstr ""
226
 
227
+ #: ../includes/class-galleries.php:196
228
  msgid "The settings below adjust the gallery pagination options."
229
  msgstr ""
230
 
231
+ #: ../includes/class-galleries.php:199 ../includes/class-settings.php:1826
232
  msgid "Lightbox"
233
  msgstr ""
234
 
235
+ #: ../includes/class-galleries.php:200
236
  msgid "The settings below adjust the lightbox options."
237
  msgstr ""
238
 
239
+ #: ../includes/class-galleries.php:203
240
  msgid "Misc"
241
  msgstr ""
242
 
243
+ #: ../includes/class-galleries.php:204
244
  msgid "The settings below adjust miscellaneous options."
245
  msgstr ""
246
 
247
+ #: ../includes/class-galleries.php:210
248
  msgid "Media Folders"
249
  msgstr ""
250
 
251
+ #: ../includes/class-galleries.php:213 ../includes/class-settings.php:492
252
+ #: ../includes/class-settings.php:1021
253
  msgid "Remote Library"
254
  msgstr ""
255
 
256
+ #: ../includes/class-galleries.php:220
257
  msgid "Full size"
258
  msgstr ""
259
 
260
+ #: ../includes/class-galleries.php:222 ../includes/class-galleries.php:605
261
  msgid "Custom size"
262
  msgstr ""
263
 
264
+ #: ../includes/class-galleries.php:227
265
  msgid "Top"
266
  msgstr ""
267
 
268
+ #: ../includes/class-galleries.php:228
269
  msgid "Bottom"
270
  msgstr ""
271
 
272
+ #: ../includes/class-galleries.php:273
273
  msgid "Number of Posts"
274
  msgstr ""
275
 
276
+ #: ../includes/class-galleries.php:275
277
  msgid "Enter the number of posts."
278
  msgstr ""
279
 
280
+ #: ../includes/class-galleries.php:280
281
  msgid "Posts Sorting"
282
  msgstr ""
283
 
284
+ #: ../includes/class-galleries.php:282
285
  msgid "Select the posts sorting."
286
  msgstr ""
287
 
288
+ #: ../includes/class-galleries.php:286
289
  msgid "Author"
290
  msgstr ""
291
 
292
+ #: ../includes/class-galleries.php:288
293
  msgid "Slug"
294
  msgstr ""
295
 
296
+ #: ../includes/class-galleries.php:290
297
  msgid "Last modified date"
298
  msgstr ""
299
 
300
+ #: ../includes/class-galleries.php:291
301
  msgid "Parent ID"
302
  msgstr ""
303
 
304
+ #: ../includes/class-galleries.php:296
305
  msgid "Posts Order"
306
  msgstr ""
307
 
308
+ #: ../includes/class-galleries.php:298
309
  msgid "Select the posts order."
310
  msgstr ""
311
 
312
+ #: ../includes/class-galleries.php:306
313
  msgid "Posts Offset"
314
  msgstr ""
315
 
316
+ #: ../includes/class-galleries.php:308
317
  msgid "Enter the posts offset."
318
  msgstr ""
319
 
320
+ #: ../includes/class-galleries.php:313
321
  msgid "Image Source"
322
  msgstr ""
323
 
324
+ #: ../includes/class-galleries.php:315
325
  msgid "Select the image source."
326
  msgstr ""
327
 
328
+ #: ../includes/class-galleries.php:318
329
  msgid "Post Thumbnails"
330
  msgstr ""
331
 
332
+ #: ../includes/class-galleries.php:319
333
  msgid "Post Attached Images"
334
  msgstr ""
335
 
336
+ #: ../includes/class-galleries.php:323
337
  msgid "Images per Post"
338
  msgstr ""
339
 
340
+ #: ../includes/class-galleries.php:325
341
  msgid "Enter maximum number of images for a post."
342
  msgstr ""
343
 
344
+ #: ../includes/class-galleries.php:330
345
  msgid "Post Type"
346
  msgstr ""
347
 
348
+ #: ../includes/class-galleries.php:332
349
  msgid "Select the post types to query."
350
  msgstr ""
351
 
352
+ #: ../includes/class-galleries.php:337
353
  msgid "Post Status"
354
  msgstr ""
355
 
356
+ #: ../includes/class-galleries.php:339
357
  msgid "Select the post status."
358
  msgstr ""
359
 
360
+ #: ../includes/class-galleries.php:344
361
  msgid "Post Format"
362
  msgstr ""
363
 
364
+ #: ../includes/class-galleries.php:346
365
  msgid "Select the post format."
366
  msgstr ""
367
 
368
+ #: ../includes/class-galleries.php:351
369
  msgid "Post Term"
370
  msgstr ""
371
 
372
+ #: ../includes/class-galleries.php:353
373
  msgid "Select the post taxonomy terms to query."
374
  msgstr ""
375
 
376
+ #: ../includes/class-galleries.php:358
377
  msgid "Post Author"
378
  msgstr ""
379
 
380
+ #: ../includes/class-galleries.php:360
381
  msgid "Select the post author."
382
  msgstr ""
383
 
384
+ #: ../includes/class-galleries.php:365
385
  msgid "Page Parent"
386
  msgstr ""
387
 
388
+ #: ../includes/class-galleries.php:367
389
  msgid "Select the post parent."
390
  msgstr ""
391
 
392
+ #: ../includes/class-galleries.php:372
393
  msgid "Page Template"
394
  msgstr ""
395
 
396
+ #: ../includes/class-galleries.php:374
397
  msgid "Select the page template."
398
  msgstr ""
399
 
400
+ #: ../includes/class-galleries.php:395
401
  msgid "Media Folder"
402
  msgstr ""
403
 
404
+ #: ../includes/class-galleries.php:397
405
  msgid "Select media folder."
406
  msgstr ""
407
 
408
+ #: ../includes/class-galleries.php:422
409
  msgid "Search string"
410
  msgstr ""
411
 
412
+ #: ../includes/class-galleries.php:424
413
  msgid "Enter the search phrase."
414
  msgstr ""
415
 
416
+ #: ../includes/class-galleries.php:428 ../includes/class-settings.php:484
417
  msgid "Media Providers"
418
  msgstr ""
419
 
420
+ #: ../includes/class-galleries.php:430
421
  msgid "Select which remote library should be used."
422
  msgstr ""
423
 
424
+ #: ../includes/class-galleries.php:433
425
  msgid "All Media Providers"
426
  msgstr ""
427
 
428
+ #: ../includes/class-galleries.php:449
429
  msgid "Thumbnail title"
430
  msgstr ""
431
 
432
+ #: ../includes/class-galleries.php:451
433
  msgid "Select title for the gallery thumbnails."
434
  msgstr ""
435
 
436
+ #: ../includes/class-galleries.php:456
437
  msgid "Thumbnail caption"
438
  msgstr ""
439
 
440
+ #: ../includes/class-galleries.php:458
441
  msgid "Select caption for the gallery thumbnails."
442
  msgstr ""
443
 
444
+ #: ../includes/class-galleries.php:463
445
  msgid "Thumbnail icon"
446
  msgstr ""
447
 
448
+ #: ../includes/class-galleries.php:465
449
  msgid "Select icon for the gallery thumbnails."
450
  msgstr ""
451
 
452
+ #: ../includes/class-galleries.php:468 ../includes/class-galleries.php:487
453
+ #: ../includes/class-settings.php:106
454
  msgid "none"
455
  msgstr ""
456
 
457
+ #: ../includes/class-galleries.php:482
458
  msgid "Hover effect"
459
  msgstr ""
460
 
461
+ #: ../includes/class-galleries.php:484
462
  msgid "Select thumbnail effect on hover."
463
  msgstr ""
464
 
465
+ #: ../includes/class-galleries.php:488 ../includes/class-galleries.php:489
466
+ #: ../includes/class-galleries.php:490 ../includes/class-galleries.php:491
467
+ #: ../includes/class-galleries.php:492 ../includes/class-galleries.php:493
468
+ #: ../includes/class-galleries.php:494 ../includes/class-galleries.php:495
469
+ #: ../includes/class-galleries.php:496
470
  #, php-format
471
  msgid "Effect %s"
472
  msgstr ""
473
 
474
+ #: ../includes/class-galleries.php:500
475
  msgid "Title Color"
476
  msgstr ""
477
 
478
+ #: ../includes/class-galleries.php:505
479
  msgid "Caption Color"
480
  msgstr ""
481
 
482
+ #: ../includes/class-galleries.php:510
483
  msgid "Background Color"
484
  msgstr ""
485
 
486
+ #: ../includes/class-galleries.php:515
487
  msgid "Background Opacity"
488
  msgstr ""
489
 
490
+ #: ../includes/class-galleries.php:524
491
  msgid "Border Color"
492
  msgstr ""
493
 
494
+ #: ../includes/class-galleries.php:529
495
  msgid "Border Width"
496
  msgstr ""
497
 
498
+ #: ../includes/class-galleries.php:542
499
  msgid "Use pagination"
500
  msgstr ""
501
 
502
+ #: ../includes/class-galleries.php:544
503
  msgid "Enable pagination."
504
  msgstr ""
505
 
506
+ #: ../includes/class-galleries.php:548
507
  msgid "Pagination type"
508
  msgstr ""
509
 
510
+ #: ../includes/class-galleries.php:550
511
  msgid "Select pagination type."
512
  msgstr ""
513
 
514
+ #: ../includes/class-galleries.php:553
515
  msgid "standard"
516
  msgstr ""
517
 
518
+ #: ../includes/class-galleries.php:554
519
  msgid "AJAX"
520
  msgstr ""
521
 
522
+ #: ../includes/class-galleries.php:555
523
  msgid "infinite scroll"
524
  msgstr ""
525
 
526
+ #: ../includes/class-galleries.php:559
527
  msgid "Pagination position"
528
  msgstr ""
529
 
530
+ #: ../includes/class-galleries.php:561
531
  msgid "Select pagination position."
532
  msgstr ""
533
 
534
+ #: ../includes/class-galleries.php:564
535
  msgid "bottom"
536
  msgstr ""
537
 
538
+ #: ../includes/class-galleries.php:565
539
  msgid "top"
540
  msgstr ""
541
 
542
+ #: ../includes/class-galleries.php:566
543
  msgid "top & bottom"
544
  msgstr ""
545
 
546
+ #: ../includes/class-galleries.php:570
547
  msgid "Images per page"
548
  msgstr ""
549
 
550
+ #: ../includes/class-galleries.php:572
551
  msgid "Number of images per page."
552
  msgstr ""
553
 
554
+ #: ../includes/class-galleries.php:578
555
  msgid "Load More"
556
  msgstr ""
557
 
558
+ #: ../includes/class-galleries.php:580
559
  msgid "Select the load more trigger (infinite scroll only)."
560
  msgstr ""
561
 
562
+ #: ../includes/class-galleries.php:583
563
  msgid "Automatically"
564
  msgstr ""
565
 
566
+ #: ../includes/class-galleries.php:584
567
  msgid "On click"
568
  msgstr ""
569
 
570
+ #: ../includes/class-galleries.php:592
571
  msgid "Enable Lightbox"
572
  msgstr ""
573
 
574
+ #: ../includes/class-galleries.php:594
575
  msgid "Enable lightbox effect for the gallery."
576
  msgstr ""
577
 
578
+ #: ../includes/class-galleries.php:598
579
  msgid "Image Size"
580
  msgstr ""
581
 
582
+ #: ../includes/class-galleries.php:600
583
  msgid "Select image size for gallery lightbox."
584
  msgstr ""
585
 
586
+ #: ../includes/class-galleries.php:607
587
  msgid ""
588
  "Choose the custom image size for gallery lightbox (used if Custom Image size "
589
  "is selected)."
590
  msgstr ""
591
 
592
+ #: ../includes/class-galleries.php:611
593
  msgid "width in px"
594
  msgstr ""
595
 
596
+ #: ../includes/class-galleries.php:616
597
  msgid "height in px"
598
  msgstr ""
599
 
600
+ #: ../includes/class-galleries.php:622 ../includes/class-settings.php:157
601
  msgid "Image Title"
602
  msgstr ""
603
 
604
+ #: ../includes/class-galleries.php:624
605
  msgid "Select image title for gallery lightbox."
606
  msgstr ""
607
 
608
+ #: ../includes/class-galleries.php:629 ../includes/class-settings.php:158
609
  msgid "Image Caption"
610
  msgstr ""
611
 
612
+ #: ../includes/class-galleries.php:631
613
  msgid ""
614
  "Select image caption for gallery lightbox (used if supported by selected "
615
  "lightbox effect)."
616
  msgstr ""
617
 
618
+ #: ../includes/class-galleries.php:640
619
  msgid "Title Position"
620
  msgstr ""
621
 
622
+ #: ../includes/class-galleries.php:642
623
  msgid "Select where to display the title."
624
  msgstr ""
625
 
626
+ #: ../includes/class-galleries.php:647
627
  msgid "Description Position"
628
  msgstr ""
629
 
630
+ #: ../includes/class-galleries.php:649
631
  msgid "Select where to display the description."
632
  msgstr ""
633
 
634
+ #: ../includes/class-galleries.php:654
635
  msgid "Gallery Description"
636
  msgstr ""
637
 
638
+ #: ../includes/class-galleries.php:656
639
  msgid "Enter the gallery description (optional)."
640
  msgstr ""
641
 
642
+ #: ../includes/class-galleries.php:661
643
  msgid "Custom Classes"
644
  msgstr ""
645
 
646
+ #: ../includes/class-galleries.php:663
647
  msgid "Add custom, space saparated CSS classes (optional)."
648
  msgstr ""
649
 
650
+ #: ../includes/class-galleries.php:692 ../includes/class-galleries.php:698
651
  msgid "No gallery to duplicate has been supplied!"
652
  msgstr ""
653
 
654
+ #: ../includes/class-galleries.php:701
655
  msgid "You do not have permission to copy this gallery."
656
  msgstr ""
657
 
658
+ #: ../includes/class-galleries.php:713
659
  msgid "Copy creation failed, could not find original gallery:"
660
  msgstr ""
661
 
662
+ #: ../includes/class-galleries.php:735
663
  msgid "Duplicate"
664
  msgstr ""
665
 
666
+ #: ../includes/class-galleries.php:1042
667
  msgid "Add Gallery"
668
  msgstr ""
669
 
670
+ #: ../includes/class-galleries.php:1118 ../includes/class-galleries.php:1119
671
  msgid "All categories"
672
  msgstr ""
673
 
674
+ #: ../includes/class-galleries.php:1138 ../includes/class-tour.php:261
675
  msgid "Close"
676
  msgstr ""
677
 
678
+ #: ../includes/class-galleries.php:1142
679
  msgid "Insert Gallery"
680
  msgstr ""
681
 
682
+ #: ../includes/class-galleries.php:1142
683
  msgid "Reload"
684
  msgstr ""
685
 
686
+ #: ../includes/class-galleries.php:1157
687
  msgid "Search galleries"
688
  msgstr ""
689
 
690
+ #: ../includes/class-galleries.php:1163
691
  msgid "Select A Gallery"
692
  msgstr ""
693
 
694
+ #: ../includes/class-galleries.php:1164
695
  msgid "To select a gallery simply click on one of the boxes to the left."
696
  msgstr ""
697
 
698
+ #: ../includes/class-galleries.php:1165
699
  msgid ""
700
  "To insert your gallery into the editor, click on the \"Insert Gallery\" "
701
  "button below."
702
  msgstr ""
703
 
704
+ #: ../includes/class-galleries.php:1175 ../responsive-lightbox.php:1290
705
  msgid "Edit gallery"
706
  msgstr ""
707
 
708
+ #: ../includes/class-galleries.php:1185
709
  msgid "Insert gallery into post"
710
  msgstr ""
711
 
712
+ #: ../includes/class-galleries.php:1186
713
  msgid "Select gallery"
714
  msgstr ""
715
 
716
+ #: ../includes/class-galleries.php:1187 ../responsive-lightbox.php:975
717
  msgid "Cancel"
718
  msgstr ""
719
 
720
+ #: ../includes/class-galleries.php:1393
721
+ msgid "Select images & videos"
722
+ msgstr ""
723
+
724
+ #: ../includes/class-galleries.php:1395 ../includes/class-widgets.php:140
725
+ #: ../responsive-lightbox.php:1771
726
  msgid "Select images"
727
  msgstr ""
728
 
729
+ #: ../includes/class-galleries.php:1415
730
+ msgid "Embed videos"
731
+ msgstr ""
732
+
733
+ #: ../includes/class-galleries.php:1454
734
  msgid "Update preview"
735
  msgstr ""
736
 
737
+ #: ../includes/class-galleries.php:1544
738
  msgid "First page"
739
  msgstr ""
740
 
741
+ #: ../includes/class-galleries.php:1555
742
  msgid "Previous page"
743
  msgstr ""
744
 
745
+ #: ../includes/class-galleries.php:1562
746
  msgid "Current Page"
747
  msgstr ""
748
 
749
+ #: ../includes/class-galleries.php:1576
750
  msgid "Next page"
751
  msgstr ""
752
 
753
+ #: ../includes/class-galleries.php:1587
754
  msgid "Last page"
755
  msgstr ""
756
 
757
+ #: ../includes/class-galleries.php:2046
758
  #, php-format
759
  msgid "Gallery %s"
760
  msgstr ""
761
 
762
+ #: ../includes/class-galleries.php:2050
763
  msgid "Gallery Code"
764
  msgstr ""
765
 
766
+ #: ../includes/class-galleries.php:2089
767
  msgid "Remote Library is disabled. Enable it in the settings."
768
  msgstr ""
769
 
770
+ #: ../includes/class-galleries.php:2093
771
  msgid "Media Folders are disabled. Enable it in the settings."
772
  msgstr ""
773
 
774
+ #: ../includes/class-galleries.php:2195
775
  msgid "No data"
776
  msgstr ""
777
 
778
+ #: ../includes/class-galleries.php:2842
779
  msgid "&laquo; Previous"
780
  msgstr ""
781
 
782
+ #: ../includes/class-galleries.php:2843
783
  msgid "Next &raquo;"
784
  msgstr ""
785
 
786
+ #: ../includes/class-galleries.php:3022
787
  msgid "(no title)"
788
  msgstr ""
789
 
790
+ #: ../includes/class-galleries.php:3036
791
  msgid "Deselect"
792
  msgstr ""
793
 
794
+ #: ../includes/class-galleries.php:4192
795
  msgid "Untitled"
796
  msgstr ""
797
 
798
+ #: ../includes/class-galleries.php:4273
799
  msgid "Aside"
800
  msgstr ""
801
 
802
+ #: ../includes/class-galleries.php:4274
803
  msgid "Audio"
804
  msgstr ""
805
 
806
+ #: ../includes/class-galleries.php:4275
807
  msgid "Chat"
808
  msgstr ""
809
 
810
+ #: ../includes/class-galleries.php:4276 ../includes/class-galleries.php:4664
811
  #: ../includes/class-widgets.php:57 ../includes/class-widgets.php:65
812
+ #: ../responsive-lightbox.php:1165
813
  msgid "Gallery"
814
  msgstr ""
815
 
816
+ #: ../includes/class-galleries.php:4277
817
  msgid "Link"
818
  msgstr ""
819
 
820
+ #: ../includes/class-galleries.php:4278
821
  msgid "Photo"
822
  msgstr ""
823
 
824
+ #: ../includes/class-galleries.php:4279
825
  msgid "Quote"
826
  msgstr ""
827
 
828
+ #: ../includes/class-galleries.php:4280
829
  msgid "Standard"
830
  msgstr ""
831
 
832
+ #: ../includes/class-galleries.php:4282
833
  msgid "Video"
834
  msgstr ""
835
 
836
+ #: ../includes/class-galleries.php:4383
837
  msgid "Default Template"
838
  msgstr ""
839
 
840
+ #: ../includes/class-galleries.php:4644
841
  msgid ""
842
  "You can place this gallery anywhere into your posts, pages, custom post "
843
  "types or widgets by using the shortcode below"
844
  msgstr ""
845
 
846
+ #: ../includes/class-galleries.php:4646
847
  msgid ""
848
  "You can also place this gallery into your template files by using the "
849
  "template tag below"
850
  msgstr ""
851
 
852
+ #: ../includes/class-galleries.php:4673
853
  msgid "Shortcode"
854
  msgstr ""
855
 
856
+ #: ../includes/class-galleries.php:4674
857
  msgid "Type"
858
  msgstr ""
859
 
860
+ #: ../includes/class-galleries.php:4675
861
  msgid "Source"
862
  msgstr ""
863
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
864
  #: ../includes/class-remote-library-api.php:145
865
  msgid "Request error"
866
  msgstr ""
885
  msgid "via <a href=\"%s\" target=\"_blank\">%s</a>"
886
  msgstr ""
887
 
888
+ #: ../includes/class-remote-library.php:168
889
  msgid "All providers"
890
  msgstr ""
891
 
892
+ #: ../includes/class-remote-library.php:169
893
  msgid "Upload and Insert"
894
  msgstr ""
895
 
896
+ #: ../includes/class-remote-library.php:170
897
  msgid "Upload and Select"
898
  msgstr ""
899
 
900
+ #: ../includes/class-remote-library.php:171
901
  msgid "Filter by remote library"
902
  msgstr ""
903
 
904
+ #: ../includes/class-remote-library.php:348
905
  msgid "F j Y"
906
  msgstr ""
907
 
908
+ #: ../includes/class-settings.php:70
909
  msgid "SwipeBox"
910
  msgstr ""
911
 
912
+ #: ../includes/class-settings.php:72
913
  msgid "CSS"
914
  msgstr ""
915
 
916
+ #: ../includes/class-settings.php:73
917
  msgid "jQuery"
918
  msgstr ""
919
 
920
+ #: ../includes/class-settings.php:78
921
  msgid "prettyPhoto"
922
  msgstr ""
923
 
924
+ #: ../includes/class-settings.php:80
925
  msgid "slow"
926
  msgstr ""
927
 
928
+ #: ../includes/class-settings.php:81
929
  msgid "normal"
930
  msgstr ""
931
 
932
+ #: ../includes/class-settings.php:82
933
  msgid "fast"
934
  msgstr ""
935
 
936
+ #: ../includes/class-settings.php:85
937
  msgid "default"
938
  msgstr ""
939
 
940
+ #: ../includes/class-settings.php:86
941
  msgid "light rounded"
942
  msgstr ""
943
 
944
+ #: ../includes/class-settings.php:87
945
  msgid "dark rounded"
946
  msgstr ""
947
 
948
+ #: ../includes/class-settings.php:88
949
  msgid "light square"
950
  msgstr ""
951
 
952
+ #: ../includes/class-settings.php:89
953
  msgid "dark square"
954
  msgstr ""
955
 
956
+ #: ../includes/class-settings.php:90
957
  msgid "facebook"
958
  msgstr ""
959
 
960
+ #: ../includes/class-settings.php:93
961
  msgid "window"
962
  msgstr ""
963
 
964
+ #: ../includes/class-settings.php:94
965
  msgid "transparent"
966
  msgstr ""
967
 
968
+ #: ../includes/class-settings.php:95
969
  msgid "opaque"
970
  msgstr ""
971
 
972
+ #: ../includes/class-settings.php:96
973
  msgid "direct"
974
  msgstr ""
975
 
976
+ #: ../includes/class-settings.php:97
977
  msgid "gpu"
978
  msgstr ""
979
 
980
+ #: ../includes/class-settings.php:102
981
  msgid "FancyBox"
982
  msgstr ""
983
 
984
+ #: ../includes/class-settings.php:104
985
  msgid "elastic"
986
  msgstr ""
987
 
988
+ #: ../includes/class-settings.php:105 ../includes/class-settings.php:127
989
+ #: ../includes/class-settings.php:1566
990
  msgid "fade"
991
  msgstr ""
992
 
993
+ #: ../includes/class-settings.php:109
994
  msgid "auto"
995
  msgstr ""
996
 
997
+ #: ../includes/class-settings.php:110
998
  msgid "yes"
999
  msgstr ""
1000
 
1001
+ #: ../includes/class-settings.php:111
1002
  msgid "no"
1003
  msgstr ""
1004
 
1005
+ #: ../includes/class-settings.php:114
1006
  msgid "swing"
1007
  msgstr ""
1008
 
1009
+ #: ../includes/class-settings.php:115
1010
  msgid "linear"
1011
  msgstr ""
1012
 
1013
+ #: ../includes/class-settings.php:118
1014
  msgid "outside"
1015
  msgstr ""
1016
 
1017
+ #: ../includes/class-settings.php:119
1018
  msgid "inside"
1019
  msgstr ""
1020
 
1021
+ #: ../includes/class-settings.php:120
1022
  msgid "over"
1023
  msgstr ""
1024
 
1025
+ #: ../includes/class-settings.php:125
1026
  msgid "Nivo Lightbox"
1027
  msgstr ""
1028
 
1029
+ #: ../includes/class-settings.php:128
1030
  msgid "fade scale"
1031
  msgstr ""
1032
 
1033
+ #: ../includes/class-settings.php:129
1034
  msgid "slide left"
1035
  msgstr ""
1036
 
1037
+ #: ../includes/class-settings.php:130
1038
  msgid "slide right"
1039
  msgstr ""
1040
 
1041
+ #: ../includes/class-settings.php:131
1042
  msgid "slide up"
1043
  msgstr ""
1044
 
1045
+ #: ../includes/class-settings.php:132
1046
  msgid "slide down"
1047
  msgstr ""
1048
 
1049
+ #: ../includes/class-settings.php:133
1050
  msgid "fall"
1051
  msgstr ""
1052
 
1053
+ #: ../includes/class-settings.php:138
1054
  msgid "Image Lightbox"
1055
  msgstr ""
1056
 
1057
+ #: ../includes/class-settings.php:142
1058
  msgid "TosRUs"
1059
  msgstr ""
1060
 
1061
+ #: ../includes/class-settings.php:146
1062
  msgid "Featherlight"
1063
  msgstr ""
1064
 
1065
+ #: ../includes/class-settings.php:150
1066
  msgid "Magnific Popup"
1067
  msgstr ""
1068
 
1069
+ #: ../includes/class-settings.php:159
1070
  msgid "Image Alt Text"
1071
  msgstr ""
1072
 
1073
+ #: ../includes/class-settings.php:160
1074
  msgid "Image Description"
1075
  msgstr ""
1076
 
1077
+ #: ../includes/class-settings.php:170
1078
  msgid "Thumbnail"
1079
  msgstr ""
1080
 
1081
+ #: ../includes/class-settings.php:171
1082
  msgid "Medium"
1083
  msgstr ""
1084
 
1085
+ #: ../includes/class-settings.php:172
1086
  msgid "Large"
1087
  msgstr ""
1088
 
1089
+ #: ../includes/class-settings.php:173
1090
  msgid "Full Size"
1091
  msgstr ""
1092
 
1093
+ #: ../includes/class-settings.php:187 ../includes/class-tour.php:157
1094
  msgid "General Settings"
1095
  msgstr ""
1096
 
1097
+ #: ../includes/class-settings.php:193
1098
  msgid "Introduction Tour"
1099
  msgstr ""
1100
 
1101
+ #: ../includes/class-settings.php:196 ../includes/class-welcome.php:68
1102
  msgid "Start Tour"
1103
  msgstr ""
1104
 
1105
+ #: ../includes/class-settings.php:197
1106
  msgid "Take this tour to quickly learn about the use of this plugin."
1107
  msgstr ""
1108
 
1109
+ #: ../includes/class-settings.php:201
1110
  msgid "Default lightbox"
1111
  msgstr ""
1112
 
1113
+ #: ../includes/class-settings.php:205
1114
  #, php-format
1115
  msgid ""
1116
  "Select your preferred ligthbox effect script or get our <a href=\"%s"
1117
  "\">premium extensions</a>."
1118
  msgstr ""
1119
 
1120
+ #: ../includes/class-settings.php:209
1121
  msgid "Selector"
1122
  msgstr ""
1123
 
1124
+ #: ../includes/class-settings.php:212
1125
  msgid "Enter the rel selector lightbox effect will be applied to."
1126
  msgstr ""
1127
 
1128
+ #: ../includes/class-settings.php:218
1129
  msgid "Enable lightbox for WordPress image links."
1130
  msgstr ""
1131
 
1132
+ #: ../includes/class-settings.php:221
1133
  msgid "Single image title"
1134
  msgstr ""
1135
 
1136
+ #: ../includes/class-settings.php:224
1137
  msgid "Select title for single images."
1138
  msgstr ""
1139
 
1140
+ #: ../includes/class-settings.php:228
1141
  msgid "Single image caption"
1142
  msgstr ""
1143
 
1144
+ #: ../includes/class-settings.php:231
1145
  msgid ""
1146
  "Select caption for single images (if supported by selected lightbox and/or "
1147
  "gallery)."
1148
  msgstr ""
1149
 
1150
+ #: ../includes/class-settings.php:235
1151
  msgid "Single images as gallery"
1152
  msgstr ""
1153
 
1154
+ #: ../includes/class-settings.php:238
1155
  msgid "Display single post images as a gallery."
1156
  msgstr ""
1157
 
1158
+ #: ../includes/class-settings.php:241 ../includes/class-settings.php:990
1159
+ #: ../responsive-lightbox.php:1279 ../responsive-lightbox.php:1285
1160
+ #: ../responsive-lightbox.php:1296 ../responsive-lightbox.php:1307
1161
  msgid "Galleries"
1162
  msgstr ""
1163
 
1164
+ #: ../includes/class-settings.php:244
1165
  msgid "Enable lightbox for WordPress image galleries."
1166
  msgstr ""
1167
 
1168
+ #: ../includes/class-settings.php:247
1169
  msgid "WordPress gallery"
1170
  msgstr ""
1171
 
1172
+ #: ../includes/class-settings.php:250
1173
  msgid "Select your preferred default WordPress gallery style."
1174
  msgstr ""
1175
 
1176
+ #: ../includes/class-settings.php:254
1177
  msgid "Builder gallery"
1178
  msgstr ""
1179
 
1180
+ #: ../includes/class-settings.php:257
1181
  msgid "Select your preferred default builder gallery style."
1182
  msgstr ""
1183
 
1184
+ #: ../includes/class-settings.php:261
1185
  msgid "WooCommerce gallery"
1186
  msgstr ""
1187
 
1188
+ #: ../includes/class-settings.php:265
1189
  msgid "Select your preferred gallery style for WooCommerce product gallery."
1190
  msgstr ""
1191
 
1192
+ #: ../includes/class-settings.php:269
1193
  msgid "Gallery image size"
1194
  msgstr ""
1195
 
1196
+ #: ../includes/class-settings.php:272
1197
  msgid "Select image size for gallery image links."
1198
  msgstr ""
1199
 
1200
+ #: ../includes/class-settings.php:276
1201
  msgid "Gallery image title"
1202
  msgstr ""
1203
 
1204
+ #: ../includes/class-settings.php:279
1205
  msgid "Select title for the gallery images."
1206
  msgstr ""
1207
 
1208
+ #: ../includes/class-settings.php:283
1209
  msgid "Gallery image caption"
1210
  msgstr ""
1211
 
1212
+ #: ../includes/class-settings.php:286
1213
  msgid ""
1214
  "Select caption for the gallery images (if supported by selected lightbox and/"
1215
  "or gallery)."
1216
  msgstr ""
1217
 
1218
+ #: ../includes/class-settings.php:290
1219
  msgid "Videos"
1220
  msgstr ""
1221
 
1222
+ #: ../includes/class-settings.php:293
1223
  msgid "Enable lightbox for YouTube and Vimeo video links."
1224
  msgstr ""
1225
 
1226
+ #: ../includes/class-settings.php:296
1227
  msgid "Widgets"
1228
  msgstr ""
1229
 
1230
+ #: ../includes/class-settings.php:299
1231
  msgid "Enable lightbox for widgets content."
1232
  msgstr ""
1233
 
1234
+ #: ../includes/class-settings.php:302
1235
  msgid "Comments"
1236
  msgstr ""
1237
 
1238
+ #: ../includes/class-settings.php:305
1239
  msgid "Enable lightbox for comments content."
1240
  msgstr ""
1241
 
1242
+ #: ../includes/class-settings.php:308
1243
  msgid "Force lightbox"
1244
  msgstr ""
1245
 
1246
+ #: ../includes/class-settings.php:311
1247
  msgid ""
1248
  "Try to force lightbox for custom WP gallery replacements, like Jetpack or "
1249
  "Visual Composer galleries."
1250
  msgstr ""
1251
 
1252
+ #: ../includes/class-settings.php:314
1253
  msgid "WooCommerce lightbox"
1254
  msgstr ""
1255
 
1256
+ #: ../includes/class-settings.php:317
1257
  msgid "Replace WooCommerce product gallery lightbox."
1258
  msgstr ""
1259
 
1260
+ #: ../includes/class-settings.php:321
1261
  msgid "Custom events"
1262
  msgstr ""
1263
 
1264
+ #: ../includes/class-settings.php:327
1265
  msgid "Enable triggering lightbox on custom jQuery events."
1266
  msgstr ""
1267
 
1268
+ #: ../includes/class-settings.php:331
1269
  msgid "Enter a space separated list of events."
1270
  msgstr ""
1271
 
1272
+ #: ../includes/class-settings.php:336
1273
  msgid "Loading place"
1274
  msgstr ""
1275
 
1276
+ #: ../includes/class-settings.php:339
1277
  msgid "Select where all the lightbox scripts should be placed."
1278
  msgstr ""
1279
 
1280
+ #: ../includes/class-settings.php:341
1281
  msgid "Header"
1282
  msgstr ""
1283
 
1284
+ #: ../includes/class-settings.php:342
1285
  msgid "Footer"
1286
  msgstr ""
1287
 
1288
+ #: ../includes/class-settings.php:346
1289
  msgid "Conditional loading"
1290
  msgstr ""
1291
 
1292
+ #: ../includes/class-settings.php:349
1293
  msgid ""
1294
  "Enable to load scripts and styles only on pages that have images or "
1295
  "galleries in post content."
1296
  msgstr ""
1297
 
1298
+ #: ../includes/class-settings.php:352
1299
  msgid "Delete data"
1300
  msgstr ""
1301
 
1302
+ #: ../includes/class-settings.php:355
1303
  msgid "Delete all plugin settings on deactivation."
1304
  msgstr ""
1305
 
1306
+ #: ../includes/class-settings.php:356
1307
  msgid ""
1308
  "Enable this to delete all plugin settings and also delete all plugin "
1309
  "capabilities from all users on deactivation."
1310
  msgstr ""
1311
 
1312
+ #: ../includes/class-settings.php:365
1313
  msgid "Gallery Builder Settings"
1314
  msgstr ""
1315
 
1316
+ #: ../includes/class-settings.php:371 ../includes/class-tour.php:108
1317
  msgid "Gallery Builder"
1318
  msgstr ""
1319
 
1320
+ #: ../includes/class-settings.php:374
1321
  msgid "Enable advanced gallery builder."
1322
  msgstr ""
1323
 
1324
+ #: ../includes/class-settings.php:377 ../responsive-lightbox.php:1080
1325
+ #: ../responsive-lightbox.php:1316 ../responsive-lightbox.php:1327
1326
  msgid "Categories"
1327
  msgstr ""
1328
 
1329
+ #: ../includes/class-settings.php:380
1330
  msgid "Enable Gallery Categories."
1331
  msgstr ""
1332
 
1333
+ #: ../includes/class-settings.php:381
1334
  msgid "Enable if you want to use Gallery Categories."
1335
  msgstr ""
1336
 
1337
+ #: ../includes/class-settings.php:384 ../responsive-lightbox.php:1126
1338
+ #: ../responsive-lightbox.php:1336 ../responsive-lightbox.php:1347
1339
  msgid "Tags"
1340
  msgstr ""
1341
 
1342
+ #: ../includes/class-settings.php:387
1343
  msgid "Enable Gallery Tags."
1344
  msgstr ""
1345
 
1346
+ #: ../includes/class-settings.php:388
1347
  msgid "Enable if you want to use Gallery Tags."
1348
  msgstr ""
1349
 
1350
+ #: ../includes/class-settings.php:391
1351
  msgid "Gallery Permalink"
1352
  msgstr ""
1353
 
1354
+ #: ../includes/class-settings.php:394
1355
  msgid "Enter gallery page slug."
1356
  msgstr ""
1357
 
1358
+ #: ../includes/class-settings.php:397
1359
  msgid "Categories Permalink"
1360
  msgstr ""
1361
 
1362
+ #: ../includes/class-settings.php:400
1363
  msgid "Enter gallery categories archive page slug."
1364
  msgstr ""
1365
 
1366
+ #: ../includes/class-settings.php:403
1367
  msgid "Tags Permalink"
1368
  msgstr ""
1369
 
1370
+ #: ../includes/class-settings.php:406
1371
  msgid "Enter gallery tags archive page slug."
1372
  msgstr ""
1373
 
1374
+ #: ../includes/class-settings.php:409
1375
  msgid "Archives"
1376
  msgstr ""
1377
 
1378
+ #: ../includes/class-settings.php:412
1379
  msgid "Enable gallery archives."
1380
  msgstr ""
1381
 
1382
+ #: ../includes/class-settings.php:415
1383
  msgid "Archives category"
1384
  msgstr ""
1385
 
1386
+ #: ../includes/class-settings.php:418
1387
  msgid "Select category for gallery archives."
1388
  msgstr ""
1389
 
1390
+ #: ../includes/class-settings.php:420 ../includes/class-settings.php:666
1391
  msgid "All"
1392
  msgstr ""
1393
 
1394
+ #: ../includes/class-settings.php:430 ../includes/class-tour.php:193
1395
  msgid "Folders Settings"
1396
  msgstr ""
1397
 
1398
+ #: ../includes/class-settings.php:436 ../includes/class-settings.php:447
1399
+ #: ../includes/class-settings.php:1007
1400
  msgid "Folders"
1401
  msgstr ""
1402
 
1403
+ #: ../includes/class-settings.php:439
1404
  msgid "Enable media folders."
1405
  msgstr ""
1406
 
1407
+ #: ../includes/class-settings.php:442
1408
  msgid "Media taxonomy"
1409
  msgstr ""
1410
 
1411
+ #: ../includes/class-settings.php:445
1412
  msgid "Select media taxonomy."
1413
  msgstr ""
1414
 
1415
+ #: ../includes/class-settings.php:445
1416
  msgid ""
1417
  "If you have ever used custom media taxonomies you may try to <a id="
1418
  "\"rl_folders_load_old_taxonomies\" href=\"#\">load and use them.</a>"
1419
  msgstr ""
1420
 
1421
+ #: ../includes/class-settings.php:450
1422
  msgid "Media tags"
1423
  msgstr ""
1424
 
1425
+ #: ../includes/class-settings.php:453
1426
  msgid "Enable media tags."
1427
  msgstr ""
1428
 
1429
+ #: ../includes/class-settings.php:454
1430
  msgid "Enable if you want to use media tags."
1431
  msgstr ""
1432
 
1433
+ #: ../includes/class-settings.php:457
1434
  msgid "Show in menu"
1435
  msgstr ""
1436
 
1437
+ #: ../includes/class-settings.php:460
1438
  msgid "Enable to show the taxonomy in the admin menu."
1439
  msgstr ""
1440
 
1441
+ #: ../includes/class-settings.php:463
1442
  msgid "Subfolder removal"
1443
  msgstr ""
1444
 
1445
+ #: ../includes/class-settings.php:466
1446
  msgid "Select to remove subfolders when parent folder is deleted."
1447
  msgstr ""
1448
 
1449
+ #: ../includes/class-settings.php:469
1450
  msgid "Whole row"
1451
  msgstr ""
1452
 
1453
+ #: ../includes/class-settings.php:472
1454
  msgid "Enable to highlight folder's row as a clickable area."
1455
  msgstr ""
1456
 
1457
+ #: ../includes/class-settings.php:481 ../includes/class-tour.php:220
1458
  msgid "Remote Library Settings"
1459
  msgstr ""
1460
 
1461
+ #: ../includes/class-settings.php:495
1462
  msgid "Enable remote libraries."
1463
  msgstr ""
1464
 
1465
+ #: ../includes/class-settings.php:496
1466
  msgid "Check this to enable remote access to the following image libraries."
1467
  msgstr ""
1468
 
1469
+ #: ../includes/class-settings.php:499
1470
  msgid "Caching"
1471
  msgstr ""
1472
 
1473
+ #: ../includes/class-settings.php:502
1474
  msgid "Enable remote library requests caching."
1475
  msgstr ""
1476
 
1477
+ #: ../includes/class-settings.php:505
1478
  msgid "Cache expiry"
1479
  msgstr ""
1480
 
1481
+ #: ../includes/class-settings.php:509
1482
  msgid "Enter the cache expiry time."
1483
  msgstr ""
1484
 
1485
+ #: ../includes/class-settings.php:510
1486
  msgid "hour(s)"
1487
  msgstr ""
1488
 
1489
+ #: ../includes/class-settings.php:519 ../includes/class-settings.php:1048
1490
  #, php-format
1491
  msgid "%s Settings"
1492
  msgstr ""
1493
 
1494
+ #: ../includes/class-settings.php:531 ../includes/class-tour.php:202
1495
  msgid "Capabilities Settings"
1496
  msgstr ""
1497
 
1498
+ #: ../includes/class-settings.php:541 ../includes/class-settings.php:1014
1499
  msgid "Capabilities"
1500
  msgstr ""
1501
 
1502
+ #: ../includes/class-settings.php:544
1503
  msgid "Enable advanced capability management."
1504
  msgstr ""
1505
 
1506
+ #: ../includes/class-settings.php:545
1507
  msgid "Check this to enable access to plugin features for selected user roles."
1508
  msgstr ""
1509
 
1510
+ #: ../includes/class-settings.php:554
1511
  msgid "Basic Grid Gallery Settings"
1512
  msgstr ""
1513
 
1514
+ #: ../includes/class-settings.php:560 ../includes/class-settings.php:836
1515
  msgid "Screen sizes"
1516
  msgstr ""
1517
 
1518
+ #: ../includes/class-settings.php:563 ../includes/class-settings.php:839
1519
  msgid ""
1520
  "Number of columns in a gallery depending on the device screen size. (if "
1521
  "greater than 0 overrides the Columns option)"
1522
  msgstr ""
1523
 
1524
+ #: ../includes/class-settings.php:569 ../includes/class-settings.php:846
1525
  msgid "large devices / desktops (&ge;1200px)"
1526
  msgstr ""
1527
 
1528
+ #: ../includes/class-settings.php:575 ../includes/class-settings.php:853
1529
  msgid "medium devices / desktops (&ge;992px)"
1530
  msgstr ""
1531
 
1532
+ #: ../includes/class-settings.php:581 ../includes/class-settings.php:860
1533
  msgid "small devices / tablets (&ge;768px)"
1534
  msgstr ""
1535
 
1536
+ #: ../includes/class-settings.php:587 ../includes/class-settings.php:867
1537
  msgid "extra small devices / phones (<768px)"
1538
  msgstr ""
1539
 
1540
+ #: ../includes/class-settings.php:592 ../includes/class-settings.php:872
1541
  msgid "Gutter"
1542
  msgstr ""
1543
 
1544
+ #: ../includes/class-settings.php:596
1545
  msgid "Set the pixel width between the columns and rows."
1546
  msgstr ""
1547
 
1548
+ #: ../includes/class-settings.php:600
1549
  msgid "Force height"
1550
  msgstr ""
1551
 
1552
+ #: ../includes/class-settings.php:603
1553
  msgid "Enable to force the thumbnail row height."
1554
  msgstr ""
1555
 
1556
+ #: ../includes/class-settings.php:606
1557
  msgid "Row height"
1558
  msgstr ""
1559
 
1560
+ #: ../includes/class-settings.php:610
1561
  msgid ""
1562
  "Enter the thumbnail row height in pixels (used if Force height is enabled). "
1563
  "Defaults to 150px."
1564
  msgstr ""
1565
 
1566
+ #: ../includes/class-settings.php:620
1567
  msgid "Basic Slider Gallery Settings"
1568
  msgstr ""
1569
 
1570
+ #: ../includes/class-settings.php:626
1571
  msgid "Adaptive Height"
1572
  msgstr ""
1573
 
1574
+ #: ../includes/class-settings.php:629
1575
  msgid ""
1576
  "The slider height should change on the fly according to the current slide."
1577
  msgstr ""
1578
 
1579
+ #: ../includes/class-settings.php:632
1580
  msgid "Loop"
1581
  msgstr ""
1582
 
1583
+ #: ../includes/class-settings.php:635
1584
  msgid ""
1585
  "Whether the slider should loop (i.e. the first slide goes to the last, the "
1586
  "last slide goes to the first)."
1587
  msgstr ""
1588
 
1589
+ #: ../includes/class-settings.php:638
1590
  msgid "Captions Position"
1591
  msgstr ""
1592
 
1593
+ #: ../includes/class-settings.php:641
1594
  msgid "Specifies the position of captions or no captions at all."
1595
  msgstr ""
1596
 
1597
+ #: ../includes/class-settings.php:644
1598
  msgid "Overlay"
1599
  msgstr ""
1600
 
1601
+ #: ../includes/class-settings.php:645
1602
  msgid "Below"
1603
  msgstr ""
1604
 
1605
+ #: ../includes/class-settings.php:649
1606
  msgid "Single Image Slider"
1607
  msgstr ""
1608
 
1609
+ #: ../includes/class-settings.php:652
1610
  msgid ""
1611
  "Whether the slider should initialize even if there is only one slide element."
1612
  msgstr ""
1613
 
1614
+ #: ../includes/class-settings.php:655
1615
  msgid "Responsive"
1616
  msgstr ""
1617
 
1618
+ #: ../includes/class-settings.php:658
1619
  msgid "Whether the slider should be responsive."
1620
  msgstr ""
1621
 
1622
+ #: ../includes/class-settings.php:661
1623
  msgid "Preload"
1624
  msgstr ""
1625
 
1626
+ #: ../includes/class-settings.php:664
1627
  msgid "Elements that are preloaded before slider shows."
1628
  msgstr ""
1629
 
1630
+ #: ../includes/class-settings.php:667
1631
  msgid "Only visible"
1632
  msgstr ""
1633
 
1634
+ #: ../includes/class-settings.php:671
1635
  msgid "Pager"
1636
  msgstr ""
1637
 
1638
+ #: ../includes/class-settings.php:674
1639
  msgid "Whether the slider should have a pager."
1640
  msgstr ""
1641
 
1642
+ #: ../includes/class-settings.php:677
1643
  msgid "Controls"
1644
  msgstr ""
1645
 
1646
+ #: ../includes/class-settings.php:680
1647
  msgid "Whether the slider should have controls (next, previous arrows)."
1648
  msgstr ""
1649
 
1650
+ #: ../includes/class-settings.php:683
1651
  msgid "Hide Controls on End"
1652
  msgstr ""
1653
 
1654
+ #: ../includes/class-settings.php:686
1655
  msgid ""
1656
  "Hide the previous or next control when it reaches the first or last slide "
1657
  "respectively."
1658
  msgstr ""
1659
 
1660
+ #: ../includes/class-settings.php:689
1661
  msgid "Slide Margin"
1662
  msgstr ""
1663
 
1664
+ #: ../includes/class-settings.php:693
1665
  msgid "The spacing between slides."
1666
  msgstr ""
1667
 
1668
+ #: ../includes/class-settings.php:697
1669
  msgid "Transition"
1670
  msgstr ""
1671
 
1672
+ #: ../includes/class-settings.php:700
1673
  msgid "Transition type to use, or no transitions."
1674
  msgstr ""
1675
 
1676
+ #: ../includes/class-settings.php:703
1677
  msgid "Fade"
1678
  msgstr ""
1679
 
1680
+ #: ../includes/class-settings.php:704
1681
  msgid "Horizontal"
1682
  msgstr ""
1683
 
1684
+ #: ../includes/class-settings.php:705
1685
  msgid "Vertical"
1686
  msgstr ""
1687
 
1688
+ #: ../includes/class-settings.php:706
1689
  msgid "Ken Burns"
1690
  msgstr ""
1691
 
1692
+ #: ../includes/class-settings.php:710
1693
  msgid "Ken Burns Zoom"
1694
  msgstr ""
1695
 
1696
+ #: ../includes/class-settings.php:714
1697
  msgid "Max zoom level use for the Ken Burns transition."
1698
  msgstr ""
1699
 
1700
+ #: ../includes/class-settings.php:718
1701
  msgid "Transition Speed"
1702
  msgstr ""
1703
 
1704
+ #: ../includes/class-settings.php:722
1705
  msgid "The time the transition takes to complete."
1706
  msgstr ""
1707
 
1708
+ #: ../includes/class-settings.php:726
1709
  msgid "Easing Effect"
1710
  msgstr ""
1711
 
1712
+ #: ../includes/class-settings.php:729
1713
  msgid "The easing effect to use for the selected transition."
1714
  msgstr ""
1715
 
1716
+ #: ../includes/class-settings.php:766
1717
  msgid "Continuous"
1718
  msgstr ""
1719
 
1720
+ #: ../includes/class-settings.php:769
1721
  msgid ""
1722
  "Whether the slider should run continuously (seamless transition between the "
1723
  "first and last slides)."
1724
  msgstr ""
1725
 
1726
+ #: ../includes/class-settings.php:772
1727
  msgid "Use CSS"
1728
  msgstr ""
1729
 
1730
+ #: ../includes/class-settings.php:775
1731
  msgid ""
1732
  "Whether the slider should use CSS transitions. If the user's browser doesn't "
1733
  "support CSS transitions the slider will fallback to jQuery."
1734
  msgstr ""
1735
 
1736
+ #: ../includes/class-settings.php:778 ../includes/class-settings.php:1134
1737
  msgid "Slideshow"
1738
  msgstr ""
1739
 
1740
+ #: ../includes/class-settings.php:781
1741
  msgid "Whether the slider should run automatically on load."
1742
  msgstr ""
1743
 
1744
+ #: ../includes/class-settings.php:784
1745
  msgid "Slideshow Direction"
1746
  msgstr ""
1747
 
1748
+ #: ../includes/class-settings.php:787
1749
  msgid "Which direction the slider should move in if in slideshow mode."
1750
  msgstr ""
1751
 
1752
+ #: ../includes/class-settings.php:789 ../includes/class-tour.php:110
1753
+ #: ../includes/class-tour.php:131 ../includes/class-tour.php:145
1754
+ #: ../includes/class-tour.php:159 ../includes/class-tour.php:168
1755
+ #: ../includes/class-tour.php:177 ../includes/class-tour.php:186
1756
+ #: ../includes/class-tour.php:195 ../includes/class-tour.php:204
1757
+ #: ../includes/class-tour.php:222 ../includes/class-tour.php:232
1758
  msgid "Next"
1759
  msgstr ""
1760
 
1761
+ #: ../includes/class-settings.php:790
1762
  msgid "Previous"
1763
  msgstr ""
1764
 
1765
+ #: ../includes/class-settings.php:794
1766
  msgid "Slideshow Hover"
1767
  msgstr ""
1768
 
1769
+ #: ../includes/class-settings.php:797
1770
  msgid "Whether the slideshow should pause automatically on hover."
1771
  msgstr ""
1772
 
1773
+ #: ../includes/class-settings.php:800
1774
  msgid "Slideshow Hover Delay"
1775
  msgstr ""
1776
 
1777
+ #: ../includes/class-settings.php:804
1778
  msgid "The delay (if any) before the slider resumes automatically after hover."
1779
  msgstr ""
1780
 
1781
+ #: ../includes/class-settings.php:808
1782
  msgid "Slideshow Delay"
1783
  msgstr ""
1784
 
1785
+ #: ../includes/class-settings.php:812
1786
  msgid "The delay (if any) before the slider runs automatically on load."
1787
  msgstr ""
1788
 
1789
+ #: ../includes/class-settings.php:816
1790
  msgid "Slideshow Pause"
1791
  msgstr ""
1792
 
1793
+ #: ../includes/class-settings.php:820
1794
  msgid "The time a slide lasts."
1795
  msgstr ""
1796
 
1797
+ #: ../includes/class-settings.php:830
1798
  msgid "Basic Masonry Gallery Settings"
1799
  msgstr ""
1800
 
1801
+ #: ../includes/class-settings.php:875
1802
  msgid "Horizontal space between gallery items."
1803
  msgstr ""
1804
 
1805
+ #: ../includes/class-settings.php:879 ../includes/class-settings.php:1445
1806
  msgid "Margin"
1807
  msgstr ""
1808
 
1809
+ #: ../includes/class-settings.php:882
1810
  msgid "Vertical space between gallery items."
1811
  msgstr ""
1812
 
1813
+ #: ../includes/class-settings.php:886
1814
  msgid "Origin Left"
1815
  msgstr ""
1816
 
1817
+ #: ../includes/class-settings.php:889
1818
  msgid "Enable left-to-right layouts."
1819
  msgstr ""
1820
 
1821
+ #: ../includes/class-settings.php:890
1822
  msgid ""
1823
  "Controls the horizontal flow of the layout. By default, item elements start "
1824
  "positioning at the left. Uncheck it for right-to-left layouts."
1825
  msgstr ""
1826
 
1827
+ #: ../includes/class-settings.php:893
1828
  msgid "Origin Top"
1829
  msgstr ""
1830
 
1831
+ #: ../includes/class-settings.php:896
1832
  msgid "Enable top-to-bottom layouts."
1833
  msgstr ""
1834
 
1835
+ #: ../includes/class-settings.php:897
1836
  msgid ""
1837
  "Controls the vetical flow of the layout. By default, item elements start "
1838
  "positioning at the top. Uncheck it for bottom-up layouts."
1839
  msgstr ""
1840
 
1841
+ #: ../includes/class-settings.php:905 ../includes/class-settings.php:1826
1842
  msgid "General"
1843
  msgstr ""
1844
 
1845
+ #: ../includes/class-settings.php:911
1846
  msgid "Lightboxes"
1847
  msgstr ""
1848
 
1849
+ #: ../includes/class-settings.php:919 ../responsive-lightbox.php:640
1850
  msgid "Basic Grid"
1851
  msgstr ""
1852
 
1853
+ #: ../includes/class-settings.php:925 ../responsive-lightbox.php:641
1854
  msgid "Basic Slider"
1855
  msgstr ""
1856
 
1857
+ #: ../includes/class-settings.php:931 ../responsive-lightbox.php:642
1858
  msgid "Basic Masonry"
1859
  msgstr ""
1860
 
1861
+ #: ../includes/class-settings.php:1000
1862
  msgid "Builder"
1863
  msgstr ""
1864
 
1865
+ #: ../includes/class-settings.php:1034 ../includes/class-settings.php:2056
1866
  msgid "Licenses"
1867
  msgstr ""
1868
 
1869
+ #: ../includes/class-settings.php:1042 ../includes/class-tour.php:239
1870
+ #: ../responsive-lightbox.php:929
1871
  msgid "Add-ons"
1872
  msgstr ""
1873
 
1874
+ #: ../includes/class-settings.php:1056
1875
  msgid "Animation type"
1876
  msgstr ""
1877
 
1878
+ #: ../includes/class-settings.php:1060
1879
  msgid "Select a method of applying a lightbox effect."
1880
  msgstr ""
1881
 
1882
+ #: ../includes/class-settings.php:1065
1883
  msgid "Force PNG icons"
1884
  msgstr ""
1885
 
1886
+ #: ../includes/class-settings.php:1068
1887
  msgid ""
1888
  "Enable this if you're having problems with navigation icons not visible on "
1889
  "some devices."
1890
  msgstr ""
1891
 
1892
+ #: ../includes/class-settings.php:1072
1893
  msgid "Hide close on mobile"
1894
  msgstr ""
1895
 
1896
+ #: ../includes/class-settings.php:1075
1897
  msgid "Hide the close button on mobile devices."
1898
  msgstr ""
1899
 
1900
+ #: ../includes/class-settings.php:1079
1901
  msgid "Remove bars on mobile"
1902
  msgstr ""
1903
 
1904
+ #: ../includes/class-settings.php:1082
1905
  msgid "Hide the top and bottom bars on mobile devices."
1906
  msgstr ""
1907
 
1908
+ #: ../includes/class-settings.php:1086
1909
  msgid "Top and bottom bars"
1910
  msgstr ""
1911
 
1912
+ #: ../includes/class-settings.php:1092
1913
  msgid "Hide top and bottom bars after a period of time."
1914
  msgstr ""
1915
 
1916
+ #: ../includes/class-settings.php:1097
1917
  msgid ""
1918
  "Enter the time after which the top and bottom bars will be hidden (when "
1919
  "hiding is enabled)."
1920
  msgstr ""
1921
 
1922
+ #: ../includes/class-settings.php:1104
1923
  msgid "Video max width"
1924
  msgstr ""
1925
 
1926
+ #: ../includes/class-settings.php:1107
1927
  msgid "Enter the max video width in a lightbox."
1928
  msgstr ""
1929
 
1930
+ #: ../includes/class-settings.php:1112
1931
  msgid "Loop at end"
1932
  msgstr ""
1933
 
1934
+ #: ../includes/class-settings.php:1115
1935
  msgid "True will return to the first image after the last image is reached."
1936
  msgstr ""
1937
 
1938
+ #: ../includes/class-settings.php:1125 ../includes/class-settings.php:1511
1939
  msgid "Animation speed"
1940
  msgstr ""
1941
 
1942
+ #: ../includes/class-settings.php:1129
1943
  msgid "Select animation speed for lightbox effect."
1944
  msgstr ""
1945
 
1946
+ #: ../includes/class-settings.php:1140
1947
  msgid "Display images as slideshow"
1948
  msgstr ""
1949
 
1950
+ #: ../includes/class-settings.php:1145
1951
  msgid "Enter time (in miliseconds)."
1952
  msgstr ""
1953
 
1954
+ #: ../includes/class-settings.php:1152
1955
  msgid "Slideshow autoplay"
1956
  msgstr ""
1957
 
1958
+ #: ../includes/class-settings.php:1155 ../includes/class-settings.php:1591
1959
  msgid "Automatically start slideshow."
1960
  msgstr ""
1961
 
1962
+ #: ../includes/class-settings.php:1159 ../includes/class-settings.php:1359
1963
  msgid "Opacity"
1964
  msgstr ""
1965
 
1966
+ #: ../includes/class-settings.php:1162
1967
  msgid "Value between 0 and 100, 100 for no opacity."
1968
  msgstr ""
1969
 
1970
+ #: ../includes/class-settings.php:1168
1971
  msgid "Show title"
1972
  msgstr ""
1973
 
1974
+ #: ../includes/class-settings.php:1171
1975
  msgid "Display image title."
1976
  msgstr ""
1977
 
1978
+ #: ../includes/class-settings.php:1175
1979
  msgid "Allow resize big images"
1980
  msgstr ""
1981
 
1982
+ #: ../includes/class-settings.php:1178
1983
  msgid "Resize the photos bigger than viewport."
1984
  msgstr ""
1985
 
1986
+ #: ../includes/class-settings.php:1182
1987
  msgid "Allow expand"
1988
  msgstr ""
1989
 
1990
+ #: ../includes/class-settings.php:1185
1991
  msgid "Allow expanding images."
1992
  msgstr ""
1993
 
1994
+ #: ../includes/class-settings.php:1189 ../includes/class-settings.php:1453
1995
  msgid "Video width"
1996
  msgstr ""
1997
 
1998
+ #: ../includes/class-settings.php:1196 ../includes/class-settings.php:1461
1999
  msgid "Video height"
2000
  msgstr ""
2001
 
2002
+ #: ../includes/class-settings.php:1203
2003
  msgid "Theme"
2004
  msgstr ""
2005
 
2006
+ #: ../includes/class-settings.php:1206
2007
  msgid "Select the theme for lightbox effect."
2008
  msgstr ""
2009
 
2010
+ #: ../includes/class-settings.php:1211
2011
  msgid "Horizontal padding"
2012
  msgstr ""
2013
 
2014
+ #: ../includes/class-settings.php:1218
2015
  msgid "Hide Flash"
2016
  msgstr ""
2017
 
2018
+ #: ../includes/class-settings.php:1221
2019
  msgid ""
2020
  "Hide all the flash objects on a page. Enable this if flash appears over "
2021
  "prettyPhoto."
2022
  msgstr ""
2023
 
2024
+ #: ../includes/class-settings.php:1225
2025
  msgid "Flash Window Mode (wmode)"
2026
  msgstr ""
2027
 
2028
+ #: ../includes/class-settings.php:1228
2029
  msgid "Select flash window mode."
2030
  msgstr ""
2031
 
2032
+ #: ../includes/class-settings.php:1233
2033
  msgid "Video autoplay"
2034
  msgstr ""
2035
 
2036
+ #: ../includes/class-settings.php:1236
2037
  msgid "Automatically start videos."
2038
  msgstr ""
2039
 
2040
+ #: ../includes/class-settings.php:1240 ../includes/class-settings.php:1281
2041
  msgid "Modal"
2042
  msgstr ""
2043
 
2044
+ #: ../includes/class-settings.php:1243
2045
  msgid "If set to true, only the close button will close the window."
2046
  msgstr ""
2047
 
2048
+ #: ../includes/class-settings.php:1247
2049
  msgid "Deeplinking"
2050
  msgstr ""
2051
 
2052
+ #: ../includes/class-settings.php:1250
2053
  msgid "Allow prettyPhoto to update the url to enable deeplinking."
2054
  msgstr ""
2055
 
2056
+ #: ../includes/class-settings.php:1254
2057
  msgid "Overlay gallery"
2058
  msgstr ""
2059
 
2060
+ #: ../includes/class-settings.php:1257
2061
  msgid "If enabled, a gallery will overlay the fullscreen image on mouse over."
2062
  msgstr ""
2063
 
2064
+ #: ../includes/class-settings.php:1261
2065
  msgid "Keyboard shortcuts"
2066
  msgstr ""
2067
 
2068
+ #: ../includes/class-settings.php:1264
2069
  msgid "Set to false if you open forms inside prettyPhoto."
2070
  msgstr ""
2071
 
2072
+ #: ../includes/class-settings.php:1268
2073
  msgid "Social (Twitter, Facebook)"
2074
  msgstr ""
2075
 
2076
+ #: ../includes/class-settings.php:1271
2077
  msgid "Display links to Facebook and Twitter."
2078
  msgstr ""
2079
 
2080
+ #: ../includes/class-settings.php:1284
2081
  msgid ""
2082
  "When true, \"overlayShow\" is set to true and \"hideOnOverlayClick\", "
2083
  "\"hideOnContentClick\", \"enableEscapeButton\", \"showCloseButton\" are set "
2084
  "to false."
2085
  msgstr ""
2086
 
2087
+ #: ../includes/class-settings.php:1288
2088
  msgid "Show overlay"
2089
  msgstr ""
2090
 
2091
+ #: ../includes/class-settings.php:1291
2092
  msgid "Toggle overlay."
2093
  msgstr ""
2094
 
2095
+ #: ../includes/class-settings.php:1295 ../includes/class-settings.php:1744
2096
  msgid "Show close button"
2097
  msgstr ""
2098
 
2099
+ #: ../includes/class-settings.php:1298
2100
  msgid "Toggle close button."
2101
  msgstr ""
2102
 
2103
+ #: ../includes/class-settings.php:1302
2104
  msgid "Enable escape button"
2105
  msgstr ""
2106
 
2107
+ #: ../includes/class-settings.php:1305 ../includes/class-settings.php:1675
2108
  msgid "Toggle if pressing Esc button closes lightbox."
2109
  msgstr ""
2110
 
2111
+ #: ../includes/class-settings.php:1309
2112
  msgid "Hide on overlay click"
2113
  msgstr ""
2114
 
2115
+ #: ../includes/class-settings.php:1312
2116
  msgid "Toggle if clicking the overlay should close FancyBox."
2117
  msgstr ""
2118
 
2119
+ #: ../includes/class-settings.php:1316
2120
  msgid "Hide on content click"
2121
  msgstr ""
2122
 
2123
+ #: ../includes/class-settings.php:1319
2124
  msgid "Toggle if clicking the content should close FancyBox."
2125
  msgstr ""
2126
 
2127
+ #: ../includes/class-settings.php:1323
2128
  msgid "Cyclic"
2129
  msgstr ""
2130
 
2131
+ #: ../includes/class-settings.php:1326
2132
  msgid ""
2133
  "When true, galleries will be cyclic, allowing you to keep pressing next/back."
2134
  msgstr ""
2135
 
2136
+ #: ../includes/class-settings.php:1330
2137
  msgid "Show nav arrows"
2138
  msgstr ""
2139
 
2140
+ #: ../includes/class-settings.php:1333
2141
  msgid "Toggle navigation arrows."
2142
  msgstr ""
2143
 
2144
+ #: ../includes/class-settings.php:1337
2145
  msgid "Auto scale"
2146
  msgstr ""
2147
 
2148
+ #: ../includes/class-settings.php:1340
2149
  msgid "If true, FancyBox is scaled to fit in viewport."
2150
  msgstr ""
2151
 
2152
+ #: ../includes/class-settings.php:1344
2153
  msgid "Scrolling (in/out)"
2154
  msgstr ""
2155
 
2156
+ #: ../includes/class-settings.php:1347
2157
  msgid "Set the overflow CSS property to create or hide scrollbars."
2158
  msgstr ""
2159
 
2160
+ #: ../includes/class-settings.php:1352
2161
  msgid "Center on scroll"
2162
  msgstr ""
2163
 
2164
+ #: ../includes/class-settings.php:1355
2165
  msgid "When true, FancyBox is centered while scrolling page."
2166
  msgstr ""
2167
 
2168
+ #: ../includes/class-settings.php:1362
2169
  msgid "When true, transparency of content is changed for elastic transitions."
2170
  msgstr ""
2171
 
2172
+ #: ../includes/class-settings.php:1366
2173
  msgid "Overlay opacity"
2174
  msgstr ""
2175
 
2176
+ #: ../includes/class-settings.php:1369
2177
  msgid "Opacity of the overlay."
2178
  msgstr ""
2179
 
2180
+ #: ../includes/class-settings.php:1375
2181
  msgid "Overlay color"
2182
  msgstr ""
2183
 
2184
+ #: ../includes/class-settings.php:1378
2185
  msgid "Color of the overlay."
2186
  msgstr ""
2187
 
2188
+ #: ../includes/class-settings.php:1382
2189
  msgid "Title show"
2190
  msgstr ""
2191
 
2192
+ #: ../includes/class-settings.php:1385
2193
  msgid "Toggle title."
2194
  msgstr ""
2195
 
2196
+ #: ../includes/class-settings.php:1389
2197
  msgid "Title position"
2198
  msgstr ""
2199
 
2200
+ #: ../includes/class-settings.php:1392
2201
  msgid "The position of title."
2202
  msgstr ""
2203
 
2204
+ #: ../includes/class-settings.php:1397
2205
  msgid "Transition (in/out)"
2206
  msgstr ""
2207
 
2208
+ #: ../includes/class-settings.php:1400
2209
  msgid "The transition type."
2210
  msgstr ""
2211
 
2212
+ #: ../includes/class-settings.php:1405
2213
  msgid "Easings (in/out)"
2214
  msgstr ""
2215
 
2216
+ #: ../includes/class-settings.php:1408
2217
  msgid "Easing used for elastic animations."
2218
  msgstr ""
2219
 
2220
+ #: ../includes/class-settings.php:1413
2221
  msgid "Speed (in/out)"
2222
  msgstr ""
2223
 
2224
+ #: ../includes/class-settings.php:1416
2225
  msgid "Speed of the fade and elastic transitions, in milliseconds."
2226
  msgstr ""
2227
 
2228
+ #: ../includes/class-settings.php:1421
2229
  msgid "Change speed"
2230
  msgstr ""
2231
 
2232
+ #: ../includes/class-settings.php:1424
2233
  msgid "Speed of resizing when changing gallery items, in milliseconds."
2234
  msgstr ""
2235
 
2236
+ #: ../includes/class-settings.php:1429
2237
  msgid "Change fade"
2238
  msgstr ""
2239
 
2240
+ #: ../includes/class-settings.php:1432
2241
  msgid "Speed of the content fading while changing gallery items."
2242
  msgstr ""
2243
 
2244
+ #: ../includes/class-settings.php:1437
2245
  msgid "Padding"
2246
  msgstr ""
2247
 
2248
+ #: ../includes/class-settings.php:1440
2249
  msgid "Space between FancyBox wrapper and content."
2250
  msgstr ""
2251
 
2252
+ #: ../includes/class-settings.php:1448
2253
  msgid "Space between viewport and FancyBox wrapper."
2254
  msgstr ""
2255
 
2256
+ #: ../includes/class-settings.php:1456
2257
  msgid "Width of the video."
2258
  msgstr ""
2259
 
2260
+ #: ../includes/class-settings.php:1464
2261
  msgid "Height of the video."
2262
  msgstr ""
2263
 
2264
+ #: ../includes/class-settings.php:1475
2265
  msgid "Effect"
2266
  msgstr ""
2267
 
2268
+ #: ../includes/class-settings.php:1478
2269
  msgid "The effect to use when showing the lightbox."
2270
  msgstr ""
2271
 
2272
+ #: ../includes/class-settings.php:1483 ../includes/class-settings.php:1578
2273
  msgid "Keyboard navigation"
2274
  msgstr ""
2275
 
2276
+ #: ../includes/class-settings.php:1486 ../includes/class-settings.php:1581
2277
  msgid "Enable keyboard navigation (left/right/escape)."
2278
  msgstr ""
2279
 
2280
+ #: ../includes/class-settings.php:1490
2281
  msgid "Click overlay to close"
2282
  msgstr ""
2283
 
2284
+ #: ../includes/class-settings.php:1493 ../includes/class-settings.php:1634
2285
  msgid "Enable to close lightbox on overlay click."
2286
  msgstr ""
2287
 
2288
+ #: ../includes/class-settings.php:1497
2289
  msgid "Error message"
2290
  msgstr ""
2291
 
2292
+ #: ../includes/class-settings.php:1501
2293
  msgid "Error message if the content cannot be loaded."
2294
  msgstr ""
2295
 
2296
+ #: ../includes/class-settings.php:1514
2297
  msgid "Animation speed."
2298
  msgstr ""
2299
 
2300
+ #: ../includes/class-settings.php:1519
2301
  msgid "Preload next image"
2302
  msgstr ""
2303
 
2304
+ #: ../includes/class-settings.php:1522
2305
  msgid "Silently preload the next image."
2306
  msgstr ""
2307
 
2308
+ #: ../includes/class-settings.php:1526
2309
  msgid "Enable keyboard keys"
2310
  msgstr ""
2311
 
2312
+ #: ../includes/class-settings.php:1529
2313
  msgid "Enable keyboard shortcuts (arrows Left/Right and Esc)."
2314
  msgstr ""
2315
 
2316
+ #: ../includes/class-settings.php:1533
2317
  msgid "Quit after last image"
2318
  msgstr ""
2319
 
2320
+ #: ../includes/class-settings.php:1536
2321
  msgid "Quit after viewing the last image."
2322
  msgstr ""
2323
 
2324
+ #: ../includes/class-settings.php:1540
2325
  msgid "Quit on image click"
2326
  msgstr ""
2327
 
2328
+ #: ../includes/class-settings.php:1543
2329
  msgid "Quit when the viewed image is clicked."
2330
  msgstr ""
2331
 
2332
+ #: ../includes/class-settings.php:1547
2333
  msgid "Quit on anything click"
2334
  msgstr ""
2335
 
2336
+ #: ../includes/class-settings.php:1550
2337
  msgid "Quit when anything but the viewed image is clicked."
2338
  msgstr ""
2339
 
2340
+ #: ../includes/class-settings.php:1560
2341
  msgid "Transition effect"
2342
  msgstr ""
2343
 
2344
+ #: ../includes/class-settings.php:1563
2345
  msgid "What effect to use for the transition."
2346
  msgstr ""
2347
 
2348
+ #: ../includes/class-settings.php:1565
2349
  msgid "slide"
2350
  msgstr ""
2351
 
2352
+ #: ../includes/class-settings.php:1571
2353
  msgid "Infinite loop"
2354
  msgstr ""
2355
 
2356
+ #: ../includes/class-settings.php:1574
2357
  msgid ""
2358
  "Whether or not to slide back to the first slide when the last has been "
2359
  "reached."
2360
  msgstr ""
2361
 
2362
+ #: ../includes/class-settings.php:1585
2363
  msgid "Autoplay"
2364
  msgstr ""
2365
 
2366
+ #: ../includes/class-settings.php:1596
2367
  msgid "The timeout between sliding to the next slide in milliseconds."
2368
  msgstr ""
2369
 
2370
+ #: ../includes/class-settings.php:1603
2371
  msgid "Pause on hover"
2372
  msgstr ""
2373
 
2374
+ #: ../includes/class-settings.php:1606
2375
  msgid "Whether or not to pause on hover."
2376
  msgstr ""
2377
 
2378
+ #: ../includes/class-settings.php:1610
2379
  msgid "Pagination"
2380
  msgstr ""
2381
 
2382
+ #: ../includes/class-settings.php:1616
2383
  msgid "Whether or not to add a pagination."
2384
  msgstr ""
2385
 
2386
+ #: ../includes/class-settings.php:1621
2387
  msgid "What type of pagination to use."
2388
  msgstr ""
2389
 
2390
+ #: ../includes/class-settings.php:1623
2391
  msgid "Bullets"
2392
  msgstr ""
2393
 
2394
+ #: ../includes/class-settings.php:1624
2395
  msgid "Thumbnails"
2396
  msgstr ""
2397
 
2398
+ #: ../includes/class-settings.php:1631
2399
  msgid "Overlay close"
2400
  msgstr ""
2401
 
2402
+ #: ../includes/class-settings.php:1644
2403
  msgid "Opening speed"
2404
  msgstr ""
2405
 
2406
+ #: ../includes/class-settings.php:1647
2407
  msgid "Duration of opening animation."
2408
  msgstr ""
2409
 
2410
+ #: ../includes/class-settings.php:1652
2411
  msgid "Closing speed"
2412
  msgstr ""
2413
 
2414
+ #: ../includes/class-settings.php:1655
2415
  msgid "Duration of closing animation."
2416
  msgstr ""
2417
 
2418
+ #: ../includes/class-settings.php:1660
2419
  msgid "Close on click"
2420
  msgstr ""
2421
 
2422
+ #: ../includes/class-settings.php:1663
2423
  msgid "Select how to close lightbox."
2424
  msgstr ""
2425
 
2426
+ #: ../includes/class-settings.php:1665
2427
  msgid "background"
2428
  msgstr ""
2429
 
2430
+ #: ../includes/class-settings.php:1666
2431
  msgid "anywhere"
2432
  msgstr ""
2433
 
2434
+ #: ../includes/class-settings.php:1667
2435
  msgid "false"
2436
  msgstr ""
2437
 
2438
+ #: ../includes/class-settings.php:1672
2439
  msgid "Close on Esc"
2440
  msgstr ""
2441
 
2442
+ #: ../includes/class-settings.php:1679
2443
  msgid "Gallery fade in"
2444
  msgstr ""
2445
 
2446
+ #: ../includes/class-settings.php:1682
2447
  msgid "Animation speed when image is loaded."
2448
  msgstr ""
2449
 
2450
+ #: ../includes/class-settings.php:1687
2451
  msgid "Gallery fade out"
2452
  msgstr ""
2453
 
2454
+ #: ../includes/class-settings.php:1690
2455
  msgid "Animation speed before image is loaded."
2456
  msgstr ""
2457
 
2458
+ #: ../includes/class-settings.php:1701
2459
  msgid "Disable on"
2460
  msgstr ""
2461
 
2462
+ #: ../includes/class-settings.php:1704
2463
  msgid ""
2464
  "If window width is less than the number in this option lightbox will not be "
2465
  "opened and the default behavior of the element will be triggered. Set to 0 "
2466
  "to disable behavior."
2467
  msgstr ""
2468
 
2469
+ #: ../includes/class-settings.php:1709
2470
  msgid "Middle click"
2471
  msgstr ""
2472
 
2473
+ #: ../includes/class-settings.php:1712
2474
  msgid ""
2475
  "If option enabled, lightbox is opened if the user clicked on the middle "
2476
  "mouse button, or click with Command/Ctrl key."
2477
  msgstr ""
2478
 
2479
+ #: ../includes/class-settings.php:1716
2480
  msgid "Preloader"
2481
  msgstr ""
2482
 
2483
+ #: ../includes/class-settings.php:1719
2484
  msgid ""
2485
  "If option enabled, it's always present in DOM only text inside of it changes."
2486
  msgstr ""
2487
 
2488
+ #: ../includes/class-settings.php:1723
2489
  msgid "Close on content click"
2490
  msgstr ""
2491
 
2492
+ #: ../includes/class-settings.php:1726
2493
  msgid ""
2494
  "Close popup when user clicks on content of it. It's recommended to enable "
2495
  "this option when you have only image in popup."
2496
  msgstr ""
2497
 
2498
+ #: ../includes/class-settings.php:1730
2499
  msgid "Close on background click"
2500
  msgstr ""
2501
 
2502
+ #: ../includes/class-settings.php:1733
2503
  msgid "Close the popup when user clicks on the dark overlay."
2504
  msgstr ""
2505
 
2506
+ #: ../includes/class-settings.php:1737
2507
  msgid "Close button inside"
2508
  msgstr ""
2509
 
2510
+ #: ../includes/class-settings.php:1740
2511
  msgid ""
2512
  "If enabled, Magnific Popup will put close button inside content of popup."
2513
  msgstr ""
2514
 
2515
+ #: ../includes/class-settings.php:1747
2516
  msgid "Controls whether the close button will be displayed or not."
2517
  msgstr ""
2518
 
2519
+ #: ../includes/class-settings.php:1751
2520
  msgid "Enable escape key"
2521
  msgstr ""
2522
 
2523
+ #: ../includes/class-settings.php:1754
2524
  msgid ""
2525
  "Controls whether pressing the escape key will dismiss the active popup or "
2526
  "not."
2527
  msgstr ""
2528
 
2529
+ #: ../includes/class-settings.php:1758
2530
  msgid "Align top"
2531
  msgstr ""
2532
 
2533
+ #: ../includes/class-settings.php:1761
2534
  msgid "If set to true popup is aligned to top instead of to center."
2535
  msgstr ""
2536
 
2537
+ #: ../includes/class-settings.php:1765
2538
  msgid "Content position type"
2539
  msgstr ""
2540
 
2541
+ #: ../includes/class-settings.php:1768
2542
  msgid ""
2543
  "Popup content position. If set to \"auto\" popup will automatically disable "
2544
  "this option when browser doesn't support fixed position properly."
2545
  msgstr ""
2546
 
2547
+ #: ../includes/class-settings.php:1770 ../includes/class-settings.php:1782
2548
  msgid "Auto"
2549
  msgstr ""
2550
 
2551
+ #: ../includes/class-settings.php:1771 ../includes/class-settings.php:1783
2552
  msgid "Fixed"
2553
  msgstr ""
2554
 
2555
+ #: ../includes/class-settings.php:1772 ../includes/class-settings.php:1784
2556
  msgid "Absolute"
2557
  msgstr ""
2558
 
2559
+ #: ../includes/class-settings.php:1777
2560
  msgid "Fixed background position"
2561
  msgstr ""
2562
 
2563
+ #: ../includes/class-settings.php:1780
2564
  msgid "Dark transluscent overlay content position."
2565
  msgstr ""
2566
 
2567
+ #: ../includes/class-settings.php:1789
2568
  msgid "Auto focus last"
2569
  msgstr ""
2570
 
2571
+ #: ../includes/class-settings.php:1792
2572
  msgid ""
2573
  "If set to true last focused element before popup showup will be focused "
2574
  "after popup close."
2575
  msgstr ""
2576
 
2577
+ #: ../includes/class-settings.php:1814
2578
  #, php-format
2579
  msgid ""
2580
  "Below you'll find a list of available remote media libraries. If you're "
2582
  "the <a href=\"%s\" target=\"_blank\">Remote Library Pro addon</a>."
2583
  msgstr ""
2584
 
2585
+ #: ../includes/class-settings.php:1864 ../includes/class-settings.php:1876
2586
+ #: ../responsive-lightbox.php:1358
2587
  msgid "Responsive Lightbox & Gallery"
2588
  msgstr ""
2589
 
2590
+ #: ../includes/class-settings.php:1878
2591
  msgid "Need support?"
2592
  msgstr ""
2593
 
2594
+ #: ../includes/class-settings.php:1879
2595
  #, php-format
2596
  msgid ""
2597
  "If you are having problems with this plugin, please browse it's <a href=\"%s"
2599
  "\" target=\"_blank\">Support forum</a>"
2600
  msgstr ""
2601
 
2602
+ #: ../includes/class-settings.php:1881
2603
  msgid "Do you like this plugin?"
2604
  msgstr ""
2605
 
2606
+ #: ../includes/class-settings.php:1882
2607
  #, php-format
2608
  msgid "<a href=\"%s\" target=\"_blank\">Rate it 5</a> on WordPress.org"
2609
  msgstr ""
2610
 
2611
+ #: ../includes/class-settings.php:1883
2612
  #, php-format
2613
  msgid ""
2614
  "Blog about it & link to the <a href=\"%s\" target=\"_blank\">plugin page</a>."
2615
  msgstr ""
2616
 
2617
+ #: ../includes/class-settings.php:1884
2618
  #, php-format
2619
  msgid ""
2620
  "Check out our other <a href=\"%s\" target=\"_blank\">WordPress plugins</a>."
2621
  msgstr ""
2622
 
2623
+ #: ../includes/class-settings.php:1927
2624
  msgid "Reset to defaults"
2625
  msgstr ""
2626
 
2627
+ #: ../includes/class-settings.php:2326 ../includes/class-settings.php:2383
2628
  msgid "Settings restored to defaults."
2629
  msgstr ""
2630
 
2631
+ #: ../includes/class-settings.php:2407
2632
  msgid "Role"
2633
  msgstr ""
2634
 
2635
+ #: ../includes/class-settings.php:2453
2636
  msgid "Add-ons / Extensions"
2637
  msgstr ""
2638
 
2639
+ #: ../includes/class-settings.php:2454
2640
  msgid ""
2641
  "Enhance your website with these beautiful, easy to use extensions, designed "
2642
  "with Responsive Lightbox & Gallery integration in mind."
2643
  msgstr ""
2644
 
2645
+ #: ../includes/class-settings.php:2466
2646
  msgid ""
2647
  "There was an error retrieving the extensions list from the server. Please "
2648
  "try again later."
2649
  msgstr ""
2650
 
2651
+ #: ../includes/class-settings.php:2478
2652
  msgid "A list of licenses for your Responsive Lightbox & Gallery extensions."
2653
  msgstr ""
2654
 
2655
+ #: ../includes/class-settings.php:2499
2656
  #, php-format
2657
  msgid ""
2658
  "Enter your license key to activate %s extension and enable automatic upgrade "
2659
  "notices."
2660
  msgstr ""
2661
 
2662
+ #: ../includes/class-tour.php:109
2663
  msgid ""
2664
  "This is an advanced gallery builder. Here you can see a preview of all "
2665
  "created galleries along with their settings, such as the name, type, source "
2667
  "edit existing ones or quickly copy the code allowing its use on the site."
2668
  msgstr ""
2669
 
2670
+ #: ../includes/class-tour.php:129
2671
  msgid "Gallery Categories"
2672
  msgstr ""
2673
 
2674
+ #: ../includes/class-tour.php:130
2675
  msgid ""
2676
  "Gallery categories allow you to arrange galleries into individual groups "
2677
  "that you can potentially use. Here you can create, name and edit them. "
2679
  "editing screen."
2680
  msgstr ""
2681
 
2682
+ #: ../includes/class-tour.php:143
2683
  msgid "Gallery Tags"
2684
  msgstr ""
2685
 
2686
+ #: ../includes/class-tour.php:144
2687
  msgid ""
2688
  "Gallery tags, like categories, allow you to arrange galleries into groups. "
2689
  "You can think of them as keywords, which you can use to further specify your "
2690
  "galleries. Here you can create, name and edit them."
2691
  msgstr ""
2692
 
2693
+ #: ../includes/class-tour.php:158
2694
  msgid ""
2695
  "Here are the main settings for Responsive Lightbox & Gallery. They allow you "
2696
  "to specify general rules of the plugin's operation and technical parameters "
2700
  "its settings."
2701
  msgstr ""
2702
 
2703
+ #: ../includes/class-tour.php:166
2704
  msgid "Lightboxes Settings"
2705
  msgstr ""
2706
 
2707
+ #: ../includes/class-tour.php:167
2708
  msgid ""
2709
  "Each lightbox has different look, possibilities and parameters. Here is a "
2710
  "list of available lightbox effects along with their settings. After entering "
2712
  "can also modify or restore the settings of the others."
2713
  msgstr ""
2714
 
2715
+ #: ../includes/class-tour.php:175
2716
  msgid "Gallery Settings"
2717
  msgstr ""
2718
 
2719
+ #: ../includes/class-tour.php:176
2720
  msgid ""
2721
  "This is the screen of the default gallery settings. As in the case of "
2722
  "lightbox effects, there is a list of available galleries and their "
2725
  "it's default settings."
2726
  msgstr ""
2727
 
2728
+ #: ../includes/class-tour.php:184
2729
  msgid "Builder Settings"
2730
  msgstr ""
2731
 
2732
+ #: ../includes/class-tour.php:185
2733
  msgid ""
2734
  "You can use the galleries in many ways - insert them into posts using the "
2735
  "Add Gallery button, insert manually using shortcodes or add to the theme "
2738
  "builder like categories, tags, archives and permalinks."
2739
  msgstr ""
2740
 
2741
+ #: ../includes/class-tour.php:194
2742
  msgid ""
2743
  "Responsive Lithbox & Gallery comes with an optional Media Folders feature "
2744
  "that extends your WordPress Media Library with visual folders. It allows you "
2746
  "and delete files and folders with a nice drag and drop interface."
2747
  msgstr ""
2748
 
2749
+ #: ../includes/class-tour.php:203
2750
  msgid ""
2751
  "Capabilities give you the ability to control what users can and cannot do "
2752
  "within the plugin. By default only the Administrator role allows a user to "
2754
  "match your specific requirements."
2755
  msgstr ""
2756
 
2757
+ #: ../includes/class-tour.php:221
2758
  msgid ""
2759
  "Are you looking for free royalty free public domain and CC0-Licensed images "
2760
  "for your website? Or you need to access your images stored in photo-sharing "
2764
  "never before."
2765
  msgstr ""
2766
 
2767
+ #: ../includes/class-tour.php:230
2768
  msgid "License Settings"
2769
  msgstr ""
2770
 
2771
+ #: ../includes/class-tour.php:231
2772
  msgid ""
2773
  "This section contains a list of currently installed premium extensions. "
2774
  "Activate your licenses to have access to automatic updates from your site. "
2777
  "our website."
2778
  msgstr ""
2779
 
2780
+ #: ../includes/class-tour.php:240
2781
  msgid ""
2782
  "Responsive Lightbox & Gallery is more than that. Do you need a beautiful "
2783
  "lightbox effect, integration with social media, an attractive image gallery? "
2805
  "lightbox plugin and a powerful gallery builder for WordPress."
2806
  msgstr ""
2807
 
2808
+ #: ../includes/class-welcome.php:69 ../responsive-lightbox.php:926
2809
+ #: ../responsive-lightbox.php:1240
2810
  msgid "Settings"
2811
  msgstr ""
2812
 
2880
  msgid "Image date"
2881
  msgstr ""
2882
 
2883
+ #: ../includes/class-widgets.php:94 ../responsive-lightbox.php:639
2884
  msgid "Default"
2885
  msgstr ""
2886
 
2912
  msgid "Custom gallery shortcode attributes (optional)."
2913
  msgstr ""
2914
 
2915
+ #: ../includes/class-widgets.php:318 ../includes/class-widgets.php:326
2916
  msgid "Image"
2917
  msgstr ""
2918
 
2919
+ #: ../includes/class-widgets.php:320
2920
  msgid "Displays a single image."
2921
  msgstr ""
2922
 
2923
+ #: ../includes/class-widgets.php:340
2924
  msgid "Below the image"
2925
  msgstr ""
2926
 
2927
+ #: ../includes/class-widgets.php:341
2928
  msgid "Above the image"
2929
  msgstr ""
2930
 
2931
  #: ../includes/class-widgets.php:348
2932
+ msgid "Custom URL"
2933
+ msgstr ""
2934
+
2935
+ #: ../includes/class-widgets.php:353
2936
  msgid "Left"
2937
  msgstr ""
2938
 
2939
+ #: ../includes/class-widgets.php:354
2940
  msgid "Center"
2941
  msgstr ""
2942
 
2943
+ #: ../includes/class-widgets.php:355
2944
  msgid "Right"
2945
  msgstr ""
2946
 
2947
+ #: ../includes/class-widgets.php:356
2948
  msgid "Justify"
2949
  msgstr ""
2950
 
2951
+ #: ../includes/class-widgets.php:467 ../responsive-lightbox.php:1772
2952
  msgid "Select image"
2953
  msgstr ""
2954
 
2955
+ #: ../includes/class-widgets.php:476
2956
  msgid "Force responsive"
2957
  msgstr ""
2958
 
2959
+ #: ../includes/class-widgets.php:495
2960
  msgid "Link to"
2961
  msgstr ""
2962
 
2963
+ #: ../includes/class-widgets.php:509
2964
  msgid "URL"
2965
  msgstr ""
2966
 
2967
+ #: ../includes/class-widgets.php:515
2968
  msgid "Image align"
2969
  msgstr ""
2970
 
2971
+ #: ../includes/class-widgets.php:528
2972
  msgid "Text"
2973
  msgstr ""
2974
 
2975
+ #: ../includes/class-widgets.php:532
2976
  msgid "Automatically add paragraphs"
2977
  msgstr ""
2978
 
2979
+ #: ../includes/class-widgets.php:537
2980
  msgid "Text position"
2981
  msgstr ""
2982
 
2983
+ #: ../includes/class-widgets.php:548
2984
  msgid "Text align"
2985
  msgstr ""
2986
 
2987
+ #: ../includes/providers/class-flickr.php:25
2988
  msgid "Flickr"
2989
  msgstr ""
2990
 
2991
+ #: ../includes/providers/class-flickr.php:52
2992
  msgid "Enable Flickr."
2993
  msgstr ""
2994
 
2995
+ #: ../includes/providers/class-flickr.php:54
2996
  msgid "API key"
2997
  msgstr ""
2998
 
2999
+ #: ../includes/providers/class-flickr.php:55
3000
  #, php-format
3001
  msgid "Provide your <a href=\"%s\">Flickr API key</a>."
3002
  msgstr ""
3003
 
3004
+ #: ../includes/providers/class-flickr.php:136
3005
+ #: ../includes/providers/class-unsplash.php:134
3006
+ #: ../includes/providers/class-wikimedia.php:134
3007
  msgid "Responsive Lightbox"
3008
  msgstr ""
3009
 
3010
+ #: ../includes/providers/class-flickr.php:150
3011
+ #: ../includes/providers/class-unsplash.php:148
3012
+ #: ../includes/providers/class-wikimedia.php:148
3013
  msgid "Parsing request error"
3014
  msgstr ""
3015
 
3016
+ #: ../includes/providers/class-unsplash.php:25
3017
  msgid "Unsplash"
3018
  msgstr ""
3019
 
3020
+ #: ../includes/providers/class-unsplash.php:52
3021
  msgid "Enable Unsplash."
3022
  msgstr ""
3023
 
3024
+ #: ../includes/providers/class-unsplash.php:54
3025
  msgid "Access key"
3026
  msgstr ""
3027
 
3028
+ #: ../includes/providers/class-unsplash.php:55
3029
  #, php-format
3030
  msgid "Provide your <a href=\"%s\">Unsplash API key</a>."
3031
  msgstr ""
3032
 
3033
+ #: ../includes/providers/class-wikimedia.php:25
3034
  msgid "Wikimedia"
3035
  msgstr ""
3036
 
3037
+ #: ../includes/providers/class-wikimedia.php:59
3038
  msgid "Enable Wikimedia."
3039
  msgstr ""
3040
 
3041
+ #: ../responsive-lightbox.php:689
3042
  msgid "Publish Galleries"
3043
  msgstr ""
3044
 
3045
+ #: ../responsive-lightbox.php:690
3046
  msgid "Edit Galleries"
3047
  msgstr ""
3048
 
3049
+ #: ../responsive-lightbox.php:691
3050
  msgid "Edit Published Galleries"
3051
  msgstr ""
3052
 
3053
+ #: ../responsive-lightbox.php:692
3054
  msgid "Edit Others Galleries"
3055
  msgstr ""
3056
 
3057
+ #: ../responsive-lightbox.php:693
3058
  msgid "Edit Private Galleries"
3059
  msgstr ""
3060
 
3061
+ #: ../responsive-lightbox.php:694
3062
  msgid "Delete Galleries"
3063
  msgstr ""
3064
 
3065
+ #: ../responsive-lightbox.php:695
3066
  msgid "Delete Published Galleries"
3067
  msgstr ""
3068
 
3069
+ #: ../responsive-lightbox.php:696
3070
  msgid "Delete Others Galleries"
3071
  msgstr ""
3072
 
3073
+ #: ../responsive-lightbox.php:697
3074
  msgid "Delete Private Galleries"
3075
  msgstr ""
3076
 
3077
+ #: ../responsive-lightbox.php:698
3078
  msgid "Read Private Galleries"
3079
  msgstr ""
3080
 
3081
+ #: ../responsive-lightbox.php:699
3082
  msgid "Manage Gallery Categories"
3083
  msgstr ""
3084
 
3085
+ #: ../responsive-lightbox.php:700
3086
  msgid "Manage Gallery Tags"
3087
  msgstr ""
3088
 
3089
+ #: ../responsive-lightbox.php:701
3090
  msgid "Manage Settings"
3091
  msgstr ""
3092
 
3093
+ #: ../responsive-lightbox.php:763
3094
  #, php-format
3095
  msgid ""
3096
  "Hey, you've been using <strong>Responsive Lightbox & Gallery</strong> for "
3097
  "more than %s"
3098
  msgstr ""
3099
 
3100
+ #: ../responsive-lightbox.php:763
3101
  msgid ""
3102
  "Could you please do me a BIG favor and give it a 5-star rating on WordPress "
3103
  "to help us spread the word and boost our motivation."
3104
  msgstr ""
3105
 
3106
+ #: ../responsive-lightbox.php:763
3107
  msgid "Your help is much appreciated. Thank you very much"
3108
  msgstr ""
3109
 
3110
+ #: ../responsive-lightbox.php:763
3111
  #, php-format
3112
  msgid "founder of <a href=\"%s\" target=\"_blank\">dFactory</a> plugins."
3113
  msgstr ""
3114
 
3115
+ #: ../responsive-lightbox.php:763
3116
  #, php-format
3117
  msgid ""
3118
  "<a href=\"%s\" class=\"rl-dismissible-notice\" target=\"_blank\" rel="
3122
  "\" rel=\"noopener\">I already did</a>"
3123
  msgstr ""
3124
 
3125
+ #: ../responsive-lightbox.php:888
3126
  msgid "Support"
3127
  msgstr ""
3128
 
3129
+ #: ../responsive-lightbox.php:952
3130
  msgid "We're sorry to see you go. Could you please tell us what happened?"
3131
  msgstr ""
3132
 
3133
+ #: ../responsive-lightbox.php:956
3134
  msgid "I couldn't figure out how to make it work."
3135
  msgstr ""
3136
 
3137
+ #: ../responsive-lightbox.php:957
3138
  msgid "I found another plugin to use for the same task."
3139
  msgstr ""
3140
 
3141
+ #: ../responsive-lightbox.php:958
3142
  msgid "The User Interface is not clear to me."
3143
  msgstr ""
3144
 
3145
+ #: ../responsive-lightbox.php:959
3146
  msgid "The plugin is not what I was looking for."
3147
  msgstr ""
3148
 
3149
+ #: ../responsive-lightbox.php:960
3150
  msgid "Support isn't timely."
3151
  msgstr ""
3152
 
3153
+ #: ../responsive-lightbox.php:961
3154
  msgid "Other"
3155
  msgstr ""
3156
 
3157
+ #: ../responsive-lightbox.php:976
3158
  msgid "Deactivate"
3159
  msgstr ""
3160
 
3161
+ #: ../responsive-lightbox.php:977
3162
  msgid "Deactivate & Submit"
3163
  msgstr ""
3164
 
3165
+ #: ../responsive-lightbox.php:1071
3166
  msgid "Search Gallery Categories"
3167
  msgstr ""
3168
 
3169
+ #: ../responsive-lightbox.php:1072
3170
  msgid "All Gallery Categories"
3171
  msgstr ""
3172
 
3173
+ #: ../responsive-lightbox.php:1073
3174
  msgid "Parent Gallery Category"
3175
  msgstr ""
3176
 
3177
+ #: ../responsive-lightbox.php:1074
3178
  msgid "Parent Gallery Category:"
3179
  msgstr ""
3180
 
3181
+ #: ../responsive-lightbox.php:1075
3182
  msgid "Edit Gallery Category"
3183
  msgstr ""
3184
 
3185
+ #: ../responsive-lightbox.php:1076
3186
  msgid "View Gallery Category"
3187
  msgstr ""
3188
 
3189
+ #: ../responsive-lightbox.php:1077
3190
  msgid "Update Gallery Category"
3191
  msgstr ""
3192
 
3193
+ #: ../responsive-lightbox.php:1078
3194
  msgid "Add New Gallery Category"
3195
  msgstr ""
3196
 
3197
+ #: ../responsive-lightbox.php:1079
3198
  msgid "New Gallery Category Name"
3199
  msgstr ""
3200
 
3201
+ #: ../responsive-lightbox.php:1114
3202
  msgid "Search Gallery Tags"
3203
  msgstr ""
3204
 
3205
+ #: ../responsive-lightbox.php:1115
3206
  msgid "Popular Gallery Tags"
3207
  msgstr ""
3208
 
3209
+ #: ../responsive-lightbox.php:1116
3210
  msgid "All Gallery Tags"
3211
  msgstr ""
3212
 
3213
+ #: ../responsive-lightbox.php:1119
3214
  msgid "Edit Gallery Tag"
3215
  msgstr ""
3216
 
3217
+ #: ../responsive-lightbox.php:1120
3218
  msgid "Update Gallery Tag"
3219
  msgstr ""
3220
 
3221
+ #: ../responsive-lightbox.php:1121
3222
  msgid "Add New Gallery Tag"
3223
  msgstr ""
3224
 
3225
+ #: ../responsive-lightbox.php:1122
3226
  msgid "New Gallery Tag Name"
3227
  msgstr ""
3228
 
3229
+ #: ../responsive-lightbox.php:1123
3230
  msgid "Separate gallery tags with commas"
3231
  msgstr ""
3232
 
3233
+ #: ../responsive-lightbox.php:1124
3234
  msgid "Add or remove gallery tags"
3235
  msgstr ""
3236
 
3237
+ #: ../responsive-lightbox.php:1125
3238
  msgid "Choose from the most used gallery tags"
3239
  msgstr ""
3240
 
3241
+ #: ../responsive-lightbox.php:1155
3242
  msgid "Add New"
3243
  msgstr ""
3244
 
3245
+ #: ../responsive-lightbox.php:1156
3246
  msgid "Add New Gallery"
3247
  msgstr ""
3248
 
3249
+ #: ../responsive-lightbox.php:1157
3250
  msgid "Edit Gallery"
3251
  msgstr ""
3252
 
3253
+ #: ../responsive-lightbox.php:1158
3254
  msgid "New Gallery"
3255
  msgstr ""
3256
 
3257
+ #: ../responsive-lightbox.php:1159
3258
  msgid "View Gallery"
3259
  msgstr ""
3260
 
3261
+ #: ../responsive-lightbox.php:1160
3262
  msgid "View Galleries"
3263
  msgstr ""
3264
 
3265
+ #: ../responsive-lightbox.php:1161
3266
  msgid "Search Galleries"
3267
  msgstr ""
3268
 
3269
+ #: ../responsive-lightbox.php:1162
3270
  msgid "No galleries found"
3271
  msgstr ""
3272
 
3273
+ #: ../responsive-lightbox.php:1163
3274
  msgid "No galleries found in trash"
3275
  msgstr ""
3276
 
3277
+ #: ../responsive-lightbox.php:1164
3278
  msgid "All Galleries"
3279
  msgstr ""
3280
 
3281
+ #: ../responsive-lightbox.php:1301
3282
  msgid "New gallery"
3283
  msgstr ""
3284
 
3285
+ #: ../responsive-lightbox.php:1321
3286
  msgid "Edit category"
3287
  msgstr ""
3288
 
3289
+ #: ../responsive-lightbox.php:1341
3290
  msgid "Edit tag"
3291
  msgstr ""
3292
 
3293
+ #: ../responsive-lightbox.php:1414 ../responsive-lightbox.php:1415
3294
  msgid "Gallery updated."
3295
  msgstr ""
3296
 
3297
+ #: ../responsive-lightbox.php:1416
3298
  #, php-format
3299
  msgid "Gallery restored to revision from %s"
3300
  msgstr ""
3301
 
3302
+ #: ../responsive-lightbox.php:1417
3303
  msgid "Gallery published."
3304
  msgstr ""
3305
 
3306
+ #: ../responsive-lightbox.php:1418
3307
  msgid "Gallery saved."
3308
  msgstr ""
3309
 
3310
+ #: ../responsive-lightbox.php:1419
3311
  msgid "Gallery submitted."
3312
  msgstr ""
3313
 
3314
+ #: ../responsive-lightbox.php:1420
3315
  #, php-format
3316
  msgid "Gallery scheduled for: <strong>%1$s</strong>."
3317
  msgstr ""
3318
 
3319
+ #: ../responsive-lightbox.php:1420
3320
  msgid "M j, Y @ G:i"
3321
  msgstr ""
3322
 
3396
  msgid "Are you sure you want to reset these settings to defaults?"
3397
  msgstr ""
3398
 
3399
+ #: ../responsive-lightbox.php:1613
3400
+ msgid "Select gallery items"
3401
  msgstr ""
3402
 
3403
+ #: ../responsive-lightbox.php:1614
3404
+ msgid "Use these items"
3405
+ msgstr ""
3406
+
3407
+ #: ../responsive-lightbox.php:1615
3408
+ msgid "Clear selected items"
3409
+ msgstr ""
3410
+
3411
+ #: ../responsive-lightbox.php:1616
3412
+ msgid "Selected gallery items"
3413
+ msgstr ""
3414
+
3415
+ #: ../responsive-lightbox.php:1617
3416
  msgid "Edit attachment"
3417
  msgstr ""
3418
 
3419
+ #: ../responsive-lightbox.php:1618
3420
+ msgid "Edit embed video"
3421
  msgstr ""
3422
 
3423
+ #: ../responsive-lightbox.php:1619
3424
+ msgid "Video details"
3425
+ msgstr ""
3426
+
3427
+ #: ../responsive-lightbox.php:1620
3428
+ msgid "Save changes"
3429
+ msgstr ""
3430
+
3431
+ #: ../responsive-lightbox.php:1621
3432
+ msgid "Embed Video"
3433
+ msgstr ""
3434
+
3435
+ #: ../responsive-lightbox.php:1622
3436
+ #, php-format
3437
+ msgid "Videos can be embedded only from the following providers: %s."
3438
+ msgstr ""
3439
+
3440
+ #: ../responsive-lightbox.php:1654
3441
  msgid "Responsive Lightbox & Gallery - Deactivation survey"
3442
  msgstr ""
3443
 
3444
+ #: ../responsive-lightbox.php:1773
3445
+ msgid "Use these images"
3446
+ msgstr ""
3447
+
3448
+ #: ../responsive-lightbox.php:1774
3449
  msgid "Use this image"
3450
  msgstr ""
readme.txt CHANGED
@@ -3,9 +3,9 @@ Contributors: dfactory
3
  Donate link: http://www.dfactory.eu/
4
  Tags: gallery, galleries, image, images, responsive, lightbox, photo, photography, masonry, video, builder
5
  Requires at least: 5.0
6
- Tested up to: 5.9.1
7
- Stable tag: 2.3.5
8
- Requires PHP: 5.3.0
9
  License: MIT License
10
  License URI: http://opensource.org/licenses/MIT
11
 
@@ -139,6 +139,14 @@ Responsive Lightbox and Gallery plugin comes with many styles and effects alread
139
 
140
  == Changelog ==
141
 
 
 
 
 
 
 
 
 
142
  = 2.3.5 =
143
  * Fix: Insert gallery double preview
144
  * Tweak: Display of horizontal / vertical igallery images
@@ -483,8 +491,5 @@ Initial release
483
 
484
  == Upgrade Notice ==
485
 
486
- = 2.3.5 =
487
- * Fix: Insert gallery double preview
488
- * Tweak: Display of horizontal / vertical igallery images
489
- * Tweak: Improved gallery images loading performance
490
- * Tweak: Add gallery number of images displayed
3
  Donate link: http://www.dfactory.eu/
4
  Tags: gallery, galleries, image, images, responsive, lightbox, photo, photography, masonry, video, builder
5
  Requires at least: 5.0
6
+ Tested up to: 6.0
7
+ Stable tag: 2.4.0
8
+ Requires PHP: 5.4
9
  License: MIT License
10
  License URI: http://opensource.org/licenses/MIT
11
 
139
 
140
  == Changelog ==
141
 
142
+ = 2.4.0 =
143
+ * New: WordPress 6.0 compatibility
144
+ * New: HTML5 Media Library videos support (with Lightgallery, Fancybox Pro and Lightcase lightboxes)
145
+ * New: Embed Youtube & Vimeo videos support (with Lightgallery, Fancybox Pro and Lightcase lightboxes)
146
+ * New: [Lightbox Comments](https://dfactory.co/products/lightbox-comments/) extension
147
+ * New: WP Gallery block support
148
+ * New: WP Image block support
149
+
150
  = 2.3.5 =
151
  * Fix: Insert gallery double preview
152
  * Tweak: Display of horizontal / vertical igallery images
491
 
492
  == Upgrade Notice ==
493
 
494
+ = 2.4.0 =
495
+ WordPress 6.0 compatibility, HTML5 Media Library videos support & emmbed Youtube & Vimeo videos support (with Lightgallery, Fancybox Pro and Lightcase lightboxes)
 
 
 
responsive-lightbox.php CHANGED
@@ -2,7 +2,7 @@
2
  /*
3
  Plugin Name: Responsive Lightbox & Gallery
4
  Description: Responsive Lightbox & Gallery allows users to create galleries and view larger versions of images, galleries and videos in a lightbox (overlay) effect optimized for mobile devices.
5
- Version: 2.3.5
6
  Author: dFactory
7
  Author URI: http://www.dfactory.eu/
8
  Plugin URI: http://www.dfactory.eu/plugins/responsive-lightbox/
@@ -43,12 +43,12 @@ include_once( RESPONSIVE_LIGHTBOX_PATH . 'includes' . DIRECTORY_SEPARATOR . 'fun
43
  * Responsive Lightbox class.
44
  *
45
  * @class Responsive_Lightbox
46
- * @version 2.3.5
47
  */
48
  class Responsive_Lightbox {
49
 
50
- public $defaults = array(
51
- 'settings' => array(
52
  'tour' => true,
53
  'script' => 'swipebox',
54
  'selector' => 'lightbox',
@@ -76,8 +76,8 @@ class Responsive_Lightbox {
76
  'update_version' => 1,
77
  'update_notice' => true,
78
  'update_delay_date' => 0
79
- ),
80
- 'builder' => array(
81
  'gallery_builder' => true,
82
  'categories' => true,
83
  'tags' => true,
@@ -86,9 +86,9 @@ class Responsive_Lightbox {
86
  'permalink_tags' => 'rl_tag',
87
  'archives' => true,
88
  'archives_category' => 'all'
89
- ),
90
- 'configuration' => array(
91
- 'swipebox' => array(
92
  'animation' => 'css',
93
  'force_png_icons' => false,
94
  'hide_close_mobile' => false,
@@ -97,8 +97,8 @@ class Responsive_Lightbox {
97
  'hide_bars_delay' => 5000,
98
  'video_max_width' => 1080,
99
  'loop_at_end' => false
100
- ),
101
- 'prettyphoto' => array(
102
  'animation_speed' => 'normal',
103
  'slideshow' => false,
104
  'slideshow_delay' => 5000,
@@ -120,8 +120,8 @@ class Responsive_Lightbox {
120
  'overlay_gallery' => true,
121
  'keyboard_shortcuts' => true,
122
  'social' => false
123
- ),
124
- 'fancybox' => array(
125
  'modal' => false,
126
  'show_overlay' => true,
127
  'show_close_button' => true,
@@ -147,22 +147,22 @@ class Responsive_Lightbox {
147
  'margin' => 5,
148
  'video_width' => 1080,
149
  'video_height' => 720
150
- ),
151
- 'nivo' => array(
152
  'effect' => 'fade',
153
  'click_overlay_to_close' => true,
154
  'keyboard_nav' => true,
155
  'error_message' => 'The requested content cannot be loaded. Please try again later.'
156
- ),
157
- 'imagelightbox' => array(
158
  'animation_speed' => 250,
159
  'preload_next' => true,
160
  'enable_keyboard' => true,
161
  'quit_on_end' => false,
162
  'quit_on_image_click' => false,
163
  'quit_on_document_click' => true
164
- ),
165
- 'tosrus' => array(
166
  'effect' => 'slide',
167
  'infinite' => true,
168
  'keys' => false,
@@ -172,16 +172,16 @@ class Responsive_Lightbox {
172
  'pagination' => true,
173
  'pagination_type' => 'thumbnails',
174
  'close_on_click' => false
175
- ),
176
- 'featherlight' => array(
177
  'open_speed' => 250,
178
  'close_speed' => 250,
179
  'close_on_click' => 'background',
180
  'close_on_esc' => true,
181
  'gallery_fade_in' => 100,
182
  'gallery_fade_out' => 300
183
- ),
184
- 'magnific' => array(
185
  'disable_on' => 0,
186
  'mid_click' => true,
187
  'preloader' => true,
@@ -194,36 +194,36 @@ class Responsive_Lightbox {
194
  'fixed_content_position' => 'auto',
195
  'fixed_background_position' => 'auto',
196
  'auto_focus_last' => true
197
- )
198
- ),
199
- 'folders' => array(
200
  'active' => true,
201
  'media_taxonomy' => 'rl_media_folder',
202
  'media_tags' => false,
203
  'jstree_wholerow' => true,
204
  'show_in_menu' => false,
205
  'folders_removal' => true
206
- ),
207
- 'remote_library' => array(
208
  'active' => true,
209
  'caching' => false,
210
  'cache_expiry' => 1,
211
- 'flickr' => array(
212
  'active' => false,
213
  'api_key' => ''
214
- ),
215
- 'unsplash' => array(
216
  'active' => false,
217
  'api_key' => ''
218
- ),
219
- 'wikimedia' => array(
220
  'active' => true
221
- )
222
- ),
223
- 'capabilities' => array(
224
  'active' => false,
225
- 'roles' => array(
226
- 'administrator' => array(
227
  'publish_galleries',
228
  'edit_galleries',
229
  'edit_published_galleries',
@@ -237,8 +237,8 @@ class Responsive_Lightbox {
237
  'manage_gallery_categories',
238
  'manage_gallery_tags',
239
  'edit_lightbox_settings'
240
- ),
241
- 'editor' => array(
242
  'publish_galleries',
243
  'edit_galleries',
244
  'edit_published_galleries',
@@ -251,17 +251,17 @@ class Responsive_Lightbox {
251
  'read_private_galleries',
252
  'manage_gallery_categories',
253
  'manage_gallery_tags'
254
- ),
255
- 'author' => array(
256
  'publish_galleries',
257
  'edit_galleries',
258
  'edit_published_galleries',
259
  'delete_galleries',
260
  'delete_published_galleries'
261
- )
262
- )
263
- ),
264
- 'basicgrid_gallery' => array(
265
  'columns_lg' => 4,
266
  'columns_md' => 3,
267
  'columns_sm' => 2,
@@ -269,8 +269,8 @@ class Responsive_Lightbox {
269
  'gutter' => 2,
270
  'force_height' => false,
271
  'row_height' => 150
272
- ),
273
- 'basicslider_gallery' => array(
274
  'adaptive_height' => true,
275
  'loop' => false,
276
  'captions' => 'overlay',
@@ -293,8 +293,8 @@ class Responsive_Lightbox {
293
  'slideshow_hover_delay' => 100,
294
  'slideshow_delay' => 500,
295
  'slideshow_pause' => 3000
296
- ),
297
- 'basicmasonry_gallery' => array(
298
  'columns_lg' => 4,
299
  'columns_md' => 3,
300
  'columns_sm' => 2,
@@ -303,13 +303,13 @@ class Responsive_Lightbox {
303
  'margin' => 20,
304
  'origin_left' => true,
305
  'origin_top' => true
306
- ),
307
- 'version' => '2.3.5',
308
  'activation_date' => ''
309
- );
310
- public $options = array();
311
- public $providers = array();
312
- public $capabilities = array(
313
  'publish_galleries' => '',
314
  'edit_galleries' => '',
315
  'edit_published_galleries' => '',
@@ -323,11 +323,11 @@ class Responsive_Lightbox {
323
  'manage_gallery_categories' => '',
324
  'manage_gallery_tags' => '',
325
  'edit_lightbox_settings' => ''
326
- );
327
- public $gallery_types = array();
328
  private $deactivaion_url = '';
329
  private $version = false;
330
- private $notices = array();
331
  private static $_instance;
332
 
333
  /**
@@ -336,8 +336,8 @@ class Responsive_Lightbox {
336
  * @return void
337
  */
338
  public function __construct() {
339
- register_activation_hook( __FILE__, array( $this, 'activate_multisite' ) );
340
- register_deactivation_hook( __FILE__, array( $this, 'deactivate_multisite' ) );
341
 
342
  // change from older versions
343
  $this->version = $db_version = get_option( 'responsive_lightbox_version' );
@@ -362,45 +362,45 @@ class Responsive_Lightbox {
362
  $capabilities = get_option( 'responsive_lightbox_capabilities' );
363
 
364
  if ( empty( $capabilities ) )
365
- $capabilities = array();
366
 
367
- $this->options['settings'] = array_merge( $this->defaults['settings'], ( ( $array = get_option( 'responsive_lightbox_settings' ) ) === false ? array() : $array ) );
368
- $this->options['folders'] = array_merge( $this->defaults['folders'], ( ( $array = get_option( 'responsive_lightbox_folders' ) ) === false ? array() : $array ) );
369
- $this->options['builder'] = array_merge( $this->defaults['builder'], ( ( $array = get_option( 'responsive_lightbox_builder' ) ) === false ? array() : $array ) );
370
  $this->options['capabilities'] = array_merge( $this->defaults['capabilities'], $capabilities );
371
- $this->options['remote_library'] = array_merge( $this->defaults['remote_library'], ( ( $array = get_option( 'responsive_lightbox_remote_library' ) ) === false ? array() : $array ) );
372
 
373
  // for multi arrays we have to merge them separately
374
- $db_conf_opts = ( ( $base = get_option( 'responsive_lightbox_configuration' ) ) === false ? array() : $base );
375
 
376
  foreach ( $this->defaults['configuration'] as $script => $settings ) {
377
- $this->options['configuration'][$script] = array_merge( $settings, ( isset( $db_conf_opts[$script] ) ? $db_conf_opts[$script] : array() ) );
378
  }
379
 
380
  // add default galleries options
381
- $this->options['basicgrid_gallery'] = array_merge( $this->defaults['basicgrid_gallery'], ( ( $array = get_option( 'responsive_lightbox_basicgrid_gallery', $this->defaults['basicgrid_gallery'] ) ) == false ? array() : $array ) );
382
- $this->options['basicslider_gallery'] = array_merge( $this->defaults['basicslider_gallery'], ( ( $array = get_option( 'responsive_lightbox_basicslider_gallery', $this->defaults['basicslider_gallery'] ) ) == false ? array() : $array ) );
383
- $this->options['basicmasonry_gallery'] = array_merge( $this->defaults['basicmasonry_gallery'], ( ( $array = get_option( 'responsive_lightbox_basicmasonry_gallery', $this->defaults['basicmasonry_gallery'] ) ) == false ? array() : $array ) );
384
 
385
  // actions
386
- add_action( 'upgrader_process_complete', array( $this, 'update_plugin' ), 10, 2 );
387
- add_action( 'plugins_loaded', array( $this, 'plugins_loaded_init' ) );
388
- add_action( 'in_admin_header', array( $this, 'display_breadcrumbs' ) );
389
- add_action( 'after_setup_theme', array( $this, 'init_remote_libraries' ), 11 );
390
- add_action( 'init', array( $this, 'init_galleries' ) );
391
- add_action( 'init', array( $this, 'init_folders' ) );
392
- add_action( 'init', array( $this, 'init_gutenberg' ) );
393
- add_action( 'admin_init', array( $this, 'update_notice' ) );
394
- add_action( 'wp_enqueue_scripts', array( $this, 'front_scripts_styles' ) );
395
- add_action( 'admin_enqueue_scripts', array( $this, 'admin_scripts_styles' ) );
396
- add_action( 'sidebar_admin_setup', array( $this, 'sidebar_admin_setup' ) );
397
- add_action( 'admin_footer', array( $this, 'modal_deactivation_template' ) );
398
- add_action( 'wp_ajax_rl_dismiss_notice', array( $this, 'dismiss_notice' ) );
399
- add_action( 'wp_ajax_rl-deactivate-plugin', array( $this, 'deactivate_plugin' ) );
400
 
401
  // filters
402
- add_filter( 'plugin_action_links', array( $this, 'plugin_settings_link' ), 10, 2 );
403
- add_filter( 'plugin_row_meta', array( $this, 'plugin_extend_links' ), 10, 2 );
404
  }
405
 
406
  /**
@@ -415,7 +415,7 @@ class Responsive_Lightbox {
415
 
416
  /**
417
  * Main Responsive Lightbox instance.
418
- *
419
  * @return object
420
  */
421
  public static function instance() {
@@ -506,7 +506,7 @@ class Responsive_Lightbox {
506
  if ( is_multisite() && $networkwide ) {
507
  global $wpdb;
508
 
509
- $activated_blogs = array();
510
  $current_blog_id = $wpdb->blogid;
511
  $blogs_ids = $wpdb->get_col( $wpdb->prepare( 'SELECT blog_id FROM ' . $wpdb->blogs, '' ) );
512
 
@@ -517,7 +517,7 @@ class Responsive_Lightbox {
517
  }
518
 
519
  switch_to_blog( $current_blog_id );
520
- update_site_option( 'responsive_lightbox_activated_blogs', $activated_blogs, array() );
521
  } else
522
  $this->activate_single();
523
  }
@@ -536,7 +536,7 @@ class Responsive_Lightbox {
536
  $blogs_ids = $wpdb->get_col( $wpdb->prepare( 'SELECT blog_id FROM ' . $wpdb->blogs, '' ) );
537
 
538
  if ( ($activated_blogs = get_site_option( 'responsive_lightbox_activated_blogs', false, false )) === false )
539
- $activated_blogs = array();
540
 
541
  foreach ( $blogs_ids as $blog_id ) {
542
  switch_to_blog( $blog_id );
@@ -635,12 +635,12 @@ class Responsive_Lightbox {
635
  load_plugin_textdomain( 'responsive-lightbox', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' );
636
 
637
  // set gallery types
638
- $this->gallery_types = array(
639
  'default' => __( 'Default', 'responsive-lightbox' ),
640
  'basicgrid' => __( 'Basic Grid', 'responsive-lightbox' ),
641
  'basicslider' => __( 'Basic Slider', 'responsive-lightbox' ),
642
  'basicmasonry' => __( 'Basic Masonry', 'responsive-lightbox' )
643
- );
644
 
645
  // only for backend
646
  if ( is_admin() ) {
@@ -685,7 +685,7 @@ class Responsive_Lightbox {
685
  update_option( 'responsive_lightbox_settings', $this->options['settings'], false );
686
 
687
  // set capabilities with labels
688
- $this->capabilities = array(
689
  'publish_galleries' => __( 'Publish Galleries', 'responsive-lightbox' ),
690
  'edit_galleries' => __( 'Edit Galleries', 'responsive-lightbox' ),
691
  'edit_published_galleries' => __( 'Edit Published Galleries', 'responsive-lightbox' ),
@@ -699,7 +699,7 @@ class Responsive_Lightbox {
699
  'manage_gallery_categories' => __( 'Manage Gallery Categories', 'responsive-lightbox' ),
700
  'manage_gallery_tags' => __( 'Manage Gallery Tags', 'responsive-lightbox' ),
701
  'edit_lightbox_settings' => __( 'Manage Settings', 'responsive-lightbox' )
702
- );
703
 
704
  // 2.3.0 update
705
  if ( version_compare( $this->version, '2.3.0', '<' ) ) {
@@ -731,7 +731,7 @@ class Responsive_Lightbox {
731
 
732
  if ( $this->options['settings']['update_version'] < $current_update ) {
733
  // check version, if update ver is lower than plugin ver, set update notice to true
734
- $this->options['settings'] = array_merge( $this->options['settings'], array( 'update_version' => $current_update, 'update_notice' => true ) );
735
 
736
  update_option( 'responsive_lightbox_settings', $this->options['settings'] );
737
 
@@ -745,7 +745,7 @@ class Responsive_Lightbox {
745
  // display current version notice
746
  if ( $this->options['settings']['update_notice'] === true ) {
747
  // include notice js, only if needed
748
- add_action( 'admin_print_scripts', array( $this, 'admin_inline_js' ), 999 );
749
 
750
  // get activation date
751
  $activation_date = get_option( 'responsive_lightbox_activation_date' );
@@ -780,14 +780,14 @@ class Responsive_Lightbox {
780
  // delay notice
781
  case 'delay':
782
  // set delay period to 1 week from now
783
- $this->options['settings'] = array_merge( $this->options['settings'], array( 'update_delay_date' => time() + 1209600 ) );
784
  update_option( 'responsive_lightbox_settings', $this->options['settings'] );
785
  break;
786
 
787
  // hide notice
788
  default:
789
- $this->options['settings'] = array_merge( $this->options['settings'], array( 'update_notice' => false ) );
790
- $this->options['settings'] = array_merge( $this->options['settings'], array( 'update_delay_date' => 0 ) );
791
 
792
  update_option( 'responsive_lightbox_settings', $this->options['settings'] );
793
  }
@@ -806,16 +806,16 @@ class Responsive_Lightbox {
806
  * @return void
807
  */
808
  public function add_notice( $html = '', $status = 'error', $paragraph = true, $network = false ) {
809
- $this->notices[] = array(
810
  'html' => $html,
811
- 'status' => $status,
812
- 'paragraph' => $paragraph
813
- );
814
 
815
- add_action( 'admin_notices', array( $this, 'display_notice') );
816
 
817
  if ( $network )
818
- add_action( 'network_admin_notices', array( $this, 'display_notice') );
819
  }
820
 
821
  /**
@@ -850,18 +850,18 @@ class Responsive_Lightbox {
850
  // save dismiss state
851
  $( '.rl-notice.is-dismissible' ).on( 'click', '.notice-dismiss, .rl-dismissible-notice', function( e ) {
852
  var notice_action = 'hide';
853
-
854
  if ( $( e.currentTarget ).hasClass( 'rl-delay-notice' ) ) {
855
  notice_action = 'delay'
856
  }
857
-
858
  $.post( ajaxurl, {
859
  action: 'rl_dismiss_notice',
860
  notice_action: notice_action,
861
  url: '<?php echo admin_url( 'admin-ajax.php' ); ?>',
862
  nonce: '<?php echo wp_create_nonce( 'rl_dismiss_notice' ); ?>'
863
  } );
864
-
865
  $( e.delegateTarget ).slideUp( 'fast' );
866
  } );
867
  } );
@@ -885,7 +885,7 @@ class Responsive_Lightbox {
885
 
886
  if ( $file == $plugin ) {
887
  return array_merge(
888
- $links, array( sprintf( '<a href="https://dfactory.eu/support/forum/responsive-lightbox/" target="_blank">%s</a>', __( 'Support', 'responsive-lightbox' ) ) )
889
  );
890
  }
891
 
@@ -952,14 +952,14 @@ class Responsive_Lightbox {
952
  <p><em>' . __( "We're sorry to see you go. Could you please tell us what happened?", 'responsive-lightbox' ) . '</em></p>
953
  <ul>';
954
 
955
- foreach ( array(
956
  '1' => __( "I couldn't figure out how to make it work.", 'responsive-lightbox' ),
957
  '2' => __( 'I found another plugin to use for the same task.', 'responsive-lightbox' ),
958
  '3' => __( 'The User Interface is not clear to me.', 'responsive-lightbox' ),
959
  '4' => __( 'The plugin is not what I was looking for.', 'responsive-lightbox' ),
960
  '5' => __( "Support isn't timely.", 'responsive-lightbox' ),
961
  '6' => __( 'Other', 'responsive-lightbox' )
962
- ) as $option => $text ) {
963
  echo '
964
  <li><label><input type="radio" name="rl_deactivation_option" value="' . $option . '" ' . checked( '6', $option, false ) . ' />' . esc_html( $text ) . '</label></li>';
965
  }
@@ -994,22 +994,23 @@ class Responsive_Lightbox {
994
  if ( isset( $_POST['option_id'] ) ) {
995
  $option_id = (int) $_POST['option_id'];
996
  $other = esc_html( $_POST['other'] );
997
-
998
  // avoid fake submissions
999
  if ( $option_id == 6 && $other == '' )
1000
  wp_send_json_success();
1001
 
1002
  wp_remote_post(
1003
- 'https://dfactory.eu/wp-json/api/v1/forms/', array(
1004
- 'timeout' => 5,
1005
- 'blocking' => true,
1006
- 'headers' => array(),
1007
- 'body' => array(
1008
- 'id' => 13,
1009
- 'option' => $option_id,
1010
- 'other' => $other
1011
- )
1012
- )
 
1013
  );
1014
 
1015
  wp_send_json_success();
@@ -1053,15 +1054,18 @@ class Responsive_Lightbox {
1053
  if ( ! $this->options['builder']['gallery_builder'] )
1054
  return;
1055
 
1056
- $taxonomies = array();
 
 
 
1057
 
1058
  if ( $this->options['builder']['categories'] ) {
1059
  $taxonomies[] = 'rl_category';
1060
 
1061
- $data = array(
1062
  'public' => true,
1063
  'hierarchical' => true,
1064
- 'labels' => array(
1065
  'name' => _x( 'Gallery Categories', 'taxonomy general name', 'responsive-lightbox' ),
1066
  'singular_name' => _x( 'Gallery Category', 'taxonomy singular name', 'responsive-lightbox' ),
1067
  'search_items' => __( 'Search Gallery Categories', 'responsive-lightbox' ),
@@ -1074,25 +1078,25 @@ class Responsive_Lightbox {
1074
  'add_new_item' => __( 'Add New Gallery Category', 'responsive-lightbox' ),
1075
  'new_item_name' => __( 'New Gallery Category Name', 'responsive-lightbox' ),
1076
  'menu_name' => __( 'Categories', 'responsive-lightbox' )
1077
- ),
1078
  'show_ui' => true,
1079
  'show_admin_column' => true,
1080
  'update_count_callback' => '_update_post_term_count',
1081
  'query_var' => true,
1082
- 'rewrite' => array(
1083
  'slug' => $this->options['builder']['permalink_categories'],
1084
  'with_front' => false,
1085
  'hierarchical' => false
1086
- )
1087
- );
1088
 
1089
  if ( $this->options['capabilities']['active'] ) {
1090
- $data['capabilities'] = array(
1091
  'manage_terms' => 'manage_gallery_categories',
1092
  'edit_terms' => 'manage_gallery_categories',
1093
  'delete_terms' => 'manage_gallery_categories',
1094
  'assign_terms' => 'edit_galleries'
1095
- );
1096
  }
1097
 
1098
  register_taxonomy( 'rl_category', 'rl_gallery', $data );
@@ -1101,10 +1105,10 @@ class Responsive_Lightbox {
1101
  if ( $this->options['builder']['tags'] ) {
1102
  $taxonomies[] = 'rl_tag';
1103
 
1104
- $data = array(
1105
  'public' => true,
1106
  'hierarchical' => false,
1107
- 'labels' => array(
1108
  'name' => _x( 'Gallery Tags', 'taxonomy general name', 'responsive-lightbox' ),
1109
  'singular_name' => _x( 'Gallery Tag', 'taxonomy singular name', 'responsive-lightbox' ),
1110
  'search_items' => __( 'Search Gallery Tags', 'responsive-lightbox' ),
@@ -1120,32 +1124,32 @@ class Responsive_Lightbox {
1120
  'add_or_remove_items' => __( 'Add or remove gallery tags', 'responsive-lightbox' ),
1121
  'choose_from_most_used' => __( 'Choose from the most used gallery tags', 'responsive-lightbox' ),
1122
  'menu_name' => __( 'Tags', 'responsive-lightbox' )
1123
- ),
1124
  'show_ui' => true,
1125
  'show_admin_column' => true,
1126
  'update_count_callback' => '_update_post_term_count',
1127
  'query_var' => true,
1128
- 'rewrite' => array(
1129
  'slug' => $this->options['builder']['permalink_tags'],
1130
  'with_front' => false,
1131
  'hierarchical' => false
1132
- )
1133
- );
1134
 
1135
  if ( $this->options['capabilities']['active'] ) {
1136
- $data['capabilities'] = array(
1137
  'manage_terms' => 'manage_gallery_tags',
1138
  'edit_terms' => 'manage_gallery_tags',
1139
  'delete_terms' => 'manage_gallery_tags',
1140
  'assign_terms' => 'edit_galleries'
1141
- );
1142
  }
1143
 
1144
  register_taxonomy( 'rl_tag', 'rl_gallery', $data );
1145
  }
1146
 
1147
- $data = array(
1148
- 'labels' => array(
1149
  'name' => _x( 'Galleries', 'post type general name', 'responsive-lightbox' ),
1150
  'singular_name' => _x( 'Gallery', 'post type singular name', 'responsive-lightbox' ),
1151
  'add_new' => __( 'Add New', 'responsive-lightbox' ),
@@ -1159,7 +1163,7 @@ class Responsive_Lightbox {
1159
  'not_found_in_trash' => __( 'No galleries found in trash', 'responsive-lightbox' ),
1160
  'all_items' => __( 'All Galleries', 'responsive-lightbox' ),
1161
  'menu_name' => __( 'Gallery', 'responsive-lightbox' )
1162
- ),
1163
  'description' => '',
1164
  'public' => true,
1165
  'exclude_from_search' => false,
@@ -1172,22 +1176,22 @@ class Responsive_Lightbox {
1172
  'menu_icon' => 'dashicons-format-gallery',
1173
  'map_meta_cap' => true,
1174
  'hierarchical' => false,
1175
- 'supports' => array( 'title', 'author', 'thumbnail' ),
1176
  'has_archive' => $this->options['builder']['archives'],
1177
  'query_var' => true,
1178
  'can_export' => true,
1179
  'taxonomies' => $taxonomies,
1180
- 'rewrite' => array(
1181
  'slug' => $this->options['builder']['permalink'],
1182
  'with_front' => false,
1183
  'feed' => true,
1184
  'pages' => true
1185
- )
1186
- );
1187
 
1188
  if ( $this->options['capabilities']['active'] ) {
1189
- $data['capability_type'] = array( 'gallery', 'galleries' );
1190
- $data['capabilities'] = array(
1191
  'publish_posts' => 'publish_galleries',
1192
  'edit_posts' => 'edit_galleries',
1193
  'edit_published_posts' => 'edit_published_galleries',
@@ -1201,16 +1205,16 @@ class Responsive_Lightbox {
1201
  'edit_post' => 'edit_gallery',
1202
  'delete_post' => 'delete_gallery',
1203
  'read_post' => 'read_gallery'
1204
- );
1205
  }
1206
 
1207
  // register rl_gallery
1208
  register_post_type( 'rl_gallery', $data );
1209
 
1210
  if ( $this->options['builder']['archives'] && $this->options['builder']['archives_category'] !== 'all' && ! is_admin() )
1211
- add_action( 'pre_get_posts', array( $this, 'gallery_archives' ) );
1212
 
1213
- add_filter( 'post_updated_messages', array( $this, 'post_updated_messages' ) );
1214
  }
1215
 
1216
  /**
@@ -1221,7 +1225,7 @@ class Responsive_Lightbox {
1221
  public function display_breadcrumbs() {
1222
  global $pagenow, $typenow;
1223
 
1224
- $breadcrumbs = array();
1225
 
1226
  // get settings
1227
  $settings = Responsive_Lightbox()->settings;
@@ -1231,117 +1235,117 @@ class Responsive_Lightbox {
1231
  $tab_key = isset( $tabs[1] ) ? $tabs[1] : 'settings';
1232
  $section_key = isset( $_GET['section'] ) ? esc_attr( $_GET['section'] ) : ( ! empty( $settings->tabs[$tab_key]['default_section'] ) ? $settings->tabs[$tab_key]['default_section'] : '' );
1233
 
1234
- $breadcrumbs[] = array(
1235
  'url' => admin_url( 'admin.php?page=responsive-lightbox-settings' ),
1236
  'name' => __( 'Settings', 'responsive-lightbox' )
1237
- );
1238
 
1239
  if ( $tab_key === 'configuration' ) {
1240
- $breadcrumbs[] = array(
1241
  'url' => admin_url( 'admin.php?page=responsive-lightbox-configuration' ),
1242
  'name' => $settings->tabs[$tab_key]['name']
1243
- );
1244
 
1245
  // valid lightbox script?
1246
  if ( array_key_exists( $section_key, $settings->scripts ) ) {
1247
- $breadcrumbs[] = array(
1248
  'url' => '',
1249
  'name' => $settings->scripts[$section_key]['name']
1250
- );
1251
  }
1252
  } elseif ( $tab_key === 'gallery' ) {
1253
- $breadcrumbs[] = array(
1254
  'url' => admin_url( 'admin.php?page=responsive-lightbox-gallery' ),
1255
  'name' => $settings->tabs[$tab_key]['name']
1256
- );
1257
 
1258
  // valid gallery?
1259
  if ( array_key_exists( $section_key, $settings->tabs['gallery']['sections'] ) ) {
1260
- $breadcrumbs[] = array(
1261
  'url' => '',
1262
  'name' => $settings->tabs['gallery']['sections'][$section_key]
1263
- );
1264
  }
1265
  } else {
1266
- $breadcrumbs[] = array(
1267
  'url' => '',
1268
  'name' => $settings->tabs[$tab_key]['name']
1269
- );
1270
  }
1271
  // gallery listing
1272
  } elseif ( $pagenow === 'edit.php' && $typenow === 'rl_gallery' ) {
1273
- $breadcrumbs[] = array(
1274
  'url' => '',
1275
  'name' => __( 'Galleries', 'responsive-lightbox' )
1276
- );
1277
  // single gallery
1278
  } elseif ( $pagenow === 'post.php' && get_post_type() === 'rl_gallery' ) {
1279
- $breadcrumbs[] = array(
1280
  'url' => admin_url( 'edit.php?post_type=rl_gallery' ),
1281
  'name' => __( 'Galleries', 'responsive-lightbox' )
1282
- );
1283
 
1284
- $breadcrumbs[] = array(
1285
  'url' => '',
1286
  'name' => __( 'Edit gallery', 'responsive-lightbox' )
1287
- );
1288
  // new gallery
1289
  } elseif ( $pagenow === 'post-new.php' && get_post_type() === 'rl_gallery' ) {
1290
- $breadcrumbs[] = array(
1291
  'url' => admin_url( 'edit.php?post_type=rl_gallery' ),
1292
  'name' => __( 'Galleries', 'responsive-lightbox' )
1293
- );
1294
 
1295
- $breadcrumbs[] = array(
1296
  'url' => '',
1297
  'name' => __( 'New gallery', 'responsive-lightbox' )
1298
- );
1299
  // gallery taxonomies
1300
- } elseif ( in_array( $pagenow, array( 'edit-tags.php', 'term.php' ), true ) && isset( $_GET['taxonomy'], $_GET['post_type'] ) && $_GET['post_type'] === 'rl_gallery' ) {
1301
- $breadcrumbs[] = array(
1302
  'url' => admin_url( 'edit.php?post_type=rl_gallery' ),
1303
  'name' => __( 'Galleries', 'responsive-lightbox' )
1304
- );
1305
 
1306
  // categories
1307
  if ( $_GET['taxonomy'] === 'rl_category' ) {
1308
  // new category
1309
  if ( $pagenow === 'term.php' ) {
1310
- $breadcrumbs[] = array(
1311
  'url' => admin_url( 'edit-tags.php?taxonomy=rl_category&post_type=rl_gallery' ),
1312
  'name' => __( 'Categories', 'responsive-lightbox' )
1313
- );
1314
 
1315
- $breadcrumbs[] = array(
1316
  'url' => '',
1317
  'name' => __( 'Edit category', 'responsive-lightbox' )
1318
- );
1319
  // categories listing
1320
  } else {
1321
- $breadcrumbs[] = array(
1322
  'url' => '',
1323
  'name' => __( 'Categories', 'responsive-lightbox' )
1324
- );
1325
  }
1326
  // tags
1327
  } elseif ( $_GET['taxonomy'] === 'rl_tag' ) {
1328
  // new tag
1329
  if ( $pagenow === 'term.php' ) {
1330
- $breadcrumbs[] = array(
1331
  'url' => admin_url( 'edit-tags.php?taxonomy=rl_category&post_type=rl_gallery' ),
1332
  'name' => __( 'Tags', 'responsive-lightbox' )
1333
- );
1334
 
1335
- $breadcrumbs[] = array(
1336
  'url' => '',
1337
  'name' => __( 'Edit tag', 'responsive-lightbox' )
1338
- );
1339
  // tags listing
1340
  } else {
1341
- $breadcrumbs[] = array(
1342
  'url' => '',
1343
  'name' => __( 'Tags', 'responsive-lightbox' )
1344
- );
1345
  }
1346
  }
1347
  }
@@ -1349,13 +1353,13 @@ class Responsive_Lightbox {
1349
  // any breadcrumbs?
1350
  if ( ! empty( $breadcrumbs ) ) {
1351
  array_unshift( $breadcrumbs,
1352
- array(
1353
  'url' => '',
1354
  'name' => __( 'Responsive Lightbox & Gallery', 'responsive-lightbox' )
1355
- )
1356
  );
1357
 
1358
- $html = array();
1359
 
1360
  foreach ( $breadcrumbs as $breadcrumb ) {
1361
  if ( ! empty( $breadcrumb['url'] ) )
@@ -1383,14 +1387,14 @@ class Responsive_Lightbox {
1383
  if ( is_post_type_archive( 'rl_gallery' ) ) {
1384
  $query->set(
1385
  'tax_query',
1386
- array(
1387
  'relation' => 'OR',
1388
- array(
1389
  'taxonomy' => 'rl_category',
1390
  'field' => 'slug',
1391
  'terms' => $this->options['builder']['archives_category']
1392
- )
1393
- )
1394
  );
1395
  }
1396
  }
@@ -1406,19 +1410,16 @@ class Responsive_Lightbox {
1406
  $post_type = get_post_type( $post );
1407
  $post_type_object = get_post_type_object( $post_type );
1408
 
1409
- $messages['rl_gallery'] = array(
1410
  1 => __( 'Gallery updated.', 'responsive-lightbox' ),
1411
  4 => __( 'Gallery updated.', 'responsive-lightbox' ),
1412
  5 => isset( $_GET['revision'] ) ? sprintf( __( 'Gallery restored to revision from %s', 'responsive-lightbox' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
1413
  6 => __( 'Gallery published.', 'responsive-lightbox' ),
1414
  7 => __( 'Gallery saved.', 'responsive-lightbox' ),
1415
  8 => __( 'Gallery submitted.', 'responsive-lightbox' ),
1416
- 9 => sprintf(
1417
- __( 'Gallery scheduled for: <strong>%1$s</strong>.', 'responsive-lightbox' ),
1418
- date_i18n( __( 'M j, Y @ G:i', 'responsive-lightbox' ), strtotime( $post->post_date ) )
1419
- ),
1420
  10 => __( 'Gallery draft updated.', 'responsive-lightbox' )
1421
- );
1422
 
1423
  if ( $post_type_object->publicly_queryable && 'rl_gallery' === $post_type ) {
1424
  $permalink = get_permalink( $post->ID );
@@ -1458,21 +1459,21 @@ class Responsive_Lightbox {
1458
  register_taxonomy(
1459
  'rl_media_tag',
1460
  'attachment',
1461
- array(
1462
  'public' => true,
1463
  'hierarchical' => false,
1464
- 'labels' => array(
1465
  'name' => _x( 'Media Tags', 'taxonomy general name', 'responsive-lightbox' ),
1466
- 'singular_name' => _x( 'Media Tag', 'taxonomy singular name', 'responsive-lightbox' ),
1467
- 'search_items' => __( 'Search Tags', 'responsive-lightbox' ),
1468
- 'all_items' => __( 'All Tags', 'responsive-lightbox' ),
1469
- 'edit_item' => __( 'Edit Tag', 'responsive-lightbox' ),
1470
- 'update_item' => __( 'Update Tag', 'responsive-lightbox' ),
1471
- 'add_new_item' => __( 'Add New Tag', 'responsive-lightbox' ),
1472
- 'new_item_name' => __( 'New Tag Name', 'responsive-lightbox' ),
1473
- 'not_found' => __( 'No tags found.', 'responsive-lightbox' ),
1474
- 'menu_name' => _x( 'Tags', 'taxonomy general name', 'responsive-lightbox' ),
1475
- ),
1476
  'show_ui' => true,
1477
  'show_in_menu' => $this->options['folders']['show_in_menu'],
1478
  'show_in_nav_menus' => false,
@@ -1482,22 +1483,22 @@ class Responsive_Lightbox {
1482
  'update_count_callback' => '_update_generic_term_count',
1483
  'query_var' => false,
1484
  'rewrite' => false
1485
- )
1486
  );
1487
  }
1488
 
1489
  // get non-builtin hierarchical taxonomies
1490
  $taxonomies = get_taxonomies(
1491
- array(
1492
- 'object_type' => array( 'attachment' ),
1493
  'hierarchical' => true,
1494
  '_builtin' => false
1495
- ),
1496
  'objects',
1497
  'and'
1498
  );
1499
 
1500
- $media_taxonomies = array();
1501
 
1502
  foreach ( $taxonomies as $taxonomy => $object ) {
1503
  $media_taxonomies[$taxonomy] = $taxonomy . ' (' . $object->labels->menu_name . ')';
@@ -1539,10 +1540,10 @@ class Responsive_Lightbox {
1539
  register_taxonomy(
1540
  $taxonomy,
1541
  'attachment',
1542
- array(
1543
  'public' => true,
1544
  'hierarchical' => true,
1545
- 'labels' => array(
1546
  'name' => _x( 'Media Folders', 'taxonomy general name', 'responsive-lightbox' ),
1547
  'singular_name' => _x( 'Media Folder', 'taxonomy singular name', 'responsive-lightbox' ),
1548
  'search_items' => __( 'Search Folders', 'responsive-lightbox' ),
@@ -1555,7 +1556,7 @@ class Responsive_Lightbox {
1555
  'new_item_name' => __( 'New Folder Name', 'responsive-lightbox' ),
1556
  'not_found' => __( 'No folders found.', 'responsive-lightbox' ),
1557
  'menu_name' => _x( 'Folders', 'taxonomy general name', 'responsive-lightbox' ),
1558
- ),
1559
  'show_ui' => ! ( $taxonomy === 'rl_media_folder' && $this->options['folders']['media_taxonomy'] !== 'rl_media_folder' ),
1560
  'show_in_menu' => $show_in_menu,
1561
  'show_in_nav_menus' => false,
@@ -1565,7 +1566,7 @@ class Responsive_Lightbox {
1565
  'update_count_callback' => '_update_generic_term_count',
1566
  'query_var' => false,
1567
  'rewrite' => false
1568
- )
1569
  );
1570
  }
1571
 
@@ -1577,74 +1578,86 @@ class Responsive_Lightbox {
1577
  */
1578
  public function admin_scripts_styles( $page ) {
1579
  global $typenow;
1580
-
1581
  // settings?
1582
  if ( preg_match( '/^(toplevel|lightbox)_page_responsive-lightbox-(' . implode( '|', array_keys( Responsive_Lightbox()->settings->tabs ) ) . ')$/', $page ) === 1 ) {
1583
- wp_enqueue_script( 'responsive-lightbox-admin', RESPONSIVE_LIGHTBOX_URL . '/js/admin.js', array( 'jquery', 'wp-color-picker' ), $this->defaults['version'] );
1584
 
1585
  wp_localize_script(
1586
  'responsive-lightbox-admin',
1587
  'rlArgsAdmin',
1588
- array(
1589
  'resetSettingsToDefaults' => __( 'Are you sure you want to reset these settings to defaults?', 'responsive-lightbox' ),
1590
  'tax_nonce' => wp_create_nonce( 'rl-folders-ajax-taxonomies-nonce' )
1591
- )
1592
  );
1593
 
1594
  wp_enqueue_style( 'wp-color-picker' );
1595
 
1596
- wp_enqueue_style( 'responsive-lightbox-admin', RESPONSIVE_LIGHTBOX_URL . '/css/admin.css', array(), $this->defaults['version'] );
1597
  // galleries?
1598
- } elseif ( in_array( $page, array( 'post.php', 'post-new.php' ), true ) && get_post_type() === 'rl_gallery' || ( $page === 'edit.php' && $typenow === 'rl_gallery' ) ) {
1599
  wp_enqueue_media();
1600
 
1601
- wp_enqueue_script( 'responsive-lightbox-admin-select2', RESPONSIVE_LIGHTBOX_URL . '/assets/select2/select2.full' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', array( 'jquery' ), $this->defaults['version'] );
1602
 
1603
- wp_enqueue_script( 'responsive-lightbox-admin-galleries', RESPONSIVE_LIGHTBOX_URL . '/js/admin-galleries.js', array( 'jquery', 'underscore', 'wp-color-picker', 'jquery-ui-sortable' ), $this->defaults['version'] );
1604
 
1605
  wp_localize_script(
1606
  'responsive-lightbox-admin-galleries',
1607
  'rlArgsGalleries',
1608
- array(
1609
- 'mediaItemTemplate' => $this->galleries->get_media_item_template( $this->galleries->fields['images']['media']['attachments']['preview'] ),
1610
- 'textSelectImages' => __( 'Select images', 'responsive-lightbox' ),
1611
- 'textUseImages' => __( 'Use these images', 'responsive-lightbox' ),
1612
- 'clearSelection' => __( 'Clear selected images', 'responsive-lightbox' ),
1613
- 'selectedImages' => __( 'Selected images', 'responsive-lightbox' ),
1614
- 'editTitle' => __( 'Edit attachment', 'responsive-lightbox' ),
1615
- 'buttonEditFile' => __( 'Save attachment', 'responsive-lightbox' ),
1616
- 'nonce' => wp_create_nonce( 'rl-gallery' ),
1617
- 'post_id' => get_the_ID(),
1618
- 'thumbnail' => wp_get_attachment_image_src( $this->galleries->maybe_generate_thumbnail(), 'thumbnail', false )
1619
- )
 
 
 
 
 
 
 
 
 
 
 
 
1620
  );
1621
 
1622
  wp_enqueue_style( 'wp-color-picker' );
1623
 
1624
- wp_enqueue_style( 'responsive-lightbox-admin', RESPONSIVE_LIGHTBOX_URL . '/css/admin.css', array(), $this->defaults['version'] );
1625
 
1626
- wp_enqueue_style( 'responsive-lightbox-admin-select2', RESPONSIVE_LIGHTBOX_URL . '/assets/select2/select2' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.css', array(), $this->defaults['version'] );
1627
 
1628
- wp_enqueue_style( 'responsive-lightbox-admin-galleries', RESPONSIVE_LIGHTBOX_URL . '/css/admin-galleries.css', array(), $this->defaults['version'] );
1629
  // plugins?
1630
  } elseif ( $page === 'plugins.php' ) {
1631
  add_thickbox();
1632
 
1633
- wp_enqueue_script( 'responsive-lightbox-admin-plugins', RESPONSIVE_LIGHTBOX_URL . '/js/admin-plugins.js', array( 'jquery' ), $this->defaults['version'] );
1634
 
1635
- wp_enqueue_style( 'responsive-lightbox-admin-plugins', RESPONSIVE_LIGHTBOX_URL . '/css/admin-plugins.css', array(), $this->defaults['version'] );
1636
 
1637
  wp_localize_script(
1638
  'responsive-lightbox-admin-plugins',
1639
  'rlArgsPlugins',
1640
- array(
1641
  'deactivate' => __( 'Responsive Lightbox & Gallery - Deactivation survey', 'responsive-lightbox' ),
1642
  'nonce' => wp_create_nonce( 'rl-deactivate-plugin' )
1643
- )
1644
  );
1645
  // taxonomies?
1646
- } elseif ( in_array( $page, array( 'edit-tags.php', 'term.php' ), true ) && isset( $_GET['taxonomy'], $_GET['post_type'] ) && $_GET['post_type'] === 'rl_gallery' )
1647
- wp_enqueue_style( 'responsive-lightbox-admin', RESPONSIVE_LIGHTBOX_URL . '/css/admin.css', array(), $this->defaults['version'] );
1648
  }
1649
 
1650
  /**
@@ -1656,13 +1669,13 @@ class Responsive_Lightbox {
1656
  global $wp_version;
1657
 
1658
  // actions
1659
- add_action( 'enqueue_block_editor_assets', array( $this, 'gutenberg_enqueue_scripts' ) );
1660
 
1661
  // filters
1662
  if ( version_compare( $wp_version, '5.8', '>=' ) )
1663
- add_filter( 'block_categories_all', array( $this, 'block_category' ) );
1664
  else
1665
- add_filter( 'block_categories', array( $this, 'block_category' ) );
1666
  }
1667
 
1668
  /**
@@ -1673,12 +1686,12 @@ class Responsive_Lightbox {
1673
  function block_category( $categories ) {
1674
  return array_merge(
1675
  $categories,
1676
- array(
1677
- array(
1678
  'slug' => 'responsive-lightbox',
1679
  'title' => 'Responsive Lightbox'
1680
- )
1681
- )
1682
  );
1683
  }
1684
 
@@ -1715,9 +1728,9 @@ class Responsive_Lightbox {
1715
  wp_localize_script(
1716
  'responsive-lightbox-block-editor-script',
1717
  'rlBlockEditor',
1718
- array(
1719
  'active' => true
1720
- )
1721
  );
1722
 
1723
  // enqueue gallery
@@ -1726,17 +1739,17 @@ class Responsive_Lightbox {
1726
  // register gallery block
1727
  register_block_type(
1728
  'responsive-lightbox/gallery',
1729
- array(
1730
  'editor_script' => 'block-editor-script'
1731
- )
1732
  );
1733
 
1734
  // register remote library image block
1735
  register_block_type(
1736
  'responsive-lightbox/remote-library-image',
1737
- array(
1738
  'editor_script' => 'block-editor-script'
1739
- )
1740
  );
1741
  }
1742
 
@@ -1748,21 +1761,21 @@ class Responsive_Lightbox {
1748
  public function sidebar_admin_setup() {
1749
  wp_enqueue_media();
1750
 
1751
- wp_enqueue_script( 'responsive-lightbox-admin-widgets', RESPONSIVE_LIGHTBOX_URL . '/js/admin-widgets.js', array( 'jquery', 'underscore' ), $this->defaults['version'] );
1752
 
1753
  wp_localize_script(
1754
  'responsive-lightbox-admin-widgets',
1755
  'rlArgsWidgets',
1756
- array(
1757
  'textRemoveImage' => __( 'Remove image', 'responsive-lightbox' ),
1758
  'textSelectImages' => __( 'Select images', 'responsive-lightbox' ),
1759
  'textSelectImage' => __( 'Select image', 'responsive-lightbox' ),
1760
  'textUseImages' => __( 'Use these images', 'responsive-lightbox' ),
1761
  'textUseImage' => __( 'Use this image', 'responsive-lightbox' )
1762
- )
1763
  );
1764
 
1765
- wp_register_style( 'responsive-lightbox-admin', RESPONSIVE_LIGHTBOX_URL . '/css/admin.css', array(), $this->defaults['version'] );
1766
  wp_enqueue_style( 'responsive-lightbox-admin' );
1767
  }
1768
 
@@ -1774,25 +1787,25 @@ class Responsive_Lightbox {
1774
  public function front_scripts_styles() {
1775
  $args = apply_filters(
1776
  'rl_lightbox_args',
1777
- array(
1778
- 'script' => $this->options['settings']['script'],
1779
- 'selector' => $this->options['settings']['selector'],
1780
- 'customEvents' => ( $this->options['settings']['enable_custom_events'] === true ? $this->options['settings']['custom_events'] : '' ),
1781
- 'activeGalleries' => $this->get_boolean_value( $this->options['settings']['galleries'] )
1782
- )
1783
  );
1784
 
1785
- $scripts = array();
1786
- $styles = array();
1787
 
1788
  switch ( $args['script'] ) {
1789
  case 'prettyphoto':
1790
  wp_register_script(
1791
- 'responsive-lightbox-prettyphoto', plugins_url( 'assets/prettyphoto/jquery.prettyPhoto' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', __FILE__ ), array( 'jquery' ), $this->defaults['version'], ($this->options['settings']['loading_place'] === 'header' ? false : true )
1792
  );
1793
 
1794
  wp_register_style(
1795
- 'responsive-lightbox-prettyphoto', plugins_url( 'assets/prettyphoto/prettyPhoto' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.css', __FILE__ ), array(), $this->defaults['version']
1796
  );
1797
 
1798
  $scripts[] = 'responsive-lightbox-prettyphoto';
@@ -1800,7 +1813,7 @@ class Responsive_Lightbox {
1800
 
1801
  $args = array_merge(
1802
  $args,
1803
- array(
1804
  'animationSpeed' => $this->options['configuration']['prettyphoto']['animation_speed'],
1805
  'slideshow' => $this->get_boolean_value( $this->options['configuration']['prettyphoto']['slideshow'] ),
1806
  'slideshowDelay' => $this->options['configuration']['prettyphoto']['slideshow_delay'],
@@ -1822,127 +1835,131 @@ class Responsive_Lightbox {
1822
  'overlayGallery' => $this->get_boolean_value( $this->options['configuration']['prettyphoto']['overlay_gallery'] ),
1823
  'keyboardShortcuts' => $this->get_boolean_value( $this->options['configuration']['prettyphoto']['keyboard_shortcuts'] ),
1824
  'social' => $this->get_boolean_value( $this->options['configuration']['prettyphoto']['social'] )
1825
- )
1826
  );
1827
  break;
1828
 
1829
  case 'swipebox':
1830
  wp_register_script(
1831
- 'responsive-lightbox-swipebox', plugins_url( 'assets/swipebox/jquery.swipebox' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', __FILE__ ), array( 'jquery' ), $this->defaults['version'], ($this->options['settings']['loading_place'] === 'header' ? false : true )
1832
  );
1833
 
1834
  wp_register_style(
1835
- 'responsive-lightbox-swipebox', plugins_url( 'assets/swipebox/swipebox' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.css', __FILE__ ), array(), $this->defaults['version']
1836
  );
1837
 
1838
  $scripts[] = 'responsive-lightbox-swipebox';
1839
  $styles[] = 'responsive-lightbox-swipebox';
1840
 
1841
  $args = array_merge(
1842
- $args, array(
1843
- 'animation' => $this->get_boolean_value( ($this->options['configuration']['swipebox']['animation'] === 'css' ? true : false ) ),
1844
- 'hideCloseButtonOnMobile' => $this->get_boolean_value( $this->options['configuration']['swipebox']['hide_close_mobile'] ),
1845
- 'removeBarsOnMobile' => $this->get_boolean_value( $this->options['configuration']['swipebox']['remove_bars_mobile'] ),
1846
- 'hideBars' => $this->get_boolean_value( $this->options['configuration']['swipebox']['hide_bars'] ),
1847
- 'hideBarsDelay' => $this->options['configuration']['swipebox']['hide_bars_delay'],
1848
- 'videoMaxWidth' => $this->options['configuration']['swipebox']['video_max_width'],
1849
- 'useSVG' => ! $this->options['configuration']['swipebox']['force_png_icons'],
1850
- 'loopAtEnd' => $this->get_boolean_value( $this->options['configuration']['swipebox']['loop_at_end'] )
1851
- )
 
1852
  );
1853
  break;
1854
 
1855
  case 'fancybox':
1856
  wp_register_script(
1857
- 'responsive-lightbox-fancybox', plugins_url( 'assets/fancybox/jquery.fancybox' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', __FILE__ ), array( 'jquery' ), $this->defaults['version'], ($this->options['settings']['loading_place'] === 'header' ? false : true )
1858
  );
1859
 
1860
  wp_register_style(
1861
- 'responsive-lightbox-fancybox', plugins_url( 'assets/fancybox/jquery.fancybox' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.css', __FILE__ ), array(), $this->defaults['version']
1862
  );
1863
 
1864
  $scripts[] = 'responsive-lightbox-fancybox';
1865
  $styles[] = 'responsive-lightbox-fancybox';
1866
 
1867
  $args = array_merge(
1868
- $args, array(
1869
- 'modal' => $this->get_boolean_value( $this->options['configuration']['fancybox']['modal'] ),
1870
- 'showOverlay' => $this->get_boolean_value( $this->options['configuration']['fancybox']['show_overlay'] ),
1871
- 'showCloseButton' => $this->get_boolean_value( $this->options['configuration']['fancybox']['show_close_button'] ),
1872
- 'enableEscapeButton' => $this->get_boolean_value( $this->options['configuration']['fancybox']['enable_escape_button'] ),
1873
- 'hideOnOverlayClick' => $this->get_boolean_value( $this->options['configuration']['fancybox']['hide_on_overlay_click'] ),
1874
- 'hideOnContentClick' => $this->get_boolean_value( $this->options['configuration']['fancybox']['hide_on_content_click'] ),
1875
- 'cyclic' => $this->get_boolean_value( $this->options['configuration']['fancybox']['cyclic'] ),
1876
- 'showNavArrows' => $this->get_boolean_value( $this->options['configuration']['fancybox']['show_nav_arrows'] ),
1877
- 'autoScale' => $this->get_boolean_value( $this->options['configuration']['fancybox']['auto_scale'] ),
1878
- 'scrolling' => $this->options['configuration']['fancybox']['scrolling'],
1879
- 'centerOnScroll' => $this->get_boolean_value( $this->options['configuration']['fancybox']['center_on_scroll'] ),
1880
- 'opacity' => $this->get_boolean_value( $this->options['configuration']['fancybox']['opacity'] ),
1881
- 'overlayOpacity' => $this->options['configuration']['fancybox']['overlay_opacity'],
1882
- 'overlayColor' => $this->options['configuration']['fancybox']['overlay_color'],
1883
- 'titleShow' => $this->get_boolean_value( $this->options['configuration']['fancybox']['title_show'] ),
1884
- 'titlePosition' => $this->options['configuration']['fancybox']['title_position'],
1885
- 'transitions' => $this->options['configuration']['fancybox']['transitions'],
1886
- 'easings' => $this->options['configuration']['fancybox']['easings'],
1887
- 'speeds' => $this->options['configuration']['fancybox']['speeds'],
1888
- 'changeSpeed' => $this->options['configuration']['fancybox']['change_speed'],
1889
- 'changeFade' => $this->options['configuration']['fancybox']['change_fade'],
1890
- 'padding' => $this->options['configuration']['fancybox']['padding'],
1891
- 'margin' => $this->options['configuration']['fancybox']['margin'],
1892
- 'videoWidth' => $this->options['configuration']['fancybox']['video_width'],
1893
- 'videoHeight' => $this->options['configuration']['fancybox']['video_height']
1894
- )
 
1895
  );
1896
  break;
1897
 
1898
  case 'nivo':
1899
  wp_register_script(
1900
- 'responsive-lightbox-nivo', plugins_url( 'assets/nivo/nivo-lightbox' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', __FILE__ ), array( 'jquery' ), $this->defaults['version'], ($this->options['settings']['loading_place'] === 'header' ? false : true ), $this->defaults['version']
1901
  );
1902
 
1903
  wp_register_style(
1904
- 'responsive-lightbox-nivo', plugins_url( 'assets/nivo/nivo-lightbox' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.css', __FILE__ ), array(), $this->defaults['version']
1905
  );
1906
 
1907
  wp_register_style(
1908
- 'responsive-lightbox-nivo-default', plugins_url( 'assets/nivo/themes/default/default.css', __FILE__ ), array(), $this->defaults['version']
1909
  );
1910
-
1911
  $scripts[] = 'responsive-lightbox-nivo';
1912
  $styles[] = 'responsive-lightbox-nivo';
1913
  $styles[] = 'responsive-lightbox-nivo-default';
1914
-
1915
  $args = array_merge(
1916
- $args, array(
1917
- 'effect' => $this->options['configuration']['nivo']['effect'],
1918
- 'clickOverlayToClose' => $this->get_boolean_value( $this->options['configuration']['nivo']['click_overlay_to_close'] ),
1919
- 'keyboardNav' => $this->get_boolean_value( $this->options['configuration']['nivo']['keyboard_nav'] ),
1920
- 'errorMessage' => esc_attr( $this->options['configuration']['nivo']['error_message'] )
1921
- )
 
1922
  );
1923
  break;
1924
 
1925
  case 'imagelightbox':
1926
  wp_register_script(
1927
- 'responsive-lightbox-imagelightbox', plugins_url( 'assets/imagelightbox/imagelightbox' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', __FILE__ ), array( 'jquery' ), $this->defaults['version'], ($this->options['settings']['loading_place'] === 'header' ? false : true )
1928
  );
1929
 
1930
  wp_register_style(
1931
- 'responsive-lightbox-imagelightbox', plugins_url( 'assets/imagelightbox/imagelightbox' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.css', __FILE__ ), array(), $this->defaults['version']
1932
  );
1933
 
1934
  $scripts[] = 'responsive-lightbox-imagelightbox';
1935
  $styles[] = 'responsive-lightbox-imagelightbox';
1936
 
1937
  $args = array_merge(
1938
- $args, array(
1939
- 'animationSpeed' => $this->options['configuration']['imagelightbox']['animation_speed'],
1940
- 'preloadNext' => $this->get_boolean_value( $this->options['configuration']['imagelightbox']['preload_next'] ),
1941
- 'enableKeyboard' => $this->get_boolean_value( $this->options['configuration']['imagelightbox']['enable_keyboard'] ),
1942
- 'quitOnEnd' => $this->get_boolean_value( $this->options['configuration']['imagelightbox']['quit_on_end'] ),
1943
- 'quitOnImageClick' => $this->get_boolean_value( $this->options['configuration']['imagelightbox']['quit_on_image_click'] ),
1944
- 'quitOnDocumentClick' => $this->get_boolean_value( $this->options['configuration']['imagelightbox']['quit_on_document_click'] ),
1945
- )
 
1946
  );
1947
  break;
1948
 
@@ -1950,51 +1967,53 @@ class Responsive_Lightbox {
1950
  // swipe support, enqueue Hammer.js on mobile devices only
1951
  if ( wp_is_mobile() ) {
1952
  wp_register_script(
1953
- 'responsive-lightbox-hammer-js', plugins_url( 'assets/tosrus/hammer' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', __FILE__ ), array(), $this->defaults['version'], ($this->options['settings']['loading_place'] === 'header' ? false : true )
1954
  );
1955
  $scripts[] = 'responsive-lightbox-hammer-js';
1956
  }
1957
 
1958
  wp_register_script(
1959
- 'responsive-lightbox-tosrus', plugins_url( 'assets/tosrus/jquery.tosrus' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', __FILE__ ), array( 'jquery' ), $this->defaults['version'], ($this->options['settings']['loading_place'] === 'header' ? false : true )
1960
  );
1961
 
1962
  wp_register_style(
1963
- 'responsive-lightbox-tosrus', plugins_url( 'assets/tosrus/jquery.tosrus' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.css', __FILE__ ), array(), $this->defaults['version']
1964
  );
1965
 
1966
  $scripts[] = 'responsive-lightbox-tosrus';
1967
  $styles[] = 'responsive-lightbox-tosrus';
1968
 
1969
- $args = array_merge( $args, array(
1970
- 'effect' => $this->options['configuration']['tosrus']['effect'],
1971
- 'infinite' => $this->get_boolean_value( $this->options['configuration']['tosrus']['infinite'] ),
1972
- 'keys' => $this->get_boolean_value( $this->options['configuration']['tosrus']['keys'] ),
1973
- 'autoplay' => $this->get_boolean_value( $this->options['configuration']['tosrus']['autoplay'] ),
1974
- 'pauseOnHover' => $this->get_boolean_value( $this->options['configuration']['tosrus']['pause_on_hover'] ),
1975
- 'timeout' => $this->options['configuration']['tosrus']['timeout'],
1976
- 'pagination' => $this->get_boolean_value( $this->options['configuration']['tosrus']['pagination'] ),
1977
- 'paginationType' => $this->options['configuration']['tosrus']['pagination_type'],
1978
- 'closeOnClick' => $this->get_boolean_value( $this->options['configuration']['tosrus']['close_on_click'] )
1979
- )
 
 
1980
  );
1981
  break;
1982
 
1983
  case 'featherlight':
1984
  wp_register_script(
1985
- 'responsive-lightbox-featherlight', plugins_url( 'assets/featherlight/featherlight' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', __FILE__ ), array( 'jquery' ), $this->defaults['version'], ($this->options['settings']['loading_place'] === 'header' ? false : true )
1986
  );
1987
 
1988
  wp_register_style(
1989
- 'responsive-lightbox-featherlight', plugins_url( 'assets/featherlight/featherlight' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.css', __FILE__ ), array(), $this->defaults['version']
1990
  );
1991
 
1992
  wp_register_script(
1993
- 'responsive-lightbox-featherlight-gallery', plugins_url( 'assets/featherlight/featherlight.gallery' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', __FILE__ ), array( 'jquery' ), $this->defaults['version'], ($this->options['settings']['loading_place'] === 'header' ? false : true )
1994
  );
1995
 
1996
  wp_register_style(
1997
- 'responsive-lightbox-featherlight-gallery', plugins_url( 'assets/featherlight/featherlight.gallery' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.css', __FILE__ ), array(), $this->defaults['version']
1998
  );
1999
 
2000
  $scripts[] = 'responsive-lightbox-featherlight';
@@ -2004,28 +2023,28 @@ class Responsive_Lightbox {
2004
 
2005
  $args = array_merge(
2006
  $args,
2007
- array(
2008
- 'openSpeed' => $this->options['configuration']['featherlight']['open_speed'],
2009
- 'closeSpeed' => $this->options['configuration']['featherlight']['close_speed'],
2010
- 'closeOnClick' => $this->options['configuration']['featherlight']['close_on_click'],
2011
- 'closeOnEsc' => $this->get_boolean_value( $this->options['configuration']['featherlight']['close_on_esc'] ),
2012
- 'galleryFadeIn' => $this->options['configuration']['featherlight']['gallery_fade_in'],
2013
- 'galleryFadeOut' => $this->options['configuration']['featherlight']['gallery_fade_out']
2014
- )
2015
  );
2016
  break;
2017
 
2018
  case 'magnific':
2019
- wp_register_script( 'responsive-lightbox-magnific', plugins_url( 'assets/magnific/jquery.magnific-popup' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', __FILE__ ), array( 'jquery' ), $this->defaults['version'], ( $this->options['settings']['loading_place'] === 'header' ? false : true ) );
2020
 
2021
- wp_register_style( 'responsive-lightbox-magnific', plugins_url( 'assets/magnific/magnific-popup' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.css', __FILE__ ), array(), $this->defaults['version'] );
2022
 
2023
  $scripts[] = 'responsive-lightbox-magnific';
2024
  $styles[] = 'responsive-lightbox-magnific';
2025
 
2026
  $args = array_merge(
2027
  $args,
2028
- array(
2029
  'disableOn' => $this->options['configuration']['magnific']['disable_on'],
2030
  'midClick' => $this->options['configuration']['magnific']['mid_click'],
2031
  'preloader' => $this->options['configuration']['magnific']['preloader'],
@@ -2038,7 +2057,7 @@ class Responsive_Lightbox {
2038
  'fixedContentPos' => $this->options['configuration']['magnific']['fixed_content_position'],
2039
  'fixedBgPos' => $this->options['configuration']['magnific']['fixed_background_position'],
2040
  'autoFocusLast' => $this->options['configuration']['magnific']['auto_focus_last']
2041
- )
2042
  );
2043
  break;
2044
 
@@ -2070,11 +2089,11 @@ class Responsive_Lightbox {
2070
  }
2071
 
2072
  if ( ! empty( $args['script'] ) && ! empty( $args['selector'] ) && apply_filters( 'rl_lightbox_conditional_loading', $contitional_scripts ) != false ) {
2073
- wp_register_script( 'responsive-lightbox-infinite-scroll', RESPONSIVE_LIGHTBOX_URL . '/assets/infinitescroll/infinite-scroll.pkgd' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', array( 'jquery' ) );
2074
- wp_register_script( 'responsive-lightbox-images-loaded', RESPONSIVE_LIGHTBOX_URL . '/assets/imagesloaded/imagesloaded.pkgd' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', array( 'jquery' ) );
2075
- wp_register_script( 'responsive-lightbox-masonry', RESPONSIVE_LIGHTBOX_URL . '/assets/masonry/masonry.pkgd' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', array( 'jquery' ), Responsive_Lightbox()->defaults['version'], ( Responsive_Lightbox()->options['settings']['loading_place'] === 'footer' ) );
2076
 
2077
- wp_register_script( 'responsive-lightbox', plugins_url( 'js/front.js', __FILE__ ), array( 'jquery', 'underscore', 'responsive-lightbox-infinite-scroll' ), $this->defaults['version'], ( $this->options['settings']['loading_place'] === 'header' ? false : true ) );
2078
 
2079
  $args['woocommerce_gallery'] = 0;
2080
 
@@ -2093,13 +2112,14 @@ class Responsive_Lightbox {
2093
  $args['nonce'] = wp_create_nonce( 'rl_nonce' );
2094
  $args['preview'] = ( isset( $_GET['rl_gallery_revision_id'], $_GET['preview'] ) && $_GET['preview'] === 'true' ) ? 'true' : 'false';
2095
  $args['postId'] = (int) get_the_ID();
 
2096
 
2097
  // enqueue scripts
2098
  if ( $scripts && is_array( $scripts ) ) {
2099
  foreach ( $scripts as $script ) {
2100
  wp_enqueue_script( $script );
2101
  }
2102
-
2103
  wp_localize_script( 'responsive-lightbox', 'rlArgs', $args );
2104
  }
2105
 
@@ -2110,9 +2130,9 @@ class Responsive_Lightbox {
2110
  }
2111
  }
2112
  }
2113
-
2114
  // gallery style
2115
- wp_register_style( 'responsive-lightbox-gallery', plugins_url( 'css/gallery.css', __FILE__ ), array(), Responsive_Lightbox()->defaults['version'] );
2116
  }
2117
 
2118
  /**
@@ -2127,7 +2147,7 @@ class Responsive_Lightbox {
2127
 
2128
  /**
2129
  * Helper: convert hex color to rgb color.
2130
- *
2131
  * @param type $color
2132
  * @return array
2133
  */
@@ -2136,9 +2156,9 @@ class Responsive_Lightbox {
2136
  $color = substr( $color, 1 );
2137
 
2138
  if ( strlen( $color ) == 6 )
2139
- list( $r, $g, $b ) = array( $color[0] . $color[1], $color[2] . $color[3], $color[4] . $color[5] );
2140
  elseif ( strlen( $color ) == 3 )
2141
- list( $r, $g, $b ) = array( $color[0] . $color[0], $color[1] . $color[1], $color[2] . $color[2] );
2142
  else
2143
  return false;
2144
 
@@ -2146,7 +2166,7 @@ class Responsive_Lightbox {
2146
  $g = hexdec( $g );
2147
  $b = hexdec( $b );
2148
 
2149
- return array( $r, $g, $b );
2150
  }
2151
  }
2152
 
2
  /*
3
  Plugin Name: Responsive Lightbox & Gallery
4
  Description: Responsive Lightbox & Gallery allows users to create galleries and view larger versions of images, galleries and videos in a lightbox (overlay) effect optimized for mobile devices.
5
+ Version: 2.4.0
6
  Author: dFactory
7
  Author URI: http://www.dfactory.eu/
8
  Plugin URI: http://www.dfactory.eu/plugins/responsive-lightbox/
43
  * Responsive Lightbox class.
44
  *
45
  * @class Responsive_Lightbox
46
+ * @version 2.4.0
47
  */
48
  class Responsive_Lightbox {
49
 
50
+ public $defaults = [
51
+ 'settings' => [
52
  'tour' => true,
53
  'script' => 'swipebox',
54
  'selector' => 'lightbox',
76
  'update_version' => 1,
77
  'update_notice' => true,
78
  'update_delay_date' => 0
79
+ ],
80
+ 'builder' => [
81
  'gallery_builder' => true,
82
  'categories' => true,
83
  'tags' => true,
86
  'permalink_tags' => 'rl_tag',
87
  'archives' => true,
88
  'archives_category' => 'all'
89
+ ],
90
+ 'configuration' => [
91
+ 'swipebox' => [
92
  'animation' => 'css',
93
  'force_png_icons' => false,
94
  'hide_close_mobile' => false,
97
  'hide_bars_delay' => 5000,
98
  'video_max_width' => 1080,
99
  'loop_at_end' => false
100
+ ],
101
+ 'prettyphoto' => [
102
  'animation_speed' => 'normal',
103
  'slideshow' => false,
104
  'slideshow_delay' => 5000,
120
  'overlay_gallery' => true,
121
  'keyboard_shortcuts' => true,
122
  'social' => false
123
+ ],
124
+ 'fancybox' => [
125
  'modal' => false,
126
  'show_overlay' => true,
127
  'show_close_button' => true,
147
  'margin' => 5,
148
  'video_width' => 1080,
149
  'video_height' => 720
150
+ ],
151
+ 'nivo' => [
152
  'effect' => 'fade',
153
  'click_overlay_to_close' => true,
154
  'keyboard_nav' => true,
155
  'error_message' => 'The requested content cannot be loaded. Please try again later.'
156
+ ],
157
+ 'imagelightbox' => [
158
  'animation_speed' => 250,
159
  'preload_next' => true,
160
  'enable_keyboard' => true,
161
  'quit_on_end' => false,
162
  'quit_on_image_click' => false,
163
  'quit_on_document_click' => true
164
+ ],
165
+ 'tosrus' => [
166
  'effect' => 'slide',
167
  'infinite' => true,
168
  'keys' => false,
172
  'pagination' => true,
173
  'pagination_type' => 'thumbnails',
174
  'close_on_click' => false
175
+ ],
176
+ 'featherlight' => [
177
  'open_speed' => 250,
178
  'close_speed' => 250,
179
  'close_on_click' => 'background',
180
  'close_on_esc' => true,
181
  'gallery_fade_in' => 100,
182
  'gallery_fade_out' => 300
183
+ ],
184
+ 'magnific' => [
185
  'disable_on' => 0,
186
  'mid_click' => true,
187
  'preloader' => true,
194
  'fixed_content_position' => 'auto',
195
  'fixed_background_position' => 'auto',
196
  'auto_focus_last' => true
197
+ ]
198
+ ],
199
+ 'folders' => [
200
  'active' => true,
201
  'media_taxonomy' => 'rl_media_folder',
202
  'media_tags' => false,
203
  'jstree_wholerow' => true,
204
  'show_in_menu' => false,
205
  'folders_removal' => true
206
+ ],
207
+ 'remote_library' => [
208
  'active' => true,
209
  'caching' => false,
210
  'cache_expiry' => 1,
211
+ 'flickr' => [
212
  'active' => false,
213
  'api_key' => ''
214
+ ],
215
+ 'unsplash' => [
216
  'active' => false,
217
  'api_key' => ''
218
+ ],
219
+ 'wikimedia' => [
220
  'active' => true
221
+ ]
222
+ ],
223
+ 'capabilities' => [
224
  'active' => false,
225
+ 'roles' => [
226
+ 'administrator' => [
227
  'publish_galleries',
228
  'edit_galleries',
229
  'edit_published_galleries',
237
  'manage_gallery_categories',
238
  'manage_gallery_tags',
239
  'edit_lightbox_settings'
240
+ ],
241
+ 'editor' => [
242
  'publish_galleries',
243
  'edit_galleries',
244
  'edit_published_galleries',
251
  'read_private_galleries',
252
  'manage_gallery_categories',
253
  'manage_gallery_tags'
254
+ ],
255
+ 'author' => [
256
  'publish_galleries',
257
  'edit_galleries',
258
  'edit_published_galleries',
259
  'delete_galleries',
260
  'delete_published_galleries'
261
+ ]
262
+ ]
263
+ ],
264
+ 'basicgrid_gallery' => [
265
  'columns_lg' => 4,
266
  'columns_md' => 3,
267
  'columns_sm' => 2,
269
  'gutter' => 2,
270
  'force_height' => false,
271
  'row_height' => 150
272
+ ],
273
+ 'basicslider_gallery' => [
274
  'adaptive_height' => true,
275
  'loop' => false,
276
  'captions' => 'overlay',
293
  'slideshow_hover_delay' => 100,
294
  'slideshow_delay' => 500,
295
  'slideshow_pause' => 3000
296
+ ],
297
+ 'basicmasonry_gallery' => [
298
  'columns_lg' => 4,
299
  'columns_md' => 3,
300
  'columns_sm' => 2,
303
  'margin' => 20,
304
  'origin_left' => true,
305
  'origin_top' => true
306
+ ],
307
+ 'version' => '2.4.0',
308
  'activation_date' => ''
309
+ ];
310
+ public $options = [];
311
+ public $providers = [];
312
+ public $capabilities = [
313
  'publish_galleries' => '',
314
  'edit_galleries' => '',
315
  'edit_published_galleries' => '',
323
  'manage_gallery_categories' => '',
324
  'manage_gallery_tags' => '',
325
  'edit_lightbox_settings' => ''
326
+ ];
327
+ public $gallery_types = [];
328
  private $deactivaion_url = '';
329
  private $version = false;
330
+ private $notices = [];
331
  private static $_instance;
332
 
333
  /**
336
  * @return void
337
  */
338
  public function __construct() {
339
+ register_activation_hook( __FILE__, [ $this, 'activate_multisite' ] );
340
+ register_deactivation_hook( __FILE__, [ $this, 'deactivate_multisite' ] );
341
 
342
  // change from older versions
343
  $this->version = $db_version = get_option( 'responsive_lightbox_version' );
362
  $capabilities = get_option( 'responsive_lightbox_capabilities' );
363
 
364
  if ( empty( $capabilities ) )
365
+ $capabilities = [];
366
 
367
+ $this->options['settings'] = array_merge( $this->defaults['settings'], ( ( $array = get_option( 'responsive_lightbox_settings' ) ) === false ? [] : $array ) );
368
+ $this->options['folders'] = array_merge( $this->defaults['folders'], ( ( $array = get_option( 'responsive_lightbox_folders' ) ) === false ? [] : $array ) );
369
+ $this->options['builder'] = array_merge( $this->defaults['builder'], ( ( $array = get_option( 'responsive_lightbox_builder' ) ) === false ? [] : $array ) );
370
  $this->options['capabilities'] = array_merge( $this->defaults['capabilities'], $capabilities );
371
+ $this->options['remote_library'] = array_merge( $this->defaults['remote_library'], ( ( $array = get_option( 'responsive_lightbox_remote_library' ) ) === false ? [] : $array ) );
372
 
373
  // for multi arrays we have to merge them separately
374
+ $db_conf_opts = ( ( $base = get_option( 'responsive_lightbox_configuration' ) ) === false ? [] : $base );
375
 
376
  foreach ( $this->defaults['configuration'] as $script => $settings ) {
377
+ $this->options['configuration'][$script] = array_merge( $settings, ( isset( $db_conf_opts[$script] ) ? $db_conf_opts[$script] : [] ) );
378
  }
379
 
380
  // add default galleries options
381
+ $this->options['basicgrid_gallery'] = array_merge( $this->defaults['basicgrid_gallery'], ( ( $array = get_option( 'responsive_lightbox_basicgrid_gallery', $this->defaults['basicgrid_gallery'] ) ) == false ? [] : $array ) );
382
+ $this->options['basicslider_gallery'] = array_merge( $this->defaults['basicslider_gallery'], ( ( $array = get_option( 'responsive_lightbox_basicslider_gallery', $this->defaults['basicslider_gallery'] ) ) == false ? [] : $array ) );
383
+ $this->options['basicmasonry_gallery'] = array_merge( $this->defaults['basicmasonry_gallery'], ( ( $array = get_option( 'responsive_lightbox_basicmasonry_gallery', $this->defaults['basicmasonry_gallery'] ) ) == false ? [] : $array ) );
384
 
385
  // actions
386
+ add_action( 'upgrader_process_complete', [ $this, 'update_plugin' ], 10, 2 );
387
+ add_action( 'plugins_loaded', [ $this, 'plugins_loaded_init' ] );
388
+ add_action( 'in_admin_header', [ $this, 'display_breadcrumbs' ] );
389
+ add_action( 'after_setup_theme', [ $this, 'init_remote_libraries' ], 11 );
390
+ add_action( 'init', [ $this, 'init_galleries' ] );
391
+ add_action( 'init', [ $this, 'init_folders' ] );
392
+ add_action( 'init', [ $this, 'init_gutenberg' ] );
393
+ add_action( 'admin_init', [ $this, 'update_notice' ] );
394
+ add_action( 'wp_enqueue_scripts', [ $this, 'front_scripts_styles' ] );
395
+ add_action( 'admin_enqueue_scripts', [ $this, 'admin_scripts_styles' ] );
396
+ add_action( 'sidebar_admin_setup', [ $this, 'sidebar_admin_setup' ] );
397
+ add_action( 'admin_footer', [ $this, 'modal_deactivation_template' ] );
398
+ add_action( 'wp_ajax_rl_dismiss_notice', [ $this, 'dismiss_notice' ] );
399
+ add_action( 'wp_ajax_rl-deactivate-plugin', [ $this, 'deactivate_plugin' ] );
400
 
401
  // filters
402
+ add_filter( 'plugin_action_links', [ $this, 'plugin_settings_link' ], 10, 2 );
403
+ add_filter( 'plugin_row_meta', [ $this, 'plugin_extend_links' ], 10, 2 );
404
  }
405
 
406
  /**
415
 
416
  /**
417
  * Main Responsive Lightbox instance.
418
+ *
419
  * @return object
420
  */
421
  public static function instance() {
506
  if ( is_multisite() && $networkwide ) {
507
  global $wpdb;
508
 
509
+ $activated_blogs = [];
510
  $current_blog_id = $wpdb->blogid;
511
  $blogs_ids = $wpdb->get_col( $wpdb->prepare( 'SELECT blog_id FROM ' . $wpdb->blogs, '' ) );
512
 
517
  }
518
 
519
  switch_to_blog( $current_blog_id );
520
+ update_site_option( 'responsive_lightbox_activated_blogs', $activated_blogs, [] );
521
  } else
522
  $this->activate_single();
523
  }
536
  $blogs_ids = $wpdb->get_col( $wpdb->prepare( 'SELECT blog_id FROM ' . $wpdb->blogs, '' ) );
537
 
538
  if ( ($activated_blogs = get_site_option( 'responsive_lightbox_activated_blogs', false, false )) === false )
539
+ $activated_blogs = [];
540
 
541
  foreach ( $blogs_ids as $blog_id ) {
542
  switch_to_blog( $blog_id );
635
  load_plugin_textdomain( 'responsive-lightbox', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' );
636
 
637
  // set gallery types
638
+ $this->gallery_types = [
639
  'default' => __( 'Default', 'responsive-lightbox' ),
640
  'basicgrid' => __( 'Basic Grid', 'responsive-lightbox' ),
641
  'basicslider' => __( 'Basic Slider', 'responsive-lightbox' ),
642
  'basicmasonry' => __( 'Basic Masonry', 'responsive-lightbox' )
643
+ ];
644
 
645
  // only for backend
646
  if ( is_admin() ) {
685
  update_option( 'responsive_lightbox_settings', $this->options['settings'], false );
686
 
687
  // set capabilities with labels
688
+ $this->capabilities = [
689
  'publish_galleries' => __( 'Publish Galleries', 'responsive-lightbox' ),
690
  'edit_galleries' => __( 'Edit Galleries', 'responsive-lightbox' ),
691
  'edit_published_galleries' => __( 'Edit Published Galleries', 'responsive-lightbox' ),
699
  'manage_gallery_categories' => __( 'Manage Gallery Categories', 'responsive-lightbox' ),
700
  'manage_gallery_tags' => __( 'Manage Gallery Tags', 'responsive-lightbox' ),
701
  'edit_lightbox_settings' => __( 'Manage Settings', 'responsive-lightbox' )
702
+ ];
703
 
704
  // 2.3.0 update
705
  if ( version_compare( $this->version, '2.3.0', '<' ) ) {
731
 
732
  if ( $this->options['settings']['update_version'] < $current_update ) {
733
  // check version, if update ver is lower than plugin ver, set update notice to true
734
+ $this->options['settings'] = array_merge( $this->options['settings'], [ 'update_version' => $current_update, 'update_notice' => true ] );
735
 
736
  update_option( 'responsive_lightbox_settings', $this->options['settings'] );
737
 
745
  // display current version notice
746
  if ( $this->options['settings']['update_notice'] === true ) {
747
  // include notice js, only if needed
748
+ add_action( 'admin_print_scripts', [ $this, 'admin_inline_js' ], 999 );
749
 
750
  // get activation date
751
  $activation_date = get_option( 'responsive_lightbox_activation_date' );
780
  // delay notice
781
  case 'delay':
782
  // set delay period to 1 week from now
783
+ $this->options['settings'] = array_merge( $this->options['settings'], [ 'update_delay_date' => time() + 1209600 ] );
784
  update_option( 'responsive_lightbox_settings', $this->options['settings'] );
785
  break;
786
 
787
  // hide notice
788
  default:
789
+ $this->options['settings'] = array_merge( $this->options['settings'], [ 'update_notice' => false ] );
790
+ $this->options['settings'] = array_merge( $this->options['settings'], [ 'update_delay_date' => 0 ] );
791
 
792
  update_option( 'responsive_lightbox_settings', $this->options['settings'] );
793
  }
806
  * @return void
807
  */
808
  public function add_notice( $html = '', $status = 'error', $paragraph = true, $network = false ) {
809
+ $this->notices[] = [
810
  'html' => $html,
811
+ 'status' => $status,
812
+ 'paragraph' => $paragraph
813
+ ];
814
 
815
+ add_action( 'admin_notices', [ $this, 'display_notice' ] );
816
 
817
  if ( $network )
818
+ add_action( 'network_admin_notices', [ $this, 'display_notice' ] );
819
  }
820
 
821
  /**
850
  // save dismiss state
851
  $( '.rl-notice.is-dismissible' ).on( 'click', '.notice-dismiss, .rl-dismissible-notice', function( e ) {
852
  var notice_action = 'hide';
853
+
854
  if ( $( e.currentTarget ).hasClass( 'rl-delay-notice' ) ) {
855
  notice_action = 'delay'
856
  }
857
+
858
  $.post( ajaxurl, {
859
  action: 'rl_dismiss_notice',
860
  notice_action: notice_action,
861
  url: '<?php echo admin_url( 'admin-ajax.php' ); ?>',
862
  nonce: '<?php echo wp_create_nonce( 'rl_dismiss_notice' ); ?>'
863
  } );
864
+
865
  $( e.delegateTarget ).slideUp( 'fast' );
866
  } );
867
  } );
885
 
886
  if ( $file == $plugin ) {
887
  return array_merge(
888
+ $links, [ sprintf( '<a href="https://dfactory.eu/support/forum/responsive-lightbox/" target="_blank">%s</a>', __( 'Support', 'responsive-lightbox' ) ) ]
889
  );
890
  }
891
 
952
  <p><em>' . __( "We're sorry to see you go. Could you please tell us what happened?", 'responsive-lightbox' ) . '</em></p>
953
  <ul>';
954
 
955
+ foreach ( [
956
  '1' => __( "I couldn't figure out how to make it work.", 'responsive-lightbox' ),
957
  '2' => __( 'I found another plugin to use for the same task.', 'responsive-lightbox' ),
958
  '3' => __( 'The User Interface is not clear to me.', 'responsive-lightbox' ),
959
  '4' => __( 'The plugin is not what I was looking for.', 'responsive-lightbox' ),
960
  '5' => __( "Support isn't timely.", 'responsive-lightbox' ),
961
  '6' => __( 'Other', 'responsive-lightbox' )
962
+ ] as $option => $text ) {
963
  echo '
964
  <li><label><input type="radio" name="rl_deactivation_option" value="' . $option . '" ' . checked( '6', $option, false ) . ' />' . esc_html( $text ) . '</label></li>';
965
  }
994
  if ( isset( $_POST['option_id'] ) ) {
995
  $option_id = (int) $_POST['option_id'];
996
  $other = esc_html( $_POST['other'] );
997
+
998
  // avoid fake submissions
999
  if ( $option_id == 6 && $other == '' )
1000
  wp_send_json_success();
1001
 
1002
  wp_remote_post(
1003
+ 'https://dfactory.eu/wp-json/api/v1/forms/',
1004
+ [
1005
+ 'timeout' => 5,
1006
+ 'blocking' => true,
1007
+ 'headers' => [],
1008
+ 'body' => [
1009
+ 'id' => 13,
1010
+ 'option' => $option_id,
1011
+ 'other' => $other
1012
+ ]
1013
+ ]
1014
  );
1015
 
1016
  wp_send_json_success();
1054
  if ( ! $this->options['builder']['gallery_builder'] )
1055
  return;
1056
 
1057
+ // get current script
1058
+ $script = $this->options['settings']['script'];
1059
+
1060
+ $taxonomies = [];
1061
 
1062
  if ( $this->options['builder']['categories'] ) {
1063
  $taxonomies[] = 'rl_category';
1064
 
1065
+ $data = [
1066
  'public' => true,
1067
  'hierarchical' => true,
1068
+ 'labels' => [
1069
  'name' => _x( 'Gallery Categories', 'taxonomy general name', 'responsive-lightbox' ),
1070
  'singular_name' => _x( 'Gallery Category', 'taxonomy singular name', 'responsive-lightbox' ),
1071
  'search_items' => __( 'Search Gallery Categories', 'responsive-lightbox' ),
1078
  'add_new_item' => __( 'Add New Gallery Category', 'responsive-lightbox' ),
1079
  'new_item_name' => __( 'New Gallery Category Name', 'responsive-lightbox' ),
1080
  'menu_name' => __( 'Categories', 'responsive-lightbox' )
1081
+ ],
1082
  'show_ui' => true,
1083
  'show_admin_column' => true,
1084
  'update_count_callback' => '_update_post_term_count',
1085
  'query_var' => true,
1086
+ 'rewrite' => [
1087
  'slug' => $this->options['builder']['permalink_categories'],
1088
  'with_front' => false,
1089
  'hierarchical' => false
1090
+ ]
1091
+ ];
1092
 
1093
  if ( $this->options['capabilities']['active'] ) {
1094
+ $data['capabilities'] = [
1095
  'manage_terms' => 'manage_gallery_categories',
1096
  'edit_terms' => 'manage_gallery_categories',
1097
  'delete_terms' => 'manage_gallery_categories',
1098
  'assign_terms' => 'edit_galleries'
1099
+ ];
1100
  }
1101
 
1102
  register_taxonomy( 'rl_category', 'rl_gallery', $data );
1105
  if ( $this->options['builder']['tags'] ) {
1106
  $taxonomies[] = 'rl_tag';
1107
 
1108
+ $data = [
1109
  'public' => true,
1110
  'hierarchical' => false,
1111
+ 'labels' => [
1112
  'name' => _x( 'Gallery Tags', 'taxonomy general name', 'responsive-lightbox' ),
1113
  'singular_name' => _x( 'Gallery Tag', 'taxonomy singular name', 'responsive-lightbox' ),
1114
  'search_items' => __( 'Search Gallery Tags', 'responsive-lightbox' ),
1124
  'add_or_remove_items' => __( 'Add or remove gallery tags', 'responsive-lightbox' ),
1125
  'choose_from_most_used' => __( 'Choose from the most used gallery tags', 'responsive-lightbox' ),
1126
  'menu_name' => __( 'Tags', 'responsive-lightbox' )
1127
+ ],
1128
  'show_ui' => true,
1129
  'show_admin_column' => true,
1130
  'update_count_callback' => '_update_post_term_count',
1131
  'query_var' => true,
1132
+ 'rewrite' => [
1133
  'slug' => $this->options['builder']['permalink_tags'],
1134
  'with_front' => false,
1135
  'hierarchical' => false
1136
+ ]
1137
+ ];
1138
 
1139
  if ( $this->options['capabilities']['active'] ) {
1140
+ $data['capabilities'] = [
1141
  'manage_terms' => 'manage_gallery_tags',
1142
  'edit_terms' => 'manage_gallery_tags',
1143
  'delete_terms' => 'manage_gallery_tags',
1144
  'assign_terms' => 'edit_galleries'
1145
+ ];
1146
  }
1147
 
1148
  register_taxonomy( 'rl_tag', 'rl_gallery', $data );
1149
  }
1150
 
1151
+ $data = [
1152
+ 'labels' => [
1153
  'name' => _x( 'Galleries', 'post type general name', 'responsive-lightbox' ),
1154
  'singular_name' => _x( 'Gallery', 'post type singular name', 'responsive-lightbox' ),
1155
  'add_new' => __( 'Add New', 'responsive-lightbox' ),
1163
  'not_found_in_trash' => __( 'No galleries found in trash', 'responsive-lightbox' ),
1164
  'all_items' => __( 'All Galleries', 'responsive-lightbox' ),
1165
  'menu_name' => __( 'Gallery', 'responsive-lightbox' )
1166
+ ],
1167
  'description' => '',
1168
  'public' => true,
1169
  'exclude_from_search' => false,
1176
  'menu_icon' => 'dashicons-format-gallery',
1177
  'map_meta_cap' => true,
1178
  'hierarchical' => false,
1179
+ 'supports' => [ 'title', 'author', 'thumbnail' ],
1180
  'has_archive' => $this->options['builder']['archives'],
1181
  'query_var' => true,
1182
  'can_export' => true,
1183
  'taxonomies' => $taxonomies,
1184
+ 'rewrite' => [
1185
  'slug' => $this->options['builder']['permalink'],
1186
  'with_front' => false,
1187
  'feed' => true,
1188
  'pages' => true
1189
+ ]
1190
+ ];
1191
 
1192
  if ( $this->options['capabilities']['active'] ) {
1193
+ $data['capability_type'] = [ 'gallery', 'galleries' ];
1194
+ $data['capabilities'] = [
1195
  'publish_posts' => 'publish_galleries',
1196
  'edit_posts' => 'edit_galleries',
1197
  'edit_published_posts' => 'edit_published_galleries',
1205
  'edit_post' => 'edit_gallery',
1206
  'delete_post' => 'delete_gallery',
1207
  'read_post' => 'read_gallery'
1208
+ ];
1209
  }
1210
 
1211
  // register rl_gallery
1212
  register_post_type( 'rl_gallery', $data );
1213
 
1214
  if ( $this->options['builder']['archives'] && $this->options['builder']['archives_category'] !== 'all' && ! is_admin() )
1215
+ add_action( 'pre_get_posts', [ $this, 'gallery_archives' ] );
1216
 
1217
+ add_filter( 'post_updated_messages', [ $this, 'post_updated_messages' ] );
1218
  }
1219
 
1220
  /**
1225
  public function display_breadcrumbs() {
1226
  global $pagenow, $typenow;
1227
 
1228
+ $breadcrumbs = [];
1229
 
1230
  // get settings
1231
  $settings = Responsive_Lightbox()->settings;
1235
  $tab_key = isset( $tabs[1] ) ? $tabs[1] : 'settings';
1236
  $section_key = isset( $_GET['section'] ) ? esc_attr( $_GET['section'] ) : ( ! empty( $settings->tabs[$tab_key]['default_section'] ) ? $settings->tabs[$tab_key]['default_section'] : '' );
1237
 
1238
+ $breadcrumbs[] = [
1239
  'url' => admin_url( 'admin.php?page=responsive-lightbox-settings' ),
1240
  'name' => __( 'Settings', 'responsive-lightbox' )
1241
+ ];
1242
 
1243
  if ( $tab_key === 'configuration' ) {
1244
+ $breadcrumbs[] = [
1245
  'url' => admin_url( 'admin.php?page=responsive-lightbox-configuration' ),
1246
  'name' => $settings->tabs[$tab_key]['name']
1247
+ ];
1248
 
1249
  // valid lightbox script?
1250
  if ( array_key_exists( $section_key, $settings->scripts ) ) {
1251
+ $breadcrumbs[] = [
1252
  'url' => '',
1253
  'name' => $settings->scripts[$section_key]['name']
1254
+ ];
1255
  }
1256
  } elseif ( $tab_key === 'gallery' ) {
1257
+ $breadcrumbs[] = [
1258
  'url' => admin_url( 'admin.php?page=responsive-lightbox-gallery' ),
1259
  'name' => $settings->tabs[$tab_key]['name']
1260
+ ];
1261
 
1262
  // valid gallery?
1263
  if ( array_key_exists( $section_key, $settings->tabs['gallery']['sections'] ) ) {
1264
+ $breadcrumbs[] = [
1265
  'url' => '',
1266
  'name' => $settings->tabs['gallery']['sections'][$section_key]
1267
+ ];
1268
  }
1269
  } else {
1270
+ $breadcrumbs[] = [
1271
  'url' => '',
1272
  'name' => $settings->tabs[$tab_key]['name']
1273
+ ];
1274
  }
1275
  // gallery listing
1276
  } elseif ( $pagenow === 'edit.php' && $typenow === 'rl_gallery' ) {
1277
+ $breadcrumbs[] = [
1278
  'url' => '',
1279
  'name' => __( 'Galleries', 'responsive-lightbox' )
1280
+ ];
1281
  // single gallery
1282
  } elseif ( $pagenow === 'post.php' && get_post_type() === 'rl_gallery' ) {
1283
+ $breadcrumbs[] = [
1284
  'url' => admin_url( 'edit.php?post_type=rl_gallery' ),
1285
  'name' => __( 'Galleries', 'responsive-lightbox' )
1286
+ ];
1287
 
1288
+ $breadcrumbs[] = [
1289
  'url' => '',
1290
  'name' => __( 'Edit gallery', 'responsive-lightbox' )
1291
+ ];
1292
  // new gallery
1293
  } elseif ( $pagenow === 'post-new.php' && get_post_type() === 'rl_gallery' ) {
1294
+ $breadcrumbs[] = [
1295
  'url' => admin_url( 'edit.php?post_type=rl_gallery' ),
1296
  'name' => __( 'Galleries', 'responsive-lightbox' )
1297
+ ];
1298
 
1299
+ $breadcrumbs[] = [
1300
  'url' => '',
1301
  'name' => __( 'New gallery', 'responsive-lightbox' )
1302
+ ];
1303
  // gallery taxonomies
1304
+ } elseif ( in_array( $pagenow, [ 'edit-tags.php', 'term.php' ], true ) && isset( $_GET['taxonomy'], $_GET['post_type'] ) && $_GET['post_type'] === 'rl_gallery' ) {
1305
+ $breadcrumbs[] = [
1306
  'url' => admin_url( 'edit.php?post_type=rl_gallery' ),
1307
  'name' => __( 'Galleries', 'responsive-lightbox' )
1308
+ ];
1309
 
1310
  // categories
1311
  if ( $_GET['taxonomy'] === 'rl_category' ) {
1312
  // new category
1313
  if ( $pagenow === 'term.php' ) {
1314
+ $breadcrumbs[] = [
1315
  'url' => admin_url( 'edit-tags.php?taxonomy=rl_category&post_type=rl_gallery' ),
1316
  'name' => __( 'Categories', 'responsive-lightbox' )
1317
+ ];
1318
 
1319
+ $breadcrumbs[] = [
1320
  'url' => '',
1321
  'name' => __( 'Edit category', 'responsive-lightbox' )
1322
+ ];
1323
  // categories listing
1324
  } else {
1325
+ $breadcrumbs[] = [
1326
  'url' => '',
1327
  'name' => __( 'Categories', 'responsive-lightbox' )
1328
+ ];
1329
  }
1330
  // tags
1331
  } elseif ( $_GET['taxonomy'] === 'rl_tag' ) {
1332
  // new tag
1333
  if ( $pagenow === 'term.php' ) {
1334
+ $breadcrumbs[] = [
1335
  'url' => admin_url( 'edit-tags.php?taxonomy=rl_category&post_type=rl_gallery' ),
1336
  'name' => __( 'Tags', 'responsive-lightbox' )
1337
+ ];
1338
 
1339
+ $breadcrumbs[] = [
1340
  'url' => '',
1341
  'name' => __( 'Edit tag', 'responsive-lightbox' )
1342
+ ];
1343
  // tags listing
1344
  } else {
1345
+ $breadcrumbs[] = [
1346
  'url' => '',
1347
  'name' => __( 'Tags', 'responsive-lightbox' )
1348
+ ];
1349
  }
1350
  }
1351
  }
1353
  // any breadcrumbs?
1354
  if ( ! empty( $breadcrumbs ) ) {
1355
  array_unshift( $breadcrumbs,
1356
+ [
1357
  'url' => '',
1358
  'name' => __( 'Responsive Lightbox & Gallery', 'responsive-lightbox' )
1359
+ ]
1360
  );
1361
 
1362
+ $html = [];
1363
 
1364
  foreach ( $breadcrumbs as $breadcrumb ) {
1365
  if ( ! empty( $breadcrumb['url'] ) )
1387
  if ( is_post_type_archive( 'rl_gallery' ) ) {
1388
  $query->set(
1389
  'tax_query',
1390
+ [
1391
  'relation' => 'OR',
1392
+ [
1393
  'taxonomy' => 'rl_category',
1394
  'field' => 'slug',
1395
  'terms' => $this->options['builder']['archives_category']
1396
+ ]
1397
+ ]
1398
  );
1399
  }
1400
  }
1410
  $post_type = get_post_type( $post );
1411
  $post_type_object = get_post_type_object( $post_type );
1412
 
1413
+ $messages['rl_gallery'] = [
1414
  1 => __( 'Gallery updated.', 'responsive-lightbox' ),
1415
  4 => __( 'Gallery updated.', 'responsive-lightbox' ),
1416
  5 => isset( $_GET['revision'] ) ? sprintf( __( 'Gallery restored to revision from %s', 'responsive-lightbox' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
1417
  6 => __( 'Gallery published.', 'responsive-lightbox' ),
1418
  7 => __( 'Gallery saved.', 'responsive-lightbox' ),
1419
  8 => __( 'Gallery submitted.', 'responsive-lightbox' ),
1420
+ 9 => sprintf( __( 'Gallery scheduled for: <strong>%1$s</strong>.', 'responsive-lightbox' ), date_i18n( __( 'M j, Y @ G:i', 'responsive-lightbox' ), strtotime( $post->post_date ) ) ),
 
 
 
1421
  10 => __( 'Gallery draft updated.', 'responsive-lightbox' )
1422
+ ];
1423
 
1424
  if ( $post_type_object->publicly_queryable && 'rl_gallery' === $post_type ) {
1425
  $permalink = get_permalink( $post->ID );
1459
  register_taxonomy(
1460
  'rl_media_tag',
1461
  'attachment',
1462
+ [
1463
  'public' => true,
1464
  'hierarchical' => false,
1465
+ 'labels' => [
1466
  'name' => _x( 'Media Tags', 'taxonomy general name', 'responsive-lightbox' ),
1467
+ 'singular_name' => _x( 'Media Tag', 'taxonomy singular name', 'responsive-lightbox' ),
1468
+ 'search_items' => __( 'Search Tags', 'responsive-lightbox' ),
1469
+ 'all_items' => __( 'All Tags', 'responsive-lightbox' ),
1470
+ 'edit_item' => __( 'Edit Tag', 'responsive-lightbox' ),
1471
+ 'update_item' => __( 'Update Tag', 'responsive-lightbox' ),
1472
+ 'add_new_item' => __( 'Add New Tag', 'responsive-lightbox' ),
1473
+ 'new_item_name' => __( 'New Tag Name', 'responsive-lightbox' ),
1474
+ 'not_found' => __( 'No tags found.', 'responsive-lightbox' ),
1475
+ 'menu_name' => _x( 'Tags', 'taxonomy general name', 'responsive-lightbox' ),
1476
+ ],
1477
  'show_ui' => true,
1478
  'show_in_menu' => $this->options['folders']['show_in_menu'],
1479
  'show_in_nav_menus' => false,
1483
  'update_count_callback' => '_update_generic_term_count',
1484
  'query_var' => false,
1485
  'rewrite' => false
1486
+ ]
1487
  );
1488
  }
1489
 
1490
  // get non-builtin hierarchical taxonomies
1491
  $taxonomies = get_taxonomies(
1492
+ [
1493
+ 'object_type' => [ 'attachment' ],
1494
  'hierarchical' => true,
1495
  '_builtin' => false
1496
+ ],
1497
  'objects',
1498
  'and'
1499
  );
1500
 
1501
+ $media_taxonomies = [];
1502
 
1503
  foreach ( $taxonomies as $taxonomy => $object ) {
1504
  $media_taxonomies[$taxonomy] = $taxonomy . ' (' . $object->labels->menu_name . ')';
1540
  register_taxonomy(
1541
  $taxonomy,
1542
  'attachment',
1543
+ [
1544
  'public' => true,
1545
  'hierarchical' => true,
1546
+ 'labels' => [
1547
  'name' => _x( 'Media Folders', 'taxonomy general name', 'responsive-lightbox' ),
1548
  'singular_name' => _x( 'Media Folder', 'taxonomy singular name', 'responsive-lightbox' ),
1549
  'search_items' => __( 'Search Folders', 'responsive-lightbox' ),
1556
  'new_item_name' => __( 'New Folder Name', 'responsive-lightbox' ),
1557
  'not_found' => __( 'No folders found.', 'responsive-lightbox' ),
1558
  'menu_name' => _x( 'Folders', 'taxonomy general name', 'responsive-lightbox' ),
1559
+ ],
1560
  'show_ui' => ! ( $taxonomy === 'rl_media_folder' && $this->options['folders']['media_taxonomy'] !== 'rl_media_folder' ),
1561
  'show_in_menu' => $show_in_menu,
1562
  'show_in_nav_menus' => false,
1566
  'update_count_callback' => '_update_generic_term_count',
1567
  'query_var' => false,
1568
  'rewrite' => false
1569
+ ]
1570
  );
1571
  }
1572
 
1578
  */
1579
  public function admin_scripts_styles( $page ) {
1580
  global $typenow;
1581
+
1582
  // settings?
1583
  if ( preg_match( '/^(toplevel|lightbox)_page_responsive-lightbox-(' . implode( '|', array_keys( Responsive_Lightbox()->settings->tabs ) ) . ')$/', $page ) === 1 ) {
1584
+ wp_enqueue_script( 'responsive-lightbox-admin', RESPONSIVE_LIGHTBOX_URL . '/js/admin.js', [ 'jquery', 'wp-color-picker' ], $this->defaults['version'] );
1585
 
1586
  wp_localize_script(
1587
  'responsive-lightbox-admin',
1588
  'rlArgsAdmin',
1589
+ [
1590
  'resetSettingsToDefaults' => __( 'Are you sure you want to reset these settings to defaults?', 'responsive-lightbox' ),
1591
  'tax_nonce' => wp_create_nonce( 'rl-folders-ajax-taxonomies-nonce' )
1592
+ ]
1593
  );
1594
 
1595
  wp_enqueue_style( 'wp-color-picker' );
1596
 
1597
+ wp_enqueue_style( 'responsive-lightbox-admin', RESPONSIVE_LIGHTBOX_URL . '/css/admin.css', [], $this->defaults['version'] );
1598
  // galleries?
1599
+ } elseif ( in_array( $page, [ 'post.php', 'post-new.php' ], true ) && get_post_type() === 'rl_gallery' || ( $page === 'edit.php' && $typenow === 'rl_gallery' ) ) {
1600
  wp_enqueue_media();
1601
 
1602
+ wp_enqueue_script( 'responsive-lightbox-admin-select2', RESPONSIVE_LIGHTBOX_URL . '/assets/select2/select2.full' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', [ 'jquery' ], $this->defaults['version'] );
1603
 
1604
+ wp_enqueue_script( 'responsive-lightbox-admin-galleries', RESPONSIVE_LIGHTBOX_URL . '/js/admin-galleries.js', [ 'jquery', 'underscore', 'wp-color-picker', 'jquery-ui-sortable' ], $this->defaults['version'] );
1605
 
1606
  wp_localize_script(
1607
  'responsive-lightbox-admin-galleries',
1608
  'rlArgsGalleries',
1609
+ [
1610
+ 'mediaItemTemplate' => $this->galleries->get_media_item_template( $this->galleries->fields['images']['media']['attachments']['preview'] ),
1611
+ 'mediaEmbedTemplate' => $this->galleries->get_media_embed_template( true ),
1612
+ 'mediaExcludeTemplate' => $this->galleries->get_media_exclude_input_template(),
1613
+ 'textSelectImages' => __( 'Select gallery items', 'responsive-lightbox' ),
1614
+ 'textUseImages' => __( 'Use these items', 'responsive-lightbox' ),
1615
+ 'clearSelection' => __( 'Clear selected items', 'responsive-lightbox' ),
1616
+ 'selectedImages' => __( 'Selected gallery items', 'responsive-lightbox' ),
1617
+ 'editAttachment' => __( 'Edit attachment', 'responsive-lightbox' ),
1618
+ 'editEmbed' => __( 'Edit embed video', 'responsive-lightbox' ),
1619
+ 'videoDetails' => __( 'Video details', 'responsive-lightbox' ),
1620
+ 'saveChanges' => __( 'Save changes', 'responsive-lightbox' ),
1621
+ 'embedVideo' => __( 'Embed Video', 'responsive-lightbox' ),
1622
+ 'onlyEmbedProviders' => __( 'Videos can be embedded only from the following providers: %s.', 'responsive-lightbox' ),
1623
+ 'nonce' => wp_create_nonce( 'rl-gallery' ),
1624
+ 'post_id' => get_the_ID(),
1625
+ 'thumbnail' => wp_get_attachment_image_src( $this->galleries->maybe_generate_thumbnail(), 'thumbnail', false ),
1626
+ 'supports' => [
1627
+ 'default' => rl_current_lightbox_supports( 'video' ) ? [ 'image', 'video' ] : 'image',
1628
+ 'youtube' => rl_current_lightbox_supports( 'youtube' ),
1629
+ 'vimeo' => rl_current_lightbox_supports( 'vimeo' )
1630
+ ],
1631
+ 'videoIcon' => RESPONSIVE_LIGHTBOX_URL . '/images/responsive-lightbox-video-thumbnail.png'
1632
+ ]
1633
  );
1634
 
1635
  wp_enqueue_style( 'wp-color-picker' );
1636
 
1637
+ wp_enqueue_style( 'responsive-lightbox-admin', RESPONSIVE_LIGHTBOX_URL . '/css/admin.css', [], $this->defaults['version'] );
1638
 
1639
+ wp_enqueue_style( 'responsive-lightbox-admin-select2', RESPONSIVE_LIGHTBOX_URL . '/assets/select2/select2' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.css', [], $this->defaults['version'] );
1640
 
1641
+ wp_enqueue_style( 'responsive-lightbox-admin-galleries', RESPONSIVE_LIGHTBOX_URL . '/css/admin-galleries.css', [], $this->defaults['version'] );
1642
  // plugins?
1643
  } elseif ( $page === 'plugins.php' ) {
1644
  add_thickbox();
1645
 
1646
+ wp_enqueue_script( 'responsive-lightbox-admin-plugins', RESPONSIVE_LIGHTBOX_URL . '/js/admin-plugins.js', [ 'jquery' ], $this->defaults['version'] );
1647
 
1648
+ wp_enqueue_style( 'responsive-lightbox-admin-plugins', RESPONSIVE_LIGHTBOX_URL . '/css/admin-plugins.css', [], $this->defaults['version'] );
1649
 
1650
  wp_localize_script(
1651
  'responsive-lightbox-admin-plugins',
1652
  'rlArgsPlugins',
1653
+ [
1654
  'deactivate' => __( 'Responsive Lightbox & Gallery - Deactivation survey', 'responsive-lightbox' ),
1655
  'nonce' => wp_create_nonce( 'rl-deactivate-plugin' )
1656
+ ]
1657
  );
1658
  // taxonomies?
1659
+ } elseif ( in_array( $page, [ 'edit-tags.php', 'term.php' ], true ) && isset( $_GET['taxonomy'], $_GET['post_type'] ) && $_GET['post_type'] === 'rl_gallery' )
1660
+ wp_enqueue_style( 'responsive-lightbox-admin', RESPONSIVE_LIGHTBOX_URL . '/css/admin.css', [], $this->defaults['version'] );
1661
  }
1662
 
1663
  /**
1669
  global $wp_version;
1670
 
1671
  // actions
1672
+ add_action( 'enqueue_block_editor_assets', [ $this, 'gutenberg_enqueue_scripts' ] );
1673
 
1674
  // filters
1675
  if ( version_compare( $wp_version, '5.8', '>=' ) )
1676
+ add_filter( 'block_categories_all', [ $this, 'block_category' ] );
1677
  else
1678
+ add_filter( 'block_categories', [ $this, 'block_category' ] );
1679
  }
1680
 
1681
  /**
1686
  function block_category( $categories ) {
1687
  return array_merge(
1688
  $categories,
1689
+ [
1690
+ [
1691
  'slug' => 'responsive-lightbox',
1692
  'title' => 'Responsive Lightbox'
1693
+ ]
1694
+ ]
1695
  );
1696
  }
1697
 
1728
  wp_localize_script(
1729
  'responsive-lightbox-block-editor-script',
1730
  'rlBlockEditor',
1731
+ [
1732
  'active' => true
1733
+ ]
1734
  );
1735
 
1736
  // enqueue gallery
1739
  // register gallery block
1740
  register_block_type(
1741
  'responsive-lightbox/gallery',
1742
+ [
1743
  'editor_script' => 'block-editor-script'
1744
+ ]
1745
  );
1746
 
1747
  // register remote library image block
1748
  register_block_type(
1749
  'responsive-lightbox/remote-library-image',
1750
+ [
1751
  'editor_script' => 'block-editor-script'
1752
+ ]
1753
  );
1754
  }
1755
 
1761
  public function sidebar_admin_setup() {
1762
  wp_enqueue_media();
1763
 
1764
+ wp_enqueue_script( 'responsive-lightbox-admin-widgets', RESPONSIVE_LIGHTBOX_URL . '/js/admin-widgets.js', [ 'jquery', 'underscore' ], $this->defaults['version'] );
1765
 
1766
  wp_localize_script(
1767
  'responsive-lightbox-admin-widgets',
1768
  'rlArgsWidgets',
1769
+ [
1770
  'textRemoveImage' => __( 'Remove image', 'responsive-lightbox' ),
1771
  'textSelectImages' => __( 'Select images', 'responsive-lightbox' ),
1772
  'textSelectImage' => __( 'Select image', 'responsive-lightbox' ),
1773
  'textUseImages' => __( 'Use these images', 'responsive-lightbox' ),
1774
  'textUseImage' => __( 'Use this image', 'responsive-lightbox' )
1775
+ ]
1776
  );
1777
 
1778
+ wp_register_style( 'responsive-lightbox-admin', RESPONSIVE_LIGHTBOX_URL . '/css/admin.css', [], $this->defaults['version'] );
1779
  wp_enqueue_style( 'responsive-lightbox-admin' );
1780
  }
1781
 
1787
  public function front_scripts_styles() {
1788
  $args = apply_filters(
1789
  'rl_lightbox_args',
1790
+ [
1791
+ 'script' => $this->options['settings']['script'],
1792
+ 'selector' => $this->options['settings']['selector'],
1793
+ 'customEvents' => ( $this->options['settings']['enable_custom_events'] === true ? $this->options['settings']['custom_events'] : '' ),
1794
+ 'activeGalleries' => $this->get_boolean_value( $this->options['settings']['galleries'] )
1795
+ ]
1796
  );
1797
 
1798
+ $scripts = [];
1799
+ $styles = [];
1800
 
1801
  switch ( $args['script'] ) {
1802
  case 'prettyphoto':
1803
  wp_register_script(
1804
+ 'responsive-lightbox-prettyphoto', plugins_url( 'assets/prettyphoto/jquery.prettyPhoto' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', __FILE__ ), [ 'jquery' ], $this->defaults['version'], ($this->options['settings']['loading_place'] === 'header' ? false : true )
1805
  );
1806
 
1807
  wp_register_style(
1808
+ 'responsive-lightbox-prettyphoto', plugins_url( 'assets/prettyphoto/prettyPhoto' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.css', __FILE__ ), [], $this->defaults['version']
1809
  );
1810
 
1811
  $scripts[] = 'responsive-lightbox-prettyphoto';
1813
 
1814
  $args = array_merge(
1815
  $args,
1816
+ [
1817
  'animationSpeed' => $this->options['configuration']['prettyphoto']['animation_speed'],
1818
  'slideshow' => $this->get_boolean_value( $this->options['configuration']['prettyphoto']['slideshow'] ),
1819
  'slideshowDelay' => $this->options['configuration']['prettyphoto']['slideshow_delay'],
1835
  'overlayGallery' => $this->get_boolean_value( $this->options['configuration']['prettyphoto']['overlay_gallery'] ),
1836
  'keyboardShortcuts' => $this->get_boolean_value( $this->options['configuration']['prettyphoto']['keyboard_shortcuts'] ),
1837
  'social' => $this->get_boolean_value( $this->options['configuration']['prettyphoto']['social'] )
1838
+ ]
1839
  );
1840
  break;
1841
 
1842
  case 'swipebox':
1843
  wp_register_script(
1844
+ 'responsive-lightbox-swipebox', plugins_url( 'assets/swipebox/jquery.swipebox' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', __FILE__ ), [ 'jquery' ], $this->defaults['version'], ($this->options['settings']['loading_place'] === 'header' ? false : true )
1845
  );
1846
 
1847
  wp_register_style(
1848
+ 'responsive-lightbox-swipebox', plugins_url( 'assets/swipebox/swipebox' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.css', __FILE__ ), [], $this->defaults['version']
1849
  );
1850
 
1851
  $scripts[] = 'responsive-lightbox-swipebox';
1852
  $styles[] = 'responsive-lightbox-swipebox';
1853
 
1854
  $args = array_merge(
1855
+ $args,
1856
+ [
1857
+ 'animation' => $this->get_boolean_value( ($this->options['configuration']['swipebox']['animation'] === 'css' ? true : false ) ),
1858
+ 'hideCloseButtonOnMobile' => $this->get_boolean_value( $this->options['configuration']['swipebox']['hide_close_mobile'] ),
1859
+ 'removeBarsOnMobile' => $this->get_boolean_value( $this->options['configuration']['swipebox']['remove_bars_mobile'] ),
1860
+ 'hideBars' => $this->get_boolean_value( $this->options['configuration']['swipebox']['hide_bars'] ),
1861
+ 'hideBarsDelay' => $this->options['configuration']['swipebox']['hide_bars_delay'],
1862
+ 'videoMaxWidth' => $this->options['configuration']['swipebox']['video_max_width'],
1863
+ 'useSVG' => ! $this->options['configuration']['swipebox']['force_png_icons'],
1864
+ 'loopAtEnd' => $this->get_boolean_value( $this->options['configuration']['swipebox']['loop_at_end'] )
1865
+ ]
1866
  );
1867
  break;
1868
 
1869
  case 'fancybox':
1870
  wp_register_script(
1871
+ 'responsive-lightbox-fancybox', plugins_url( 'assets/fancybox/jquery.fancybox' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', __FILE__ ), [ 'jquery' ], $this->defaults['version'], ($this->options['settings']['loading_place'] === 'header' ? false : true )
1872
  );
1873
 
1874
  wp_register_style(
1875
+ 'responsive-lightbox-fancybox', plugins_url( 'assets/fancybox/jquery.fancybox' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.css', __FILE__ ), [], $this->defaults['version']
1876
  );
1877
 
1878
  $scripts[] = 'responsive-lightbox-fancybox';
1879
  $styles[] = 'responsive-lightbox-fancybox';
1880
 
1881
  $args = array_merge(
1882
+ $args,
1883
+ [
1884
+ 'modal' => $this->get_boolean_value( $this->options['configuration']['fancybox']['modal'] ),
1885
+ 'showOverlay' => $this->get_boolean_value( $this->options['configuration']['fancybox']['show_overlay'] ),
1886
+ 'showCloseButton' => $this->get_boolean_value( $this->options['configuration']['fancybox']['show_close_button'] ),
1887
+ 'enableEscapeButton' => $this->get_boolean_value( $this->options['configuration']['fancybox']['enable_escape_button'] ),
1888
+ 'hideOnOverlayClick' => $this->get_boolean_value( $this->options['configuration']['fancybox']['hide_on_overlay_click'] ),
1889
+ 'hideOnContentClick' => $this->get_boolean_value( $this->options['configuration']['fancybox']['hide_on_content_click'] ),
1890
+ 'cyclic' => $this->get_boolean_value( $this->options['configuration']['fancybox']['cyclic'] ),
1891
+ 'showNavArrows' => $this->get_boolean_value( $this->options['configuration']['fancybox']['show_nav_arrows'] ),
1892
+ 'autoScale' => $this->get_boolean_value( $this->options['configuration']['fancybox']['auto_scale'] ),
1893
+ 'scrolling' => $this->options['configuration']['fancybox']['scrolling'],
1894
+ 'centerOnScroll' => $this->get_boolean_value( $this->options['configuration']['fancybox']['center_on_scroll'] ),
1895
+ 'opacity' => $this->get_boolean_value( $this->options['configuration']['fancybox']['opacity'] ),
1896
+ 'overlayOpacity' => $this->options['configuration']['fancybox']['overlay_opacity'],
1897
+ 'overlayColor' => $this->options['configuration']['fancybox']['overlay_color'],
1898
+ 'titleShow' => $this->get_boolean_value( $this->options['configuration']['fancybox']['title_show'] ),
1899
+ 'titlePosition' => $this->options['configuration']['fancybox']['title_position'],
1900
+ 'transitions' => $this->options['configuration']['fancybox']['transitions'],
1901
+ 'easings' => $this->options['configuration']['fancybox']['easings'],
1902
+ 'speeds' => $this->options['configuration']['fancybox']['speeds'],
1903
+ 'changeSpeed' => $this->options['configuration']['fancybox']['change_speed'],
1904
+ 'changeFade' => $this->options['configuration']['fancybox']['change_fade'],
1905
+ 'padding' => $this->options['configuration']['fancybox']['padding'],
1906
+ 'margin' => $this->options['configuration']['fancybox']['margin'],
1907
+ 'videoWidth' => $this->options['configuration']['fancybox']['video_width'],
1908
+ 'videoHeight' => $this->options['configuration']['fancybox']['video_height']
1909
+ ]
1910
  );
1911
  break;
1912
 
1913
  case 'nivo':
1914
  wp_register_script(
1915
+ 'responsive-lightbox-nivo', plugins_url( 'assets/nivo/nivo-lightbox' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', __FILE__ ), [ 'jquery' ], $this->defaults['version'], ($this->options['settings']['loading_place'] === 'header' ? false : true ), $this->defaults['version']
1916
  );
1917
 
1918
  wp_register_style(
1919
+ 'responsive-lightbox-nivo', plugins_url( 'assets/nivo/nivo-lightbox' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.css', __FILE__ ), [], $this->defaults['version']
1920
  );
1921
 
1922
  wp_register_style(
1923
+ 'responsive-lightbox-nivo-default', plugins_url( 'assets/nivo/themes/default/default.css', __FILE__ ), [], $this->defaults['version']
1924
  );
1925
+
1926
  $scripts[] = 'responsive-lightbox-nivo';
1927
  $styles[] = 'responsive-lightbox-nivo';
1928
  $styles[] = 'responsive-lightbox-nivo-default';
1929
+
1930
  $args = array_merge(
1931
+ $args,
1932
+ [
1933
+ 'effect' => $this->options['configuration']['nivo']['effect'],
1934
+ 'clickOverlayToClose' => $this->get_boolean_value( $this->options['configuration']['nivo']['click_overlay_to_close'] ),
1935
+ 'keyboardNav' => $this->get_boolean_value( $this->options['configuration']['nivo']['keyboard_nav'] ),
1936
+ 'errorMessage' => esc_attr( $this->options['configuration']['nivo']['error_message'] )
1937
+ ]
1938
  );
1939
  break;
1940
 
1941
  case 'imagelightbox':
1942
  wp_register_script(
1943
+ 'responsive-lightbox-imagelightbox', plugins_url( 'assets/imagelightbox/imagelightbox' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', __FILE__ ), [ 'jquery' ], $this->defaults['version'], ($this->options['settings']['loading_place'] === 'header' ? false : true )
1944
  );
1945
 
1946
  wp_register_style(
1947
+ 'responsive-lightbox-imagelightbox', plugins_url( 'assets/imagelightbox/imagelightbox' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.css', __FILE__ ), [], $this->defaults['version']
1948
  );
1949
 
1950
  $scripts[] = 'responsive-lightbox-imagelightbox';
1951
  $styles[] = 'responsive-lightbox-imagelightbox';
1952
 
1953
  $args = array_merge(
1954
+ $args,
1955
+ [
1956
+ 'animationSpeed' => $this->options['configuration']['imagelightbox']['animation_speed'],
1957
+ 'preloadNext' => $this->get_boolean_value( $this->options['configuration']['imagelightbox']['preload_next'] ),
1958
+ 'enableKeyboard' => $this->get_boolean_value( $this->options['configuration']['imagelightbox']['enable_keyboard'] ),
1959
+ 'quitOnEnd' => $this->get_boolean_value( $this->options['configuration']['imagelightbox']['quit_on_end'] ),
1960
+ 'quitOnImageClick' => $this->get_boolean_value( $this->options['configuration']['imagelightbox']['quit_on_image_click'] ),
1961
+ 'quitOnDocumentClick' => $this->get_boolean_value( $this->options['configuration']['imagelightbox']['quit_on_document_click'] ),
1962
+ ]
1963
  );
1964
  break;
1965
 
1967
  // swipe support, enqueue Hammer.js on mobile devices only
1968
  if ( wp_is_mobile() ) {
1969
  wp_register_script(
1970
+ 'responsive-lightbox-hammer-js', plugins_url( 'assets/tosrus/hammer' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', __FILE__ ), [], $this->defaults['version'], ($this->options['settings']['loading_place'] === 'header' ? false : true )
1971
  );
1972
  $scripts[] = 'responsive-lightbox-hammer-js';
1973
  }
1974
 
1975
  wp_register_script(
1976
+ 'responsive-lightbox-tosrus', plugins_url( 'assets/tosrus/jquery.tosrus' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', __FILE__ ), [ 'jquery' ], $this->defaults['version'], ($this->options['settings']['loading_place'] === 'header' ? false : true )
1977
  );
1978
 
1979
  wp_register_style(
1980
+ 'responsive-lightbox-tosrus', plugins_url( 'assets/tosrus/jquery.tosrus' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.css', __FILE__ ), [], $this->defaults['version']
1981
  );
1982
 
1983
  $scripts[] = 'responsive-lightbox-tosrus';
1984
  $styles[] = 'responsive-lightbox-tosrus';
1985
 
1986
+ $args = array_merge(
1987
+ $args,
1988
+ [
1989
+ 'effect' => $this->options['configuration']['tosrus']['effect'],
1990
+ 'infinite' => $this->get_boolean_value( $this->options['configuration']['tosrus']['infinite'] ),
1991
+ 'keys' => $this->get_boolean_value( $this->options['configuration']['tosrus']['keys'] ),
1992
+ 'autoplay' => $this->get_boolean_value( $this->options['configuration']['tosrus']['autoplay'] ),
1993
+ 'pauseOnHover' => $this->get_boolean_value( $this->options['configuration']['tosrus']['pause_on_hover'] ),
1994
+ 'timeout' => $this->options['configuration']['tosrus']['timeout'],
1995
+ 'pagination' => $this->get_boolean_value( $this->options['configuration']['tosrus']['pagination'] ),
1996
+ 'paginationType' => $this->options['configuration']['tosrus']['pagination_type'],
1997
+ 'closeOnClick' => $this->get_boolean_value( $this->options['configuration']['tosrus']['close_on_click'] )
1998
+ ]
1999
  );
2000
  break;
2001
 
2002
  case 'featherlight':
2003
  wp_register_script(
2004
+ 'responsive-lightbox-featherlight', plugins_url( 'assets/featherlight/featherlight' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', __FILE__ ), [ 'jquery' ], $this->defaults['version'], ($this->options['settings']['loading_place'] === 'header' ? false : true )
2005
  );
2006
 
2007
  wp_register_style(
2008
+ 'responsive-lightbox-featherlight', plugins_url( 'assets/featherlight/featherlight' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.css', __FILE__ ), [], $this->defaults['version']
2009
  );
2010
 
2011
  wp_register_script(
2012
+ 'responsive-lightbox-featherlight-gallery', plugins_url( 'assets/featherlight/featherlight.gallery' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', __FILE__ ), [ 'jquery' ], $this->defaults['version'], ($this->options['settings']['loading_place'] === 'header' ? false : true )
2013
  );
2014
 
2015
  wp_register_style(
2016
+ 'responsive-lightbox-featherlight-gallery', plugins_url( 'assets/featherlight/featherlight.gallery' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.css', __FILE__ ), [], $this->defaults['version']
2017
  );
2018
 
2019
  $scripts[] = 'responsive-lightbox-featherlight';
2023
 
2024
  $args = array_merge(
2025
  $args,
2026
+ [
2027
+ 'openSpeed' => $this->options['configuration']['featherlight']['open_speed'],
2028
+ 'closeSpeed' => $this->options['configuration']['featherlight']['close_speed'],
2029
+ 'closeOnClick' => $this->options['configuration']['featherlight']['close_on_click'],
2030
+ 'closeOnEsc' => $this->get_boolean_value( $this->options['configuration']['featherlight']['close_on_esc'] ),
2031
+ 'galleryFadeIn' => $this->options['configuration']['featherlight']['gallery_fade_in'],
2032
+ 'galleryFadeOut' => $this->options['configuration']['featherlight']['gallery_fade_out']
2033
+ ]
2034
  );
2035
  break;
2036
 
2037
  case 'magnific':
2038
+ wp_register_script( 'responsive-lightbox-magnific', plugins_url( 'assets/magnific/jquery.magnific-popup' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', __FILE__ ), [ 'jquery' ], $this->defaults['version'], ( $this->options['settings']['loading_place'] === 'header' ? false : true ) );
2039
 
2040
+ wp_register_style( 'responsive-lightbox-magnific', plugins_url( 'assets/magnific/magnific-popup' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.css', __FILE__ ), [], $this->defaults['version'] );
2041
 
2042
  $scripts[] = 'responsive-lightbox-magnific';
2043
  $styles[] = 'responsive-lightbox-magnific';
2044
 
2045
  $args = array_merge(
2046
  $args,
2047
+ [
2048
  'disableOn' => $this->options['configuration']['magnific']['disable_on'],
2049
  'midClick' => $this->options['configuration']['magnific']['mid_click'],
2050
  'preloader' => $this->options['configuration']['magnific']['preloader'],
2057
  'fixedContentPos' => $this->options['configuration']['magnific']['fixed_content_position'],
2058
  'fixedBgPos' => $this->options['configuration']['magnific']['fixed_background_position'],
2059
  'autoFocusLast' => $this->options['configuration']['magnific']['auto_focus_last']
2060
+ ]
2061
  );
2062
  break;
2063
 
2089
  }
2090
 
2091
  if ( ! empty( $args['script'] ) && ! empty( $args['selector'] ) && apply_filters( 'rl_lightbox_conditional_loading', $contitional_scripts ) != false ) {
2092
+ wp_register_script( 'responsive-lightbox-infinite-scroll', RESPONSIVE_LIGHTBOX_URL . '/assets/infinitescroll/infinite-scroll.pkgd' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', [ 'jquery' ] );
2093
+ wp_register_script( 'responsive-lightbox-images-loaded', RESPONSIVE_LIGHTBOX_URL . '/assets/imagesloaded/imagesloaded.pkgd' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', [ 'jquery' ] );
2094
+ wp_register_script( 'responsive-lightbox-masonry', RESPONSIVE_LIGHTBOX_URL . '/assets/masonry/masonry.pkgd' . ( ! ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '.min' : '' ) . '.js', [ 'jquery' ], Responsive_Lightbox()->defaults['version'], ( Responsive_Lightbox()->options['settings']['loading_place'] === 'footer' ) );
2095
 
2096
+ wp_register_script( 'responsive-lightbox', plugins_url( 'js/front.js', __FILE__ ), [ 'jquery', 'underscore', 'responsive-lightbox-infinite-scroll' ], $this->defaults['version'], ( $this->options['settings']['loading_place'] === 'header' ? false : true ) );
2097
 
2098
  $args['woocommerce_gallery'] = 0;
2099
 
2112
  $args['nonce'] = wp_create_nonce( 'rl_nonce' );
2113
  $args['preview'] = ( isset( $_GET['rl_gallery_revision_id'], $_GET['preview'] ) && $_GET['preview'] === 'true' ) ? 'true' : 'false';
2114
  $args['postId'] = (int) get_the_ID();
2115
+ $args['scriptExtension'] = array_key_exists( $args['script'], apply_filters( 'rl_settings_licenses', [] ) );
2116
 
2117
  // enqueue scripts
2118
  if ( $scripts && is_array( $scripts ) ) {
2119
  foreach ( $scripts as $script ) {
2120
  wp_enqueue_script( $script );
2121
  }
2122
+
2123
  wp_localize_script( 'responsive-lightbox', 'rlArgs', $args );
2124
  }
2125
 
2130
  }
2131
  }
2132
  }
2133
+
2134
  // gallery style
2135
+ wp_register_style( 'responsive-lightbox-gallery', plugins_url( 'css/gallery.css', __FILE__ ), [], Responsive_Lightbox()->defaults['version'] );
2136
  }
2137
 
2138
  /**
2147
 
2148
  /**
2149
  * Helper: convert hex color to rgb color.
2150
+ *
2151
  * @param type $color
2152
  * @return array
2153
  */
2156
  $color = substr( $color, 1 );
2157
 
2158
  if ( strlen( $color ) == 6 )
2159
+ list( $r, $g, $b ) = [ $color[0] . $color[1], $color[2] . $color[3], $color[4] . $color[5] ];
2160
  elseif ( strlen( $color ) == 3 )
2161
+ list( $r, $g, $b ) = [ $color[0] . $color[0], $color[1] . $color[1], $color[2] . $color[2] ];
2162
  else
2163
  return false;
2164
 
2166
  $g = hexdec( $g );
2167
  $b = hexdec( $b );
2168
 
2169
+ return [ $r, $g, $b ];
2170
  }
2171
  }
2172