NextGEN Gallery – WordPress Gallery Plugin - Version 2.0.66.29

Version Description

  • 09.17.2014 =
  • NEW: Added skip_excluding_globally_excluded_images property to displayed gallery objects
  • Fixed: SQL generation for random image selection
  • Fixed: Adjust regex for replacing displayed gallery placeholder images
  • Fixed: Removed filters to home_url needed previously for WMPL compatibility
  • Fixed: Use canonical redirects when appropriate
  • Fixed: Ability to override image files using XML-RPC
Download this release

Release Info

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

Code changes from version 2.0.66.27 to 2.0.66.29

changelog.txt CHANGED
@@ -1,6 +1,14 @@
1
  NextGEN Gallery
2
  by Photocrati Media
3
 
 
 
 
 
 
 
 
 
4
  = V2.0.66.27 - 08.18.2014 =
5
  * Fixed: Missing class.frame_communication_option_handerl.php error
6
 
@@ -35,7 +43,7 @@ by Photocrati Media
35
  * NEW: Spanish (es_ES) language thanks to Andrew Kurtis at WebHostingHub
36
  * Changed: Updated Czech language thanks to Separatista; additional thanks to Martin Krizek for the original translation who was mistakenly unaccredited
37
  * Changed: "Upgrade to Pro" page has new design, advertises for NextGEN Plus
38
- * Changed: Basic Albums templates now given the image counter <p> element the class 'ngg-album-gallery-image-counter' (by user request)
39
  * Changed: Gallery widgets now apply height:auto to their element; fixes compatibility with some themes
40
  * Changed: Random galleries should be substantially faster now (1000% or more for large image tables)
41
  * Fixed: Complete WPML compatibility
@@ -49,7 +57,7 @@ by Photocrati Media
49
  * Fixed: Multisite gallery path tooltip gave a wrong default setting
50
  * Fixed: Flush 'all' caches when pope_module_list setting changes
51
  * Fixed: Don't enqueue related images css in the admin
52
- * Fixed: Basic Slideshows fixes WP creating extraneous <p> element above the slideshow display
53
  * Fixed: Basic Singlepic will now display images marked 'excluded' in the admin
54
  * Fixed: Admin pages can now update when the "Save" button text has been translated
55
 
@@ -831,7 +839,7 @@ Fixed: Match legacy behaviour when changing gallery path, i.e. don't move fi
831
  * Added : New filter function to add custom columns
832
  * Bugfix : Fixed width for Thickbox in Manage gallery
833
  * Bugfix : fixed width for media upload select box
834
- * Bugfix : Remove <p> tag in singlepic regex
835
  * Bugfix : Correct format of shutter speed
836
  * Bugfix : Album name in Short code not useable
837
 
1
  NextGEN Gallery
2
  by Photocrati Media
3
 
4
+ = V2.0.66.29 - 09.17.2014 =
5
+ * NEW: Added skip_excluding_globally_excluded_images property to displayed gallery objects
6
+ * Fixed: SQL generation for random image selection
7
+ * Fixed: Adjust regex for replacing displayed gallery placeholder images
8
+ * Fixed: Removed filters to home_url needed previously for WMPL compatibility
9
+ * Fixed: Use canonical redirects when appropriate
10
+ * Fixed: Ability to override image files using XML-RPC
11
+
12
  = V2.0.66.27 - 08.18.2014 =
13
  * Fixed: Missing class.frame_communication_option_handerl.php error
14
 
43
  * NEW: Spanish (es_ES) language thanks to Andrew Kurtis at WebHostingHub
44
  * Changed: Updated Czech language thanks to Separatista; additional thanks to Martin Krizek for the original translation who was mistakenly unaccredited
45
  * Changed: "Upgrade to Pro" page has new design, advertises for NextGEN Plus
46
+ * Changed: Basic Albums templates now given the image counter P element the class 'ngg-album-gallery-image-counter' (by user request)
47
  * Changed: Gallery widgets now apply height:auto to their element; fixes compatibility with some themes
48
  * Changed: Random galleries should be substantially faster now (1000% or more for large image tables)
49
  * Fixed: Complete WPML compatibility
57
  * Fixed: Multisite gallery path tooltip gave a wrong default setting
58
  * Fixed: Flush 'all' caches when pope_module_list setting changes
