Photo Gallery by Supsystic - Version 1.13.1

Version Description

Download this release

Release Info

Developer supsystic.com
Plugin Icon 128x128 Photo Gallery by Supsystic
Version 1.13.1
Comparing to
See all releases

Code changes from version 1.12.9 to 1.13.1

Files changed (44) hide show
  1. app/assets/img/kinsta_banner.png +0 -0
  2. app/assets/img/loader.gif +0 -0
  3. app/assets/js/grid-gallery.js +1 -1
  4. app/langs/default.po +1 -1
  5. app/langs/sgg-ca.po +2 -2
  6. app/langs/sgg-de_DE.po +2 -2
  7. app/langs/sgg-el.po +1 -1
  8. app/langs/sgg-es_ES.po +2 -2
  9. app/langs/sgg-fi_FI.po +2 -2
  10. app/langs/sgg-fr_CA.po +1 -1
  11. app/langs/sgg-fr_FR.po +1 -1
  12. app/langs/sgg-it_IT.po +2 -2
  13. app/langs/sgg-ru_RU.po +1 -1
  14. app/langs/sgg-zh_CN.po +1 -1
  15. index.php +2 -2
  16. readme.txt +249 -166
  17. src/GridGallery/Core/Module.php +11 -0
  18. src/GridGallery/Featuredplugins/Controller.php +4 -1
  19. src/GridGallery/Featuredplugins/assets/css/admin.featured-plugins.css +4 -0
  20. src/GridGallery/Featuredplugins/views/index.twig +10 -8
  21. src/GridGallery/Galleries/Attachment.php +31 -5
  22. src/GridGallery/Galleries/Controller.php +6 -2
  23. src/GridGallery/Galleries/Model/Galleries.php +1 -0
  24. src/GridGallery/Galleries/Module.php +43 -19
  25. src/GridGallery/Galleries/assets/css/prettyPhoto.css +1 -1
  26. src/GridGallery/Galleries/assets/img/cats_pro.gif +0 -0
  27. src/GridGallery/Galleries/assets/img/pagination_pro.gif +0 -0
  28. src/GridGallery/Galleries/assets/img/posts_pro.gif +0 -0
  29. src/GridGallery/Galleries/assets/img/water_m_pro-min.png +0 -0
  30. src/GridGallery/Galleries/assets/js/frontend.js +18 -13
  31. src/GridGallery/Galleries/assets/js/lib/jquery.wookmark.js +1 -1
  32. src/GridGallery/Galleries/assets/js/settings.js +61 -49
  33. src/GridGallery/Galleries/configs/tooltips.php +20 -5
  34. src/GridGallery/Galleries/views/settings.twig +41 -33
  35. src/GridGallery/Insta/Controller.php +2 -2
  36. src/GridGallery/Optimization/Module.php +4 -3
  37. src/GridGallery/Overview/Controller.php +1 -1
  38. src/GridGallery/Overview/Module.php +12 -11
  39. src/GridGallery/Overview/assets/css/overview-styles.css +11 -15
  40. src/GridGallery/Overview/views/index.twig +24 -24
  41. src/GridGallery/Photos/Controller.php +3 -2
  42. src/GridGallery/Photos/Module.php +2 -5
  43. src/GridGallery/Ui/Module.php +7 -3
  44. src/GridGallery/Ui/views/type.twig +11 -1
app/assets/img/kinsta_banner.png ADDED
Binary file
app/assets/img/loader.gif ADDED
Binary file
app/assets/js/grid-gallery.js CHANGED
@@ -106,7 +106,6 @@
106
  });
107
 
108
  ggInitCustomCheckRadio();
109
- setContainerHeight();
110
  changeUiButtonToWp();
111
  closeOnOutside();
112
 
@@ -114,6 +113,7 @@
114
  ggResetCopyTextCodeFields();
115
  }, 10);*/
116
  ggCodeSelection();
 
117
  });
118
 
119
  $(window).on('resize', function () {
106
  });
107
 
108
  ggInitCustomCheckRadio();
 
109
  changeUiButtonToWp();
110
  closeOnOutside();
111
 
113
  ggResetCopyTextCodeFields();
114
  }, 10);*/
115
  ggCodeSelection();
116
+ setTimeout(function() {setContainerHeight();}, 200);
117
  });
118
 
