NextGEN Gallery – WordPress Gallery Plugin - Version 2.0.76

Version Description

  • 02.24.2015 =
  • Fixed: Compatibility checks for very old versions of NextGEN Pro
  • Fixed: Zero-byte downloads in WooCommerce and WPE-Commerce
  • Fixed: Invalid URL being enqueued if a custom lightbox is selected with no URL provided
  • Fixed: Restored a method to nggAdmin to fix compatibility with NextGen Public Uploader
  • Fixed: Bug preventing source='recent' from displaying images in the correct order
  • Fixed: Include more quotation symbols in our shortcode manager (foreign language shortcodes)
  • Fixed: WPML/ATP compatibility issue
  • Fixed: $nggdb->get_gallery() returning a different result than before
Download this release

Release Info

Developer photocrati
Plugin Icon 128x128 NextGEN Gallery – WordPress Gallery Plugin
Version 2.0.76
Comparing to
See all releases

Code changes from version 2.0.74 to 2.0.76

.hg_archival.txt CHANGED
@@ -1,4 +1,5 @@
1
  repo: 2b82bc45fbe039c6f4c9f0c667e9cd1ee4d84cbb
2
- node: 9dc92ef331cf637549f71c6a6a057038d7abce88
3
  branch: no-input-file-fix
4
- tag: 2.0.74
 
1
  repo: 2b82bc45fbe039c6f4c9f0c667e9cd1ee4d84cbb
2
+ node: b7dfa893e7814f1211138ea2248bc101711f0b93
3
  branch: no-input-file-fix
4
+ latesttag: 2.0.75
5
+ latesttagdistance: 1
.hgtags CHANGED
@@ -256,3 +256,5 @@ e614357ef4c42015595284ba805b88a440e10ca4 2.0.70
256
  c6e2e1431af5d6cd7bc49c07e167a71d937c921e 2.0.72
257
  2c16ebb1e99e48ad53b7c71865bdb4f828901a03 2.0.73
258
  4e20a2d2c0ca46a04c95f5487eabd8d02e1cbfd3 2.0.73.1
 
 
256
  c6e2e1431af5d6cd7bc49c07e167a71d937c921e 2.0.72
257
  2c16ebb1e99e48ad53b7c71865bdb4f828901a03 2.0.73
258
  4e20a2d2c0ca46a04c95f5487eabd8d02e1cbfd3 2.0.73.1
259
+ 45cd2911f1f2a9cba9736c3d08f52d994c0eb6f7 2.0.74
260
+ 5b35e496669ed583d00e9b0ce68677c7fce17699 2.0.74.1
changelog.txt CHANGED
@@ -1,6 +1,16 @@
1
  NextGEN Gallery
2
  by Photocrati Media
3
 
 
 
 
 
 
 
 
 
 
 
4
  = V2.0.74 - 02.20.2015 =
5
  * Changed: Removed jQuery Lightbox and Highslide due to incompatible licensing with GPL
6
 
1
  NextGEN Gallery
2
  by Photocrati Media
3
 
4
+ = V2.0.76 - 02.24.2015 =
5
+ * Fixed: Compatibility checks for very old versions of NextGEN Pro
6
+ * Fixed: Zero-byte downloads in WooCommerce and WPE-Commerce
7
+ * Fixed: Invalid URL being enqueued if a custom lightbox is selected with no URL provided
8
+ * Fixed: Restored a method to nggAdmin to fix compatibility with NextGen Public Uploader
9
+ * Fixed: Bug preventing source='recent' from displaying images in the correct order
10
+ * Fixed: Include more quotation symbols in our shortcode manager (foreign language shortcodes)
11
+ * Fixed: WPML/ATP compatibility issue
12
+ * Fixed: $nggdb->get_gallery() returning a different result than before
13
+
14
  = V2.0.74 - 02.20.2015 =
15
  * Changed: Removed jQuery Lightbox and Highslide due to incompatible licensing with GPL
16
 
nggallery.php CHANGED
@@ -3,8 +3,8 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
3
 