59
  * Fixed: Don't enqueue related images css in the admin
60
+ * Fixed: Basic Slideshows fixes WP creating extraneous P element above the slideshow display
61
  * Fixed: Basic Singlepic will now display images marked 'excluded' in the admin
62
  * Fixed: Admin pages can now update when the "Save" button text has been translated
63
 
839
  * Added : New filter function to add custom columns
840
  * Bugfix : Fixed width for Thickbox in Manage gallery
841
  * Bugfix : fixed width for media upload select box
842
+ * Bugfix : Remove P tag in singlepic regex
843
  * Bugfix : Correct format of shutter speed
844
  * Bugfix : Album name in Short code not useable
845
 
nggallery.php CHANGED
@@ -4,7 +4,7 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
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 9 million downloads.
7
- * Version: 2.0.66.27
8
  * Author: Photocrati Media
9
  * Plugin URI: http://www.nextgen-gallery.com
10
  * Author URI: http://www.photocrati.com
@@ -431,7 +431,7 @@ class C_NextGEN_Bootstrap
431
  define('NGG_PRODUCT_URL', path_join(str_replace("\\", '/', NGG_PLUGIN_URL), 'products'));
432
  define('NGG_MODULE_URL', path_join(str_replace("\\", '/', NGG_PRODUCT_URL), 'photocrati_nextgen/modules'));
433
  define('NGG_PLUGIN_STARTED_AT', microtime());
434
- define('NGG_PLUGIN_VERSION', '2.0.66.27');
435
 