119
  $(window).on('resize', function () {
app/langs/default.po CHANGED
@@ -797,7 +797,7 @@ msgstr ""
797
  msgid "Get Pro to enable import"
798
  msgstr ""
799
 
800
- msgid "GetPRO for 29$"
801
  msgstr ""
802
 
803
  msgid "Go to Appearance -> Widgets."
797
  msgid "Get Pro to enable import"
798
  msgstr ""
799
 
800
+ msgid "GetPRO for 39$"
801
  msgstr ""
802
 
803
  msgid "Go to Appearance -> Widgets."
app/langs/sgg-ca.po CHANGED
@@ -996,8 +996,8 @@ msgstr "Fes-te PRO"
996
  msgid "Get Pro to enable import"
997
  msgstr "Aconsegueix PRO per activar la funció d'importar"
998
 
999
- msgid "GetPRO for 29$"
1000
- msgstr "Aconsegueix PRO per 29$"
1001
 
1002
  msgid "Go to Appearance -> Widgets."
1003
  msgstr "Ves a Apariencia -> Widgets."
996
  msgid "Get Pro to enable import"
997
  msgstr "Aconsegueix PRO per activar la funció d'importar"
998
 
999
+ msgid "GetPRO for 39$"
1000
+ msgstr "Aconsegueix PRO per 39$"
1001
 
1002
  msgid "Go to Appearance -> Widgets."
1003
  msgstr "Ves a Apariencia -> Widgets."
app/langs/sgg-de_DE.po CHANGED
@@ -1388,8 +1388,8 @@ msgstr "Overlayfarbe"
1388
  msgid "Overlay transparency"
1389
  msgstr "Transparenz Overlay"
1390
 
1391
- msgid "GetPRO for 29$"
1392
- msgstr "Kaufe Vollversion für 29$"
1393
 
1394
  msgid "Categorize images in the gallery"
1395
  msgstr "Kategorisiere Bilder in der Galerie"
1388
  msgid "Overlay transparency"
1389
  msgstr "Transparenz Overlay"
1390
 
1391
+ msgid "GetPRO for 39$"
1392
+ msgstr "Kaufe Vollversion für 39$"
1393
 
1394
  msgid "Categorize images in the gallery"
1395
  msgstr "Kategorisiere Bilder in der Galerie"
app/langs/sgg-el.po CHANGED
@@ -1615,7 +1615,7 @@ msgstr "Χρώμα επικάλυψης"
1615
  msgid "Overlay transparency"
1616
  msgstr "Διαφάνεια επικάλυψης"
1617
 
1618
- msgid "GetPRO for 29$"
1619
  msgstr ""
1620
 
1621
  msgid "Categorize images in the gallery"
1615
  msgid "Overlay transparency"
1616
  msgstr "Διαφάνεια επικάλυψης"
1617
 
1618
+ msgid "GetPRO for 39$"
1619
  msgstr ""
1620
 
1621
  msgid "Categorize images in the gallery"
app/langs/sgg-es_ES.po CHANGED
@@ -1010,8 +1010,8 @@ msgstr "Versión PRO"
1010
  msgid "Get Pro to enable import"
1011
  msgstr "Obtener versión PRO para permitir la importación"
1012
 
1013
- msgid "GetPRO for 29$"
1014
- msgstr "Getpro por $29"
1015
 
1016
  msgid "Go to Appearance -> Widgets."
1017
  msgstr "Ir a Apariencia -> Complementos"
1010
  msgid "Get Pro to enable import"
1011
  msgstr "Obtener versión PRO para permitir la importación"
1012
 
1013
+ msgid "GetPRO for 39$"
1014
+ msgstr "Getpro por $39"
1015
 
1016
  msgid "Go to Appearance -> Widgets."
1017
  msgstr "Ir a Apariencia -> Complementos"
app/langs/sgg-fi_FI.po CHANGED
@@ -1495,8 +1495,8 @@ msgstr ""
1495
  #~ msgid "Select transition"
1496
  #~ msgstr "Valitse siirtymä"
1497
 
1498
- #~ msgid "Get PRO for 29$"
1499
- #~ msgstr "Hanki Pro versio 29$ :lla"
1500
 
1501
  #~ msgid "Your name"
1502
  #~ msgstr "Nimi"
1495
  #~ msgid "Select transition"
1496
  #~ msgstr "Valitse siirtymä"
1497
 
1498
+ #~ msgid "Get PRO for 39$"
1499
+ #~ msgstr "Hanki Pro versio 39$ :lla"
1500
 
1501
  #~ msgid "Your name"
1502
  #~ msgstr "Nimi"
app/langs/sgg-fr_CA.po CHANGED
@@ -1451,7 +1451,7 @@ msgstr "Couleur du calque"
1451
  msgid "Overlay transparency"
1452
  msgstr "Transparence du calque"
1453
 
1454
- msgid "GetPRO for 29$"
1455
  msgstr ""
1456
 
1457
  msgid "Categorize images in the gallery"
1451
  msgid "Overlay transparency"
1452
  msgstr "Transparence du calque"
1453
 
1454
+ msgid "GetPRO for 39$"
1455
  msgstr ""
1456
 
1457
  msgid "Categorize images in the gallery"
app/langs/sgg-fr_FR.po CHANGED
@@ -999,7 +999,7 @@ msgstr "Passer PRO"
999
  msgid "Get Pro to enable import"
1000
  msgstr "Passer PRO pour activer l'importation"
1001
 
1002
- msgid "GetPRO for 29$"
1003
  msgstr "Passer pro pour $29"
1004
 
1005
  msgid "Go to Appearance -> Widgets."
999
  msgid "Get Pro to enable import"
1000
  msgstr "Passer PRO pour activer l'importation"
1001
 
1002
+ msgid "GetPRO for 39$"
1003
  msgstr "Passer pro pour $29"
1004
 
1005
  msgid "Go to Appearance -> Widgets."
app/langs/sgg-it_IT.po CHANGED
@@ -1059,8 +1059,8 @@ msgstr "Ottieni PRO"
1059
  msgid "Get Pro to enable import"
1060
  msgstr "Ottieni PRO per abilitare l'importazione"
1061
 
1062
- msgid "GetPRO for 29$"
1063
- msgstr "Ottieni versione Pro per 29$"
1064
 
1065
  msgid "Go to Appearance -> Widgets."
1066
  msgstr "Vai sotto Aspetto -> Widgets"
1059
  msgid "Get Pro to enable import"
1060
  msgstr "Ottieni PRO per abilitare l'importazione"
1061
 
1062
+ msgid "GetPRO for 39$"
1063
+ msgstr "Ottieni versione Pro per 39$"
1064
 
1065
  msgid "Go to Appearance -> Widgets."
1066
  msgstr "Vai sotto Aspetto -> Widgets"
app/langs/sgg-ru_RU.po CHANGED
@@ -1521,7 +1521,7 @@ msgstr "Цвет наложения"
1521
  msgid "Overlay transparency"
1522
  msgstr "Прозрачность наложения"
1523
 
1524
- msgid "GetPRO for 29$"
1525
  msgstr ""
1526
 
1527
  msgid "Categorize images in the gallery"
1521
  msgid "Overlay transparency"
1522
  msgstr "Прозрачность наложения"
1523
 
1524
+ msgid "GetPRO for 39$"
1525
  msgstr ""
1526
 
1527
  msgid "Categorize images in the gallery"
app/langs/sgg-zh_CN.po CHANGED
@@ -934,7 +934,7 @@ msgstr "获取PRO"
934
  msgid "Get Pro to enable import"
935
  msgstr "获得 Pro版本 开启导入"
936
 
937
- msgid "GetPRO for 29$"
938
  msgstr "29刀购买PRO版本"
939
 
940
  msgid "Go to Appearance -> Widgets."
934
  msgid "Get Pro to enable import"
935
  msgstr "获得 Pro版本 开启导入"
936
 
937
+ msgid "GetPRO for 39$"
938
  msgstr "29刀购买PRO版本"
939
 
940
  msgid "Go to Appearance -> Widgets."
index.php CHANGED
@@ -3,7 +3,7 @@
3
  /**
4
  * Plugin Name: Photo Gallery by Supsystic
5
  * Description: Easy to use Gallery by Supsystic with professional gallery templates. Show off your best design, photography and creative work
6
- * Version: 1.12.9
7
  * Author: supsystic.com
8
  * Author URI: https://supsystic.com
9
  * Text Domain: grid-gallery
@@ -11,5 +11,5 @@
11
 
12
  require_once dirname(__FILE__) . '/app/SupsysticGallery.php';
13
 
14
- $supsysticGallery = new SupsysticGallery('1.12.9');
15
  $supsysticGallery->run();
3
  /**
4
  * Plugin Name: Photo Gallery by Supsystic
5
  * Description: Easy to use Gallery by Supsystic with professional gallery templates. Show off your best design, photography and creative work
6
+ * Version: 1.13.1
7
  * Author: supsystic.com
8
  * Author URI: https://supsystic.com
9
  * Text Domain: grid-gallery
11
 
12
  require_once dirname(__FILE__) . '/app/SupsysticGallery.php';
13
 
14
+ $supsysticGallery = new SupsysticGallery('1.13.1');
15
  $supsysticGallery->run();
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: supsystic.com
3
  Donate link: https://supsystic.com/plugins/gallery
4
  Tags: gallery, wordpress gallery plugin, photo gallery, grid gallery, image gallery, video gallery, responsive gallery, polaroid gallery
5
- Tested up to: 5.0.2
6
- Stable tag: 1.12.9
7
 
8
  Photo Gallery with template editor to build amazing media gallery. Responsive mobile gallery with grid, masonry, carousel, polaroid and more gallery
9
 
@@ -24,7 +24,14 @@ Photo Gallery with template editor to build amazing media gallery. Responsive mo
24
  * [Post Feed Gallery](https://supsystic.com/documentation/gallery-posts-feature?utm_source=wordpress&utm_medium=postfeed&utm_campaign=gallery "Post Feed Gallery")
25
  * [Carousel Gallery](http://supsystic.com/gallery-horizontal-scroll?utm_source=wordpress&utm_medium=Carousel&utm_campaign=gallery "Carousel Gallery")
26
  * [Masonry Gallery](https://supsystic.com/example/masonry-gallery?utm_source=wordpress&utm_medium=masonry&utm_campaign=gallery "Masonry Gallery")
27
- * Grid Gallery
 
 
 
 
 
 
 
28
 
29
  **[Check all gallery types](https://supsystic.com/gallery-examples?utm_source=wordpress&utm_medium=gallerytypes&utm_campaign=gallery "Check all gallery types")**
30
 
@@ -82,33 +89,109 @@ You have an incredible opportunity to get PRO version of the photo gallery for f
82
 
83
  = First time Photo Gallery by Supsystic user =
84
 
85
- Complete tutorial [How to create your first WordPress Media Gallery](https://supsystic.com/documentation/gallery-getting-started?utm_source=wordpress&utm_medium=gettingstarted&utm_campaign=gallery "How to create your first WordPress media gallery")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
 
87
- = Where is documentation for Gallery by Supsystic? =
88
 
89
- Here it is [Gallery Documentation](https://supsystic.com/docs/gallery?utm_source=wordpress&utm_medium=documentation&utm_campaign=gallery "WordPress Gallery plugin documentation")
90
 
91
- = How to import images to the Gallery by Supsystic plugin? =
 
92
 
93
- You can see all import methods [here](https://supsystic.com/docs/import-images?utm_source=wordpress&utm_medium=importmethods&utm_campaign=gallery "Import images")
94
 
95
- = How to add media gallery into site content? =
96
 
97
- You can add media gallery via shortcode or PHP code. More info [here](https://supsystic.com/documentation/add-gallery-site-content?utm_source=wordpress&utm_medium=addgallery&utm_campaign=gallery "Add media gallery to WordPress")
 
 
 
 
 
 
98
 
99
- == Screenshots ==
100
 
101
- 1. [Fixed Gallery](http://supsystic.com/plugins/photo-gallery/#examples?utm_source=wordpress&utm_medium=screenshots&utm_campaign=gallery "Fixed Gallery") It's still responsive and compatible all mobile devices, but fixed.
102
- 2. [Photo Gallery WordPress Plugin](http://supsystic.com/plugins/photo-gallery?utm_source=wordpress&utm_medium=screenshots&utm_campaign=gallery "Photo Gallery WordPress plugin") by Supsystic the complete set for any user that can assist quickly create stunning online presentation, photo gallery or slideshow.
103
- 3. Photo gallery plugin admin area. Choose one of the professional image gallery template and manage any aspect of the gallery with easy-to-use options.
104
- 4. [Post Feed Gallery](http://supsystic.com/post-feed-animated-gallery-example?utm_source=wordpress&utm_medium=screenshots&utm_campaign=gallery "Post Feed Gallery") - it never was so easy to show Posts, Pages or any Content in an amazing view of the post feed gallery.
105
- 5. [Image Circle Gallery](http://supsystic.com/plugins/photo-gallery/#examples?utm_source=wordpress&utm_medium=screenshots&utm_campaign=gallery "Image Circle Gallery") - perform your best ideas with Gallery by Supsystic!
106
- 6. [Polaroid Gallery](http://supsystic.com/polaroid-gallery?utm_source=wordpress&utm_medium=screenshots&utm_campaign=gallery "Polaroid WordPress Gallery Plugin") with Load More button
107
- 7. [Video Gallery](http://supsystic.com/video-gallery?utm_source=wordpress&utm_medium=videogallery&utm_campaign=gallery "WordPress Video Gallery")
108
 
 
 
109
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
110
  == Changelog ==
111
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
112
  = Gallery 1.12.9 / 09.01.2019 =
113
  * Fix of images resizing on window resize
114
  * Update of applying of Height and Position options of Caption Builder
@@ -125,39 +208,39 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
125
  * Fix distance for horizontal scroll
126
  * Prevent js error, set default style
127
  * Removed unused code
128
- * Fixed figure block height with lazyload
129
- * Add ability to add noopener and noreferrer attributes to gallery links
130
  * Added new possibility (load more with category)
131
  * Fixed bugs, code optimization
132
  * Fixed load more bugs
133
- * Fixed call to pro methods in free plugin
134
- * Fixed admin save error with wordpress 5 gutenberg
135
- * Fixed popup resising
136
  * Fix of images resizing on window resize
137
  * Add of Height option to Caption Builder
138
- * Fixed notice and count bug for load more with posts
139
 
140
  = Gallery 1.12.7 / 17.10.2018 =
141
  * Fix minor issue with compatibility for PHP 7.2 or greater
142
- * Fixed display gallery in admin panel
143
  * Fixed popup icon
144
- * Fix LazyLoad for image on hover
145
- * Fixed facebook login
146
- * Changed google progect api data
147
  * Added settings to enable and disable attributes in frontend filter
148
- * Fixed error if color is incorrect
149
  * Update Italiano translate
150
  * Fixed attribute creation process
151
  * Minor issues fixes
152
 
153
  = Gallery 1.12.6 / 28.08.2018 =
154
- * Fix for Lazyload with Categories and LoadMore
155
- * Аdded option that allow disable changing URL in browser
156
  * Image list interface changed
157
- * Added Custom Attributes, Filtering and Searching
158
  * Fix LazyLoad for two Galleries on page
159
  * Updated Spanish translation
160
- * Disable context menu for Ligthbox
161
  * Minor issues fixes
162
 
163
  = Gallery 1.12.5 / 08.08.2018 =
@@ -170,8 +253,8 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
170
  * Fix the first click on the License Link
171
  * Changed gallery list view
172
  * Fixed size of Image Loading
173
- * Fix location of buttons in popup for right-to-left languages
174
- * Added border to popup in 6 popup theme
175
  * Fix Multisite Installation process
176
  * Added option Enable Multi-select for Categories
177
  * Fixed popup border position
@@ -179,7 +262,7 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
179
  * Removed duplicate tooltips
180
  * Fixed img position in popup
181
  * Add new option: Multiselect Results
182
- * Fix for uninstall
183
  * Fix overlay images by Lazy Load
184
  * Minor issues fixes
185
 
@@ -192,7 +275,7 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
192
  * Fixed popup-rotate for "portrait images"
193
  * Fixed labels text and styles in admin
194
  * Improve admin page
195
- * Added slimScroll position to admin page, to restore scroll postion, after gallery save
196
  * Fixed LazyLoad compatibility with "Fixed columns"
197
  * Fixed bug with some Mosaic gallery empty places
198
  * Fixed "Load More Button" text, to "Load More"
@@ -220,15 +303,15 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
220
  * Update Chinese translation
221
 
222
  = Gallery 1.12.0 / 07.05.2018 =
223
- * Fixed Caption Transformations view in admin page
224
  * Added tooltips translation
225
- * Added feature Import preview from youtube video
226
- * Added Import vimeo video
227
  * Fixed LazyLoad and Categories
228
- * Added Gallery initialization by trigger
229
  * Added parameter "Show few icons by" for Captions and Caption Builder
230
- * Added preview for "Show few icons by" in admin page
231
- * Fixed open popup when url hash changed
232
  * Fixed Image size unit when change gallery type in admin
233
 
234
  = Gallery 1.11.3 / 17.04.2018 =
@@ -241,24 +324,24 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
241
  * Fixed error fot theme6 prev/next button press.
242
 
243
  = Gallery 1.11.1 / 04.04.2018 =
244
- * Fixed url hash, when popup open
245
  * Fixed theme6 close button style
246
  * Fixed work iframe with settings
247
  * Additional speed improvements
248
  * Added "Show rotate button", "Show details button", "Show On hover thumbnail" parameters to popup settings for Theme 6
249
  * Fixed bugs for "Load with scroll" and "categories"
250
  * Fixed labels in admin for "load more"
251
- * Fixed popup Theme6 position. Fixed url for onHover src attribute in popup
252
  * Fixed rotate for onHover image
253
 
254
  = Gallery 1.11.0 / 26.03.2018 =
255
- * Fixed polaroid style settings bugs in admin panel
256
- * Added possibility to put iframe into video options for all popups theme
257
  * Fixed "Image on hover" Popup Theme6 bug with "LazyLoad"
258
  * Improved "Image On Hover" image loading
259
  * Optimize server-side crop functionality
260
  * Fixed load polaroid style in preview
261
- * Fixed social button pinterest image link
262
  * Added new "caption effects" to Image list in admin
263
  * Added "Revolving Door Original Top" caption effect
264
  * Added "Revolving Door Original Bottom" caption effect
@@ -269,14 +352,14 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
269
  = Gallery 1.10.17 / 07.03.2018 =
270
  * Fixed message for CaptionBuilder.
271
  * Fixed error when function 'exif_read_data' not exists
272
- * Added possibility to put iframe into video options
273
  * Fixed Admin console bug
274
  * Vendor fix
275
- * Fixed right click area
276
  * Fixed few galleries with few Social buttons
277
  * Fixed social buttons bugs
278
  * Fixed open gallery by popup
279
- * Fixed curl version required to 7.19 for ImageOptimization
280
  * Fixed bug with pretty-photo mobile orientation change
281
  * Fixed sharing social share "media" parameter
282
  * Fixed images for Pinterest gallery LazyLoad
@@ -288,9 +371,9 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
288
  * Updated German and Spanish translation
289
 
290
  = Gallery 1.10.15 / 06.02.2018 =
291
- * Fixed lazyLoad source url
292
- * Fixed bug with double class declaration
293
- * Fixed notice, when social share buttons plugin has empty project list
294
  * Minor issues fixes
295
 
296
  = Gallery 1.10.14 / 25.01.2018 =
@@ -307,14 +390,14 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
307
  * Mosaic Gallery option fix
308
  * Watermark for Caption Builder fix
309
  * RTL styles fix
310
- * Polaroid gallery view on mobile fix
311
 
312
  = Photo Gallery Supsystic 1.10.12 / 19.12.2017 =
313
  * Fixed youtube player
314
  * Added Core code improvements
315
  * Fixed methods deprecated in jquery-3.1.1
316
- * Removed space character from the end of url
317
- * Fixed wookmark margin behaviour when "Gallery Position" = 'right'
318
  * Fixed conflict with plugin "NextScripts: Social Networks Auto-Poster"
319
  * Added LazyLoad feature
320
  * Added parameters "Mouse Wheel Scroll Step" and "Touch Scroll Step", for "Horizontal Scroll"
@@ -340,11 +423,11 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
340
  * Minor issues fix
341
 
342
  = Photo Gallery Supsystic 1.10.9 / 18.09.2017 =
343
- * Fixed style for the links of Image List page
344
  * Minor bug fixes
345
 
346
  = Photo Gallery Supsystic 1.10.8 / 06.09.2017 =
347
- * Added Arabic language
348
  * Updated Japanese and Spain languages
349
  * Fixed style for the Image List page
350
  * Fixed bug of Counter option in Social Sharing
@@ -355,9 +438,9 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
355
  = Photo Gallery Supsystic 1.10.7 / 22.08.2017 =
356
  * Added selected style for theme list popup
357
  * Fixed 8theme popup preview for Caption Builder
358
- * Fixed styles for Image list page
359
- * Fixed use "rel" attribute twice, when using videolink
360
- * Removed alert message, when click preset color in color picker
361
  * Replaced image buttons to tabs
362
  * Fixed Warning: set_time_limit() Attachment.php on line 30
363
  * Minor bug fixes
@@ -382,11 +465,11 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
382
  * Minor bug fixes
383
 
384
  = Photo Gallery Supsystic 1.10.2 / 20.06.2017 =
385
- * Added option "Hide browser url tooltip on image hover"
386
  * Minor bug fixes
387
 
388
  = Photo Gallery Supsystic 1.10.1 / 31.05.2017 =
389
- * Fixed category open by url hash with spaces
390
  * Fixed gallery cache removing for membership integration
391
  * Additional statistics integration
392
 
@@ -397,7 +480,7 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
397
 
398
  = Photo Gallery Supsystic 1.9.18 / 04.05.2017 =
399
  * Changed some design in gallery settings
400
- * Added navigation links to Main tab of gallery settings
401
 
402
  = Photo Gallery Supsystic 1.9.17 / 11.04.2017 =
403
  * Added option "Image on hover"
@@ -418,7 +501,7 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
418
  = Photo Gallery Supsystic 1.9.14 / 21.02.2017 =
419
  * Added Image Optimize option
420
  * Featured plugins updated - added Membership plugin
421
- * Fixed bugs for WP Themes with included galleries attached to link
422
  * Fixed bugs for colorpicker Category, when it init twice.
423
  * Add tooltip messages
424
  * Minor bug fixes
@@ -437,17 +520,17 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
437
  * Fixed 'freeze' scroll on ios mobile devices
438
  * Fixed issue with horizontal scrolling
439
  * Framework Updates
440
- * Fixed remove param to not image url
441
  * Minor issues fix
442
 
443
  = Photo Gallery Supsystic 1.9.10 / 12.01.2017 =
444
  * Fixed bug with linked images on Video
445
- * Fixed problem with transition figures, when change Mobile Orientation
446
- * Fixed Gallery freeze, when many "ContentLoad" events runned.
447
  * Set new version of Twig to 1.29.0
448
  * Set minimum PHP-requirements: version 5.2.7
449
  * Fixed pretty-photo popup for many galleries used
450
- * Fixed caption icon freeze position on mouse click. Now its only for mobile
451
  * Fixed "Hide long titles" option
452
  * Added "Disable captions on mobile" option
453
  * Minor issues fix
@@ -462,7 +545,7 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
462
  * Fixed issue with gallery parent elements click events.
463
  * Fixed conflict of Popup 8 theme
464
  * Added fix to avoid wpautop function.
465
- * Added deffered init to allow gallery properly
466
  * Minor issues fix
467
 
468
  = Photo Gallery Supsystic 1.9.7 / 29.11.2016 =
@@ -475,10 +558,10 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
475
 
476
  = Photo Gallery Supsystic 1.9.6 / 17.11.2016 =
477
  * Fixed double popup issue
478
- * Fixed popUp for option "Display only first image"
479
  * Fixed gallery save sort info
480
  * Fixed popup issue when place few galleries on one page
481
- * Fixed issue with replace image
482
  * Minor issues fix
483
 
484
  = Photo Gallery Supsystic 1.9.5 / 9.11.2016 =
@@ -488,7 +571,7 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
488
  = Photo Gallery Supsystic 1.9.4 / 8.11.2016 =
489
  * Fix horizontal gallery bug
490
  * Fix popup bug
491
- * Fix iOS stuck on scroll, fix widget fatal error.
492
 
493
  = Photo Gallery Supsystic 1.9.3 / 26.10.2016 =
494
  * Fix open by link option issue
@@ -509,7 +592,7 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
509
 
510
  = Photo Gallery Supsystic 1.9.1 / 30.09.2016 =
511
  * Fix redeclare class fatal error
512
- * Fix prettyPhoto issue with several galleries on page
513
 
514
  = Photo Gallery Supsystic 1.9.0 / 27.09.2016 =
515
  * Fix minifiers compatimility
@@ -529,13 +612,13 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
529
  * Minor issues fixed
530
 
531
  = Photo Gallery Supsystic 1.8.7 / 25.08.2016 =
532
- * Fixed bug with tutorial by first load the plugin
533
- * Fixed bug with editing/removing photos in gallery
534
- * Fixed bug with adding gallery into the post
535
  * Minor issues fix
536
 
537
  = Photo Gallery Supsystic 1.8.6 / 10.08.2016 =
538
- * Fixed dashboard styles conflict with other plugin
539
  * Added resize on screen size change to fixed columns gallery type
540
  * Fixed font size option not work with direction-aware caption effect.
541
  * Fixed no follow option not save data
@@ -547,22 +630,22 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
547
 
548
  = Photo Gallery by Supsystic 1.8.5 / 13.07.2016 =
549
  * Fix sharing issue with social buttons
550
- * Added Czech language
551
- * Fix gallery bug with horizontall scrolling mode
552
- * Fix rss feed validation issue
553
- * Fix instagram app connection credentials
554
  * Fix fullscreen mode bug
555
- * Fix not showing galery in safari bug
556
 
557
  = Photo Gallery by Supsystic 1.8.4 / 21.06.2016 =
558
  * Fix direction aware image gallery caption bug
559
  * Update step-by-step gallery tutorial
560
- * Fix issue with html in caption and gallery social share buttons
561
  * Small fixes of overview and welcome pages
562
  * Add one-photo setting class
563
  * Fix conflict with history.js lib
564
  * Fixed bug with gallery HTML caption
565
- * Fixed bug with pointer when popup is disabled
566
  * Fixed bug with crop image library
567
  * Fixed bug when thumbnails not shown if file attached to wp media library by URL
568
  * Fixed horizontal scroll image jumping
@@ -572,7 +655,7 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
572
  * Fixed bug with freezing popup on change images
573
  * Fixed email and print buttons of social sharing
574
  * Fixed theme 6 popup description size
575
- * Fixed bug with blurry images on vertical gallery
576
  * Fixed bug with handling themes that don't call wp_footer()
577
 
578
  = Photo Gallery by Supsystic 1.8.2 / 01.06.2016 =
@@ -583,39 +666,39 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
583
  * Minor bug fix
584
 
585
  = Photo Gallery by Supsystic 1.8.1 / 27.05.2016 =
586
- * Fixed bug when thumbnails was not loading
587
 
588
  = Photo Gallery by Supsystic 1.8.0 / 26.05.2016 =
589
  * Fixed caption on theme 6 popup
590
- * Added replace image functionality and search to image list
591
- * Added social sharing on gallery
592
 
593
  = Photo Gallery by Supsystic 1.7.9 / 18.05.2016 =
594
- * Gallery hot fix
595
 
596
  = Photo Gallery by Supsystic 1.7.8 / 17.05.2016 =
597
  * Fixed issues with hammer.js script version conflict and asynchronous javascript load
598
  * Fixed error on window resize
599
- * Added option "Show only first picture". When this option is enabled, only first picture from this gallery will be seen on the website. The other pictures will be seen in the popup window after clicking on the first picture.
600
 
601
  = Photo Gallery by Supsystic 1.7.7 / 13.05.2016 =
602
  * Hotfix for Wordpress version < 4.5.0; replace function wp_get_upload_dir ( @since 4.5.0) by wp_upload_dir
603
 
604
  = Photo Gallery by Supsystic 1.7.6 / 12.05.2016 =
605
  * Fixed issues with responsive popups
606
- * Fixed bug for all popup themes slideshow pause on hover option: now after mouse leave slideshow start in "slideshow speed" ms.
607
  * Fixed navigation buttons for popup theme 4 when slideshow enabled
608
- * Fixed image link: special chars in url no more encoded
609
- * Added opportunity to swipe popup images on touchscreen
610
- * Fixed bug with horizontal scroll on touchscreen
611
- * Fixed css for popup theme 6 on small screen
612
- * Fixed bug with gallery when upload dir in unusual directory
613
- * Fixed gallery title when image(s) are corrupted
614
  * Added 3d cube effect for gallery images
615
- * Added option to gallery "Full screen width" which expand gallery to full width of window
616
- * Fixed bug on image seo tab when alternative text could not be removed
617
  * Replace gallery position from shortcode to settings.
618
- * Fixed bug when gallery shown before initialized
619
 
620
  = Photo Gallery by Supsystic 1.7.5 / 26.04.2016 =
621
  * Fixed issues with popup 6 theme
@@ -628,37 +711,37 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
628
  * Fix issue with popup transparency
629
 
630
  = Photo Gallery by Supsystic 1.7.3 / 20.04.2016 =
631
- * Added popup slideshow onhover stop option
632
  * Added option 'show always caption' for mobile device
633
  * Added transparency option for popup overlay
634
  * Added crop quality setting for images
635
  * Fixed show caption bug.
636
- * Fixed IE bug - white line in bottom
637
  * Fixed hide title tooltip
638
 
639
  = Photo Gallery by Supsystic 1.7.2 / 12.04.2016 =
640
  * Fixed hide tooltip option
641
- * Fixed multiple colorbox popup on one page
642
- * Fixed colorbox popup responsive images
643
  * Fixed scroll bug with shadow
644
  * Added sorted option for images list
645
  * Fixed IE bugs
646
 
647
  = Photo Gallery by Supsystic 1.7.1 / 01.04.2016 =
648
- * Fixed link in caption. Conflict with icons
649
- * Fix issue wwith preview gallery page
650
  * Fix issue with wrong plugin dir source path
651
- * Added feature to multiply select images in media library popup without pressing ctrl key
652
- * Added select from social step in popup when adding images from galleries list
653
  * Added filter to show only images in media library popup
654
- * Fixed bug with horizontall scroll frame height
655
  * Fixed preview polaroid caption bug
656
  * Fixed enable/disable button slideshow in 6,8 theme
657
 
658
  = Photo Gallery by Supsystic 1.7.0 / 29.03.2016 =
659
  * Fixed caption effect for circled gallery
660
  * Fixed personal caption effect for images
661
- * Fixed get server info in Overview page
662
  * Fixed scroll in IE9
663
  * Fixed iPad and Phone touch edit input
664
  * Fixed fronted-part category button style
@@ -670,16 +753,16 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
670
  * Fixed polaroid effect bug
671
 
672
  = Photo Gallery by Supsystic 1.6.8 / 17.03.2016 =
673
- * Added multiple images category edit in gallery
674
  * Added crop position option for images
675
- * Added support for html in captions when images loaded with Load More.
676
  * Added possibility to change polaroid borders width
677
- * Added possibility to navigate between slides in popup by clicking on the image sides
678
  * Added gallery loader option
679
  * Fix bug with total images count.
680
- * Fix ussues with ColorMag theme
681
  * Fix direction-aware caption
682
- * Fix a upload images issue on some servers
683
  * Fix Instagram only 20 image limit bug
684
  * Fix not working popup with direction-aware caption effect
685
  * Fix Hide Popup Captions for 6 theme
@@ -688,18 +771,18 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
688
  * Fix bug with a icons settings if have few galleries on one page
689
  * Added Japanese translation
690
  * Fix bug with polaroid caption on safari browser
691
- * Removed hash id from url for prettyPhoto.
692
- * Incrased limit of preview pictures for #6 popup theme.
693
 
694
  = Photo Gallery by Supsystic 1.6.6 / 23.02.2016 =
695
  * Fix conflict with Agivee theme
696
  * Added gallery cache clearing when changing images order
697
- * Add possibility to have two galleries on page with same ID
698
  * Minor issues fixes
699
 
700
  = Photo Gallery by Supsystic 1.6.5 / 16.02.2016 =
701
  * Added possibility to change gallery name
702
- * Fix bug with prettyPhoto popup on mobile devices
703
  * Fix bug with load more feature when gallery have lot images
704
  * Fix bug with caption effects
705
  * Minor issues fixes
@@ -713,8 +796,8 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
713
  * Added new linked images feature
714
  * Fix not working 'hide popup on mobile' feature
715
  * Fix not working disabled popup
716
- * Fix bug in IE when page becomes non clickable
717
- * Fix for bug when in some cases jquery not loaded in properly order
718
  * Fix Baskerville theme conflict.
719
  * Fix bug in 'load more' feature
720
 
@@ -732,13 +815,13 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
732
  * Fix conflict Photo Gallery by Supsystic with Postman plugin
733
 
734
  = Photo Gallery by Supsystic 1.6.0 / 11.01.2016 =
735
- * Disabled gallery twig cache due conflict with wpengine.com
736
- * Fix for Netherland galelry translation
737
  * Added HTML support in Gallery Description
738
  * Fix for preview iframe height issue
739
- * Added role based access to the photo gallery feature
740
- * Fix bug with quotes in gallery title name
741
- * Add feature to play popup video gallery on start and do action when video end
742
  * Fixed bug with video popup when icons enabled
743
 
744
  = Photo Gallery by Supsystic 1.5.9 / 22.12.2015 =
@@ -746,21 +829,21 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
746
 
747
  = Photo Gallery by Supsystic 1.5.8 / 21.12.2015 =
748
  * Improve gallery UX on touchscreen devices
749
- * Fix for issue not opening popup with icons enabled.
750
  * Fix glowing buttons
751
- * Fix for add images dialog prevent from click on search field im media library
752
 
753
  = Photo Gallery by Supsystic 1.5.7 / 18.12.2015 =
754
  * Fix 4.4 WordPress glowing gallery buttons effect
755
  * Reworked gallery assets loading logic
756
- * Fix ajax calls for gallery tinymce editor button
757
  * Fix issue with https and cached galleries
758
  * Fix for fatal error when cleaning twig cache
759
  * Add fix for gallery categories nav container in some themes overwrites float
760
 
761
  = Photo Gallery by Supsystic 1.5.6 / 08.12.2015 =
762
- * Improove Gallery speed loading
763
- * Fixed bug with resising images in horizontal gallery type
764
  * Gallery tooltip fix
765
  * WordPress 4.4 compatibility
766
  * Minor gallery bugs fixed
@@ -780,10 +863,10 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
780
  * Fix bug with gallery icons captions after popup close
781
  * Fix Load More images issues
782
  * Fix photo gallery dashboard dialog position
783
- * Fix palaroid gallery effect on preview bug
784
  * Fix bug with gallery main menu translation. Update default gallery translations file
785
  * Instagram import list images select on click feature
786
- * Fix instagram images import bug
787
  * Gallery responsive on Ipad bug fix
788
  * Minor responsive gallery bug fixes
789
 
@@ -821,7 +904,7 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
821
 
822
  * Now Icons available in the Free version of the gallery
823
  * Added gallery Widget feature
824
- * Fixed bug with black bar in gallery popoup
825
  * Minor fixes and UI improvements
826
 
827
  = Photo Gallery by Supsystic 1.4.6 / 28.09.2015 =
@@ -832,7 +915,7 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
832
  = Photo Gallery by Supsystic 1.4.5 / 24.09.2015 =
833
 
834
  * Increased gallery loading speed
835
- * Added Greek language
836
  * Added hide tooltip option
837
  * Added feature to change popup overlay background color
838
  * Added feature to choose caption effect per image
@@ -842,15 +925,15 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
842
  = Photo Gallery by Supsystic 1.4.4 / 15.09.2015 =
843
 
844
  * Added gallery type 'Polaroid Gallery'
845
- * Bugfixes for preview gallery image update in dashboard.
846
  * Minor gallery issues fix
847
 
848
  = Photo Gallery by Supsystic 1.4.3 / 09.09.2015 =
849
 
850
- * Fix Shadow options affect on preview.
851
- * Fix Photo Caption align options affect on preview
852
  * Photo Gallery now shown when all effects applied
853
- * Set cursor to default when hover on image and popup disabled
854
  * Fix path to translations files
855
  * Fix Safari iPad, iPhone bug when captions stuck on first image tap
856
  * Fix caption bug in old Safari version
@@ -858,8 +941,8 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
858
 
859
  = Photo Gallery by Supsystic 1.4.2 / 01.09.2015 =
860
 
861
- * Fix Safari bug when image not fit in container and left empty spaces
862
- * Links title attribute tool tips now not showing on hover
863
  * Minor photo gallery issues fix
864
 
865
  = Photo Gallery by Supsystic 1.4.1 / 28.08.2015 =
@@ -867,7 +950,7 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
867
  * Images now aligned according to the shortcode value
868
  * Fixed image size bugs in "fixed column" gallery
869
  * Fixed bugs with "fixed column" photo gallery when pagination enabled
870
- * Fixed bug when images drops out from a parent container
871
 
872
  = Photo Gallery by Supsystic 1.4.0 / 26.08.2015 =
873
 
@@ -883,7 +966,7 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
883
 
884
  = Photo Gallery by Supsystic 1.3.8 / 19.08.2015 =
885
 
886
- * Fix for gallery categories update categories order list when adding or removing category
887
  * Post and page categories also can add to order list
888
  * Added feature to change All button order
889
  * Fix post feed gallery
@@ -896,7 +979,7 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
896
 
897
  = Photo Gallery by Supsystic 1.3.6 / 14.08.2015 =
898
 
899
- * Fix for unescaping quotes in tags, and remove deleted categories from categories order list
900
  * Add filter for empty categories
901
  * Minor issues fix
902
 
@@ -906,27 +989,27 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
906
  * Fixed Caption – Direction Aware effect
907
  * Hide overflow inline property (due to a bug with shadow cutting)
908
  * Fix for 'sticky' margin bug
909
- * Fixed firefox 'flat' effect bug and caption offset in chrome when shadow is on
910
- * Added msg & import dialog when gallery is empty
911
  * Fix for IE rotate3d bug for cube effect
912
  * Added feature in categories to remove 'all category' button
913
  * Fix faq gallery link
914
- * Added showing spinner icon on creating gallery
915
  * Remove round corners from dialogs
916
  * Fix dialog close button
917
- * Replace old lighten bg colour method that caused falling out of the valid colour hex range
918
- * Add border:none to images-links ot prevent styling with other themes
919
- * Fix categories/pagianation toggle state
920
- * Rename radiobutton Available to Enable in options
921
  * Default animation duration set to 1800
922
- * Added feature to change order of the categories
923
  * Popup Image – Hide Popup Captions now working fix
924
 
925
  = Photo Gallery by Supsystic 1.3.4 / 06.08.2015 =
926
 
927
  * Fixed template names
928
- * Additional Font setting existence check in admin area
929
- * Added Polish language
930
  * Fix Popup Image (lightbox) for galleries with Categories.
931
  * CSS: added clarifying selector to avoid conflicts with other plugins.
932
  * CSS: added 100% height rule for normal pic rendering in Chrome (with 100% gallery width set).
@@ -947,12 +1030,12 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
947
  = Photo Gallery by Supsystic 1.3.1 / 09.07.2015 =
948
 
949
  * Fixed social import functionality
950
- * Checkall buttons for social import fixed
951
  * Notices fixed
952
  * Saving settings console errors removed
953
  * Thumbs saving notices fixed
954
  * Categories and pagination presets selection notices fixed
955
- * Changes in Overview page
956
  * Minor changes
957
 
958
  = Photo Gallery by Supsystic 1.3.0 / 11.06.2015 =
@@ -963,7 +1046,7 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
963
  * Customized jGrowl popup messages
964
  * Font loader checks added
965
  * Shortcode fixes
966
- * Changes in Overview page
967
  * Functional fixes
968
 
969
  = Photo Gallery by Supsystic 1.2.9 / 11.06.2015 =
@@ -1012,14 +1095,14 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
1012
 
1013
  * Change the appearance of gallery shortcodes for easy copying
1014
  * Changes & bug-fixing in gallery caption text-align option
1015
- * Added translations to the French, Dutch, Finnish, Portuguese (Brazil)
1016
  * Fixed saving the preset
1017
  * Added option to select caption position
1018
  * Bug fixes
1019
 
1020
  = Photo Gallery by Supsystic 1.2.2 / 23.04.2015 =
1021
 
1022
- * Hot fixes for new gallery type
1023
  * Minor gallery changes
1024
 
1025
  = Photo Gallery by Supsystic 1.2.1 / 22.04.2015 =
@@ -1042,7 +1125,7 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
1042
  * Functional changed
1043
  * Minor gallery fixes
1044
  * Photo captions with HTML saving changed
1045
- * Popup sizes calculations on mobile devices with vimeo gallery videos changed
1046
  * Galleries list fixed
1047
 
1048
  = Photo Gallery by Supsystic 1.1.7 / 1.04.2015 =
@@ -1050,7 +1133,7 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
1050
  * Direction aware effect caption changed
1051
  * Functional changed
1052
  * Minor photo gallery fixes
1053
- * Shortcode photo insertion button added to tinyMCE editor
1054
  * Shortcode selection dialog added
1055
 
1056
  = Photo Gallery by Supsystic 1.1.6 / 27.03.2015 =
@@ -1061,7 +1144,7 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
1061
 
1062
  = Photo Gallery by Supsystic 1.1.5 / 25.03.2015 =
1063
 
1064
- * Hot photo galleryfixes
1065
 
1066
  = Photo Gallery by Supsystic 1.1.4 / 24.03.2015 =
1067
 
@@ -1085,7 +1168,7 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
1085
  = Photo Gallery by Supsystic 1.1.1 / 11.03.2015 =
1086
 
1087
  * Overview page php 5.2 support added
1088
- * Minor image gallerybugs fixed
1089
  * Functional fixes
1090
 
1091
  = Photo Gallery by Supsystic 1.1.0 / 09.03.2015 =
@@ -1113,7 +1196,7 @@ You can add media gallery via shortcode or PHP code. More info [here](https://su
1113
 
1114
  = Photo Gallery by Supsystic 1.0.19 / 20.02.2015 =
1115
 
1116
- * Responsive photo gallery on Iphone fixed
1117
  * Default photo gallery settings fixed
1118
  * Empty gallery page changed
1119
  * Standard photo gallery template settings changed
2
  Contributors: supsystic.com
3
  Donate link: https://supsystic.com/plugins/gallery
4
  Tags: gallery, wordpress gallery plugin, photo gallery, grid gallery, image gallery, video gallery, responsive gallery, polaroid gallery
5
+ Tested up to: 5.1.1
6
+ Stable tag: 1.13.1
7
 
8
  Photo Gallery with template editor to build amazing media gallery. Responsive mobile gallery with grid, masonry, carousel, polaroid and more gallery
9
 
24
  * [Post Feed Gallery](https://supsystic.com/documentation/gallery-posts-feature?utm_source=wordpress&utm_medium=postfeed&utm_campaign=gallery "Post Feed Gallery")
25
  * [Carousel Gallery](http://supsystic.com/gallery-horizontal-scroll?utm_source=wordpress&utm_medium=Carousel&utm_campaign=gallery "Carousel Gallery")
26
  * [Masonry Gallery](https://supsystic.com/example/masonry-gallery?utm_source=wordpress&utm_medium=masonry&utm_campaign=gallery "Masonry Gallery")
27
+ * [Mosaic Gallery](https://supsystic.com/example/mosaic-gallery-example?utm_source=wordpress&utm_medium=descriptionmosaic&utm_campaign=gallery "Mosaic Gallery")
28
+ * [Gallery with Captions and Icons](https://supsystic.com/example/captionsicons-gallery-example?utm_source=wordpress&utm_medium=captionandicons&utm_campaign=gallery "Captions and Icons")
29
+ * [Gallery with Pagination & Load More](https://supsystic.com/feature/pagination-load-more-features?utm_source=wordpress&utm_medium=paginationloadmore&utm_campaign=gallery "Paginaion and Load more")
30
+ * [Gallery with EXIF Data](https://supsystic.com/example/exif-meta-data?utm_source=wordpress&utm_medium=exifdata&utm_campaign=gallery "Gallery with EXIF Data")
31
+ * [Gallery with Watermarks](https://supsystic.com/example/gallery-watermark-example?utm_source=wordpress&utm_medium=watermark&utm_campaign=gallery "Gallery with Watermarks")
32
+ * [Gallery with Social Sharing](https://supsystic.com/example/social-sharing?utm_source=wordpress&utm_medium=socialsharing&utm_campaign=gallery "Social Sharing")
33
+ * [Gallery with Personal Captions Effects](https://supsystic.com/example/personal-caption-effects/?utm_source=wordpress&utm_medium=captionseffects&utm_campaign=gallery "Personal Captions Effects")
34
+ * [Gallery with Custom Attributes, Filtering and Searching](https://supsystic.com/example/custom-attributes-filtering-and-searching?utm_source=wordpress&utm_medium=customattributes&utm_campaign=gallery "Custom Attributes, Filtering and Searching")
35
 
36
  **[Check all gallery types](https://supsystic.com/gallery-examples?utm_source=wordpress&utm_medium=gallerytypes&utm_campaign=gallery "Check all gallery types")**
37
 
89
 
90
  = First time Photo Gallery by Supsystic user =
91
 
92
+ Our plugin is overloaded by different features and abilities, so you can look at tutorial [How to create your first WordPress Media Gallery](https://supsystic.com/documentation/gallery-getting-started?utm_source=wordpress&utm_medium=gettingstarted&utm_campaign=gallery "How to create your first WordPress media gallery")
93
+ to learn to create Photo Gallery for a couple of minutes.
94
+
95
+ = How to import images to the Gallery by Supsystic plugin? =
96
+ In order to add images to the Gallery, click on Add Images button.
97
+ Here you can import images via:
98
+ * Facebook
99
+ * Flickr
100
+ * FTP Server
101
+ * Google Drive
102
+ * Instagram
103
+ * Put iframe into video options
104
+ * Tumblr
105
+ * WordPress Media Library
106
+
107
+ Select an existing photo or upload a new one. Also you can select several photos at once.
108
+ After photos are chosen, press Choose Image.
109
+
110
+ You can see **[all import methods here](https://supsystic.com/docs/import-images?utm_source=wordpress&utm_medium=importmethods&utm_campaign=gallery "Import images").**
111
 
112
+ = How to add media gallery into site content? =
113
 
114
+ You can **[add media gallery via shortcode or PHP code](https://supsystic.com/documentation/add-gallery-site-content?utm_source=wordpress&utm_medium=addgallery&utm_campaign=gallery "Add media gallery to WordPress" "Add Gallery")** :
115
 
116
+ 1. Copy the shortcode that locates under gallery thumbnail and paste into your post or page. Gallery by Supsystic will automatically create the gallery on your page.
117
+ 2. Besides you can use "add shortcode" button in WordPress editor. All you need is go to page or post into you want to insert gallery and click shortcode button in visual editor – "Add Gallery". Then choose gallery which you need and click "Select" – shortcode will appear in the editor.
118
 
119
+ 3. Php code can be inserted at any place of the page code – to display exactly in this place, for example in the header or footer of the page. Besides it can be inserted in the code of template of the theme – to display on all pages.
120
 
121
+ = Is there Image Optimization for photo galleries? =
122
 
123
+ A good image optimization workflow is one of the easiest things to implement, especially with features of Photo Gallery Plugin:
124
+
125
+ * **[Image Optimize Feature](https://supsystic.com/documentation/optimization-gallery-images/?utm_source=wordpress&utm_medium=imagecompressionandoptimization&utm_campaign=gallery "Image Optimize")**, which is integrated with TinyPNG service reduce images size. It allows you to save bandwidth and make your gallery load faster, greatly help to speed up your website.
126
+ * **[Load More Feature](https://supsystic.com/documentation/load-more-button?utm_source=wordpress&utm_medium=loadmore&utm_campaign=gallery "Load More")** allows you to display a few photos at first, while the rest of the photos can load by parts. It improves the page load speed as good as Pagination.
127
+ * **[Pagination Feature](https://supsystic.com/example/pagination-gallery-example?utm_source=wordpress&utm_medium=pagination&utm_campaign=gallery "Pagination")** lets you to display images on multiple pages, thus speed up your load time as well and make it easy to browse your gallery for users.
128
+ * **[Lazy load Feature](https://supsystic.com/documentation/lazy-load?utm_source=wordpress&utm_medium=lazyload&utm_campaign=gallery "Lazy load")** is a great way to lower the loading time and display all content at once. Using this option for image and video galleries, we decrease initial page load time and weight, and system resource usage in general, that have positive effect on performance.
129
+ * Also we provide you a feature to **[transfer your galleries to CDN](https://supsystic.com/documentation/transfer-to-cdn?utm_source=wordpress&utm_medium=cdn&utm_campaign=gallery "SDN").**
130
 
 
131
 
132
+ = Do I need to have coding skills to use Photo Gallery? =
133
+ Absolutely not. You can create and customize beautiful image and video galleries without any coding knowledge. We made it super easy.
 
 
 
 
 
134
 
135
+ = Will this Gallery plugin work with my theme? =
136
+ Yes, Photo Gallery is a popular and well-established WordPress gallery plugin, and has been for a long time. It will work well with most other WordPress themes and plugins.
137
 
138
+ = Are the galleries mobile friendly? =
139
+ Yes, we’ve put a lot of work into this. Photo Galleries are responsive and look good on diverse screen sizes.
140
+ [Responsive mode](https://supsystic.com/documentation/gallery-responsive-mode?utm_source=wordpress&utm_medium=responsive&utm_campaign=gallery "Responsive mode") in Photo Gallery plugin is enable by default.
141
+
142
+ = How to add a watermark to the my photos? =
143
+ Using Gallery by Supsystic you can [add watermark](https://supsystic.com/example/gallery-watermark-example?utm_source=wordpress&utm_medium=watermark&utm_campaign=gallery "Watermark") on each image in your gallery. This helps you protect your photos from theft and make them unique on the Internet.
144
+ In order to create Gallery with Watermarks you need:
145
+
146
+ 1. Go to Watermark tab and enable it.
147
+ 2. "Show Watermark" dropdown list help you to choose where you want to show Watermark – only in popup images / thumbnails of gallery images or in both variants.
148
+ 3. Upload image for your Watermark Gallery.
149
+ 4. Set the margin in pixels for watermark placement.
150
+ 5. Choose the placement for your watermark on the gallery images with Position option.
151
+ 6. Rotate – you can select the rotation level for your watermark.
152
+ 7. Transparency – is another one appearance parameter for Watermark image, it can be established in percents.
153
+
154
+
155
+ == Screenshots ==
156
+
157
+ 1. [Photo Gallery demo](http://supsystic.com/plugins/photo-gallery/#examples?utm_source=wordpress&utm_medium=screenshots&utm_campaign=gallery "Fixed Gallery"). Easy to set up, responsive and compatible with all mobile devices.
158
+ 2. Choose the extraordinary style for your photo gallery with personal caption option and animated. Can not choose one effect for a caption – choose multiple at once!
159
+ 3. 4. Horizontal scroll option offers you to scroll content horizontally left or right.
160
+ Set the attributes and use a Multi filtering option with drop-down list and searching. Add Custom Button with a link for images.
161
+ 5. [Polaroid Gallery](http://supsystic.com/polaroid-gallery?utm_source=wordpress&utm_medium=screenshots&utm_campaign=gallery "Polaroid WordPress Gallery Plugin") with categories.
162
+ 6. [Post Feed Gallery](http://supsystic.com/post-feed-animated-gallery-example?utm_source=wordpress&utm_medium=screenshots&utm_campaign=gallery "Post Feed Gallery") - it never was so easy to show Posts, Pages or any Content in an amazing view of the post feed gallery.
163
+ 7. Two-side images gallery. With a Image on hover option you are able to represent and advertise goods on your website twice as effective.
164
+ 8. Show EXIF Meta Data for your images made on camera. It will be suitable for experienced photographers.
165
+ 9. [Video Gallery](http://supsystic.com/video-gallery?utm_source=wordpress&utm_medium=videogallery&utm_campaign=gallery "WordPress Video Gallery") with icons.
166
+ 10.[Load More](http://supsystic.com/plugins/photo-gallery?utm_source=wordpress&utm_medium=screenshots&utm_campaign=gallery "Photo Gallery WordPress plugin").Display a gallery in the most intuitive way while still providing the full volume of images some visitors may require. Increase a Page load speed!
167
+ 11. With Social Sharing you can spread photos with your followers on Facebook, Pinterest, Twitter or any other social media.
168
+ Add watermark on each image in your gallery and you protect your photos from theft or provide branding for your Gallery.
169
+ 12. Photo gallery plugin admin area. Image list. Add images, links, tags, keywords, categories, attributes, meta, choose caption effects and other.
170
+ 13. Photo gallery plugin admin area. Main Tab. Choose one of the professional image gallery template and manage any aspect of the gallery with easy-to-use options.
171
+ 14. Photo gallery plugin admin area. Captions and Icons tab. Create impressive gallery with icons and fantastic caption effect.
172
  == Changelog ==
173
 
174
+ = Gallery 1.13.1 / 25.02.2019 =
175
+ * inor issues fixes
176
+ * Code review
177
+
178
+ = Gallery 1.13.0 / 20.02.2019 =
179
+ * Allowed search any case format
180
+ * Added possibility display all HTML tags in the caption field
181
+ * Screenshots update
182
+ * Switch Froogaloop library for Vimeo Player to new Player.JS
183
+ * Fixed Categories with shuffling animation
184
+ * Fixed centering navigation buttons for full-screen galleries
185
+ * Add integration of Gallery Images List with Translate by Supsystic plugin
186
+ * Added standard fonts and display of font family in the preview
187
+ * Added Adverts Pro Fixes
188
+ * Fixed thumbnails for animated gifs
189
+ * Add multi-column layout for mosaic and fix categories
190
+ * Fix for the height of gallery container by FixedColumns and LazyLoad
191
+ * Code optimization
192
+ * Change price in Settings
193
+ * Add new layouts for Mosaic
194
+
195
  = Gallery 1.12.9 / 09.01.2019 =
196
  * Fix of images resizing on window resize
197
  * Update of applying of Height and Position options of Caption Builder
208
  * Fix distance for horizontal scroll
209
  * Prevent js error, set default style
210
  * Removed unused code
211
+ * Fixed figure block height with lazy loading
212
+ * Add ability to add no opener and noreferrer attributes to gallery links
213
  * Added new possibility (load more with category)
214
  * Fixed bugs, code optimization
215
  * Fixed load more bugs
216
+ * Fixed call to pro methods in a free plugin
217
+ * Fixed admin save error with WordPress 5 Gutenberg
218
+ * Fixed popup resizing
219
  * Fix of images resizing on window resize
220
  * Add of Height option to Caption Builder
221
+ * Fixed notice and count bug for a load more with posts
222
 
223
  = Gallery 1.12.7 / 17.10.2018 =
224
  * Fix minor issue with compatibility for PHP 7.2 or greater
225
+ * Fixed display gallery in the admin panel
226
  * Fixed popup icon
227
+ * Fix LazyLoad for the image on hover
228
+ * Fixed Facebook login
229
+ * Changed google project API data
230
  * Added settings to enable and disable attributes in frontend filter
231
+ * Fixed error if the color is incorrect
232
  * Update Italiano translate
233
  * Fixed attribute creation process
234
  * Minor issues fixes
235
 
236
  = Gallery 1.12.6 / 28.08.2018 =
237
+ * Fix for Lazyload with Categories and load more
238
+ * Аdded option that allows disable changing URL in the browser
239
  * Image list interface changed
240
+ * Added Custom Attributes, Filtering, and Searching
241
  * Fix LazyLoad for two Galleries on page
242
  * Updated Spanish translation
243
+ * Disable context menu for Lightbox
244
  * Minor issues fixes
245
 
246
  = Gallery 1.12.5 / 08.08.2018 =
253
  * Fix the first click on the License Link
254
  * Changed gallery list view
255
  * Fixed size of Image Loading
256
+ * Fix location of buttons in the popup for right-to-left languages
257
+ * Added border to pop up in 6 popup theme
258
  * Fix Multisite Installation process
259
  * Added option Enable Multi-select for Categories
260
  * Fixed popup border position
262
  * Removed duplicate tooltips
263
  * Fixed img position in popup
264
  * Add new option: Multiselect Results
265
+ * Fix for uninstalling
266
  * Fix overlay images by Lazy Load
267
  * Minor issues fixes
268
 
275
  * Fixed popup-rotate for "portrait images"
276
  * Fixed labels text and styles in admin
277
  * Improve admin page
278
+ * Added slimScroll position to the admin page, to restore scroll position, after gallery save
279
  * Fixed LazyLoad compatibility with "Fixed columns"
280
  * Fixed bug with some Mosaic gallery empty places
281
  * Fixed "Load More Button" text, to "Load More"
303
  * Update Chinese translation
304
 
305
  = Gallery 1.12.0 / 07.05.2018 =
306
+ * Fixed Caption Transformations view in the admin page
307
  * Added tooltips translation
308
+ * Added feature Import preview from a youtube video
309
+ * Added Import Vimeo video
310
  * Fixed LazyLoad and Categories
311
+ * Added Gallery initialization by the trigger
312
  * Added parameter "Show few icons by" for Captions and Caption Builder
313
+ * Added preview for "Show few icons by" in the admin page
314
+ * Fixed open popup when URL hash changed
315
  * Fixed Image size unit when change gallery type in admin
316
 
317
  = Gallery 1.11.3 / 17.04.2018 =
324
  * Fixed error fot theme6 prev/next button press.
325
 
326
  = Gallery 1.11.1 / 04.04.2018 =
327
+ * Fixed URL hash, when popup open
328
  * Fixed theme6 close button style
329
  * Fixed work iframe with settings
330
  * Additional speed improvements
331
  * Added "Show rotate button", "Show details button", "Show On hover thumbnail" parameters to popup settings for Theme 6
332
  * Fixed bugs for "Load with scroll" and "categories"
333
  * Fixed labels in admin for "load more"
334
+ * Fixed popup Theme6 position. Fixed URL for onHover src attribute in the popup
335
  * Fixed rotate for onHover image
336
 
337
  = Gallery 1.11.0 / 26.03.2018 =
338
+ * Fixed polaroid style settings bugs in the admin panel
339
+ * Added possibility to put an iframe into video options for all popups theme
340
  * Fixed "Image on hover" Popup Theme6 bug with "LazyLoad"
341
  * Improved "Image On Hover" image loading
342
  * Optimize server-side crop functionality
343
  * Fixed load polaroid style in preview
344
+ * Fixed social button Pinterest image link
345
  * Added new "caption effects" to Image list in admin
346
  * Added "Revolving Door Original Top" caption effect
347
  * Added "Revolving Door Original Bottom" caption effect
352
  = Gallery 1.10.17 / 07.03.2018 =
353
  * Fixed message for CaptionBuilder.
354
  * Fixed error when function 'exif_read_data' not exists
355
+ * Added possibility to put an iframe into video options
356
  * Fixed Admin console bug
357
  * Vendor fix
358
+ * Fixed right-click area
359
  * Fixed few galleries with few Social buttons
360
  * Fixed social buttons bugs
361
  * Fixed open gallery by popup
362
+ * Fixed curl version required to 7.19 for image optimization
363
  * Fixed bug with pretty-photo mobile orientation change
364
  * Fixed sharing social share "media" parameter
365
  * Fixed images for Pinterest gallery LazyLoad
371
  * Updated German and Spanish translation
372
 
373
  = Gallery 1.10.15 / 06.02.2018 =
374
+ * Fixed lazyLoad source URL
375
+ * Fixed bug with the double class declaration
376
+ * Fixed notice, when social share buttons plugin has an empty project list
377
  * Minor issues fixes
378
 
379
  = Gallery 1.10.14 / 25.01.2018 =
390
  * Mosaic Gallery option fix
391
  * Watermark for Caption Builder fix
392
  * RTL styles fix
393
+ * Polaroid gallery view on a mobile fix
394
 
395
  = Photo Gallery Supsystic 1.10.12 / 19.12.2017 =
396
  * Fixed youtube player
397
  * Added Core code improvements
398
  * Fixed methods deprecated in jquery-3.1.1
399
+ * Removed space character from the end of URL
400
+ * Fixed bookmark margin behavior when "Gallery Position" = 'right'
401
  * Fixed conflict with plugin "NextScripts: Social Networks Auto-Poster"
402
  * Added LazyLoad feature
403
  * Added parameters "Mouse Wheel Scroll Step" and "Touch Scroll Step", for "Horizontal Scroll"
423
  * Minor issues fix
424
 
425
  = Photo Gallery Supsystic 1.10.9 / 18.09.2017 =
426
+ * Fixed style for the links of the Image List page
427
  * Minor bug fixes
428
 
429
  = Photo Gallery Supsystic 1.10.8 / 06.09.2017 =
430
+ * Added the Arabic language
431
  * Updated Japanese and Spain languages
432
  * Fixed style for the Image List page
433
  * Fixed bug of Counter option in Social Sharing
438
  = Photo Gallery Supsystic 1.10.7 / 22.08.2017 =
439
  * Added selected style for theme list popup
440
  * Fixed 8theme popup preview for Caption Builder
441
+ * Fixed styles for the Image list page
442
+ * Fixed use "rel" attribute twice, when using a video link
443
+ * Removed alert message, when clicking a preset color in color picker
444
  * Replaced image buttons to tabs
445
  * Fixed Warning: set_time_limit() Attachment.php on line 30
446
  * Minor bug fixes
465
  * Minor bug fixes
466
 
467
  = Photo Gallery Supsystic 1.10.2 / 20.06.2017 =
468
+ * Added option "Hide browser URL tooltip on image hover"
469
  * Minor bug fixes
470
 
471
  = Photo Gallery Supsystic 1.10.1 / 31.05.2017 =
472
+ * Fixed category open by URL hash with spaces
473
  * Fixed gallery cache removing for membership integration
474
  * Additional statistics integration
475
 
480
 
481
  = Photo Gallery Supsystic 1.9.18 / 04.05.2017 =
482
  * Changed some design in gallery settings
483
+ * Added navigation links to the Main tab of gallery settings
484
 
485
  = Photo Gallery Supsystic 1.9.17 / 11.04.2017 =
486
  * Added option "Image on hover"
501
  = Photo Gallery Supsystic 1.9.14 / 21.02.2017 =
502
  * Added Image Optimize option
503
  * Featured plugins updated - added Membership plugin
504
+ * Fixed bugs for WP Themes with included galleries attached to the link
505
  * Fixed bugs for colorpicker Category, when it init twice.
506
  * Add tooltip messages
507
  * Minor bug fixes
520
  * Fixed 'freeze' scroll on ios mobile devices
521
  * Fixed issue with horizontal scrolling
522
  * Framework Updates
523
+ * Fixed remove param to not image URL
524
  * Minor issues fix
525
 
526
  = Photo Gallery Supsystic 1.9.10 / 12.01.2017 =
527
  * Fixed bug with linked images on Video
528
+ * Fixed problem with transition figures, when changing Mobile Orientation
529
+ * Fixed Gallery freeze, when many "ContentLoad" events ran.
530
  * Set new version of Twig to 1.29.0
531
  * Set minimum PHP-requirements: version 5.2.7
532
  * Fixed pretty-photo popup for many galleries used
533
+ * Fixed caption icon freeze position on mouse click. Now it's only for mobile
534
  * Fixed "Hide long titles" option
535
  * Added "Disable captions on mobile" option
536
  * Minor issues fix
545
  * Fixed issue with gallery parent elements click events.
546
  * Fixed conflict of Popup 8 theme
547
  * Added fix to avoid wpautop function.
548
+ * Added deferred init to allow gallery properly
549
  * Minor issues fix
550
 
551
  = Photo Gallery Supsystic 1.9.7 / 29.11.2016 =
558
 
559
  = Photo Gallery Supsystic 1.9.6 / 17.11.2016 =
560
  * Fixed double popup issue
561
+ * Fixed popup for option "Display only first image"
562
  * Fixed gallery save sort info
563
  * Fixed popup issue when place few galleries on one page
564
+ * Fixed issue with replacing the image
565
  * Minor issues fix
566
 
567
  = Photo Gallery Supsystic 1.9.5 / 9.11.2016 =
571
  = Photo Gallery Supsystic 1.9.4 / 8.11.2016 =
572
  * Fix horizontal gallery bug
573
  * Fix popup bug
574
+ * Fix iOS stuck on a scroll, fix widget fatal error.
575
 
576
  = Photo Gallery Supsystic 1.9.3 / 26.10.2016 =
577
  * Fix open by link option issue
592
 
593
  = Photo Gallery Supsystic 1.9.1 / 30.09.2016 =
594
  * Fix redeclare class fatal error
595
+ * Fix prettyPhoto issue with several galleries on the page
596
 
597
  = Photo Gallery Supsystic 1.9.0 / 27.09.2016 =
598
  * Fix minifiers compatimility
612
  * Minor issues fixed
613
 
614
  = Photo Gallery Supsystic 1.8.7 / 25.08.2016 =
615
+ * Fixed bug with a tutorial by the first load the plugin
616
+ * Fixed bug with editing/removing photos in the gallery
617
+ * Fixed bug with adding a gallery into the post
618
  * Minor issues fix
619
 
620
  = Photo Gallery Supsystic 1.8.6 / 10.08.2016 =
621
+ * Fixed dashboard styles conflict with other plugins
622
  * Added resize on screen size change to fixed columns gallery type
623
  * Fixed font size option not work with direction-aware caption effect.
624
  * Fixed no follow option not save data
630
 
631
  = Photo Gallery by Supsystic 1.8.5 / 13.07.2016 =
632
  * Fix sharing issue with social buttons
633
+ * Added the Czech language
634
+ * Fix gallery bug with horizontal scrolling mode
635
+ * Fix RSS feed validation issue
636
+ * Fix Instagram app connection credentials
637
  * Fix fullscreen mode bug
638
+ * Fix not showing gallery in safari bug
639
 
640
  = Photo Gallery by Supsystic 1.8.4 / 21.06.2016 =
641
  * Fix direction aware image gallery caption bug
642
  * Update step-by-step gallery tutorial
643
+ * Fix issue with HTML in the caption and gallery social share buttons
644
  * Small fixes of overview and welcome pages
645
  * Add one-photo setting class
646
  * Fix conflict with history.js lib
647
  * Fixed bug with gallery HTML caption
648
+ * Fixed bug with the pointer when the popup is disabled
649
  * Fixed bug with crop image library
650
  * Fixed bug when thumbnails not shown if file attached to wp media library by URL
651
  * Fixed horizontal scroll image jumping
655
  * Fixed bug with freezing popup on change images
656
  * Fixed email and print buttons of social sharing
657
  * Fixed theme 6 popup description size
658
+ * Fixed bug with blurry images on the vertical gallery
659
  * Fixed bug with handling themes that don't call wp_footer()
660
 
661
  = Photo Gallery by Supsystic 1.8.2 / 01.06.2016 =
666
  * Minor bug fix
667
 
668
  = Photo Gallery by Supsystic 1.8.1 / 27.05.2016 =
669
+ * Fixed bug when thumbnails were not loading
670
 
671
  = Photo Gallery by Supsystic 1.8.0 / 26.05.2016 =
672
  * Fixed caption on theme 6 popup
673
+ * Added replace image functionality and search to the image list
674
+ * Added social sharing on the gallery
675
 
676
  = Photo Gallery by Supsystic 1.7.9 / 18.05.2016 =
677
+ * Gallery hotfix
678
 
679
  = Photo Gallery by Supsystic 1.7.8 / 17.05.2016 =
680
  * Fixed issues with hammer.js script version conflict and asynchronous javascript load
681
  * Fixed error on window resize
682
+ * Added option "Show only first picture". When this option is enabled, the only the first picture from this gallery will be seen on the website. The other pictures will be seen in the popup window after clicking on the first picture.
683
 
684
  = Photo Gallery by Supsystic 1.7.7 / 13.05.2016 =
685
  * Hotfix for Wordpress version < 4.5.0; replace function wp_get_upload_dir ( @since 4.5.0) by wp_upload_dir
686
 
687
  = Photo Gallery by Supsystic 1.7.6 / 12.05.2016 =
688
  * Fixed issues with responsive popups
689
+ * Fixed bug for all popup themes slideshow pause on hover option: now after mouse leave slideshow starts in "slideshow speed" ms.
690
  * Fixed navigation buttons for popup theme 4 when slideshow enabled
691
+ * Fixed image link: special chars in URL no more encoded
692
+ * Added opportunity to swipe popup images on the touchscreen
693
+ * Fixed bug with a horizontal scroll on the touchscreen
694
+ * Fixed CSS for popup theme 6 on the small screen
695
+ * Fixed bug with gallery when uploading dir in an unusual directory
696
+ * Fixed gallery title when an image(s) are corrupted
697
  * Added 3d cube effect for gallery images
698
+ * Added option to gallery "Full-screen width" which expand gallery to full width of the window
699
+ * Fixed bug on image SEO tab when alternative text could not be removed
700
  * Replace gallery position from shortcode to settings.
701
+ * Fixed bug when gallery showed before initialized
702
 
703
  = Photo Gallery by Supsystic 1.7.5 / 26.04.2016 =
704
  * Fixed issues with popup 6 theme
711
  * Fix issue with popup transparency
712
 
713
  = Photo Gallery by Supsystic 1.7.3 / 20.04.2016 =
714
+ * Added popup slideshow on hover stop option
715
  * Added option 'show always caption' for mobile device
716
  * Added transparency option for popup overlay
717
  * Added crop quality setting for images
718
  * Fixed show caption bug.
719
+ * Fixed IE bug - white line in the bottom
720
  * Fixed hide title tooltip
721
 
722
  = Photo Gallery by Supsystic 1.7.2 / 12.04.2016 =
723
  * Fixed hide tooltip option
724
+ * Fixed multiple color box popup on one page
725
+ * Fixed color box popup responsive images
726
  * Fixed scroll bug with shadow
727
  * Added sorted option for images list
728
  * Fixed IE bugs
729
 
730
  = Photo Gallery by Supsystic 1.7.1 / 01.04.2016 =
731
+ * Fixed link in the caption. Conflict with icons
732
+ * Fix issue with preview gallery page
733
  * Fix issue with wrong plugin dir source path
734
+ * Added feature to multiple select images in media library popup without pressing ctrl key
735
+ * Added select from the social step in a popup when adding images from galleries list
736
  * Added filter to show only images in media library popup
737
+ * Fixed bug with a horizontal scroll frame height
738
  * Fixed preview polaroid caption bug
739
  * Fixed enable/disable button slideshow in 6,8 theme
740
 
741
  = Photo Gallery by Supsystic 1.7.0 / 29.03.2016 =
742
  * Fixed caption effect for circled gallery
743
  * Fixed personal caption effect for images
744
+ * Fixed get server info in the Overview page
745
  * Fixed scroll in IE9
746
  * Fixed iPad and Phone touch edit input
747
  * Fixed fronted-part category button style
753
  * Fixed polaroid effect bug
754
 
755
  = Photo Gallery by Supsystic 1.6.8 / 17.03.2016 =
756
+ * Added multiple images category edit in the gallery
757
  * Added crop position option for images
758
+ * Added support for HTML in captions when images loaded with Load More.
759
  * Added possibility to change polaroid borders width
760
+ * Added possibility to navigate between slides in a popup by clicking on the image sides
761
  * Added gallery loader option
762
  * Fix bug with total images count.
763
+ * Fix issues with ColorMag theme
764
  * Fix direction-aware caption
765
+ * Fix an upload images issue on some servers
766
  * Fix Instagram only 20 image limit bug
767
  * Fix not working popup with direction-aware caption effect
768
  * Fix Hide Popup Captions for 6 theme
771
  * Fix bug with a icons settings if have few galleries on one page
772
  * Added Japanese translation
773
  * Fix bug with polaroid caption on safari browser
774
+ * Removed hash id from URL for prettyPhoto.
775
+ * Increased limit of preview pictures for #6 popup theme.
776
 
777
  = Photo Gallery by Supsystic 1.6.6 / 23.02.2016 =
778
  * Fix conflict with Agivee theme
779
  * Added gallery cache clearing when changing images order
780
+ * Add possibility to have two galleries on the page with the same ID
781
  * Minor issues fixes
782
 
783
  = Photo Gallery by Supsystic 1.6.5 / 16.02.2016 =
784
  * Added possibility to change gallery name
785
+ * Fix bug with a prettyPhoto popup on mobile devices
786
  * Fix bug with load more feature when gallery have lot images
787
  * Fix bug with caption effects
788
  * Minor issues fixes
796
  * Added new linked images feature
797
  * Fix not working 'hide popup on mobile' feature
798
  * Fix not working disabled popup
799
+ * Fix bug in IE when a page becomes non-clickable
800
+ * Fix for bug when in some cases jquery not loaded in properly ordered
801
  * Fix Baskerville theme conflict.
802
  * Fix bug in 'load more' feature
803
 
815
  * Fix conflict Photo Gallery by Supsystic with Postman plugin
816
 
817
  = Photo Gallery by Supsystic 1.6.0 / 11.01.2016 =
818
+ * Disabled gallery twig cache due to a conflict with wpengine.com
819
+ * Fix for Netherland gallery translation
820
  * Added HTML support in Gallery Description
821
  * Fix for preview iframe height issue
822
+ * Added role-based access to the photo gallery feature
823
+ * Fix bug with quotes in the gallery title name
824
+ * Add feature to play popup video gallery on start and do an action when video end
825
  * Fixed bug with video popup when icons enabled
826
 
827
  = Photo Gallery by Supsystic 1.5.9 / 22.12.2015 =
829
 
830
  = Photo Gallery by Supsystic 1.5.8 / 21.12.2015 =
831
  * Improve gallery UX on touchscreen devices
832
+ * Fix for issue not opening a popup with icons enabled.
833
  * Fix glowing buttons
834
+ * Fix for add images dialog prevent from a click on search field in the media library
835
 
836
  = Photo Gallery by Supsystic 1.5.7 / 18.12.2015 =
837
  * Fix 4.4 WordPress glowing gallery buttons effect
838
  * Reworked gallery assets loading logic
839
+ * Fix ajax calls for gallery TinyMCE editor button
840
  * Fix issue with https and cached galleries
841
  * Fix for fatal error when cleaning twig cache
842
  * Add fix for gallery categories nav container in some themes overwrites float
843
 
844
  = Photo Gallery by Supsystic 1.5.6 / 08.12.2015 =
845
+ * Improve Gallery speed loading
846
+ * Fixed bug with resizing images in a horizontal gallery type
847
  * Gallery tooltip fix
848
  * WordPress 4.4 compatibility
849
  * Minor gallery bugs fixed
863
  * Fix bug with gallery icons captions after popup close
864
  * Fix Load More images issues
865
  * Fix photo gallery dashboard dialog position
866
+ * Fix polaroid gallery effect on preview bug
867
  * Fix bug with gallery main menu translation. Update default gallery translations file
868
  * Instagram import list images select on click feature
869
+ * Fix Instagram images import bug
870
  * Gallery responsive on Ipad bug fix
871
  * Minor responsive gallery bug fixes
872
 
904
 
905
  * Now Icons available in the Free version of the gallery
906
  * Added gallery Widget feature
907
+ * Fixed bug with a black bar in gallery popup
908
  * Minor fixes and UI improvements
909
 
910
  = Photo Gallery by Supsystic 1.4.6 / 28.09.2015 =
915
  = Photo Gallery by Supsystic 1.4.5 / 24.09.2015 =
916
 
917
  * Increased gallery loading speed
918
+ * Added the Greek language
919
  * Added hide tooltip option
920
  * Added feature to change popup overlay background color
921
  * Added feature to choose caption effect per image
925
  = Photo Gallery by Supsystic 1.4.4 / 15.09.2015 =
926
 
927
  * Added gallery type 'Polaroid Gallery'
928
+ * Bugfixes for preview gallery image update in the dashboard.
929
  * Minor gallery issues fix
930
 
931
  = Photo Gallery by Supsystic 1.4.3 / 09.09.2015 =
932
 
933
+ * Fix Shadow options effect on the preview.
934
+ * Fix Photo Caption align options effect on preview
935
  * Photo Gallery now shown when all effects applied
936
+ * Set cursor to default when hovering on image and popup disabled
937
  * Fix path to translations files
938
  * Fix Safari iPad, iPhone bug when captions stuck on first image tap
939
  * Fix caption bug in old Safari version
941
 
942
  = Photo Gallery by Supsystic 1.4.2 / 01.09.2015 =
943
 
944
+ * Fix Safari bug when image not fit in the container and left empty spaces
945
+ * Links title attribute tooltips now not showing on hover
946
  * Minor photo gallery issues fix
947
 
948
  = Photo Gallery by Supsystic 1.4.1 / 28.08.2015 =
950
  * Images now aligned according to the shortcode value
951
  * Fixed image size bugs in "fixed column" gallery
952
  * Fixed bugs with "fixed column" photo gallery when pagination enabled
953
+ * Fixed bug when images drop out from a parent container
954
 
955
  = Photo Gallery by Supsystic 1.4.0 / 26.08.2015 =
956
 
966
 
967
  = Photo Gallery by Supsystic 1.3.8 / 19.08.2015 =
968
 
969
+ * Fix for gallery categories update categories order list when adding or removing the category
970
  * Post and page categories also can add to order list
971
  * Added feature to change All button order
972
  * Fix post feed gallery
979
 
980
  = Photo Gallery by Supsystic 1.3.6 / 14.08.2015 =
981
 
982
+ * Fix for unescaping quotes in tags, and remove deleted categories from the categories order list
983
  * Add filter for empty categories
984
  * Minor issues fix
985
 
989
  * Fixed Caption – Direction Aware effect
990
  * Hide overflow inline property (due to a bug with shadow cutting)
991
  * Fix for 'sticky' margin bug
992
+ * Fixed firefox 'flat' effect bug and caption offset in chrome when the shadow is on
993
+ * Added msg & import dialog when the gallery is empty
994
  * Fix for IE rotate3d bug for cube effect
995
  * Added feature in categories to remove 'all category' button
996
  * Fix faq gallery link
997
+ * Added showing spinner icon on creating a gallery
998
  * Remove round corners from dialogs
999
  * Fix dialog close button
1000
+ * Replace old lighten bg color method that caused falling out of the valid color hex range
1001
+ * Add border: none to images-links to prevent styling with other themes
1002
+ * Fix categories/pagination toggle state
1003
+ * Rename radio button Available to Enable in options
1004
  * Default animation duration set to 1800
1005
+ * Added feature to change the order of the categories
1006
  * Popup Image – Hide Popup Captions now working fix
1007
 
1008
  = Photo Gallery by Supsystic 1.3.4 / 06.08.2015 =
1009
 
1010
  * Fixed template names
1011
+ * Additional Font setting existence check in the admin area
1012
+ * Added the Polish language
1013
  * Fix Popup Image (lightbox) for galleries with Categories.
1014
  * CSS: added clarifying selector to avoid conflicts with other plugins.
1015
  * CSS: added 100% height rule for normal pic rendering in Chrome (with 100% gallery width set).
1030
  = Photo Gallery by Supsystic 1.3.1 / 09.07.2015 =
1031
 
1032
  * Fixed social import functionality
1033
+ * Check all buttons for social import fixed
1034
  * Notices fixed
1035
  * Saving settings console errors removed
1036
  * Thumbs saving notices fixed
1037
  * Categories and pagination presets selection notices fixed
1038
+ * Changes in the Overview page
1039
  * Minor changes
1040
 
1041
  = Photo Gallery by Supsystic 1.3.0 / 11.06.2015 =
1046
  * Customized jGrowl popup messages
1047
  * Font loader checks added
1048
  * Shortcode fixes
1049
+ * Changes in the Overview page
1050
  * Functional fixes
1051
 
1052
  = Photo Gallery by Supsystic 1.2.9 / 11.06.2015 =
1095
 
1096
  * Change the appearance of gallery shortcodes for easy copying
1097
  * Changes & bug-fixing in gallery caption text-align option
1098
+ * Added translations to French, Dutch, Finnish, Portuguese (Brazil)
1099
  * Fixed saving the preset
1100
  * Added option to select caption position
1101
  * Bug fixes
1102
 
1103
  = Photo Gallery by Supsystic 1.2.2 / 23.04.2015 =
1104
 
1105
+ * Hotfixes for new gallery type
1106
  * Minor gallery changes
1107
 
1108
  = Photo Gallery by Supsystic 1.2.1 / 22.04.2015 =
1125
  * Functional changed
1126
  * Minor gallery fixes
1127
  * Photo captions with HTML saving changed
1128
+ * Popup sizes calculations on mobile devices with Vimeo gallery videos changed
1129
  * Galleries list fixed
1130
 
1131
  = Photo Gallery by Supsystic 1.1.7 / 1.04.2015 =
1133
  * Direction aware effect caption changed
1134
  * Functional changed
1135
  * Minor photo gallery fixes
1136
+ * Shortcode photo insertion button added to TinyMCE editor
1137
  * Shortcode selection dialog added
1138
 
1139
  = Photo Gallery by Supsystic 1.1.6 / 27.03.2015 =
1144
 
1145
  = Photo Gallery by Supsystic 1.1.5 / 25.03.2015 =
1146
 
1147
+ * Hot photo gallery fixed
1148
 
1149
  = Photo Gallery by Supsystic 1.1.4 / 24.03.2015 =
1150
 
1168
  = Photo Gallery by Supsystic 1.1.1 / 11.03.2015 =
1169
 
1170
  * Overview page php 5.2 support added
1171
+ * Minor image gallery bugs fixed
1172
  * Functional fixes
1173
 
1174
  = Photo Gallery by Supsystic 1.1.0 / 09.03.2015 =
1196
 
1197
  = Photo Gallery by Supsystic 1.0.19 / 20.02.2015 =
1198
 
1199
+ * Responsive photo gallery on iPhone fixed
1200
  * Default photo gallery settings fixed
1201
  * Empty gallery page changed
1202
  * Standard photo gallery template settings changed
src/GridGallery/Core/Module.php CHANGED
@@ -80,11 +80,22 @@ class GridGallery_Core_Module extends Rsc_Mvc_Module
80
  return $homepage . '?' . http_build_query($parameters);
81
  }
82
 
 
 
 
 
 
83
  public function registerTwigFunctions()
84
  {
85
 
86
  $twig = $this->getTwig();
87
 
 
 
 
 
 
 
88
  $twig->addFunction(
89
  new Twig_SimpleFunction(
90
  'build_pro_url', array($this, 'buildProUrl')
80
  return $homepage . '?' . http_build_query($parameters);
81
  }
82
 
83
+ public function getPluginDirectoryUrl($path)
84
+ {
85
+ return plugin_dir_url($this->getEnvironment()->getPluginPath() . '/index.php') . '/' . $path;
86
+ }
87
+
88
  public function registerTwigFunctions()
89
  {
90
 
91
  $twig = $this->getTwig();
92
 
93
+ $twig->addFunction(
94
+ new Twig_SimpleFunction(
95
+ 'plugin_directory_url', array($this, 'getPluginDirectoryUrl')
96
+ )
97
+ );
98
+
99
  $twig->addFunction(
100
  new Twig_SimpleFunction(
101
  'build_pro_url', array($this, 'buildProUrl')
src/GridGallery/Featuredplugins/Controller.php CHANGED
@@ -39,9 +39,12 @@ class GridGallery_Featuredplugins_Controller extends GridGallery_Core_BaseContro
39
  array('label' => $environment->translate('Contact Form Plugin'), 'url' => $pluginsUrl. 'contact-form-plugin/', 'img' => $uploadsUrl. '2016/07/Contact_Form_256.png', 'desc' => $environment->translate('One of the best plugin for creating Contact Forms on your WordPress site. Changeable fonts, backgrounds, an option for adding fields etc.'), 'download' => $downloadsUrl. 'contact-form-by-supsystic.zip'),
40
  array('label' => $environment->translate('Newsletter Plugin'), 'url' => $pluginsUrl. 'newsletter-plugin/', 'img' => $uploadsUrl. '2016/08/icon-256x256.png', 'desc' => $environment->translate('Supsystic Newsletter plugin for automatic mailing of your letters. You will have no need to control it or send them manually. No coding, hard skills or long hours of customizing are required.'), 'download' => $downloadsUrl. 'newsletter-by-supsystic.zip'),
41
  array('label' => $environment->translate('Membership by Supsystic'), 'url' => $pluginsUrl. 'membership-plugin/', 'img' => $uploadsUrl. '2016/09/256.png', 'desc' => $environment->translate('Create online membership community with custom user profiles, roles, FrontEnd registration and login. Members Directory, activity, groups, messages.'), 'download' => $downloadsUrl. 'membership-by-supsystic.zip'),
 
42
  );
43
  foreach($pluginsList as $i => $p) {
44
- $pluginsList[ $i ]['url'] = $pluginsList[ $i ]['url']. '?utm_source=plugin&utm_medium=featured_plugins&utm_campaign='. $promoCampaign;
 
 
45
  }
46
 
47
  return $this->response(
39
  array('label' => $environment->translate('Contact Form Plugin'), 'url' => $pluginsUrl. 'contact-form-plugin/', 'img' => $uploadsUrl. '2016/07/Contact_Form_256.png', 'desc' => $environment->translate('One of the best plugin for creating Contact Forms on your WordPress site. Changeable fonts, backgrounds, an option for adding fields etc.'), 'download' => $downloadsUrl. 'contact-form-by-supsystic.zip'),
40
  array('label' => $environment->translate('Newsletter Plugin'), 'url' => $pluginsUrl. 'newsletter-plugin/', 'img' => $uploadsUrl. '2016/08/icon-256x256.png', 'desc' => $environment->translate('Supsystic Newsletter plugin for automatic mailing of your letters. You will have no need to control it or send them manually. No coding, hard skills or long hours of customizing are required.'), 'download' => $downloadsUrl. 'newsletter-by-supsystic.zip'),
41
  array('label' => $environment->translate('Membership by Supsystic'), 'url' => $pluginsUrl. 'membership-plugin/', 'img' => $uploadsUrl. '2016/09/256.png', 'desc' => $environment->translate('Create online membership community with custom user profiles, roles, FrontEnd registration and login. Members Directory, activity, groups, messages.'), 'download' => $downloadsUrl. 'membership-by-supsystic.zip'),
42
+ array('label' => $environment->translate('Kinsta Hosting'), 'url' => 'https://kinsta.com?kaid=MNRQQASUYJRT', 'external' => true, 'img' => $this->getEnvironment()->getModule('core')->getPluginDirectoryUrl('app/assets/img/kinsta_banner.png'), 'desc' => $environment->translate('If you want to host a business site or a blog, Kinsta managed WordPress hosting is the best place to stop on. Without any hesitation, we can say Kinsta is incredible when it comes to uptime and speed.')),
43
  );
44
  foreach($pluginsList as $i => $p) {
45
+ if(empty($p['external'])) {
46
+ $pluginsList[$i]['url'] = $pluginsList[$i]['url'] . '?utm_source=plugin&utm_medium=featured_plugins&utm_campaign=' . $promoCampaign;
47
+ }
48
  }
49
 
50
  return $this->response(
src/GridGallery/Featuredplugins/assets/css/admin.featured-plugins.css CHANGED
@@ -75,6 +75,10 @@
75
  font-size: 18px !important;
76
  padding: 12px 0 !important;
77
  }
 
 
 
 
78
  .catitem .download-product-item .dp-buttons a.dp-full {
79
  border-color: #e8eded!important;
80
  }
75
  font-size: 18px !important;
76
  padding: 12px 0 !important;
77
  }
78
+ .catitem .download-product-item .dp-buttons a.btn-center {
79
+ display: block;
80
+ margin: 0 auto;
81
+ }
82
  .catitem .download-product-item .dp-buttons a.dp-full {
83
  border-color: #e8eded!important;
84
  }
src/GridGallery/Featuredplugins/views/index.twig CHANGED
@@ -39,14 +39,16 @@
39
  {{ p.desc }}
40
  </div>
41
  </div>
42
- <div class="dp-buttons">
43
- <a href="{{ p.url }}" target="_blank" class="btn btn-full hvr-shutter-out-horizontal">
44
- {{ translate('More info', PPS_LANG_CODE) }}
45
- </a>
46
- <a href="{{ p.download }}" target="_blank" class="btn btn-full btn-info hvr-shutter-out-horizontal">
47
- {{ translate('Download', PPS_LANG_CODE) }}
48
- </a>
49
- </div>
 
 
50
  </div>
51
  </div>
52
  {% endfor %}
39
  {{ p.desc }}
40
  </div>
41
  </div>
42
+ <div class="dp-buttons">
43
+ <a href="{{ p.url }}" target="_blank" class="btn btn-full hvr-shutter-out-horizontal {% if p.download is empty %}btn-center{% endif %}">
44
+ {{ translate('More info') }}
45
+ </a>
46
+ {% if p.download is not empty %}
47
+ <a href="{{ p.download }}" target="_blank" class="btn btn-full btn-info hvr-shutter-out-horizontal">
48
+ {{ translate('Download') }}
49
+ </a>
50
+ {% endif %}
51
+ </div>
52
  </div>
53
  </div>
54
  {% endfor %}
src/GridGallery/Galleries/Attachment.php CHANGED
@@ -26,7 +26,7 @@ class GridGallery_Galleries_Attachment
26
  }
27
 
28
  $this->settings = get_option('sg_settings');
29
-
30
  if (isset($this->settings['image_editor']) && $this->settings['image_editor'] !== 'auto') {
31
  if (!has_filter('wp_image_editors', array($this, 'forceImageEditor'))) {
32
  @set_time_limit(120);
@@ -37,7 +37,7 @@ class GridGallery_Galleries_Attachment
37
 
38
  public function forceImageEditor($editors)
39
  {
40
- if ($this->settings['image_editor'] == 'imagick') {
41
  $editors = array('WP_Image_Editor_Imagick');
42
  } elseif($this->settings['image_editor'] == 'gd') {
43
  $editors = array('WP_Image_Editor_GD');
@@ -211,6 +211,30 @@ class GridGallery_Galleries_Attachment
211
  return null;
212
  }
213
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
214
  /**
215
  * Crops the attachment image and return path to the cropped image.
216
  * If crop fails returns NULL.
@@ -228,11 +252,14 @@ class GridGallery_Galleries_Attachment
228
  return $res;
229
  }
230
  $filepath = $this->getFilePath($attachment);
231
- $editor = $this->getEditor($filepath);
232
  list($or_width, $or_height) = getimagesize($filepath);
 
 
233
  $crop = true;
234
 
235
- if (!$editor) {
 
 
236
  return null;
237
  }
238
 
@@ -312,7 +339,6 @@ class GridGallery_Galleries_Attachment
312
  protected function getEditor($filepath)
313
  {
314
  $editor = wp_get_image_editor($filepath);
315
-
316
  if (is_wp_error($editor)) {
317
  return null;
318
  }
26
  }
27
 
28
  $this->settings = get_option('sg_settings');
29
+
30
  if (isset($this->settings['image_editor']) && $this->settings['image_editor'] !== 'auto') {
31
  if (!has_filter('wp_image_editors', array($this, 'forceImageEditor'))) {
32
  @set_time_limit(120);
37
 
38
  public function forceImageEditor($editors)
39
  {
40
+ if ($this->settings['image_editor'] == 'imagic') {
41
  $editors = array('WP_Image_Editor_Imagick');
42
  } elseif($this->settings['image_editor'] == 'gd') {
43
  $editors = array('WP_Image_Editor_GD');
211
  return null;
212
  }
213
 
214
+ function isAnimatedGif($filename) {
215
+ $raw = file_get_contents($filename);
216
+
217
+ $offset = 0;
218
+ $frames = 0;
219
+ while($frames < 2)
220
+ {
221
+ $where1 = strpos($raw, "\x00\x21\xF9\x04", $offset);
222
+ if($where1 === false) break;
223
+ else {
224
+ $offset = $where1 + 1;
225
+ $where2 = strpos($raw, "\x00\x2C", $offset);
226
+ if($where2 === false) break;
227
+ else {
228
+ if($where1 + 8 == $where2) {
229
+ $frames ++;
230
+ }
231
+ $offset = $where2 + 1;
232
+ }
233
+ }
234
+ }
235
+ return $frames > 1;
236
+ }
237
+
238
  /**
239
  * Crops the attachment image and return path to the cropped image.
240
  * If crop fails returns NULL.
252
  return $res;
253
  }
254
  $filepath = $this->getFilePath($attachment);
 
255
  list($or_width, $or_height) = getimagesize($filepath);
256
+
257
+ $editor = $this->getEditor($filepath);
258
  $crop = true;
259
 
260
+ if (!$editor) return null;
261
+
262
+ if($this->isAnimatedGif($filepath)){
263
  return null;
264
  }
265
 
339
  protected function getEditor($filepath)
340
  {
341
  $editor = wp_get_image_editor($filepath);
 
342
  if (is_wp_error($editor)) {
343
  return null;
344
  }
src/GridGallery/Galleries/Controller.php CHANGED
@@ -189,6 +189,7 @@ class GridGallery_Galleries_Controller extends GridGallery_Core_BaseController
189
  }
190
  $fromImg = $currentPage*$imgPerPage;
191
  $gallery->photos = array_slice($gallery->photos, $fromImg, $imgPerPage, true);
 
192
  }
193
  }
194
  $galleries = $this->getModel('galleries')->getList();
@@ -412,7 +413,7 @@ class GridGallery_Galleries_Controller extends GridGallery_Core_BaseController
412
 
413
 
414
 
415
- $galleries = new GridGallery_Galleries_Model_Galleries();
416
  $gallery = $galleries->getById($gid);
417
 
418
  //cleaning cache after attaching
@@ -729,7 +730,10 @@ class GridGallery_Galleries_Controller extends GridGallery_Core_BaseController
729
  $settings->data['socialSharing'] = $galleryModule->initGallerySocialShare($settings->data);
730
  $settings->data['rtl'] = is_rtl();
731
 
732
- $fontList = $this->getModel('settings')->getFontsList();
 
 
 
733
  $membershipModel = $this->getModel('membership');
734
  $pageOptions = array(
735
  'isSettingPage' => 1,
189
  }
190
  $fromImg = $currentPage*$imgPerPage;
191
  $gallery->photos = array_slice($gallery->photos, $fromImg, $imgPerPage, true);
192
+ $this->getEnvironment()->getDispatcher()->dispatch('before_gallery_photos_edit', array($gallery->photos));
193
  }
194
  }
195
  $galleries = $this->getModel('galleries')->getList();
413
 
414
 
415
 
416
+ $galleries = $this->getModel('galleries');
417
  $gallery = $galleries->getById($gid);
418
 
419
  //cleaning cache after attaching
730
  $settings->data['socialSharing'] = $galleryModule->initGallerySocialShare($settings->data);
731
  $settings->data['rtl'] = is_rtl();
732
 
733
+ $uiModule = $this->getModule('ui');
734
+ $fontList = array_merge($this->getModel('settings')->getFontsList(), $uiModule->getStandardFontsList());
735
+ sort($fontList);
736
+
737
  $membershipModel = $this->getModel('membership');
738
  $pageOptions = array(
739
  'isSettingPage' => 1,
src/GridGallery/Galleries/Model/Galleries.php CHANGED
@@ -44,6 +44,7 @@ class GridGallery_Galleries_Model_Galleries extends GridGallery_Core_BaseModel
44
  if ($gallery = $this->db->get_row($query->build())) {
45
  $gallery = $this->extend($gallery, $attrArray);
46
  }
 
47
 
48
  return $gallery;
49
  }
44
  if ($gallery = $this->db->get_row($query->build())) {
45
  $gallery = $this->extend($gallery, $attrArray);
46
  }
47
+ $gallery = $this->environment->getDispatcher()->applyFilters('after_gallery_get', $gallery);
48
 
49
  return $gallery;
50
  }
src/GridGallery/Galleries/Module.php CHANGED
@@ -117,7 +117,10 @@ class GridGallery_Galleries_Module extends GridGallery_Core_Module
117
  $url = $this->getEnvironment()->getConfig()->get('plugin_url');
118
  return array(
119
  'jquery',
120
- '//ajax.googleapis.com/ajax/libs/webfont/1/webfont.js',
 
 
 
121
  $this->getLocationUrl() . '/assets/js/lib/imagesLoaded.min.js',
122
  $this->getLocationUrl() . '/assets/js/lib/jquery.easing.js',
123
  $this->getLocationUrl() . '/assets/js/lib/jquery.prettyphoto.js',
@@ -178,6 +181,7 @@ class GridGallery_Galleries_Module extends GridGallery_Core_Module
178
 
179
  public function getBackendJS() {
180
 
 
181
  $jsList = array(
182
  $this->getLocationUrl() . '/assets/js/settings.js',
183
  $this->getLocationUrl() . '/assets/js/attrchange.js',
@@ -187,13 +191,20 @@ class GridGallery_Galleries_Module extends GridGallery_Core_Module
187
  $this->getLocationUrl() . '/assets/js/grid.locale-en.js',
188
  $this->getLocationUrl() . '/assets/js/holder.js',
189
  $this->getLocationUrl() . '/assets/js/grid-gallery.galleries.index.js',
190
- $this->getLocationUrl() . '/assets/js/grid-gallery.galleries.view.js',
191
- $this->getLocationUrl() . '/assets/js/grid-gallery.galleries.preview.js',
192
- $this->getLocationUrl() . '/assets/js/grid-gallery.galleries.thumb.js',
193
- $this->getLocationUrl() . '/assets/js/lib/chosen.jquery.js',
194
  );
195
 
196
- $environment = $this->getEnvironment();
 
 
 
 
 
 
 
 
 
197
  if ($environment->isAction('index')) {
198
  $jsList[] = $this->getLocationUrl() . '/assets/js/lib/jquery.dataTables.min.js';
199
  $jsList[] = $this->getLocationUrl() . '/assets/js/gallery.index.js';
@@ -245,6 +256,7 @@ class GridGallery_Galleries_Module extends GridGallery_Core_Module
245
  }
246
  wp_enqueue_script($handle);
247
  }
 
248
 
249
  //on shutdown check is footer is printed , if not print scripts for our gallery
250
  //add_action('shutdown', array($this,'shutdown'));
@@ -282,25 +294,16 @@ class GridGallery_Galleries_Module extends GridGallery_Core_Module
282
  if (is_feed()) {
283
  return;
284
  }
285
-
286
  $this->loadFrontendAssets();
287
  $id = $attributes['id'];
288
-
289
- $protocol = is_ssl() ? '-ssl' : '';
290
  $settingsModel = $this->getModel('settings');
291
-
292
- if( $settingsModel->isMobile(true) ){
293
- $cachePath = $this->cacheDirectory . DIRECTORY_SEPARATOR . $id . 'm' . $protocol;
294
- }else{
295
- $cachePath = $this->cacheDirectory . DIRECTORY_SEPARATOR . $id . $protocol;
296
- }
297
-
298
  $membershipModel = $this->getModel('membership');
 
299
  if($membershipModel->isPluginActive() && isset($attributes['image-list']) && count($attributes['image-list'])) {
300
  $cachePath .= '-' . md5(json_encode($attributes['image-list']));
301
  $attributes['membershipModel'] = $this->getModel('membership');
302
  }
303
-
304
  $this->initSocialSharePlugin($id);
305
 
306
  global $wpdb;
@@ -547,7 +550,7 @@ class GridGallery_Galleries_Module extends GridGallery_Core_Module
547
 
548
  public function getOldGallery($attributes)
549
  {
550
- $galleries = new GridGallery_Galleries_Model_Galleries();
551
  $twig = $this->getEnvironment()->getTwig();
552
  $cache = $this->getEnvironment()->getCache();
553
  $gallery = $galleries->getById($attributes['id']);
@@ -685,7 +688,10 @@ class GridGallery_Galleries_Module extends GridGallery_Core_Module
685
  $this->getLocationUrl() . '/assets/js/frontend.js',
686
  $this->getLocationUrl() . '/assets/js/jquery.photobox.js',
687
  $this->getLocationUrl() . '/assets/js/jquery.sliphover.js',
688
- '//ajax.googleapis.com/ajax/libs/webfont/1/webfont.js',
 
 
 
689
  );
690
 
691
  wp_enqueue_script('jquery.colorbox.js');
@@ -791,6 +797,24 @@ class GridGallery_Galleries_Module extends GridGallery_Core_Module
791
 
792
  }
793
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
794
  public function cleanCache($galleryId, $cleanOtherCache = false)
795
  {
796
  if (empty($galleryId)) {
117
  $url = $this->getEnvironment()->getConfig()->get('plugin_url');
118
  return array(
119
  'jquery',
120
+ array(
121
+ 'handle' => 'webfont-js',
122
+ 'source' => '//ajax.googleapis.com/ajax/libs/webfont/1/webfont.js'
123
+ ),
124
  $this->getLocationUrl() . '/assets/js/lib/imagesLoaded.min.js',
125
  $this->getLocationUrl() . '/assets/js/lib/jquery.easing.js',
126
  $this->getLocationUrl() . '/assets/js/lib/jquery.prettyphoto.js',
181
 
182
  public function getBackendJS() {
183
 
184
+ $environment = $this->getEnvironment();
185
  $jsList = array(
186
  $this->getLocationUrl() . '/assets/js/settings.js',
187
  $this->getLocationUrl() . '/assets/js/attrchange.js',
191
  $this->getLocationUrl() . '/assets/js/grid.locale-en.js',
192
  $this->getLocationUrl() . '/assets/js/holder.js',
193
  $this->getLocationUrl() . '/assets/js/grid-gallery.galleries.index.js',
194
+ //$this->getLocationUrl() . '/assets/js/grid-gallery.galleries.view.js',
195
+ //$this->getLocationUrl() . '/assets/js/grid-gallery.galleries.preview.js',
 
 
196
  );
197
 
198
+ if($environment->isAction('view') || $environment->isAction('sort') ) {
199
+ $jsList[] = $this->getLocationUrl() . '/assets/js/grid-gallery.galleries.view.js';
200
+ }
201
+ if($environment->isAction('preview')) {
202
+ $jsList[] = $this->getLocationUrl() . '/assets/js/grid-gallery.galleries.preview.js';
203
+ }
204
+
205
+ $jsList[] = $this->getLocationUrl() . '/assets/js/grid-gallery.galleries.thumb.js';
206
+ $jsList[] = $this->getLocationUrl() . '/assets/js/lib/chosen.jquery.js';
207
+
208
  if ($environment->isAction('index')) {
209
  $jsList[] = $this->getLocationUrl() . '/assets/js/lib/jquery.dataTables.min.js';
210
  $jsList[] = $this->getLocationUrl() . '/assets/js/gallery.index.js';
256
  }
257
  wp_enqueue_script($handle);
258
  }
259
+ wp_localize_script('webfont-js', 'sggStandartFontsList', $this->getModule('ui')->getStandardFontsList());
260
 
261
  //on shutdown check is footer is printed , if not print scripts for our gallery
262
  //add_action('shutdown', array($this,'shutdown'));
294
  if (is_feed()) {
295
  return;
296
  }
 
297
  $this->loadFrontendAssets();
298
  $id = $attributes['id'];
299
+ $cachePath = $this->getCache($id);
 
300
  $settingsModel = $this->getModel('settings');
 
 
 
 
 
 
 
301
  $membershipModel = $this->getModel('membership');
302
+
303
  if($membershipModel->isPluginActive() && isset($attributes['image-list']) && count($attributes['image-list'])) {
304
  $cachePath .= '-' . md5(json_encode($attributes['image-list']));
305
  $attributes['membershipModel'] = $this->getModel('membership');
306
  }
 
307
  $this->initSocialSharePlugin($id);
308
 
309
  global $wpdb;
550
 
551
  public function getOldGallery($attributes)
552
  {
553
+ $galleries = $this->getModel('galleries');
554
  $twig = $this->getEnvironment()->getTwig();
555
  $cache = $this->getEnvironment()->getCache();
556
  $gallery = $galleries->getById($attributes['id']);
688
  $this->getLocationUrl() . '/assets/js/frontend.js',
689
  $this->getLocationUrl() . '/assets/js/jquery.photobox.js',
690
  $this->getLocationUrl() . '/assets/js/jquery.sliphover.js',
691
+ array(
692
+ 'handle' => 'webfont-js',
693
+ '//ajax.googleapis.com/ajax/libs/webfont/1/webfont.js'
694
+ ),
695
  );
696
 
697
  wp_enqueue_script('jquery.colorbox.js');
797
 
798
  }
799
 
800
+ public function isTranslationPluginExists() {
801
+ return class_exists('frameTbs');
802
+ }
803
+
804
+ public function getCache($galleryId)
805
+ {
806
+ $protocol = is_ssl() ? '-ssl' : '';
807
+ $cachePath = $this->cacheDirectory. DIRECTORY_SEPARATOR. $galleryId;
808
+ if( $this->getModel('settings')->isMobile(true) ){
809
+ $cachePath .= 'm';
810
+ }
811
+ if( $this->isTranslationPluginExists() && method_exists(frameTbs::_()->getModule('lang'), 'getLocale')){
812
+ $cachePath .= '-'. frameTbs::_()->getModule('lang')->getLocale();
813
+ }
814
+ $cachePath .= $protocol;
815
+ return $cachePath;
816
+ }
817
+
818
  public function cleanCache($galleryId, $cleanOtherCache = false)
819
  {
820
  if (empty($galleryId)) {
src/GridGallery/Galleries/assets/css/prettyPhoto.css CHANGED
@@ -476,7 +476,7 @@
476
  border: 1px rgba(0,0,0,0.5) solid;
477
  display: block;
478
  float: left;
479
- height: 33px;
480
  overflow: hidden;
481
  }
482
 
476
  border: 1px rgba(0,0,0,0.5) solid;
477
  display: block;
478
  float: left;
479
+ max-height: 33px;
480
  overflow: hidden;
481
  }
482
 
src/GridGallery/Galleries/assets/img/cats_pro.gif ADDED
Binary file
src/GridGallery/Galleries/assets/img/pagination_pro.gif ADDED
Binary file
src/GridGallery/Galleries/assets/img/posts_pro.gif ADDED
Binary file
src/GridGallery/Galleries/assets/img/water_m_pro-min.png ADDED
Binary file
src/GridGallery/Galleries/assets/js/frontend.js CHANGED
@@ -196,20 +196,21 @@
196
  $.each(self.$elements, function(index, el) {
197
 
198
  var $el = $(el),
199
- $img = $el.find('img'),
200
- imageOriginalSize = self.getOriginalImageSizes($img.get(0)),
201
- elWidth = imageOriginalSize.width,
202
- elHeight = imageOriginalSize.height,
203
- aspectRatio = elWidth / elHeight,
204
- height = width / aspectRatio;
205
-
206
- $el.css({
207
- width: width,
208
- height: height,
209
- });
210
-
 
211
  });
212
-
213
  return width;
214
  }
215
 
@@ -1192,6 +1193,9 @@
1192
 
1193
  Gallery.prototype.loadFontFamily = (function () {
1194
  font = this.$container.data('caption-font-family');
 
 
 
1195
  if (font && font !== 'Default') {
1196
  WebFont.load({
1197
  google: {
@@ -1582,6 +1586,7 @@
1582
  left: '-' + containerOffsetLeft + 'px',
1583
  'max-width': '100%'
1584
  });
 
1585
  } else {
1586
  this.$container.css({
1587
  width: windowWidth , 'max-width': '100%'
196
  $.each(self.$elements, function(index, el) {
197
 
198
  var $el = $(el),
199
+ $img = $el.find('img');
200
+ if($img.length) {
201
+ var imageOriginalSize = self.getOriginalImageSizes($img.get(0)),
202
+ elWidth = imageOriginalSize.width,
203
+ elHeight = imageOriginalSize.height,
204
+ aspectRatio = elWidth / elHeight,
205
+ height = width / aspectRatio;
206
+
207
+ $el.css({
208
+ width: width,
209
+ height: height,
210
+ });
211
+ }
212
  });
213
+ self.$container.find('.grid-gallery-photos').removeAttr('data-min-height');
214
  return width;
215
  }
216
 
1193
 
1194
  Gallery.prototype.loadFontFamily = (function () {
1195
  font = this.$container.data('caption-font-family');
1196
+ if(window && window.sggStandartFontsList && $.inArray(font.replace(/\"/g, ''), window.sggStandartFontsList) != -1) {
1197
+ return false;
1198
+ }
1199
  if (font && font !== 'Default') {
1200
  WebFont.load({
1201
  google: {
1586
  left: '-' + containerOffsetLeft + 'px',
1587
  'max-width': '100%'
1588
  });
1589
+ this.$container.find('.grid-gallery-nav').css('width', windowWidth + 'px');
1590
  } else {
1591
  this.$container.css({
1592
  width: windowWidth , 'max-width': '100%'
src/GridGallery/Galleries/assets/js/lib/jquery.wookmark.js CHANGED
@@ -9,4 +9,4 @@
9
  @copyright (c) 2009-2014 Christoph Ono (www.wookmark.com)
10
  @license Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.
11
  */
12
- !function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(t){function i(t){n(function(){var i,e;for(i=0;t.length>i;i++)e=t[i],e.obj.css(e.css)})}function e(i){return t.trim(i).toLowerCase()}var s,h,o;o=function(t,i){return function(){return t.apply(i,arguments)}},h={align:"center",autoResize:!1,comparator:null,container:t("body"),direction:void 0,ignoreInactiveItems:!0,itemWidth:0,fillEmptySpace:!1,flexibleWidth:0,offset:2,outerOffset:0,onLayoutChanged:void 0,possibleFilters:[],resizeDelay:50,verticalOffset:void 0};var n=window.requestAnimationFrame||function(t){t()},r=t(window);s=function(){function s(i,e){this.handler=i,this.columns=this.containerWidth=this.resizeTimer=null,this.activeItemCount=0,this.itemHeightsDirty=!0,this.placeholders=[],t.extend(!0,this,h,e),this.verticalOffset=this.verticalOffset||this.offset,this.update=o(this.update,this),this.onResize=o(this.onResize,this),this.onRefresh=o(this.onRefresh,this),this.getItemWidth=o(this.getItemWidth,this),this.layout=o(this.layout,this),this.layoutFull=o(this.layoutFull,this),this.layoutColumns=o(this.layoutColumns,this),this.filter=o(this.filter,this),this.clear=o(this.clear,this),this.getActiveItems=o(this.getActiveItems,this),this.refreshPlaceholders=o(this.refreshPlaceholders,this),this.sortElements=o(this.sortElements,this),this.updateFilterClasses=o(this.updateFilterClasses,this),this.updateFilterClasses(),this.autoResize&&r.bind("resize.wookmark",this.onResize),this.container.bind("refreshWookmark",this.onRefresh)}return s.prototype.updateFilterClasses=function(){for(var t,i,s,h,o=0,n=0,r=0,a={},l=this.possibleFilters;this.handler.length>o;o++)if(i=this.handler.eq(o),t=i.data("filterClass"),"object"==typeof t&&t.length>0)for(n=0;t.length>n;n++)s=e(t[n]),void 0===a[s]&&(a[s]=[]),a[s].push(i[0]);for(;l.length>r;r++)h=e(l[r]),h in a||(a[h]=[]);this.filterClasses=a},s.prototype.update=function(i){this.itemHeightsDirty=!0,t.extend(!0,this,i)},s.prototype.onResize=function(){clearTimeout(this.resizeTimer),this.itemHeightsDirty=0!==this.flexibleWidth,this.resizeTimer=setTimeout(this.layout,this.resizeDelay)},s.prototype.onRefresh=function(){this.itemHeightsDirty=!0,this.layout()},s.prototype.filter=function(i,s,h){var o,n,r,a,l,f=[],c=t();if(i=i||[],s=s||"or",h=h||!1,i.length){for(n=0;i.length>n;n++)l=e(i[n]),l in this.filterClasses&&f.push(this.filterClasses[l]);if(o=f.length,"or"==s||1==o)for(n=0;o>n;n++)c=c.add(f[n]);else if("and"==s){var u,d,m,p=f[0],g=!0;for(n=1;o>n;n++)f[n].length<p.length&&(p=f[n]);for(p=p||[],n=0;p.length>n;n++){for(d=p[n],g=!0,r=0;f.length>r&&g;r++)if(m=f[r],p!=m){for(a=0,u=!1;m.length>a&&!u;a++)u=m[a]==d;g&=u}g&&c.push(p[n])}}h||this.handler.not(c).addClass("inactive")}else c=this.handler;return h||(c.removeClass("inactive"),this.columns=null,this.layout()),c},s.prototype.refreshPlaceholders=function(i,e){for(var s,h,o,n,r,a,l=this.placeholders.length,f=this.columns.length,c=this.container.innerHeight();f>l;l++)s=t('<div class="wookmark-placeholder"/>').appendTo(this.container),this.placeholders.push(s);for(a=this.offset+2*parseInt(this.placeholders[0].css("borderLeftWidth"),10),l=0;this.placeholders.length>l;l++)if(s=this.placeholders[l],o=this.columns[l],l>=f||!o[o.length-1])s.css("display","none");else{if(!(h=o[o.length-1]))continue;n=c-(r=h.data("wookmark-top")+h.data("wookmark-height")+this.verticalOffset)-a,s.css({position:"absolute",display:n>0?"block":"none",left:l*i+e,top:r,width:i-a,height:n})}},s.prototype.getActiveItems=function(){return this.ignoreInactiveItems?this.handler.not(".inactive"):this.handler},s.prototype.getItemWidth=function(){var t=this.itemWidth,i=this.container.width()-2*this.outerOffset,e=this.handler.eq(0),s=this.flexibleWidth;if(void 0===this.itemWidth||0===this.itemWidth&&!this.flexibleWidth?t=e.outerWidth():"string"==typeof this.itemWidth&&this.itemWidth.indexOf("%")>=0&&(t=parseFloat(this.itemWidth)/100*i),s){"string"==typeof s&&s.indexOf("%")>=0&&(s=parseFloat(s)/100*i);var h=i+this.offset,o=~~(.5+h/(s+this.offset)),n=~~(h/(t+this.offset)),r=Math.max(o,n),a=Math.min(s,~~((i-(r-1)*this.offset)/r));t=Math.max(t,a),this.handler.css("width",t)}return t},s.prototype.layout=function(t){if(this.container.is(":visible")){var i,e,s=this.getItemWidth()+this.offset,h=this.container.width()-2*this.outerOffset,o=~~((h+this.offset)/s),n=0,r=0,a=this.getActiveItems(),l=a.length;if(this.itemHeightsDirty||!this.container.data("itemHeightsInitialized")){for(;l>r;r++)i=a.eq(r),i.data("wookmark-height",i.outerHeight());this.itemHeightsDirty=!1,this.container.data("itemHeightsInitialized",!0)}o=Math.max(1,Math.min(o,l)),n=this.outerOffset,"center"==this.align&&(n+=~~(h-(o*s-this.offset)+.5>>1)),this.direction=this.direction||("right"==this.align?"right":"left"),e=t||null===this.columns||this.columns.length!=o||this.activeItemCount!=l?this.layoutFull(s,o,n):this.layoutColumns(s,n),this.activeItemCount=l,this.container.attr({"data-min-height":this.container.attr("data-min-height")>parseInt(e)?this.container.attr("data-min-height"):e}),this.container.css("height",this.container.attr("data-min-height")>parseInt(e)?this.container.attr("data-min-height")+"px":e),this.fillEmptySpace&&this.refreshPlaceholders(s,n),void 0!==this.onLayoutChanged&&"function"==typeof this.onLayoutChanged&&this.onLayoutChanged()}},s.prototype.sortElements=function(t){return"function"==typeof this.comparator?t.sort(this.comparator):t},s.prototype.layoutFull=function(e,s,h){var o,n,r=0,a=0,l=t.makeArray(this.getActiveItems()),f=l.length,c=null,u=null,d=[],m=[],p="left"==this.align;for(this.columns=[],l=this.sortElements(l);s>d.length;)d.push(this.outerOffset),this.columns.push([]);for(;f>r;r++){for(o=t(l[r]),c=d[0],u=0,a=0;s>a;a++)c>d[a]&&(c=d[a],u=a);o.data("wookmark-top",c),n=h,(u>0||!p)&&(n+=u*e),(m[r]={obj:o,css:{position:"absolute",top:c}}).css[this.direction]=n,d[u]+=o.data("wookmark-height")+this.verticalOffset,this.columns[u].push(o)}return i(m),Math.max.apply(Math,d)},s.prototype.layoutColumns=function(t,e){for(var s,h,o,n,r=[],a=[],l=0,f=0,c=0;this.columns.length>l;l++){for(r.push(this.outerOffset),h=this.columns[l],n=l*t+e,s=r[l],f=0;h.length>f;f++,c++)o=h[f].data("wookmark-top",s),(a[c]={obj:o,css:{top:s}}).css[this.direction]=n,s+=o.data("wookmark-height")+this.verticalOffset;r[l]=s}return i(a),Math.max.apply(Math,r)},s.prototype.clear=function(){clearTimeout(this.resizeTimer),r.unbind("resize.wookmark",this.onResize),this.container.unbind("refreshWookmark",this.onRefresh),this.handler.wookmarkInstance=null},s}(),t.fn.wookmark=function(t){return this.wookmarkInstance?this.wookmarkInstance.update(t||{}):this.wookmarkInstance=new s(this,t||{}),this.wookmarkInstance.layout(!0),this.show()}});
9
  @copyright (c) 2009-2014 Christoph Ono (www.wookmark.com)
10
  @license Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.
11
  */
12
+ !function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(t){function i(t){n(function(){var i,e;for(i=0;t.length>i;i++)e=t[i],e.obj.css(e.css)})}function e(i){return t.trim(i).toLowerCase()}var s,h,o;o=function(t,i){return function(){return t.apply(i,arguments)}},h={align:"center",autoResize:!1,comparator:null,container:t("body"),direction:void 0,ignoreInactiveItems:!0,itemWidth:0,fillEmptySpace:!1,flexibleWidth:0,offset:2,outerOffset:0,onLayoutChanged:void 0,possibleFilters:[],resizeDelay:50,verticalOffset:void 0};var n=window.requestAnimationFrame||function(t){t()},r=t(window);s=function(){function s(i,e){this.handler=i,this.columns=this.containerWidth=this.resizeTimer=null,this.activeItemCount=0,this.itemHeightsDirty=!0,this.placeholders=[],t.extend(!0,this,h,e),this.verticalOffset=this.verticalOffset||this.offset,this.update=o(this.update,this),this.onResize=o(this.onResize,this),this.onRefresh=o(this.onRefresh,this),this.getItemWidth=o(this.getItemWidth,this),this.layout=o(this.layout,this),this.layoutFull=o(this.layoutFull,this),this.layoutColumns=o(this.layoutColumns,this),this.filter=o(this.filter,this),this.clear=o(this.clear,this),this.getActiveItems=o(this.getActiveItems,this),this.refreshPlaceholders=o(this.refreshPlaceholders,this),this.sortElements=o(this.sortElements,this),this.updateFilterClasses=o(this.updateFilterClasses,this),this.updateFilterClasses(),this.autoResize&&r.bind("resize.wookmark",this.onResize),this.container.bind("refreshWookmark",this.onRefresh)}return s.prototype.updateFilterClasses=function(){for(var t,i,s,h,o=0,n=0,r=0,a={},l=this.possibleFilters;this.handler.length>o;o++)if(i=this.handler.eq(o),t=i.data("filterClass"),"object"==typeof t&&t.length>0)for(n=0;t.length>n;n++)s=e(t[n]),void 0===a[s]&&(a[s]=[]),a[s].push(i[0]);for(;l.length>r;r++)h=e(l[r]),h in a||(a[h]=[]);this.filterClasses=a},s.prototype.update=function(i){this.itemHeightsDirty=!0,t.extend(!0,this,i)},s.prototype.onResize=function(){clearTimeout(this.resizeTimer),this.itemHeightsDirty=0!==this.flexibleWidth,this.resizeTimer=setTimeout(this.layout,this.resizeDelay)},s.prototype.onRefresh=function(){this.itemHeightsDirty=!0,this.layout()},s.prototype.filter=function(i,s,h){var o,n,r,a,l,f=[],c=t();if(i=i||[],s=s||"or",h=h||!1,i.length){for(n=0;i.length>n;n++)l=e(i[n]),l in this.filterClasses&&f.push(this.filterClasses[l]);if(o=f.length,"or"==s||1==o)for(n=0;o>n;n++)c=c.add(f[n]);else if("and"==s){var u,d,m,p=f[0],g=!0;for(n=1;o>n;n++)f[n].length<p.length&&(p=f[n]);for(p=p||[],n=0;p.length>n;n++){for(d=p[n],g=!0,r=0;f.length>r&&g;r++)if(m=f[r],p!=m){for(a=0,u=!1;m.length>a&&!u;a++)u=m[a]==d;g&=u}g&&c.push(p[n])}}h||this.handler.not(c).addClass("inactive")}else c=this.handler;return h||(c.removeClass("inactive"),this.columns=null,this.layout()),c},s.prototype.refreshPlaceholders=function(i,e){for(var s,h,o,n,r,a,l=this.placeholders.length,f=this.columns.length,c=this.container.innerHeight();f>l;l++)s=t('<div class="wookmark-placeholder"/>').appendTo(this.container),this.placeholders.push(s);for(a=this.offset+2*parseInt(this.placeholders[0].css("borderLeftWidth"),10),l=0;this.placeholders.length>l;l++)if(s=this.placeholders[l],o=this.columns[l],l>=f||!o[o.length-1])s.css("display","none");else{if(!(h=o[o.length-1]))continue;n=c-(r=h.data("wookmark-top")+h.data("wookmark-height")+this.verticalOffset)-a,s.css({position:"absolute",display:n>0?"block":"none",left:l*i+e,top:r,width:i-a,height:n})}},s.prototype.getActiveItems=function(){return this.ignoreInactiveItems?this.handler.not(".inactive"):this.handler},s.prototype.getItemWidth=function(){var t=this.itemWidth,i=this.container.width()-2*this.outerOffset,e=this.handler.eq(0),s=this.flexibleWidth;if(void 0===this.itemWidth||0===this.itemWidth&&!this.flexibleWidth?t=e.outerWidth():"string"==typeof this.itemWidth&&this.itemWidth.indexOf("%")>=0&&(t=parseFloat(this.itemWidth)/100*i),s){"string"==typeof s&&s.indexOf("%")>=0&&(s=parseFloat(s)/100*i);var h=i+this.offset,o=~~(.5+h/(s+this.offset)),n=~~(h/(t+this.offset)),r=Math.max(o,n),a=Math.min(s,~~((i-(r-1)*this.offset)/r));t=Math.max(t,a),this.handler.css("width",t)}return t},s.prototype.layout=function(t){if(this.container.is(":visible")){var i,e,s=this.getItemWidth()+this.offset,h=this.container.width()-2*this.outerOffset,o=~~((h+this.offset)/s),n=0,r=0,a=this.getActiveItems(),l=a.length;if(this.itemHeightsDirty||!this.container.data("itemHeightsInitialized")){for(;l>r;r++)i=a.eq(r),i.data("wookmark-height",i.outerHeight());this.itemHeightsDirty=!1,this.container.data("itemHeightsInitialized",!0)}o=Math.max(1,Math.min(o,l)),n=this.outerOffset,"center"==this.align&&(n+=~~(h-(o*s-this.offset)+.5>>1)),this.direction=this.direction||("right"==this.align?"right":"left"),e=t||null===this.columns||this.columns.length!=o||this.activeItemCount!=l?this.layoutFull(s,o,n):this.layoutColumns(s,n),this.activeItemCount=l,this.container.attr({"data-min-height":this.container.attr("data-flexible-height")=='1'||this.container.attr("data-min-height")>parseInt(e)?this.container.attr("data-min-height"):e}),this.container.css("height",this.container.attr("data-min-height")>parseInt(e)?this.container.attr("data-min-height")+"px":e),this.fillEmptySpace&&this.refreshPlaceholders(s,n),void 0!==this.onLayoutChanged&&"function"==typeof this.onLayoutChanged&&this.onLayoutChanged()}},s.prototype.sortElements=function(t){return"function"==typeof this.comparator?t.sort(this.comparator):t},s.prototype.layoutFull=function(e,s,h){var o,n,r=0,a=0,l=t.makeArray(this.getActiveItems()),f=l.length,c=null,u=null,d=[],m=[],p="left"==this.align;for(this.columns=[],l=this.sortElements(l);s>d.length;)d.push(this.outerOffset),this.columns.push([]);for(;f>r;r++){for(o=t(l[r]),c=d[0],u=0,a=0;s>a;a++)c>d[a]&&(c=d[a],u=a);o.data("wookmark-top",c),n=h,(u>0||!p)&&(n+=u*e),(m[r]={obj:o,css:{position:"absolute",top:c}}).css[this.direction]=n,d[u]+=o.data("wookmark-height")+this.verticalOffset,this.columns[u].push(o)}return i(m),Math.max.apply(Math,d)},s.prototype.layoutColumns=function(t,e){for(var s,h,o,n,r=[],a=[],l=0,f=0,c=0;this.columns.length>l;l++){for(r.push(this.outerOffset),h=this.columns[l],n=l*t+e,s=r[l],f=0;h.length>f;f++,c++)o=h[f].data("wookmark-top",s),(a[c]={obj:o,css:{top:s}}).css[this.direction]=n,s+=o.data("wookmark-height")+this.verticalOffset;r[l]=s}return i(a),Math.max.apply(Math,r)},s.prototype.clear=function(){clearTimeout(this.resizeTimer),r.unbind("resize.wookmark",this.onResize),this.container.unbind("refreshWookmark",this.onRefresh),this.handler.wookmarkInstance=null},s}(),t.fn.wookmark=function(t){return this.wookmarkInstance?this.wookmarkInstance.update(t||{}):this.wookmarkInstance=new s(this,t||{}),this.wookmarkInstance.layout(!0),this.show()}});
src/GridGallery/Galleries/assets/js/settings.js CHANGED
@@ -704,7 +704,6 @@ sggDataSelectorsCache.prototype.getFromArray = (function(key) {
704
  Controller.prototype.toggleArea = function() {
705
  var $toggle = $('[name="area[grid]"]'),
706
  selfContr = this,
707
- $pagesRow = $('#usePages'),
708
  $optionsHeight = $('[name="area[photo_height]"]'),
709
  $optionsHeightRow = $optionsHeight.closest('tr'),
710
  $optionsWidth = $('[name="area[photo_width]"]'),
@@ -718,17 +717,19 @@ sggDataSelectorsCache.prototype.getFromArray = (function(key) {
718
  var $loadMoreContent = $('#gg-anl-load-more'),
719
  $afterLoadMoreContentSeparator = $('#gg-anl-load-more').next('.separator').first(),
720
  $inputShowMore = $('#show-more-disable').closest('.iradio_minimal'),
721
- $use2MosaicLayoutInp = $('#sggMosaicUse2Layout'),
 
722
  $sggLazyLoadEnableRow = $('#sggLazyLoadEnableRow'),
723
  $mosaicImageCountTextWr = $('#gg-mosaic-image-count-text-wrapper'),
724
  $imageCountWrapper = $('#gg-mosaic-image-count-wrapper');
725
 
726
  $mosaicImageCountTextWr.show();
727
- function mosaicLayout2Toggle() {
728
  if($toggle.find('option:selected').val() == 4) {
729
- if($use2MosaicLayoutInp.is(':checked')) {
730
  // Disable LazyLoad Option
731
  $('#lazyLoadDisabled').iCheck('check');
 
732
  $sggLazyLoadEnableRow.hide();
733
  //
734
  $mosaicImageCountTextWr.hide();
@@ -741,6 +742,7 @@ sggDataSelectorsCache.prototype.getFromArray = (function(key) {
741
  $loadMoreContent.show();
742
  $afterLoadMoreContentSeparator.show();
743
  } else {
 
744
  $sggLazyLoadEnableRow.show();
745
  $mosaicImageCountTextWr.show();
746
  $imageCountWrapper.show();
@@ -758,7 +760,7 @@ sggDataSelectorsCache.prototype.getFromArray = (function(key) {
758
 
759
  selfContr.slimScrollOnSizeEvent(selfContr);
760
  }
761
- $use2MosaicLayoutInp.on('ifToggled', mosaicLayout2Toggle);
762
 
763
  $toggle.on('change', function() {
764
 
@@ -780,11 +782,14 @@ sggDataSelectorsCache.prototype.getFromArray = (function(key) {
780
 
781
  // hide all others mosaic settings
782
  var selectedTypeVal = $(this).find('option:selected').val()
783
- , $use2MosaicLayoutRow = $('#sggMosaicUse2LayoutRow')
 
784
  , $alwaysShowObj = $('#display-first-photo-row');
785
- $use2MosaicLayoutRow.hide();
 
786
  $alwaysShowObj.show();
787
-
 
788
  switch(selectedTypeVal) {
789
  // Fixed
790
  case '0':
@@ -793,12 +798,9 @@ sggDataSelectorsCache.prototype.getFromArray = (function(key) {
793
  break;
794
  // Vertical
795
  case '1':
796
- if ($pagesRow.find('#showPages').is(':checked')) {
797
- $pagesRow.find('#hidePages').attr('checked', 'check').trigger('change');
798
- $pagesRow.find('input').attr('disabled', true);
799
  $.jGrowl('Pagination disabled now');
800
- } else {
801
- $pagesRow.find('input').prop('disabled', false);
802
  }
803
  $optionsHeightRow.hide();
804
  $optionsHeightRow.find('input, select').prop('disabled', true);
@@ -820,7 +822,8 @@ sggDataSelectorsCache.prototype.getFromArray = (function(key) {
820
  // Mosaic
821
  case '4':
822
  // Strict use of images order
823
- $use2MosaicLayoutRow.show();
 
824
  $optionsHeightRow.hide();
825
  $optionsHeightRow.find('input, select').prop('disabled', true);
826
  $optionsWidthRow.find('option[name="percents"]').show();
@@ -828,7 +831,8 @@ sggDataSelectorsCache.prototype.getFromArray = (function(key) {
828
  $mosaicImagesCountRow.show();
829
  break;
830
  }
831
- mosaicLayout2Toggle();
 
832
 
833
  if(selectedTypeVal != 1) {
834
  // reset values
@@ -1347,33 +1351,8 @@ sggDataSelectorsCache.prototype.getFromArray = (function(key) {
1347
 
1348
  Controller.prototype.initImportSettingDialog = function () {
1349
 
1350
- galleryId = parseInt(this.getParameterByName('gallery_id'), 10);
1351
-
1352
- $.get(window.wp.ajax.settings.url, {
1353
- action: 'grid-gallery',
1354
- _wpnonce: SupsysticGallery.nonce,
1355
- route: {
1356
- module: 'galleries',
1357
- action: 'getGalleriesList'
1358
- }
1359
- }).success(function (response) {
1360
- if (response.list) {
1361
- $.each(response.list, function (i, item) {
1362
- if (galleryId != item.id) {
1363
- $('#settingsImportDialog .list').append($('<option>', {
1364
- value: item.id,
1365
- text: item.title
1366
- }));
1367
- }
1368
- });
1369
- if (response.list.length < 2) {
1370
- $('#settingsImportDialog .import').hide();
1371
- $('#settingsImportDialog .import-not-available').show();
1372
- }
1373
- }
1374
- });
1375
-
1376
- var $wrapper = $('#settingsImportDialog');
1377
 
1378
  $wrapper.dialog({
1379
  autoOpen: false,
@@ -1412,7 +1391,38 @@ sggDataSelectorsCache.prototype.getFromArray = (function(key) {
1412
  $('#openSettingsImportDialog').on('click', function(event) {
1413
  event.preventDefault();
1414
  $wrapper.dialog('open');
1415
- if ($wrapper.find('.import').is(':hidden')) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1416
  $('#import-confirm-button').hide();
1417
  }
1418
  });
@@ -1553,7 +1563,7 @@ sggDataSelectorsCache.prototype.getFromArray = (function(key) {
1553
  , galleryType = $('[name="area[grid]"]').val()
1554
  , $mosaicParamsWrapper = $("#gg-mosaic-image-count-text-wrapper")
1555
  , $loadMoreLink = $('#gg-anl-load-more-link')
1556
- , isMosaicLayout2Used = $('#sggMosaicUse2Layout').is(':checked')
1557
  , $mosaicLink = $('#gg-anl-mosaic-settings-link');
1558
 
1559
  _self.linksOyPositions = [];
@@ -2708,11 +2718,13 @@ sggDataSelectorsCache.prototype.getFromArray = (function(key) {
2708
  $(getSelector(fields.fontFamily)).on('change', $.proxy(function (e) {
2709
  var fontFamily = $(getSelector(fields.fontFamily)).val();
2710
  if(!fontFamily || fontFamily == 'Default') return;
2711
- WebFont.load({
2712
- google: {
2713
- families: [fontFamily]
2714
- }
2715
- });
 
 
2716
  this.setProp('figcaption', { fontFamily: '"' + fontFamily + '"' + ', serif' });
2717
  }, this)).trigger('change');
2718
 
704
  Controller.prototype.toggleArea = function() {
705
  var $toggle = $('[name="area[grid]"]'),
706
  selfContr = this,
 
707
  $optionsHeight = $('[name="area[photo_height]"]'),
708
  $optionsHeightRow = $optionsHeight.closest('tr'),
709
  $optionsWidth = $('[name="area[photo_width]"]'),
717
  var $loadMoreContent = $('#gg-anl-load-more'),
718
  $afterLoadMoreContentSeparator = $('#gg-anl-load-more').next('.separator').first(),
719
  $inputShowMore = $('#show-more-disable').closest('.iradio_minimal'),
720
+ $mosaicLayout = $('#sggMosaicLayout'),
721
+ $mosaicCountColumnsRow = $('#sggMosaicCountColumnsRow'),
722
  $sggLazyLoadEnableRow = $('#sggLazyLoadEnableRow'),
723
  $mosaicImageCountTextWr = $('#gg-mosaic-image-count-text-wrapper'),
724
  $imageCountWrapper = $('#gg-mosaic-image-count-wrapper');
725
 
726
  $mosaicImageCountTextWr.show();
727
+ function mosaicLayoutToggle() {
728
  if($toggle.find('option:selected').val() == 4) {
729
+ if($mosaicLayout.find('option:selected').val() == 1) {
730
  // Disable LazyLoad Option
731
  $('#lazyLoadDisabled').iCheck('check');
732
+ $mosaicCountColumnsRow.show();
733
  $sggLazyLoadEnableRow.hide();
734
  //
735
  $mosaicImageCountTextWr.hide();
742
  $loadMoreContent.show();
743
  $afterLoadMoreContentSeparator.show();
744
  } else {
745
+ $mosaicCountColumnsRow.hide();
746
  $sggLazyLoadEnableRow.show();
747
  $mosaicImageCountTextWr.show();
748
  $imageCountWrapper.show();
760
 
761
  selfContr.slimScrollOnSizeEvent(selfContr);
762
  }
763
+ $mosaicLayout.on('change', mosaicLayoutToggle);
764
 
765
  $toggle.on('change', function() {
766
 
782
 
783
  // hide all others mosaic settings
784
  var selectedTypeVal = $(this).find('option:selected').val()
785
+ , $mosaicLayoutRow = $('#sggMosaicLayoutRow')
786
+ , $mosaicCountColumnsRow = $('#sggMosaicCountColumnsRow')
787
  , $alwaysShowObj = $('#display-first-photo-row');
788
+ $mosaicLayoutRow.hide();
789
+ $mosaicCountColumnsRow.hide();
790
  $alwaysShowObj.show();
791
+ var $pagesRow = $('#usePages');
792
+
793
  switch(selectedTypeVal) {
794
  // Fixed
795
  case '0':
798
  break;
799
  // Vertical
800
  case '1':
801
+ if($pagesRow.find('#showPages').prop('checked')) {
802
+ $pagesRow.find('#hidePages').prop('checked', true).trigger('change');
 
803
  $.jGrowl('Pagination disabled now');
 
 
804
  }
805
  $optionsHeightRow.hide();
806
  $optionsHeightRow.find('input, select').prop('disabled', true);
822
  // Mosaic
823
  case '4':
824
  // Strict use of images order
825
+ $mosaicLayoutRow.show();
826
+ $mosaicCountColumnsRow.show();
827
  $optionsHeightRow.hide();
828
  $optionsHeightRow.find('input, select').prop('disabled', true);
829
  $optionsWidthRow.find('option[name="percents"]').show();
831
  $mosaicImagesCountRow.show();
832
  break;
833
  }
834
+ $pagesRow.find('input[name="pagination[enabled]"]').prop('disabled', selectedTypeVal == 1).iCheck('update');
835
+ mosaicLayoutToggle();
836
 
837
  if(selectedTypeVal != 1) {
838
  // reset values
1351
 
1352
  Controller.prototype.initImportSettingDialog = function () {
1353
 
1354
+ var $wrapper = $('#settingsImportDialog'),
1355
+ galleryId = parseInt(this.getParameterByName('gallery_id'), 10);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1356
 
1357
  $wrapper.dialog({
1358
  autoOpen: false,
1391
  $('#openSettingsImportDialog').on('click', function(event) {
1392
  event.preventDefault();
1393
  $wrapper.dialog('open');
1394
+
1395
+ var list = $wrapper.find('.list');
1396
+ if($wrapper.find('.import-gallery-loading').is(':visible')) {
1397
+ $.get(window.wp.ajax.settings.url, {
1398
+ action: 'grid-gallery',
1399
+ _wpnonce: SupsysticGallery.nonce,
1400
+ route: {
1401
+ module: 'galleries',
1402
+ action: 'getGalleriesList'
1403
+ }
1404
+ }).success(function (response) {
1405
+ if (response.list) {
1406
+ $.each(response.list, function (i, item) {
1407
+ if (galleryId != item.id) {
1408
+ list.append($('<option>', {
1409
+ value: item.id,
1410
+ text: item.title
1411
+ }));
1412
+ }
1413
+ });
1414
+ if (response.list.length < 2) {
1415
+ $('#settingsImportDialog .import-not-available').show();
1416
+ } else {
1417
+ $('#settingsImportDialog .import').show();
1418
+ $('#import-confirm-button').show();
1419
+ }
1420
+ }
1421
+ }).always(function() {
1422
+ $wrapper.find('.import-gallery-loading').hide();
1423
+ });
1424
+ }
1425
+ if($wrapper.find('.import').is(':hidden')) {
1426
  $('#import-confirm-button').hide();
1427
  }
1428
  });
1563
  , galleryType = $('[name="area[grid]"]').val()
1564
  , $mosaicParamsWrapper = $("#gg-mosaic-image-count-text-wrapper")
1565
  , $loadMoreLink = $('#gg-anl-load-more-link')
1566
+ , isMosaicLayout2Used = ($('#sggMosaicLayout').find('option:selected').val() == 1)
1567
  , $mosaicLink = $('#gg-anl-mosaic-settings-link');
1568
 
1569
  _self.linksOyPositions = [];
2718
  $(getSelector(fields.fontFamily)).on('change', $.proxy(function (e) {
2719
  var fontFamily = $(getSelector(fields.fontFamily)).val();
2720
  if(!fontFamily || fontFamily == 'Default') return;
2721
+ if(!window || !window.sggStandartFontsList || $.inArray(fontFamily.replace(/\"/g, ''), window.sggStandartFontsList) == -1) {
2722
+ WebFont.load({
2723
+ google: {
2724
+ families: [fontFamily]
2725
+ }
2726
+ });
2727
+ }
2728
  this.setProp('figcaption', { fontFamily: '"' + fontFamily + '"' + ', serif' });
2729
  }, this)).trigger('change');
2730
 
src/GridGallery/Galleries/configs/tooltips.php CHANGED
@@ -66,6 +66,22 @@ return array(
66
  'box-popupsize' => __('Here you may set your pop-up image size.', 'sgg'),
67
  'box-disableHistory' => __('If this option is enabled, after clicking \'back\' button in your browser, pop-up window will be closed and all image data will be cleared. If disabled - images will be saved in browser history and will be opened again on \'back\' or \'forward\' button click.', 'sgg'),
68
  'box-disableChangeUrl' => __('If this option is enabled, browser url will not changed.', 'sgg'),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
69
  // lazy-load
70
  'sgg-t-lazyload-enable' => __('This option is important for big galleries. When it is enabled, images are loading gradually as the page scrolls down.', 'sgg'),
71
  // Gallery Loader
@@ -98,16 +114,15 @@ return array(
98
  'ci-icons-overlay-color' => __('Choose the background overlay color.', 'sgg'),
99
  'ci-icons-overlay-transparency' => __('Set the value for overlay transparency in percents.', 'sgg'),
100
  'overlay-personal' => __('If option enabled you can choose personal caption effect per image in images list. If option disabled chosen effect will be used for all images', 'sgg'),
101
- 'overlay-effect-image-on-hover-enable' => __('\'Image on hover\' - If this effect is enabled, the other image will be shown on the place of the current one, when mouse cursor is over it. The other image could be selected in the option below (\'Select Image on hover\') and will be shown for all images in this gallery. In case you want to show different pictures, upload them for each image separately on Images List section (\'Hover Caption Image\' tab). Please note, that \'Personal Captions\' option should be enabled.', 'sgg'),
102
  'overlay-effect-image-on-hover' => __('You may upload an image from Wordpress media library. This image will appear while hovering over any gallery thumbnail.', 'sgg'),
103
  'isDisableMobileCaption' =>__('When this option is enabled, caption will never be seen when gallery is displayed on mobile devices.', 'sgg'),
104
  //Categories
105
- 'categories-show' =>__('This option allows you to arrange your gallery images by categories. It may be useful for the galleries with great amount of images. ', 'sgg') . '</br><img src=@url/show_categories.jpg />',
106
  'animation-duration' =>__('Transition/animation speed in milliseconds', 'sgg'),
107
  'enable-shuffling-animation' =>__('Animated sorting and laying out a group of images', 'sgg'),
108
  //Pagination
109
- 'pages-show' =>__('This option allows you to split your gallery images to several pages for comfortable navigation. It may be useful for the galleries with great amount of images. ', 'sgg') . '</br><img src=@url/enable_pagination.jpg />',
110
- //Mosaic
111
  'mosaic-images-count' =>__('Show first images', 'sgg'),
112
  'mosaic-show-hidden-images' =>__('If this option is enabled, all hidden thumbnails will be displayed below after clicking on thumbnail with count.', 'sgg'),
113
  // horizontal scroll
@@ -123,4 +138,4 @@ return array(
123
  'tooltips_icon' => array(
124
  'icon' => 'question'
125
  ),
126
- );
66
  'box-popupsize' => __('Here you may set your pop-up image size.', 'sgg'),
67
  'box-disableHistory' => __('If this option is enabled, after clicking \'back\' button in your browser, pop-up window will be closed and all image data will be cleared. If disabled - images will be saved in browser history and will be opened again on \'back\' or \'forward\' button click.', 'sgg'),
68
  'box-disableChangeUrl' => __('If this option is enabled, browser url will not changed.', 'sgg'),
69
+
70
+ 'popupLinkedImageTextPro' => __('Here you may choose the type of the text, which appears under your linked images after opening them in a pop-up. You may add this text when you choose the linked images from your site media library. Empty text fields will appear at the right side of the page after selecting the image.', 'sgg'),
71
+ 'disableSourceImageForLiPro' => __('If this option is enabled, after clicking on the source image thumbnail, only linked images will appear in the pop-up box. The source image itself will not be displayed.', 'sgg'),
72
+ 'video.size' => __('Set video size in pop-up box (width x height)', 'sgg'),
73
+ 'video.autoplay' => __('If this option is enabled, video playback starts automatically as soon as pop-up box appears.', 'sgg'),
74
+ 'video.onEnd' => __('Here you can select, what happens when a video is over.', 'sgg'),
75
+ 'customAttributes' => __('Enable and customize custom attributes for filtering and searching.', 'sgg') . ' <a target=\'_blank\' href=\'https://supsystic.com/documentation/custom-attributes-filtering-and-searching/\'>read more</a>',
76
+ 'additionalCaptionSettingInPro' => __('This option allows you to enable different animated effects for your gallery image thumbnails. The thumbnails will transform when the mouse cursor is over them. Note this option conflicts with some effects (see the list)', 'sgg') . ' <a target=\'_blank\' href=\'https://supsystic.com/documentation/thumbnail-transformations/\'>https://supsystic.com/documentation/thumbnail-transformations/</a>',
77
+ 'caption-settings-type-pro' => __('Caption builder enables a wide range of options and detailed caption settings. Note: you will not be able to display descriptions of your images if Caption builder will be disabled. ', 'sgg') . ' <a target=\'_blank\' href=\'https://supsystic.com/blog/caption-builder-of-photo-gallery/\'>https://supsystic.com/blog/caption-builder-of-photo-gallery/</a>',
78
+ 'overlay-effect-image-on-hover-enable' => __('If this effect is enabled, the other image will be shown on the place of the current one, when a mouse cursor is over it. The other image could be selected in the option below (\'Select Image on hover\') and will be shown for all images in this gallery. In case you want to show different pictures, upload them for each image separately on Images List section (\'Hover Caption Image\' tab). Please note, that \'Personal Captions\' option should be enabled', 'sgg') . ' <a target=\'_blank\' href=\'https://supsystic.com/example/two-side-images-gallery/\'>https://supsystic.com/example/two-side-images-gallery/</a>',
79
+ 'showExifDataPro' => __('This option helps you display image metadata from Exchangeable Image File Format to give your gallery more professional details.', 'sgg') . ' <a target=\'_blank\' href=\'https://supsystic.com/example/exif-meta-data/\'>https://supsystic.com/example/exif-meta-data/</a>',
80
+ 'chooseIconPro' => __('Choose an icon to indicate that the gallery is loading. </br><img style=\'max-width:200px\' src=@url/loader.gif />', 'sgg'),
81
+ 'categoriesPro' => __('This option allows you to arrange your gallery images by categories. It may be useful for galleries with a great number of images.', 'sgg') . ' <a target=\'_blank\' href=\'https://supsystic.com/example/categories-gallery-example/\'>https://supsystic.com/example/categories-gallery-example/</a>',
82
+ 'paginationPro' => __('This option allows you to split your gallery images to several pages for comfortable navigation. It may be useful for galleries with a great number of images.', 'sgg') . '</br><a target=\'_blank\' href=\'https://supsystic.com/documentation/pagination/\'>https://supsystic.com/documentation/pagination/</a></br></br>' . __('Use a Custom Buttons to establish a personal design for Load More Button, Pagination and Categories Buttons.', 'sgg') . ' <a target=\'_blank\' href=\'https://supsystic.com/documentation/custom-buttons/\'>https://supsystic.com/documentation/custom-buttons/</a>',
83
+ 'postsLayoutPro' => __('This feature enables post layout for your gallery.', 'sgg') . '</br><a target=\'_blank\' href=\'https://supsystic.com/documentation/posts/\'>https://supsystic.com/documentation/posts/</a>',
84
+ 'watermarkPro' => __('This option enables Watermarks.', 'sgg') . '</br><a target=\'_blank\' href=\'https://supsystic.com/documentation/gallery-watermark/\'>https://supsystic.com/documentation/gallery-watermark/</a></br></br>' . __('Use a Custom Buttons to establish a personal design for Load More Button, Pagination and Categories Buttons.', 'sgg') . ' <a target=\'_blank\' href=\'https://supsystic.com/documentation/custom-buttons/\'>https://supsystic.com/documentation/custom-buttons/</a>',
85
  // lazy-load
86
  'sgg-t-lazyload-enable' => __('This option is important for big galleries. When it is enabled, images are loading gradually as the page scrolls down.', 'sgg'),
87
  // Gallery Loader
114
  'ci-icons-overlay-color' => __('Choose the background overlay color.', 'sgg'),
115
  'ci-icons-overlay-transparency' => __('Set the value for overlay transparency in percents.', 'sgg'),
116
  'overlay-personal' => __('If option enabled you can choose personal caption effect per image in images list. If option disabled chosen effect will be used for all images', 'sgg'),
 
117
  'overlay-effect-image-on-hover' => __('You may upload an image from Wordpress media library. This image will appear while hovering over any gallery thumbnail.', 'sgg'),
118
  'isDisableMobileCaption' =>__('When this option is enabled, caption will never be seen when gallery is displayed on mobile devices.', 'sgg'),
119
  //Categories
120
+ 'categories-show' => __('This option allows you to arrange your gallery images by categories. It may be useful for galleries with a great number of images.', 'sgg') . ' <a target=\'_blank\' href=\'https://supsystic.com/example/categories-gallery-example/\'>https://supsystic.com/example/categories-gallery-example/</a>',
121
  'animation-duration' =>__('Transition/animation speed in milliseconds', 'sgg'),
122
  'enable-shuffling-animation' =>__('Animated sorting and laying out a group of images', 'sgg'),
123
  //Pagination
124
+ 'pages-show' => __('This option allows you to split your gallery images to several pages for comfortable navigation. It may be useful for galleries with a great number of images.', 'sgg') . '</br><a target=\'_blank\' href=\'https://supsystic.com/documentation/pagination/\'>https://supsystic.com/documentation/pagination/</a></br></br>' . __('Use a Custom Buttons to establish a personal design for Load More Button, Pagination and Categories Buttons.', 'sgg') . ' <a target=\'_blank\' href=\'https://supsystic.com/documentation/custom-buttons/\'>https://supsystic.com/documentation/custom-buttons/</a>',
125
+ //Mosaic
126
  'mosaic-images-count' =>__('Show first images', 'sgg'),
127
  'mosaic-show-hidden-images' =>__('If this option is enabled, all hidden thumbnails will be displayed below after clicking on thumbnail with count.', 'sgg'),
128
  // horizontal scroll
138
  'tooltips_icon' => array(
139
  'icon' => 'question'
140
  ),
141
+ );
src/GridGallery/Galleries/views/settings.twig CHANGED
@@ -374,7 +374,7 @@
374
 
375
  {#{{ form.row(environment.translate('Position'),
376
  form.select('area[position]', ['Center', 'Left', 'Right'], settings.area.position, { 'style': 'width: 300px;' }), 'grid-type') }}#}
377
-
378
  {{ form.row(translate('Gallery Name:'),
379
  form.input('text', 'title', gallery.title|raw, { 'style': { 'width': '232px;' } })
380
  , 'title') }}
@@ -426,12 +426,12 @@
426
  {# set crop quality #}
427
  {% set qualityList = {
428
  "100":"100%",
429
- "90":"90%",
430
- "80":"80%",
431
- "70":"70%",
432
- "60":"60%",
433
- "50":"50%",
434
- "40":"40%",
435
  "30":"30%",
436
  "20":"20%",
437
  "10":"10%"
@@ -901,7 +901,7 @@
901
  f.label(
902
  translate('Disable'),
903
  'box-disable'
904
- ), 'box', true)
905
  }}
906
  </thead>
907
  <tbody>
@@ -975,6 +975,7 @@
975
  <th scope="row">
976
  <label style="margin: 0 !important;">
977
  {{ translate('Popup Linked Image Text') }}
 
978
  <br />
979
  <label><a href="{{ getProUrl('utm_source=plugin&utm_medium=linkedImageText&utm_campaign=gallery') }}" target="_blank" style="color: #0074a2; font-size: 10px; text-decoration: none;">PRO Option</a> </label>
980
  </label>
@@ -1001,6 +1002,7 @@
1001
  <th scope="row">
1002
  <label style="margin: 0 !important;">
1003
  {{ translate('Disable source image for Linked Images') }}
 
1004
  <br />
1005
  <label><a href="{{ getProUrl('utm_source=plugin&utm_medium=linkedImageText&utm_campaign=gallery') }}" target="_blank" style="color: #0074a2; font-size: 10px; text-decoration: none;">PRO Option</a> </label>
1006
  </label>
@@ -1042,7 +1044,7 @@
1042
  ),
1043
  'box-background')
1044
  }}
1045
-
1046
  {# Popup overlay transparency #}
1047
  {{ form.row(translate('Background transparency'),
1048
  form.select(
@@ -1127,7 +1129,7 @@
1127
  { 'style': { 'width': '60px' } }
1128
  )
1129
  ~ form.span('', 'pixels'),
1130
- 'box-popupsize')
1131
  }}
1132
 
1133
 
@@ -1178,27 +1180,27 @@
1178
  'utm_source=plugin&utm_medium=video&utm_campaign=gallery',
1179
  'video.autoplay',
1180
  form.select(
1181
- 'popup[video][autoplay]',
1182
- {'false':translate('No'), 'true':translate('Yes')},
1183
  settings.popup.video.autoplay|default('false'),
1184
  {'disabled':''}
1185
- ))
1186
  }}
1187
-
1188
  {# Popup when video ends #}
1189
  {{ form.rowpro(translate('When video ends'),
1190
  'utm_source=plugin&utm_medium=video&utm_campaign=gallery',
1191
  'video.onEnd',
1192
  form.select(
1193
- 'popup[video][onEnd]',
1194
  {
1195
  '0':translate('Do nothing'),
1196
- '1':translate('Open next slide'),
1197
  '2':translate('Close popup')
1198
- },
1199
  settings.popup.video.onEnd|default('0'),
1200
  {'disabled':''}
1201
- ))
1202
  }}
1203
 
1204
  {{ form.rowpro(translate('Show rotate button'),
@@ -1317,6 +1319,7 @@
1317
  <th scope="row">
1318
  <label style="margin: 0 !important;">
1319
  {{ translate('Choose Icon') }}
 
1320
  <br />
1321
  <label><a href="{{ getProUrl('utm_source=plugin&utm_medium=loader&utm_campaign=gallery') }}" target="_blank" style="color: #0074a2; font-size: 10px; text-decoration: none;">PRO Option</a> </label>
1322
  </label>
@@ -1386,16 +1389,17 @@
1386
  {% block post %}
1387
  <div data-tab="post">
1388
  <h1 style="line-height: 1;">
1389
- {{ translate("Show Posts and Pages") }}
 
1390
  </br>
1391
  <a class="button get-pro" target="_blank"
1392
  href="{{ getProUrl('?utm_source=plugin&utm_medium=postfeed&utm_campaign=gallery') }}">Get
1393
- PRO for 29$</a>
1394
  </h1>
1395
 
1396
  <div>
1397
  <a href="{{ getProUrl('?utm_source=plugin&utm_medium=postfeed&utm_campaign=gallery') }}" target="_blank">
1398
- <img src="{{ environment.module('galleries').getLocationUrl() }}/assets/img/posts_pro.jpg" />
1399
  </a>
1400
  </div>
1401
  </div>
@@ -1885,9 +1889,10 @@
1885
  <tr>
1886
  <td>
1887
  <h1 style="line-height: 1;">
1888
- {{ translate("Show EXIF data") }}</br>
 
1889
  <a class="button get-pro" href="{{ getProUrl('?utm_source=plugin&utm_medium=exif-data&utm_campaign=gallery') }}" target="_blank">
1890
- {{ translate('GetPRO for 29$') }}
1891
  </a>
1892
  </h1>
1893
  </td>
@@ -1902,7 +1907,8 @@
1902
  {% block categories %}
1903
  <div data-tab="cats">
1904
  <h1 style="line-height: 1;">
1905
- {{ translate('Categorize images in the gallery') }}
 
1906
  </br>
1907
  <a class="button get-pro" target="_blank"
1908
  href="{{ getProUrl('?utm_source=plugin&utm_medium=categories&utm_campaign=gallery') }}">Get PRO</a>
@@ -1910,12 +1916,13 @@
1910
 
1911
  <div>
1912
  <a href="{{ getProUrl('?utm_source=plugin&utm_medium=categories&utm_campaign=gallery') }}" target="_blank">
1913
- <img src="{{ environment.module('galleries').getLocationUrl() }}/assets/img/cats_pro.jpg" />
1914
  </a>
1915
  </div>
1916
  {% block pagination %}
1917
  <h1 style="line-height: 1;">
1918
- {{ translate('Let user switch gallery pages') }}
 
1919
  </br>
1920
  <a class="button get-pro" target="_blank"
1921
  href="{{ getProUrl('?utm_source=plugin&utm_medium=pages&utm_campaign=gallery') }}">Get PRO</a>
@@ -1923,7 +1930,7 @@
1923
  <div name="pagination">
1924
  <div>
1925
  <a href="{{ getProUrl('?utm_source=plugin&utm_medium=pages&utm_campaign=gallery') }}" target="_blank">
1926
- <img src="{{ environment.module('galleries').getLocationUrl() }}/assets/img/pagination_pro.jpg" />
1927
  </a>
1928
  </div>
1929
  </div>
@@ -1934,14 +1941,12 @@
1934
  {% block watermark %}
1935
  <div data-tab="water-m-tab">
1936
  <h1 style="line-height: 1em;">
1937
- {{ translate('Add watermarks to your photos') }}
1938
- </br>
1939
  <a class="button get-pro" target="_blank"
1940
- href="{{ getProUrl('?utm_source=plugin&utm_medium=watermarks&utm_campaign=gallery') }}">Get PRO for 29$</a>
1941
  </h1>
1942
  <div>
1943
  <a href="{{ getProUrl('?utm_source=plugin&utm_medium=watermarks&utm_campaign=gallery') }}" target="_blank">
1944
- <img src="{{ environment.module('galleries').getLocationUrl() }}/assets/img/water_m_pro.png" />
1945
  </a>
1946
  </div>
1947
  </div>
@@ -2281,13 +2286,16 @@
2281
  </div>
2282
 
2283
  <div id="settingsImportDialog" title="Import" hidden>
2284
- <div class="import">
2285
  <p>{{ translate('Import settings from gallery') }}</p>
2286
  <select class="list"></select>
2287
  </div>
2288
  <div class="import-not-available" style="display:none">
2289
  <p>{{ translate('Here you can import settings from other galleries, but right now, you have only one gallery, create more - and see how it works') }}</p>
2290
  </div>
 
 
 
2291
  </div>
2292
 
2293
  <div id="videoUrlAddDialog" title="{{ 'Add video url' }}" style="display:none;" data-gallery-id="{{ gallery.id }}">
@@ -2481,4 +2489,4 @@
2481
  )
2482
  }}
2483
  {% endif %}
2484
- {% endmacro %}
374
 
375
  {#{{ form.row(environment.translate('Position'),
376
  form.select('area[position]', ['Center', 'Left', 'Right'], settings.area.position, { 'style': 'width: 300px;' }), 'grid-type') }}#}
377
+
378
  {{ form.row(translate('Gallery Name:'),
379
  form.input('text', 'title', gallery.title|raw, { 'style': { 'width': '232px;' } })
380
  , 'title') }}
426
  {# set crop quality #}
427
  {% set qualityList = {
428
  "100":"100%",
429
+ "90":"90%",
430
+ "80":"80%",
431
+ "70":"70%",
432
+ "60":"60%",
433
+ "50":"50%",
434
+ "40":"40%",
435
  "30":"30%",
436
  "20":"20%",
437
  "10":"10%"
901
  f.label(
902
  translate('Disable'),
903
  'box-disable'
904
+ ), 'box', true)
905
  }}
906
  </thead>
907
  <tbody>
975
  <th scope="row">
976
  <label style="margin: 0 !important;">
977
  {{ translate('Popup Linked Image Text') }}
978
+ {{ form.show_tooltip('popupLinkedImageTextPro') }}
979
  <br />
980
  <label><a href="{{ getProUrl('utm_source=plugin&utm_medium=linkedImageText&utm_campaign=gallery') }}" target="_blank" style="color: #0074a2; font-size: 10px; text-decoration: none;">PRO Option</a> </label>
981
  </label>
1002
  <th scope="row">
1003
  <label style="margin: 0 !important;">
1004
  {{ translate('Disable source image for Linked Images') }}
1005
+ {{ form.show_tooltip('disableSourceImageForLiPro') }}
1006
  <br />
1007
  <label><a href="{{ getProUrl('utm_source=plugin&utm_medium=linkedImageText&utm_campaign=gallery') }}" target="_blank" style="color: #0074a2; font-size: 10px; text-decoration: none;">PRO Option</a> </label>
1008
  </label>
1044
  ),
1045
  'box-background')
1046
  }}
1047
+
1048
  {# Popup overlay transparency #}
1049
  {{ form.row(translate('Background transparency'),
1050
  form.select(
1129
  { 'style': { 'width': '60px' } }
1130
  )
1131
  ~ form.span('', 'pixels'),
1132
+ 'box-popupsize')
1133
  }}
1134
 
1135
 
1180
  'utm_source=plugin&utm_medium=video&utm_campaign=gallery',
1181
  'video.autoplay',
1182
  form.select(
1183
+ 'popup[video][autoplay]',
1184
+ {'false':translate('No'), 'true':translate('Yes')},
1185
  settings.popup.video.autoplay|default('false'),
1186
  {'disabled':''}
1187
+ ))
1188
  }}
1189
+
1190
  {# Popup when video ends #}
1191
  {{ form.rowpro(translate('When video ends'),
1192
  'utm_source=plugin&utm_medium=video&utm_campaign=gallery',
1193
  'video.onEnd',
1194
  form.select(
1195
+ 'popup[video][onEnd]',
1196
  {
1197
  '0':translate('Do nothing'),
1198
+ '1':translate('Open next slide'),
1199
  '2':translate('Close popup')
1200
+ },
1201
  settings.popup.video.onEnd|default('0'),
1202
  {'disabled':''}
1203
+ ))
1204
  }}
1205
 
1206
  {{ form.rowpro(translate('Show rotate button'),
1319
  <th scope="row">
1320
  <label style="margin: 0 !important;">
1321
  {{ translate('Choose Icon') }}
1322
+ {{ form.show_tooltip('chooseIconPro') }}
1323
  <br />
1324
  <label><a href="{{ getProUrl('utm_source=plugin&utm_medium=loader&utm_campaign=gallery') }}" target="_blank" style="color: #0074a2; font-size: 10px; text-decoration: none;">PRO Option</a> </label>
1325
  </label>
1389
  {% block post %}
1390
  <div data-tab="post">
1391
  <h1 style="line-height: 1;">
1392
+ {{ translate("Posts layout") }}
1393
+ {{ form.show_tooltip('postsLayoutPro') }}
1394
  </br>
1395
  <a class="button get-pro" target="_blank"
1396
  href="{{ getProUrl('?utm_source=plugin&utm_medium=postfeed&utm_campaign=gallery') }}">Get
1397
+ PRO for 39$</a>
1398
  </h1>
1399
 
1400
  <div>
1401
  <a href="{{ getProUrl('?utm_source=plugin&utm_medium=postfeed&utm_campaign=gallery') }}" target="_blank">
1402
+ <img src="{{ environment.module('galleries').getLocationUrl() }}/assets/img/posts_pro.gif" />
1403
  </a>
1404
  </div>
1405
  </div>
1889
  <tr>
1890
  <td>
1891
  <h1 style="line-height: 1;">
1892
+ {{ translate("Show EXIF data") }}
1893
+ {{ form.show_tooltip('showExifDataPro') }}</br>
1894
  <a class="button get-pro" href="{{ getProUrl('?utm_source=plugin&utm_medium=exif-data&utm_campaign=gallery') }}" target="_blank">
1895
+ {{ translate('GetPRO for 39$') }}
1896
  </a>
1897
  </h1>
1898
  </td>
1907
  {% block categories %}
1908
  <div data-tab="cats">
1909
  <h1 style="line-height: 1;">
1910
+ {{ translate('Categories') }}
1911
+ {{ form.show_tooltip('categoriesPro') }}</br>
1912
  </br>
1913
  <a class="button get-pro" target="_blank"
1914
  href="{{ getProUrl('?utm_source=plugin&utm_medium=categories&utm_campaign=gallery') }}">Get PRO</a>
1916
 
1917
  <div>
1918
  <a href="{{ getProUrl('?utm_source=plugin&utm_medium=categories&utm_campaign=gallery') }}" target="_blank">
1919
+ <img style="max-width:600px;" src="{{ environment.module('galleries').getLocationUrl() }}/assets/img/cats_pro.gif" />
1920
  </a>
1921
  </div>
1922
  {% block pagination %}
1923
  <h1 style="line-height: 1;">
1924
+ {{ translate('Pagination') }}
1925
+ {{ form.show_tooltip('paginationPro') }}</br>
1926
  </br>
1927
  <a class="button get-pro" target="_blank"
1928
  href="{{ getProUrl('?utm_source=plugin&utm_medium=pages&utm_campaign=gallery') }}">Get PRO</a>
1930
  <div name="pagination">
1931
  <div>
1932
  <a href="{{ getProUrl('?utm_source=plugin&utm_medium=pages&utm_campaign=gallery') }}" target="_blank">
1933
+ <img src="{{ environment.module('galleries').getLocationUrl() }}/assets/img/pagination_pro.gif" />
1934
  </a>
1935
  </div>
1936
  </div>
1941
  {% block watermark %}
1942
  <div data-tab="water-m-tab">
1943
  <h1 style="line-height: 1em;">
 
 
1944
  <a class="button get-pro" target="_blank"
1945
+ href="{{ getProUrl('?utm_source=plugin&utm_medium=watermarks&utm_campaign=gallery') }}">Get PRO for 39$</a>
1946
  </h1>
1947
  <div>
1948
  <a href="{{ getProUrl('?utm_source=plugin&utm_medium=watermarks&utm_campaign=gallery') }}" target="_blank">
1949
+ <img src="{{ environment.module('galleries').getLocationUrl() }}/assets/img/water_m_pro-min.png" />
1950
  </a>
1951
  </div>
1952
  </div>
2286
  </div>
2287
 
2288
  <div id="settingsImportDialog" title="Import" hidden>
2289
+ <div class="import" style="display:none">
2290
  <p>{{ translate('Import settings from gallery') }}</p>
2291
  <select class="list"></select>
2292
  </div>
2293
  <div class="import-not-available" style="display:none">
2294
  <p>{{ translate('Here you can import settings from other galleries, but right now, you have only one gallery, create more - and see how it works') }}</p>
2295
  </div>
2296
+ <div class="import-gallery-loading">
2297
+ <p>{{ translate('Loading gallery list...') }}</p>
2298
+ </div>
2299
  </div>
2300
 
2301
  <div id="videoUrlAddDialog" title="{{ 'Add video url' }}" style="display:none;" data-gallery-id="{{ gallery.id }}">
2489
  )
2490
  }}
2491
  {% endif %}
2492
+ {% endmacro %}
src/GridGallery/Insta/Controller.php CHANGED
@@ -29,7 +29,7 @@ class GridGallery_Insta_Controller extends GridGallery_Core_BaseController
29
  public function indexAction(Rsc_Http_Request $request)
30
  {
31
  $galleryId = $request->query->get('id');
32
- $galleries = new GridGallery_Galleries_Model_Galleries;
33
  $stats = $this->getEnvironment()->getModule('stats');
34
  $stats->save('Instagram.tab');
35
 
@@ -55,7 +55,7 @@ class GridGallery_Insta_Controller extends GridGallery_Core_BaseController
55
  public function authorizationAction(Rsc_Http_Request $request)
56
  {
57
  $galleryId = $request->query->get('id');
58
- $galleries = new GridGallery_Galleries_Model_Galleries;
59
  $client = $this->getClient($galleryId);
60
 
61
  try {
29
  public function indexAction(Rsc_Http_Request $request)
30
  {
31
  $galleryId = $request->query->get('id');
32
+ $galleries = $this->getModel('galleries');
33
  $stats = $this->getEnvironment()->getModule('stats');
34
  $stats->save('Instagram.tab');
35
 
55
  public function authorizationAction(Rsc_Http_Request $request)
56
  {
57
  $galleryId = $request->query->get('id');
58
+ $galleries = $this->getModel('galleries');
59
  $client = $this->getClient($galleryId);
60
 
61
  try {
src/GridGallery/Optimization/Module.php CHANGED
@@ -10,9 +10,10 @@ class GridGallery_Optimization_Module extends GridGallery_Core_Module{
10
  }
11
 
12
  public function registerAssets(GridGallery_Ui_Module $ui) {
13
-
14
- $ui->asset->enqueue('styles', $this->getBackendCSS());
15
- $ui->asset->enqueue('scripts', $this->getBackendJS());
 
16
  }
17
 
18
  public function getBackendCSS() {
10
  }
11
 
12
  public function registerAssets(GridGallery_Ui_Module $ui) {
13
+ if($this->getEnvironment()->isModule('optimization')) {
14
+ $ui->asset->enqueue('styles', $this->getBackendCSS());
15
+ $ui->asset->enqueue('scripts', $this->getBackendJS());
16
+ }
17
  }
18
 
19
  public function getBackendCSS() {
src/GridGallery/Overview/Controller.php CHANGED
@@ -31,7 +31,7 @@ class GridGallery_Overview_Controller extends GridGallery_Core_BaseController
31
  'name' => $current_user->user_firstname,
32
  'email' => $current_user->user_email,
33
  'website' => get_bloginfo('url')
34
- )
35
  )
36
  );
37
  }
31
  'name' => $current_user->user_firstname,
32
  'email' => $current_user->user_email,
33
  'website' => get_bloginfo('url')
34
+ ),
35
  )
36
  );
37
  }
src/GridGallery/Overview/Module.php CHANGED
@@ -31,17 +31,18 @@ class GridGallery_Overview_Module extends Rsc_Mvc_Module
31
  */
32
  public function loadAssets(GridGallery_Ui_Module $ui)
33
  {
34
-
35
- $ui->asset->enqueue('styles',
36
- array(
37
- $this->getLocationUrl() . '/assets/css/overview-styles.css'
38
- )
39
- );
40
- $ui->asset->enqueue('scripts',
41
- array(
42
- $this->getLocationUrl() . '/assets/js/overview-settings.js'
43
- )
44
- );
 
45
  }
46
 
47
  public function registerMenu()
31
  */
32
  public function loadAssets(GridGallery_Ui_Module $ui)
33
  {
34
+ if($this->getEnvironment()->isModule('overview')) {
35
+ $ui->asset->enqueue('styles',
36
+ array(
37
+ $this->getLocationUrl() . '/assets/css/overview-styles.css'
38
+ )
39
+ );
40
+ $ui->asset->enqueue('scripts',
41
+ array(
42
+ $this->getLocationUrl() . '/assets/js/overview-settings.js'
43
+ )
44
+ );
45
+ }
46
  }
47
 
48
  public function registerMenu()
src/GridGallery/Overview/assets/css/overview-styles.css CHANGED
@@ -18,9 +18,17 @@
18
  width: 40%;
19
  }
20
 
21
- .supsystic-overview .description {
22
- padding-bottom: 20px;
23
- border-bottom: 1px solid rgba(164, 170, 172, 0.28);
 
 
 
 
 
 
 
 
24
  }
25
 
26
  .supsystic-overview .faq-title {
@@ -32,12 +40,6 @@
32
  border: none !important;
33
  }
34
 
35
- .supsystic-overview .faq-list {
36
- padding-bottom: 20px;
37
- margin-bottom: 10px;
38
- border-bottom: 1px solid rgba(164, 170, 172, 0.28);
39
- }
40
-
41
  .supsystic-overview .faq-title,
42
  .supsystic-overview-news h3 {
43
  padding: 10px 20px;
@@ -60,12 +62,6 @@
60
  margin-left: 10px;
61
  }
62
 
63
- .supsystic-overview .video {
64
- padding: 10px 20px;
65
- margin-bottom: 10px;
66
- border-bottom: 1px solid rgba(164, 170, 172, 0.28);
67
- }
68
-
69
  .supsystic-overview .settings-title {
70
  font-size: 14px;
71
  font-weight: 600;
18
  width: 40%;
19
  }
20
 
21
+ .supsystic-overview .half-page > div {
22
+ border-bottom: 1px solid rgba(164, 170, 172, 0.28);
23
+ padding-bottom: 20px;
24
+ }
25
+
26
+ .supsystic-overview .half-page > div:last-child {
27
+ border-bottom: none;
28
+ }
29
+
30
+ .supsystic-overview .text-block {
31
+ margin: 10px 0;
32
  }
33
 
34
  .supsystic-overview .faq-title {
40
  border: none !important;
41
  }
42
 
 
 
 
 
 
 
43
  .supsystic-overview .faq-title,
44
  .supsystic-overview-news h3 {
45
  padding: 10px 20px;
62
  margin-left: 10px;
63
  }
64
 
 
 
 
 
 
 
65
  .supsystic-overview .settings-title {
66
  font-size: 14px;
67
  font-weight: 600;
src/GridGallery/Overview/views/index.twig CHANGED
@@ -12,16 +12,17 @@
12
 
13
  {% block content %}
14
  <div class="supsystic-overview">
15
- <div class="half-page-left">
16
- {#<h3>Gallery by Supsystic</h3>
17
- <div class="description">
18
- This plugin can easily build a bright gallery especially, if you are a photographer or a designer, Grid Gallery will be useful for you because you will be able to present your works in an unusual way. It is enough to install the plugin once, and it will work for you all the time, creating a beautiful collection of your best photos. The only thing you need to do is to set the preferred parameters of the WordPress grid gallery.
 
 
 
19
  </div>#}
20
 
21
- <div class="clear"></div>
22
-
23
- <h3>FAQ and Documentation</h3>
24
  <div class="faq-list">
 
25
  <div class="faq-title">
26
  <i class="fa fa-info-circle"></i>
27
  Gallery plugin installation
@@ -67,7 +68,6 @@
67
  </a>
68
  <div style="clear: both;"></div>
69
  </div>
70
-
71
  <div class="video">
72
  <h3>Video tutorial</h3>
73
  <iframe type="text/html"
@@ -77,7 +77,12 @@
77
  frameborder="0">
78
  </iframe>
79
  </div>
80
-
 
 
 
 
 
81
  <div class="server-settings">
82
  <h3>Server Settings</h3>
83
  <ul class="settings-list">
@@ -90,18 +95,17 @@
90
  </ul>
91
  </div>
92
  </div>
93
- <div class="half-page-right">
94
- <h3>News</h3>
95
- <div class="supsystic-overview-news">
96
- {{ news|raw }}
97
- </div>
98
- <p style="padding-bottom: 20px; border-bottom: 1px solid rgba(164, 170, 172, 0.28);">
99
  <a href="http://supsystic.com/plugins/photo-gallery/" class="button button-primary button-hero">
100
- <i class="fa fa-info-circle"></i>
101
- All news
102
  </a>
103
- </p>
104
-
105
  <div class="overview-contact-form">
106
  <h3>Contact form</h3>
107
  {#<div class="description">Translate plugin in your language and get a Premium license for FREE</div>#}
@@ -111,7 +115,6 @@
111
 
112
  <table class="contact-form-table" style="width: 100%;">
113
  <thead>
114
-
115
  {{ form.row(translate('Name') ~ ' *',
116
  form.text('name', contactForm.name, { 'required': '' })) }}
117
 
@@ -123,7 +126,6 @@
123
 
124
  {{ form.row(translate('Subject') ~ ' *',
125
  form.text('subject', '', { 'required': '' })) }}
126
-
127
  <tr>
128
  <th scope="row">
129
  <label for="select-question">{{ translate('Topic') }}</label>
@@ -145,7 +147,6 @@
145
  </select>
146
  </td>
147
  </tr>
148
-
149
  <tr>
150
  <th scope="row" style="vertical-align: top;">
151
  <label for="mail-text">{{ translate('Message') ~ ' *' }}</label>
@@ -157,14 +158,13 @@
157
 
158
  </thead>
159
  </table>
160
-
161
  <button id="send-mail" type="submit" class="button button-primary button-hero">
162
  <i class="fa fa-upload"></i>
163
  Send email
164
  </button>
165
-
166
  <div class="required-notification" style="color: red; float: left;" hidden>Fields with * are required to fill</div>
167
  {{ form.close() }}
 
168
  </div>
169
  </div>
170
  <div id="contact-form-dialog" hidden>
12
 
13
  {% block content %}
14
  <div class="supsystic-overview">
15
+ <div class="half-page half-page-left">
16
+ {#<div>
17
+ <h3>Gallery by Supsystic</h3>
18
+ <div class="description">
19
+ This plugin can easily build a bright gallery especially, if you are a photographer or a designer, Grid Gallery will be useful for you because you will be able to present your works in an unusual way. It is enough to install the plugin once, and it will work for you all the time, creating a beautiful collection of your best photos. The only thing you need to do is to set the preferred parameters of the WordPress grid gallery.
20
+ </div>
21
+ <div class="clear"></div>
22
  </div>#}
23
 
 
 
 
24
  <div class="faq-list">
25
+ <h3>FAQ and Documentation</h3>
26
  <div class="faq-title">
27
  <i class="fa fa-info-circle"></i>
28
  Gallery plugin installation
68
  </a>
69
  <div style="clear: both;"></div>
70
  </div>
 
71
  <div class="video">
72
  <h3>Video tutorial</h3>
73
  <iframe type="text/html"
77
  frameborder="0">
78
  </iframe>
79
  </div>
80
+ <div class="banner">
81
+ <div class="text-block">{{ translate('If you want to host a business site or a blog, Kinsta managed WordPress hosting is the best place to stop on. Without any hesitation, we can say Kinsta is incredible when it comes to uptime and speed.') }}</div>
82
+ <a href="https://kinsta.com?kaid=MNRQQASUYJRT">
83
+ <img src="{{ plugin_directory_url('app/assets/img/kinsta_banner.png') }}" style="width: 300px;height: 250px;" />
84
+ </a>
85
+ </div>
86
  <div class="server-settings">
87
  <h3>Server Settings</h3>
88
  <ul class="settings-list">
95
  </ul>
96
  </div>
97
  </div>
98
+ <div class="half-page half-page-right">
99
+ <div class="supsystic-overview-news-container">
100
+ <h3>News</h3>
101
+ <div class="supsystic-overview-news">
102
+ {{ news|raw }}
103
+ </div>
104
  <a href="http://supsystic.com/plugins/photo-gallery/" class="button button-primary button-hero">
105
+ <i class="fa fa-info-circle"></i>All news
 
106
  </a>
107
+ <div class="clear"></div>
108
+ </div>
109
  <div class="overview-contact-form">
110
  <h3>Contact form</h3>
111
  {#<div class="description">Translate plugin in your language and get a Premium license for FREE</div>#}
115
 
116
  <table class="contact-form-table" style="width: 100%;">
117
  <thead>
 
118
  {{ form.row(translate('Name') ~ ' *',
119
  form.text('name', contactForm.name, { 'required': '' })) }}
120
 
126
 
127
  {{ form.row(translate('Subject') ~ ' *',
128
  form.text('subject', '', { 'required': '' })) }}
 
129
  <tr>
130
  <th scope="row">
131
  <label for="select-question">{{ translate('Topic') }}</label>
147
  </select>
148
  </td>
149
  </tr>
 
150
  <tr>
151
  <th scope="row" style="vertical-align: top;">
152
  <label for="mail-text">{{ translate('Message') ~ ' *' }}</label>
158
 
159
  </thead>
160
  </table>
 
161
  <button id="send-mail" type="submit" class="button button-primary button-hero">
162
  <i class="fa fa-upload"></i>
163
  Send email
164
  </button>
 
165
  <div class="required-notification" style="color: red; float: left;" hidden>Fields with * are required to fill</div>
166
  {{ form.close() }}
167
+ <div class="clear"></div>
168
  </div>
169
  </div>
170
  <div id="contact-form-dialog" hidden>
src/GridGallery/Photos/Controller.php CHANGED
@@ -538,8 +538,9 @@ class GridGallery_Photos_Controller extends GridGallery_Core_BaseController
538
  $update['link'] = $link;
539
  $update['target'] = $target;
540
  $update['rel'] = $rel;
541
- }
542
- $photos->updateMetadata($attachmentId, $update);
 
543
 
544
  $this->getModule('galleries')->cleanCache($request->post->get('gallery_id'));
545
 
538
  $update['link'] = $link;
539
  $update['target'] = $target;
540
  $update['rel'] = $rel;
541
+ }
542
+ $update = $this->getEnvironment()->getDispatcher()->applyFilters('before_update_photo_attachment', $update, $attachmentId);
543
+ $photos->updateMetadata($attachmentId, $update);
544
 
545
  $this->getModule('galleries')->cleanCache($request->post->get('gallery_id'));
546
 
src/GridGallery/Photos/Module.php CHANGED
@@ -83,7 +83,7 @@ class GridGallery_Photos_Module extends Rsc_Mvc_Module
83
  ),
84
  $this->getLocationUrl() . '/assets/js/URI.min.js',
85
  $this->getLocationUrl() . '/assets/js/grid-gallery.photos.uploader.js',
86
- $this->getLocationUrl() . '/assets/js/grid-gallery.photos.folders.js'
87
  );
88
  }
89
  /**
@@ -93,11 +93,8 @@ class GridGallery_Photos_Module extends Rsc_Mvc_Module
93
  public function loadAssets(GridGallery_Ui_Module $ui)
94
  {
95
  $env = $this->getEnvironment();
 
96
 
97
- if($env->isModule('galleries', 'saveSettings')) {
98
-
99
- return;
100
- }
101
  $ui->asset->enqueue('styles', $this->getBackendCSS());
102
  $ui->asset->enqueue('scripts', $this->getBackendJS());
103
  }
83
  ),
84
  $this->getLocationUrl() . '/assets/js/URI.min.js',
85
  $this->getLocationUrl() . '/assets/js/grid-gallery.photos.uploader.js',
86
+ //$this->getLocationUrl() . '/assets/js/grid-gallery.photos.folders.js'
87
  );
88
  }
89
  /**
93
  public function loadAssets(GridGallery_Ui_Module $ui)
94
  {
95
  $env = $this->getEnvironment();
96
+ if($env->isModule('galleries', 'saveSettings')) return;
97
 
 
 
 
 
98
  $ui->asset->enqueue('styles', $this->getBackendCSS());
99
  $ui->asset->enqueue('scripts', $this->getBackendJS());
100
  }
src/GridGallery/Ui/Module.php CHANGED
@@ -67,7 +67,7 @@ class GridGallery_Ui_Module extends Rsc_Mvc_Module
67
  $this->getLocationUrl() . '/css/tooltipster.css',
68
  '//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/themes/smoothness/jquery-ui.css',
69
  // '//cdn.jsdelivr.net/jquery.tooltipster/2.1.4/css/tooltipster.css',
70
- '//fonts.googleapis.com/css?family=Montserrat',
71
  );
72
  }
73
 
@@ -76,6 +76,8 @@ class GridGallery_Ui_Module extends Rsc_Mvc_Module
76
  wp_localize_script('sg-ajax.js', 'SupsysticGallery', array('nonce' => wp_create_nonce('supsystic-gallery')));
77
  // really assigned to /app/assets/js/grid-gallery.js Handle
78
  wp_localize_script('sg-ajax.js', 'sggParams', array('isRtl' => (int) is_rtl()));
 
 
79
  }
80
 
81
  public function getBackendJS() {
@@ -94,7 +96,7 @@ class GridGallery_Ui_Module extends Rsc_Mvc_Module
94
  $url . '/app/assets/js/icheck.min.js',
95
  $url . '/app/assets/js/jquery.lazyload.min.js',
96
  $url . '/app/assets/js/jquery.jgrowl.min.js',
97
- $url . '/app/assets/js/webfont.js',
98
  array(
99
  'source' => $this->getLocationUrl() . '/js/colorpicker.js',
100
  'dependencies' => array('grid-gallery.js', 'wp-color-picker'),
@@ -109,7 +111,9 @@ class GridGallery_Ui_Module extends Rsc_Mvc_Module
109
  $this->getLocationUrl() . '/js/toolbar.js',
110
  $this->getLocationUrl() . '/js/ajaxQueue.js',
111
  );
112
-
113
 
114
  }
 
 
 
115
  }
67
  $this->getLocationUrl() . '/css/tooltipster.css',
68
  '//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/themes/smoothness/jquery-ui.css',
69
  // '//cdn.jsdelivr.net/jquery.tooltipster/2.1.4/css/tooltipster.css',
70
+ //'//fonts.googleapis.com/css?family=Montserrat',
71
  );
72
  }
73
 
76
  wp_localize_script('sg-ajax.js', 'SupsysticGallery', array('nonce' => wp_create_nonce('supsystic-gallery')));
77
  // really assigned to /app/assets/js/grid-gallery.js Handle
78
  wp_localize_script('sg-ajax.js', 'sggParams', array('isRtl' => (int) is_rtl()));
79
+ wp_enqueue_script('webfont-js', '//ajax.googleapis.com/ajax/libs/webfont/1/webfont.js');
80
+ wp_localize_script('webfont-js', 'sggStandartFontsList', $this->getStandardFontsList());
81
  }
82
 
83
  public function getBackendJS() {
96
  $url . '/app/assets/js/icheck.min.js',
97
  $url . '/app/assets/js/jquery.lazyload.min.js',
98
  $url . '/app/assets/js/jquery.jgrowl.min.js',
99
+ //$url . '/app/assets/js/webfont.js',
100
  array(
101
  'source' => $this->getLocationUrl() . '/js/colorpicker.js',
102
  'dependencies' => array('grid-gallery.js', 'wp-color-picker'),
111
  $this->getLocationUrl() . '/js/toolbar.js',
112
  $this->getLocationUrl() . '/js/ajaxQueue.js',
113
  );
 
114
 
115
  }
116
+ public function getStandardFontsList() {
117
+ return array("Georgia","Palatino Linotype","Times New Roman","Arial","Helvetica","Arial Black","Gadget","Comic Sans MS","Impact","Charcoal","Lucida Sans Unicode","Lucida Grande","Tahoma","Geneva","Trebuchet MS","Verdana","Geneva","Courier New","Courier","Lucida Console","Monaco");
118
+ }
119
  }
src/GridGallery/Ui/views/type.twig CHANGED
@@ -33,7 +33,7 @@
33
  </th>
34
  </tr>
35
  {% endset %}
36
-
37
  <form id="gallery-editor-hidden" style="display: none;">
38
  <input name="gallery_id" value="{{ galleryId }}" type="hidden"/>
39
  <input name="action" value="grid-gallery" type="hidden"/>
@@ -217,6 +217,13 @@
217
  {% if(environment.isPro() == true) %}
218
  <a href="#gg-attributes" class="gg-option-links attributes-image" data-image-id="{{ image.id }}" data-values="{{ image.attributes|json_encode|e }}">{{ translate('Attributes') }}</a></br>
219
  {% endif %}
 
 
 
 
 
 
 
220
  <a href="#gg-meta" class="gg-option-links metadata-image">{{ translate('Meta') }}</a></br>
221
  <a href="#gg-replace" class="gg-option-links replace-image" data-image-id="{{ image.id }}" data-attachment-id="{{ image.attachment.id }}">{{ translate('Replace') }}</a></br>
222
  <a href="#gg-delete" id="delete-image-{{ image.id }}" class="gg-option-links">{{ translate('Delete') }}</a>
@@ -227,6 +234,7 @@
227
  <textarea name="caption" rows="2" placeholder="{{ translate('Caption') }}">{{ image.attachment.caption|raw }}</textarea></br>
228
  {% if environment.isPro() == false %}
229
  <span style="color:red" class="description">
 
230
  <a href="http://supsystic.com/plugins/photo-gallery?utm_source=plugin&utm_medium=images_caption_description&utm_campaign=gallery" target="_blank">
231
  {{ nonProMsg|raw }}
232
  </a>
@@ -234,12 +242,14 @@
234
  {% else %}
235
  <textarea name="captionDescription" rows="5" placeholder="Description">{{ image.attachment.captionDescription|raw }}</textarea>
236
  {% endif %}
 
237
  </form>
238
  </td>
239
  <td class="title column-textarea top-align">
240
  <form id="photo-editor-seo-{{ image.id }}" class="photo-editor" data-id="{{ image.id }}">
241
  <textarea name="alt" rows="2" placeholder="{{ translate('Alternative text') }}">{% if image.attachment.alt is not empty %}{% if image.attachment.alt == " " %}{{ ""}}{% else %}{{ image.attachment.alt }}{% endif %}{% else %}{{ image.attachment.title }}{% endif %}</textarea></br>
242
  <textarea name="description" rows="5" placeholder="{{ translate('Description') }}">{{ image.attachment.description|raw }}</textarea>
 
243
  </form>
244
  </td>
245
  <td class="title column-title top-align" style="text-align: left; padding-left:15px !important; padding-right:5px !important;">
33
  </th>
34
  </tr>
35
  {% endset %}
36
+ <div id="sg-gallery-lang-tabs">{{ environment.getDispatcher().dispatch('tbs_lang_tabs') }}</div>
37
  <form id="gallery-editor-hidden" style="display: none;">
38
  <input name="gallery_id" value="{{ galleryId }}" type="hidden"/>
39
  <input name="action" value="grid-gallery" type="hidden"/>
217
  {% if(environment.isPro() == true) %}
218
  <a href="#gg-attributes" class="gg-option-links attributes-image" data-image-id="{{ image.id }}" data-values="{{ image.attributes|json_encode|e }}">{{ translate('Attributes') }}</a></br>
219
  {% endif %}
220
+ {% if(environment.isPro() == false) %}
221
+ <a href="#" class="gg-option-links">{{ translate('Attributes') }}</a>
222
+ <a href="http://supsystic.com/plugins/photo-gallery?utm_source=plugin&utm_medium=images_caption_attributes&utm_campaign=gallery" target="_blank">
223
+ {{ nonProMsg|raw }}
224
+ </a>
225
+ </br>
226
+ {% endif %}
227
  <a href="#gg-meta" class="gg-option-links metadata-image">{{ translate('Meta') }}</a></br>
228
  <a href="#gg-replace" class="gg-option-links replace-image" data-image-id="{{ image.id }}" data-attachment-id="{{ image.attachment.id }}">{{ translate('Replace') }}</a></br>
229
  <a href="#gg-delete" id="delete-image-{{ image.id }}" class="gg-option-links">{{ translate('Delete') }}</a>
234
  <textarea name="caption" rows="2" placeholder="{{ translate('Caption') }}">{{ image.attachment.caption|raw }}</textarea></br>
235
  {% if environment.isPro() == false %}
236
  <span style="color:red" class="description">
237
+ <textarea name="" disabled rows="5" placeholder="Description">{{ image.attachment.captionDescription|raw }}</textarea>
238
  <a href="http://supsystic.com/plugins/photo-gallery?utm_source=plugin&utm_medium=images_caption_description&utm_campaign=gallery" target="_blank">
239
  {{ nonProMsg|raw }}
240
  </a>
242
  {% else %}
243
  <textarea name="captionDescription" rows="5" placeholder="Description">{{ image.attachment.captionDescription|raw }}</textarea>
244
  {% endif %}
245
+ {{ environment.getDispatcher().dispatch('after_photo_attachment_form', [['caption', 'captionDescription'], image.attachment.id]) }}
246
  </form>
247
  </td>
248
  <td class="title column-textarea top-align">
249
  <form id="photo-editor-seo-{{ image.id }}" class="photo-editor" data-id="{{ image.id }}">
250
  <textarea name="alt" rows="2" placeholder="{{ translate('Alternative text') }}">{% if image.attachment.alt is not empty %}{% if image.attachment.alt == " " %}{{ ""}}{% else %}{{ image.attachment.alt }}{% endif %}{% else %}{{ image.attachment.title }}{% endif %}</textarea></br>
251
  <textarea name="description" rows="5" placeholder="{{ translate('Description') }}">{{ image.attachment.description|raw }}</textarea>
252
+ {{ environment.getDispatcher().dispatch('after_photo_attachment_form', [['alt', 'description'], image.attachment.id]) }}
253
  </form>
254
  </td>
255
  <td class="title column-title top-align" style="text-align: left; padding-left:15px !important; padding-right:5px !important;">