4
  /**
5
  * Plugin Name: NextGEN Gallery by Photocrati
6
- * Description: The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 11 million downloads.
7
- * Version: 2.0.74
8
  * Author: Photocrati Media
9
  * Plugin URI: http://www.nextgen-gallery.com
10
  * Author URI: http://www.photocrati.com
@@ -303,6 +303,7 @@ class C_NextGEN_Bootstrap
303
  {
304
  $retval = TRUE;
305
 
 
306
  if (defined('NGG_PRO_PLUGIN_VERSION') && version_compare(NGG_PRO_PLUGIN_VERSION, $this->minimum_ngg_pro_version) < 0) $retval = FALSE;
307
 
308
  return $retval;
@@ -583,7 +584,7 @@ class C_NextGEN_Bootstrap
583
  define('NGG_PRODUCT_URL', path_join(str_replace("\\", '/', NGG_PLUGIN_URL), 'products'));
584
  define('NGG_MODULE_URL', path_join(str_replace("\\", '/', NGG_PRODUCT_URL), 'photocrati_nextgen/modules'));
585
  define('NGG_PLUGIN_STARTED_AT', microtime());
586
- define('NGG_PLUGIN_VERSION', '2.0.74');
587
 
588
  if (!defined('NGG_HIDE_STRICT_ERRORS')) {
589
  define('NGG_HIDE_STRICT_ERRORS', TRUE);
3
 
4
  /**
5
  * Plugin Name: NextGEN Gallery by Photocrati
6
+ * Description: The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 12 million downloads.
7
+ * Version: 2.0.76
8
  * Author: Photocrati Media
9
  * Plugin URI: http://www.nextgen-gallery.com
10
  * Author URI: http://www.photocrati.com
303
  {
304
  $retval = TRUE;
305
 
306
+ if (defined('NEXTGEN_GALLERY_PRO_VERSION')) $retval = FALSE;
307
  if (defined('NGG_PRO_PLUGIN_VERSION') && version_compare(NGG_PRO_PLUGIN_VERSION, $this->minimum_ngg_pro_version) < 0) $retval = FALSE;
308
 
309
  return $retval;
584
  define('NGG_PRODUCT_URL', path_join(str_replace("\\", '/', NGG_PLUGIN_URL), 'products'));
585
  define('NGG_MODULE_URL', path_join(str_replace("\\", '/', NGG_PRODUCT_URL), 'photocrati_nextgen/modules'));
586
  define('NGG_PLUGIN_STARTED_AT', microtime());
587
+ define('NGG_PLUGIN_VERSION', '2.0.76');
588
 
589
  if (!defined('NGG_HIDE_STRICT_ERRORS')) {
590
  define('NGG_HIDE_STRICT_ERRORS', TRUE);
non_pope/class.nextgen_shortcode_manager.php CHANGED
@@ -179,7 +179,7 @@ class C_NextGen_Shortcode_Manager
179
  if (is_array($params))
180
  {
181
  foreach ($params as $key => &$val) {
182
- $val = trim($val, "„“‚‘«»");
183
  $val = preg_replace("/^(&[^;]+;)?(.*)/", '\2', $val);
184
  $val = preg_replace("/(&[^;]+;)?$/", '', $val);
185
  }
179
  if (is_array($params))
180
  {
181
  foreach ($params as $key => &$val) {
182
+ $val = trim($val, "„“‚‘«»“”");
183
  $val = preg_replace("/^(&[^;]+;)?(.*)/", '\2', $val);
184
  $val = preg_replace("/(&[^;]+;)?$/", '', $val);
185
  }
products/photocrati_nextgen/modules/i18n/lang/nggallery.po CHANGED
@@ -2410,7 +2410,7 @@ msgid "Server Settings"
2410
  msgstr ""
2411
 
2412
  #: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97
2413
- msgid "NextGEN Gallery is one of the most popular WordPress plugins of all time with over 11 million downloads."
2414
  msgstr ""
2415
 
2416
  #: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97
@@ -3199,7 +3199,7 @@ msgid "http://www.nextgen-gallery.com"
3199
  msgstr ""
3200
 
3201
  #. Description of the plugin/theme
3202
- msgid "The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 11 million downloads."
3203
  msgstr ""
3204
 
3205
  #. Author of the plugin/theme
2410
  msgstr ""
2411
 
2412
  #: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97
2413
+ msgid "NextGEN Gallery is one of the most popular WordPress plugins of all time with over 12 million downloads."
2414
  msgstr ""
2415
 
2416
  #: products/photocrati_nextgen/modules/ngglegacy/admin/overview.php:97
3199
  msgstr ""
3200
 
3201
  #. Description of the plugin/theme
3202
+ msgid "The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 12 million downloads."
3203
  msgstr ""
3204
 
3205
  #. Author of the plugin/theme
products/photocrati_nextgen/modules/lightbox/package.module.lightbox.php CHANGED
@@ -201,7 +201,9 @@ class C_Lightbox_Library_Manager
201
  if (strpos($src, 'wordpress#') === 0) {
202
  wp_enqueue_style(@array_pop(explode('wordpress#', $src)));
203
  } else {
204
- wp_enqueue_style($lightbox->name . "-{$i}", $this->_handle_url($src));
 
 
205
  }
206
  }
207
  // Enqueue scripts
@@ -212,7 +214,9 @@ class C_Lightbox_Library_Manager
212
  $handle = @array_pop(explode('wordpress#', $src));
213
  wp_enqueue_script($handle);
214
  } else {
215
- wp_enqueue_script($handle, $this->_handle_url($src), array('ngg_lightbox_context'), NULL, TRUE);
 
 
216
  }
217
  if ($i == 0 and isset($lightbox->values)) {
218
  foreach ($lightbox->values as $name => $value) {
201
  if (strpos($src, 'wordpress#') === 0) {
202
  wp_enqueue_style(@array_pop(explode('wordpress#', $src)));
203
  } else {
204
+ if (!empty($src)) {
205
+ wp_enqueue_style($lightbox->name . "-{$i}", $this->_handle_url($src));
206
+ }
207
  }
208
  }
209
  // Enqueue scripts
214
  $handle = @array_pop(explode('wordpress#', $src));
215
  wp_enqueue_script($handle);
216
  } else {
217
+ if (!empty($src)) {
218
+ wp_enqueue_script($handle, $this->_handle_url($src), array('ngg_lightbox_context'), NULL, TRUE);
219
+ }
220
  }
221
  if ($i == 0 and isset($lightbox->values)) {
222
  foreach ($lightbox->values as $name => $value) {
products/photocrati_nextgen/modules/nextgen_gallery_display/package.module.nextgen_gallery_display.php CHANGED
@@ -797,7 +797,7 @@ class Mixin_Displayed_Gallery_Queries extends Mixin
797
  }
798
  }
799
  // Adjust the query more based on what source was selected
800
- if ($this->object->source == 'recent_images') {
801
  $sort_direction = 'DESC';
802
  $sort_by = 'imagedate';
803
  } elseif ($this->object->source == 'random_images' && empty($this->object->entity_ids)) {
@@ -1031,7 +1031,7 @@ class Mixin_Displayed_Gallery_Queries extends Mixin
1031
  $max = intval(C_NextGen_Settings::get_instance()->get('maximum_entity_count', 500));
1032
  $sources = C_Displayed_Gallery_Source_Manager::get_instance();
1033
  $source_obj = $this->object->get_source();
1034
- if ($source_obj === $sources->get('random') || $source_obj == $sources->get('recent')) {
1035
  $max = intval($this->object->maximum_entity_count);
1036
  }
1037
  return $max;
797
  }
798
  }
799
  // Adjust the query more based on what source was selected
800
+ if (in_array($this->object->source, array('recent', 'recent_images'))) {
801
  $sort_direction = 'DESC';
802
  $sort_by = 'imagedate';
803
  } elseif ($this->object->source == 'random_images' && empty($this->object->entity_ids)) {
1031
  $max = intval(C_NextGen_Settings::get_instance()->get('maximum_entity_count', 500));
1032
  $sources = C_Displayed_Gallery_Source_Manager::get_instance();
1033
  $source_obj = $this->object->get_source();
1034
+ if (in_array($source_obj, array($sources->get('random'), $sources->get('random_images'), $sources->get('recent'), $sources->get('recent_images')))) {
1035
  $max = intval($this->object->maximum_entity_count);
1036
  }
1037
  return $max;
products/photocrati_nextgen/modules/ngglegacy/admin/functions.php CHANGED
@@ -799,6 +799,24 @@ class nggAdmin{
799
 
800
  return $output;
801
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
802
  } // END class nggAdmin
803
 
804
  // XXX temporary...used as a quick fix to refresh I_Settings_Manager when the nextgen option is updated manually in order to run Hooks etc.
799
 
800
  return $output;
801
  }
802
+
803
+ /**
804
+ * Deprecated function, restored to fix compatibility with "NextGen Public Uploader"
805
+ *
806
+ * @deprecated
807
+ * @class nggAdmin
808
+ * @param string $filename
809
+ * @return bool $result
810
+ */
811
+ function chmod($filename = '')
812
+ {
813
+ $stat = @stat(dirname($filename));
814
+ $perms = $stat['mode'] & 0000666;
815
+ if (@chmod($filename, $perms))
816
+ return true;
817
+ return false;
818
+ }
819
+
820
  } // END class nggAdmin