436
  if (!defined('NGG_HIDE_STRICT_ERRORS')) {
437
  define('NGG_HIDE_STRICT_ERRORS', TRUE);
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 9 million downloads.
7
+ * Version: 2.0.66.29
8
  * Author: Photocrati Media
9
  * Plugin URI: http://www.nextgen-gallery.com
10
  * Author URI: http://www.photocrati.com
431
  define('NGG_PRODUCT_URL', path_join(str_replace("\\", '/', NGG_PLUGIN_URL), 'products'));
432
  define('NGG_MODULE_URL', path_join(str_replace("\\", '/', NGG_PRODUCT_URL), 'photocrati_nextgen/modules'));
433
  define('NGG_PLUGIN_STARTED_AT', microtime());
434
+ define('NGG_PLUGIN_VERSION', '2.0.66.29');
435
 
436
  if (!defined('NGG_HIDE_STRICT_ERRORS')) {
437
  define('NGG_HIDE_STRICT_ERRORS', TRUE);
products/photocrati_nextgen/modules/attach_to_post/module.attach_to_post.php CHANGED
@@ -167,27 +167,10 @@ class M_Attach_To_Post extends C_Base_Module
167
  */
168
  function substitute_placeholder_imgs($content)
169
  {
170
- // Get some utilities
171
- $mapper = $this->get_registry()->get_utility('I_Displayed_Gallery_Mapper');
172
- $router = $this->get_registry()->get_utility('I_Router');
173
-
174
- // To match ATP entries we compare the stored url against a generic path
175
- // We must check HTTP and HTTPS as well as permalink and non-permalink forms
176
- $preview_url = parse_url($router->join_paths(
177
- $router->remove_url_segment('index.php', $router->get_base_url('root')),
178
- '/nextgen-attach_to_post/preview'
179
- ));
180
- $router->debug = TRUE;
181
- $preview_url = preg_quote($preview_url['host'] . $preview_url['path'], '#');
182
-
183
- $alt_preview_url = parse_url($router->join_paths(
184
- $router->remove_url_segment('index.php', $router->get_base_url('root')),
185
- 'index.php/nextgen-attach_to_post/preview'
186
- ));
187
- $alt_preview_url = preg_quote($alt_preview_url['host'] . $alt_preview_url['path'], '#');
188
-
189
  // The placeholder MUST have a gallery instance id
190
- if (preg_match_all("#<img.*http(s)?://({$preview_url}|{$alt_preview_url})/id--(\\d+).*\\/>#mi", $content, $matches, PREG_SET_ORDER)) {
 
 
191
  foreach ($matches as $match) {
192
  // Find the displayed gallery
193
  $displayed_gallery_id = $match[3];
167
  */
168
  function substitute_placeholder_imgs($content)
169
  {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
170
  // The placeholder MUST have a gallery instance id
171
+ if (preg_match_all("#<img.*http(s)?://(.*)/" . NGG_ATTACH_TO_POST_SLUG . "/preview/id--(\\d+).*>#mi", $content, $matches, PREG_SET_ORDER))
172
+ {
173
+ $mapper = C_Displayed_Gallery_Mapper::get_instance();
174
  foreach ($matches as $match) {
175
  // Find the displayed gallery
176
  $displayed_gallery_id = $match[3];
products/photocrati_nextgen/modules/nextgen_basic_singlepic/adapter.nextgen_basic_singlepic_controller.php CHANGED
@@ -14,7 +14,8 @@ class A_NextGen_Basic_Singlepic_Controller extends Mixin
14
  $display_settings = $displayed_gallery->display_settings;
15
 
16
  // use this over get_included_entities() so we can display images marked 'excluded'
17
- $image = array_shift($displayed_gallery->get_entities(1, FALSE, FALSE, 'both'));
 
18
 
19
  if (!$image)
20
  return $this->object->render_partial("photocrati-nextgen_gallery_display#no_images_found", array(), $return);
14
  $display_settings = $displayed_gallery->display_settings;
15
 
16
  // use this over get_included_entities() so we can display images marked 'excluded'
17
+ $displayed_gallery->skip_excluding_globally_excluded_images = TRUE;
18
+ $image = array_shift($displayed_gallery->get_entities(1, FALSE, FALSE, 'included'));
19
 
20
  if (!$image)
21
  return $this->object->render_partial("photocrati-nextgen_gallery_display#no_images_found", array(), $return);
products/photocrati_nextgen/modules/nextgen_data/class.gallerystorage_driver_base.php CHANGED
@@ -626,7 +626,7 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
626
  * @param type $filename specifies the name of the file
627
  * @return C_Image
628
  */
629
- function upload_base64_image($gallery, $data, $filename=FALSE, $image_id=FALSE)
630
  {
631
  $settings = C_NextGen_Settings::get_instance();
632
  $memory_limit = intval(ini_get('memory_limit'));
@@ -663,7 +663,7 @@ class Mixin_GalleryStorage_Driver_Base extends Mixin
663
 
664
  // Prevent duplicate filenames: check if the filename exists and
665
  // begin appending '-i' until we find an open slot
666
- if (!ini_get('safe_mode') && @file_exists($abs_filename))
667
  {
668
  $file_exists = TRUE;
669
  $i = 0;
626
  * @param type $filename specifies the name of the file
627
  * @return C_Image
628
  */
629
+ function upload_base64_image($gallery, $data, $filename=FALSE, $image_id=FALSE, $override=FALSE)
630
  {
631
  $settings = C_NextGen_Settings::get_instance();
632
  $memory_limit = intval(ini_get('memory_limit'));
663
 
664
  // Prevent duplicate filenames: check if the filename exists and
665
  // begin appending '-i' until we find an open slot
666
+ if (!ini_get('safe_mode') && @file_exists($abs_filename) && !$override)
667
  {
668
  $file_exists = TRUE;
669
  $i = 0;
products/photocrati_nextgen/modules/nextgen_gallery_display/class.displayed_gallery.php CHANGED
@@ -255,9 +255,9 @@ class Mixin_Displayed_Gallery_Queries extends Mixin
255
  $mapper->where(array("{$image_key} NOT IN %s", $this->object->exclusions));
256
  }
257
 
258
- // Ensure that no images marked as excluded at the gallery level are
259
- // returned
260
- $mapper->where(array("exclude = %d", 0));
261
  }
262
 
263
  // When returns is "excluded", it's a little more complicated as the
@@ -349,8 +349,15 @@ class Mixin_Displayed_Gallery_Queries extends Mixin
349
  // gallery created by randomly selecting X image ids that are then set as the gallery entity_ids
350
  elseif ($this->object->source == 'random_images' && empty($this->object->entity_ids)) {
351
  $table_name = $mapper->get_table_name();
352
- $mapper->_where_clauses[] = " /*NGG_NO_EXTRAS_TABLE*/ `{$image_key}` IN (SELECT `{$image_key}` FROM (SELECT `{$image_key}` FROM `{$table_name}` i ORDER BY RAND() LIMIT {$this->object->maximum_entity_count}) o) /*NGG_NO_EXTRAS_TABLE*/";
353
- }
 
 
 
 
 
 
 
354
 
355
  // Apply a sorting order
356
  if ($sort_by) $mapper->order_by($sort_by, $sort_direction);
255
  $mapper->where(array("{$image_key} NOT IN %s", $this->object->exclusions));
256
  }
257
 
258
+ // Ensure that no images marked as excluded at the gallery level are returned
259
+ if (empty($this->object->skip_excluding_globally_excluded_images))
260
+ $mapper->where(array("exclude = %d", 0));
261
  }
262
 
263
  // When returns is "excluded", it's a little more complicated as the
349
  // gallery created by randomly selecting X image ids that are then set as the gallery entity_ids
350
  elseif ($this->object->source == 'random_images' && empty($this->object->entity_ids)) {
351
  $table_name = $mapper->get_table_name();
352
+ $where_clauses = array();
353
+ $sub_where_sql = '';
354
+ foreach ($mapper->_where_clauses as $where) {
355
+ $where_clauses[] = '(' . $where . ')';
356
+ }
357
+ if ($where_clauses)
358
+ $sub_where_sql = 'WHERE ' . implode(' AND ', $where_clauses);
359
+ $mapper->_where_clauses = array(" /*NGG_NO_EXTRAS_TABLE*/ `{$image_key}` IN (SELECT `{$image_key}` FROM (SELECT `{$image_key}` FROM `{$table_name}` i {$sub_where_sql} ORDER BY RAND() LIMIT {$this->object->maximum_entity_count}) o) /*NGG_NO_EXTRAS_TABLE*/");
360
+ }
361
 
362
  // Apply a sorting order
363
  if ($sort_by) $mapper->order_by($sort_by, $sort_direction);
products/photocrati_nextgen/modules/nextgen_xmlrpc/module.nextgen_xmlrpc.php CHANGED
@@ -238,6 +238,9 @@ class M_NextGen_XmlRpc extends C_Base_Module
238
  $password = strval($args[2]);
239
  $data = $args[3];
240
  $gallery_id = isset($data['gallery_id']) ? $data['gallery_id'] : $data['gallery'];
 
 
 
241
 
242
  // Authenticate the user
243
  if ($this->_login($username, $password, $blog_id)) {
@@ -251,7 +254,7 @@ class M_NextGen_XmlRpc extends C_Base_Module
251
 
252
  // Upload the image
253
  $storage = C_Gallery_Storage::get_instance();
254
- $image = $storage->upload_base64_image($gallery, $data['bits'], $data['name'], $data['image_id']);
255
  if ($image) {
256
  $storage = C_Gallery_Storage::get_instance();
257
  $image->imageURL = $storage->get_image_url($image);
238
  $password = strval($args[2]);
239
  $data = $args[3];
240
  $gallery_id = isset($data['gallery_id']) ? $data['gallery_id'] : $data['gallery'];
241
+ if (!isset($data['override'])) $data['override'] = FALSE;
242
+ if (!isset($data['overwrite']))$data['overwrite']= FALSE;
243
+ $data['override'] = $data['overwrite'];
244
 
245
  // Authenticate the user
246
  if ($this->_login($username, $password, $blog_id)) {
254
 
255
  // Upload the image
256
  $storage = C_Gallery_Storage::get_instance();
257
+ $image = $storage->upload_base64_image($gallery, $data['bits'], $data['name'], $data['image_id'], $data['override']);
258
  if ($image) {
259
  $storage = C_Gallery_Storage::get_instance();
260
  $image->imageURL = $storage->get_image_url($image);
products/photocrati_nextgen/modules/third_party_compat/module.third_party_compat.php CHANGED
@@ -83,7 +83,6 @@ class M_Third_Party_Compat extends C_Base_Module
83
  add_action('plugins_loaded', array(&$this, 'wpml'), PHP_INT_MAX);
84
  add_action('plugins_loaded', array(&$this, 'wpml_translation_management'), PHP_INT_MAX);
85
 
86
- add_filter('home_url', array(&$this, 'wpml_home_url'), -1, 4);
87
  add_filter('headway_gzip', array(&$this, 'headway_gzip'), (PHP_INT_MAX - 1));
88
  add_filter('ckeditor_external_plugins', array(&$this, 'ckeditor_plugins'), 11);
89
  add_filter('bp_do_redirect_canonical', array(&$this, 'fix_buddypress_routing'));
@@ -114,38 +113,6 @@ class M_Third_Party_Compat extends C_Base_Module
114
  M_WordPress_Routing::$_use_old_slugs = FALSE;
115
  }
116
 
117
- /**
118
- * WPML's home_url filter causes a conflict with NextGEN's url generation, but doesn't appear to be necessary for
119
- * WPML to function. This is necessary until we properly support WP_CONTENT_URL & WP_PLUGINS_URL.
120
- *
121
- * @param $url
122
- * @param $path
123
- * @param $orig_scheme
124
- * @param $blog_id
125
- * @return mixed
126
- */
127
- function wpml_home_url($url, $path, $orig_scheme, $blog_id)
128
- {
129
- if (!class_exists('SitePress'))
130
- return $url;
131
-
132
- global $wp_filter;
133
-
134
- if (empty($wp_filter['home_url'][1]))
135
- return $url;
136
-
137
- foreach ($wp_filter['home_url'][1] as $id => $filter) {
138
- if (!strpos($id, 'home_url'))
139
- continue;
140
- $object = $filter['function'][0];
141
- if (is_object($object) && get_class($object) != 'SitePress')
142
- continue;
143
- remove_filter('home_url', array($object, 'home_url'), 1);
144
- }
145
-
146
- return $url;
147
- }
148
-
149
  /**
150
  * CKEditor features a custom NextGEN shortcode generator that unfortunately relies on parts of the NextGEN
151
  * 1.9x API that has been deprecated in NextGEN 2.0
83
  add_action('plugins_loaded', array(&$this, 'wpml'), PHP_INT_MAX);
84
  add_action('plugins_loaded', array(&$this, 'wpml_translation_management'), PHP_INT_MAX);
85
 
 
86
  add_filter('headway_gzip', array(&$this, 'headway_gzip'), (PHP_INT_MAX - 1));
87
  add_filter('ckeditor_external_plugins', array(&$this, 'ckeditor_plugins'), 11);
88
  add_filter('bp_do_redirect_canonical', array(&$this, 'fix_buddypress_routing'));
113
  M_WordPress_Routing::$_use_old_slugs = FALSE;
114
  }
115
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
116
  /**
117
  * CKEditor features a custom NextGEN shortcode generator that unfortunately relies on parts of the NextGEN
118
  * 1.9x API that has been deprecated in NextGEN 2.0
products/photocrati_nextgen/modules/wordpress_routing/module.wordpress_routing.php CHANGED
@@ -8,8 +8,8 @@
8
  ***/
9
  class M_WordPress_Routing extends C_Base_Module
10
  {
11
- static $_use_canonical_redirect = NULL;
12
- static $_use_old_slugs = NULL;
13
 
14
  function define()
15
  {
@@ -39,11 +39,9 @@ class M_WordPress_Routing extends C_Base_Module
39
  // in the restore_request_uri() method
40
  if (has_action('template_redirect', 'wp_old_slug_redirect')) {
41
  remove_action( 'template_redirect', 'wp_old_slug_redirect');
42
- if (!is_null(self::$_use_canonical_redirect)) self::$_use_old_slugs = TRUE;
43
  }
44
  if (has_action('template_redirect', 'redirect_canonical')) {
45
  remove_action( 'template_redirect', 'redirect_canonical');
46
- if (!is_null(self::$_use_canonical_redirect)) self::$_use_canonical_redirect = TRUE;
47
  }
48
  }
49
 
8
  ***/
9
  class M_WordPress_Routing extends C_Base_Module
10
  {
11
+ static $_use_canonical_redirect = TRUE;
12
+ static $_use_old_slugs = TRUE;
13
 
14
  function define()
15
  {
39
  // in the restore_request_uri() method
40
  if (has_action('template_redirect', 'wp_old_slug_redirect')) {
41
  remove_action( 'template_redirect', 'wp_old_slug_redirect');
 
42
  }
43
  if (has_action('template_redirect', 'redirect_canonical')) {
44
  remove_action( 'template_redirect', 'redirect_canonical');
 
45
  }
46
  }
47
 
readme.txt CHANGED
@@ -2,7 +2,7 @@
2
  Contributors: photocrati
3
  Tags:gallery,image,images,photo,photos,picture,pictures,slideshow,flash,media,thumbnails,photo-albums,nextgen-gallery,nextgen
4
  Requires at least: 3.6.1
5
- Tested up to: 3.9.1
6
  Stable tag: trunk
7
  License: GPLv2
8
 
@@ -199,6 +199,14 @@ For more information, feel free to visit the official website for the NextGEN Ga
199
 
200
  == Changelog ==
201
 
 
 
 
 
 
 
 
 
202
  = V2.0.66.27 - 08.18.2014 =
203
  * Fixed: Missing class.frame_communication_option_handerl.php error
204
 
@@ -233,7 +241,7 @@ For more information, feel free to visit the official website for the NextGEN Ga
233
  * NEW: Spanish (es_ES) language thanks to Andrew Kurtis at WebHostingHub
234
  * Changed: Updated Czech language thanks to Separatista; additional thanks to Martin Krizek for the original translation who was mistakenly unaccredited
235
  * Changed: "Upgrade to Pro" page has new design, advertises for NextGEN Plus
236
- * Changed: Basic Albums templates now given the image counter <p> element the class 'ngg-album-gallery-image-counter' (by user request)
237
  * Changed: Gallery widgets now apply height:auto to their element; fixes compatibility with some themes
238
  * Changed: Random galleries should be substantially faster now (1000% or more for large image tables)
239
  * Fixed: Complete WPML compatibility
@@ -247,7 +255,7 @@ For more information, feel free to visit the official website for the NextGEN Ga
247
  * Fixed: Multisite gallery path tooltip gave a wrong default setting
248
  * Fixed: Flush 'all' caches when pope_module_list setting changes
249
  * Fixed: Don't enqueue related images css in the admin
250
- * Fixed: Basic Slideshows fixes WP creating extraneous <p> element above the slideshow display
251
  * Fixed: Basic Singlepic will now display images marked 'excluded' in the admin
252
  * Fixed: Admin pages can now update when the "Save" button text has been translated
253
 
2
  Contributors: photocrati
3
  Tags:gallery,image,images,photo,photos,picture,pictures,slideshow,flash,media,thumbnails,photo-albums,nextgen-gallery,nextgen
4
  Requires at least: 3.6.1
5
+ Tested up to: 4.0
6
  Stable tag: trunk
7
  License: GPLv2
8
 
199
 
200
  == Changelog ==
201
 
202
+ = V2.0.66.29 - 09.17.2014 =
203
+ * NEW: Added skip_excluding_globally_excluded_images property to displayed gallery objects
204
+ * Fixed: SQL generation for random image selection
205
+ * Fixed: Adjust regex for replacing displayed gallery placeholder images
206
+ * Fixed: Removed filters to home_url needed previously for WMPL compatibility
207
+ * Fixed: Use canonical redirects when appropriate
208
+ * Fixed: Ability to override image files using XML-RPC
209
+
210
  = V2.0.66.27 - 08.18.2014 =
211
  * Fixed: Missing class.frame_communication_option_handerl.php error
212
 
241
  * NEW: Spanish (es_ES) language thanks to Andrew Kurtis at WebHostingHub
242
  * Changed: Updated Czech language thanks to Separatista; additional thanks to Martin Krizek for the original translation who was mistakenly unaccredited
243
  * Changed: "Upgrade to Pro" page has new design, advertises for NextGEN Plus
244
+ * Changed: Basic Albums templates now given the image counter P element the class 'ngg-album-gallery-image-counter' (by user request)
245
  * Changed: Gallery widgets now apply height:auto to their element; fixes compatibility with some themes
246
  * Changed: Random galleries should be substantially faster now (1000% or more for large image tables)
247
  * Fixed: Complete WPML compatibility
255
  * Fixed: Multisite gallery path tooltip gave a wrong default setting
256
  * Fixed: Flush 'all' caches when pope_module_list setting changes
257
  * Fixed: Don't enqueue related images css in the admin
258
+ * Fixed: Basic Slideshows fixes WP creating extraneous P element above the slideshow display
259
  * Fixed: Basic Singlepic will now display images marked 'excluded' in the admin
260
  * Fixed: Admin pages can now update when the "Save" button text has been translated
261