821
 
822
  // XXX temporary...used as a quick fix to refresh I_Settings_Manager when the nextgen option is updated manually in order to run Hooks etc.
products/photocrati_nextgen/modules/ngglegacy/admin/overview.php CHANGED
@@ -94,7 +94,7 @@ function ngg_AboutMetaBox()
94
  {
95
  ?>
96
  <div id="poststuff">
97
- <p><?php _e("NextGEN Gallery is one of the most popular WordPress plugins of all time with over 11 million downloads.", 'nggallery'); __(" It is developed and supported by Photocrati Media. We'd like to offer a special thanks to Alex Rabe, who first developed the plugin and maintained it through 2011.", 'nggallery'); ?></p>
98
  <p><?php _e("<strong>NEED HELP?</strong> If you need help or assistance please visit the <a href='http://wordpress.org/support/plugin/nextgen-gallery'>NextGEN Gallery forums on WordPress.org</a>. Please note that we actively monitor and participate in the forums, but given that NextGEN Gallery is a free product, we don't guarantee replies to support queries.", 'nggallery'); ?></p>
99
  <p><?php _e("<strong>EXTENDING NEXTGEN?</strong> There are many third party plugins that add displays and functionality for NextGEN Gallery. See our <a href='http://www.nextgen-gallery.com/nextgen-gallery-extension-plugins/'>Complete List of NextGEN Extension Plugins</a>.", 'nggallery'); ?></p>
100
  </div>
94
  {
95
  ?>
96
  <div id="poststuff">
97
+ <p><?php _e("NextGEN Gallery is one of the most popular WordPress plugins of all time with over 12 million downloads.", 'nggallery'); __(" It is developed and supported by Photocrati Media. We'd like to offer a special thanks to Alex Rabe, who first developed the plugin and maintained it through 2011.", 'nggallery'); ?></p>
98
  <p><?php _e("<strong>NEED HELP?</strong> If you need help or assistance please visit the <a href='http://wordpress.org/support/plugin/nextgen-gallery'>NextGEN Gallery forums on WordPress.org</a>. Please note that we actively monitor and participate in the forums, but given that NextGEN Gallery is a free product, we don't guarantee replies to support queries.", 'nggallery'); ?></p>
99
  <p><?php _e("<strong>EXTENDING NEXTGEN?</strong> There are many third party plugins that add displays and functionality for NextGEN Gallery. See our <a href='http://www.nextgen-gallery.com/nextgen-gallery-extension-plugins/'>Complete List of NextGEN Extension Plugins</a>.", 'nggallery'); ?></p>
100
  </div>
products/photocrati_nextgen/modules/ngglegacy/lib/ngg-db.php CHANGED
@@ -130,10 +130,8 @@ class nggdb
130
  if ($limit && $start) $image_mapper->limit($limit, $start);
131
  elseif ($limit) $image_mapper->limit($limit);
132
 
133
- $storage = C_Gallery_Storage::get_instance();
134
-
135
- foreach ($image_mapper->run_query() as $image) {
136
- $image->thumbURL = $storage->get_thumb_url($image);
137
  $retval[] = $image;
138
  }
139
 
130
  if ($limit && $start) $image_mapper->limit($limit, $start);
131
  elseif ($limit) $image_mapper->limit($limit);
132
 
133
+ foreach ($image_mapper->run_query() as $dbimage) {
134
+ $image = new C_Image_Wrapper($dbimage);
 
 
135
  $retval[] = $image;
136
  }
137
 
products/photocrati_nextgen/modules/third_party_compat/module.third_party_compat.php CHANGED
@@ -109,6 +109,8 @@ class M_Third_Party_Compat extends C_Base_Module
109
  add_filter('get_the_excerpt', array(&$this, 'enable_galleries_in_excerpts'), PHP_INT_MAX-1);
110
  add_action('debug_bar_enqueue_scripts', array(&$this, 'no_debug_bar'));
111
  add_filter('ngg_non_minified_modules', array($this, 'dont_minify_nextgen_pro_cssjs'));
 
 
112
 
113
  // WPML fix
114
  if (class_exists('SitePress')) {
@@ -121,6 +123,34 @@ class M_Third_Party_Compat extends C_Base_Module
121
  add_action('the_post', array(&$this, 'add_ngg_pro_page_parameter'));
122
  }
123
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
124
  function no_debug_bar()
125
  {
126
  if (M_Attach_To_Post::is_atp_url()) {
@@ -224,7 +254,7 @@ class M_Third_Party_Compat extends C_Base_Module
224
  if (!class_exists('SitePress'))
225
  return;
226
 
227
- if (FALSE === strpos(strtolower($_SERVER['REQUEST_URI']), '/nextgen-attach_to_post'))
228
  return;
229
 
230
  global $wp_filter;
@@ -253,7 +283,7 @@ class M_Third_Party_Compat extends C_Base_Module
253
  if (!class_exists('WPML_Translation_Management'))
254
  return;
255
 
256
- if (FALSE === strpos(strtolower($_SERVER['REQUEST_URI']), '/nextgen-attach_to_post'))
257
  return;
258
 
259
  global $wp_filter;
109
  add_filter('get_the_excerpt', array(&$this, 'enable_galleries_in_excerpts'), PHP_INT_MAX-1);
110
  add_action('debug_bar_enqueue_scripts', array(&$this, 'no_debug_bar'));
111
  add_filter('ngg_non_minified_modules', array($this, 'dont_minify_nextgen_pro_cssjs'));
112
+ add_filter('run_ngg_resource_manager', array(&$this, 'check_woocommerce_download'));
113
+ add_filter('run_ngg_resource_manager', array(&$this, 'check_wpecommerce_download'));
114
 
115
  // WPML fix
116
  if (class_exists('SitePress')) {
123
  add_action('the_post', array(&$this, 'add_ngg_pro_page_parameter'));
124
  }
125
 
126
+ /**
127
+ * Determine if the requested URL is a WooCommerce download and adjust the resource manager
128
+ *
129
+ * Our resource manager's output buffers conflict with Woo's use of output buffers to handle chunked reading of
130
+ * large files in WC_Download_Handler::readfile_chunked()
131
+ * @param bool $valid_request
132
+ * @return bool
133
+ */
134
+ function check_woocommerce_download($valid_request = TRUE)
135
+ {
136
+ if (class_exists('WC_Download_Handler') && isset($_GET['download_file']) && isset($_GET['order']) && isset($_GET['email']))
137
+ $valid_request = FALSE;
138
+ return $valid_request;
139
+ }
140
+
141
+ /**
142
+ * Determine if the requested URL is a WPE-Commerce download and adjust the resource manager
143
+ *
144
+ * @param bool $valid_request
145
+ * @return bool
146
+ */
147
+ function check_wpecommerce_download($valid_request = TRUE)
148
+ {
149
+ if (function_exists('wpsc_download_file') && isset($_GET['downloadid']))
150
+ $valid_request = FALSE;
151
+ return $valid_request;
152
+ }
153
+
154
  function no_debug_bar()
155
  {
156
  if (M_Attach_To_Post::is_atp_url()) {
254
  if (!class_exists('SitePress'))
255
  return;
256
 
257
+ if (!M_Attach_To_Post::is_atp_url())
258
  return;
259
 
260
  global $wp_filter;
283
  if (!class_exists('WPML_Translation_Management'))
284
  return;
285
 
286
+ if (!M_Attach_To_Post::is_atp_url())
287
  return;
288
 
289
  global $wp_filter;
readme.txt CHANGED
@@ -3,16 +3,16 @@ Contributors: photocrati
3
  Tags: nextgen, nextgen gallery, gallery, galleries, image, images, image gallery, photo, photos, photo gallery, picture, pictures, picture gallery, album, albums, photo albums, image album, media, media gallery, thumbnails, thumbnail gallery, thumbnail galleries, slideshow, slideshows, slideshow gallery, slideshow galleries, fancybox, lightbox, responsive, responsive gallery, responsive galleries, wordpress responsive gallery, nextcellent, wordpress gallery plugin, wordpress photo gallery plugin, wp gallery, wp gallery plugins, best gallery plugin, free photo gallery, singlepic, image captions imagebrowser, watermarks, watermarking, photography, photographer
4
  Requires at least: 3.6.1
5
  Tested up to: 4.1.1
6
- Stable tag: 2.0.74
7
  License: GPLv2
8
 
9
- The most popular WordPress gallery plugin and one of the most popular plugins of all time with over 11 million downloads.
10
 
11
  == Description ==
12
 
13
  = WordPress Gallery Plugin =
14
 
15
- NextGEN Gallery is the most popular **WordPress gallery plugin**, and one of the most popular WordPress plugins of all time, with over 11 million downloads.
16
 
17
  It provides a powerful engine for uploading and managing galleries of images, with the ability to batch upload, import meta data, add/delete/rearrange/sort images, edit thumbnails, group galleries into albums, and more. It also provides two front-end display styles (slideshows and thumbnail galleries), both of which come with a wide array of options for controlling size, style, timing, transitions, controls, lightbox effects, and more.
18
 
@@ -199,6 +199,16 @@ For more information, feel free to visit the official website for the NextGEN Ga
199
 
200
  == Changelog ==
201
 
 
 
 
 
 
 
 
 
 
 
202
  = V2.0.74 - 02.20.2015 =
203
  * Changed: Removed jQuery Lightbox and Highslide due to incompatible licensing with GPL
204
 
3
  Tags: nextgen, nextgen gallery, gallery, galleries, image, images, image gallery, photo, photos, photo gallery, picture, pictures, picture gallery, album, albums, photo albums, image album, media, media gallery, thumbnails, thumbnail gallery, thumbnail galleries, slideshow, slideshows, slideshow gallery, slideshow galleries, fancybox, lightbox, responsive, responsive gallery, responsive galleries, wordpress responsive gallery, nextcellent, wordpress gallery plugin, wordpress photo gallery plugin, wp gallery, wp gallery plugins, best gallery plugin, free photo gallery, singlepic, image captions imagebrowser, watermarks, watermarking, photography, photographer
4
  Requires at least: 3.6.1
5
  Tested up to: 4.1.1
6
+ Stable tag: 2.0.76
7
  License: GPLv2
8
 
9
+ The most popular WordPress gallery plugin and one of the most popular plugins of all time with over 12 million downloads.
10
 
11
  == Description ==
12
 
13
  = WordPress Gallery Plugin =
14
 
15
+ NextGEN Gallery is the most popular **WordPress gallery plugin**, and one of the most popular WordPress plugins of all time, with over 12 million downloads.
16
 
17
  It provides a powerful engine for uploading and managing galleries of images, with the ability to batch upload, import meta data, add/delete/rearrange/sort images, edit thumbnails, group galleries into albums, and more. It also provides two front-end display styles (slideshows and thumbnail galleries), both of which come with a wide array of options for controlling size, style, timing, transitions, controls, lightbox effects, and more.
18
 
199
 
200
  == Changelog ==
201
 
202
+ = V2.0.76 - 02.24.2015 =
203
+ * Fixed: Compatibility checks for very old versions of NextGEN Pro
204
+ * Fixed: Zero-byte downloads in WooCommerce and WPE-Commerce
205
+ * Fixed: Invalid URL being enqueued if a custom lightbox is selected with no URL provided
206
+ * Fixed: Restored a method to nggAdmin to fix compatibility with NextGen Public Uploader
207
+ * Fixed: Bug preventing source='recent' from displaying images in the correct order
208
+ * Fixed: Include more quotation symbols in our shortcode manager (foreign language shortcodes)
209
+ * Fixed: WPML/ATP compatibility issue
210
+ * Fixed: $nggdb->get_gallery() returning a different result than before
211
+
212
  = V2.0.74 - 02.20.2015 =
213
  * Changed: Removed jQuery Lightbox and Highslide due to incompatible licensing with GPL
214