NextGEN Gallery – WordPress Gallery Plugin - Version 3.27

Version Description

  • 05.25.2022 =
  • Fixed: A possible PHP warning in the third party compatibility warning.
  • Fixed: PHP 8 may emit a warning in the taxonomy controller when viewing the site frontpage while no posts or pages exist.
  • Fixed: ThickBox's loadingAnimation.gif and tb-close.png URL were incorrect.
Download this release

Release Info

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

Code changes from version 3.26 to 3.27

changelog.txt CHANGED
@@ -1,6 +1,11 @@
1
  NextGEN Gallery
2
  by Imagely
3
 
 
 
 
 
 
4
  = V3.26 - 04.27.2022 =
5
  * Fixed: A change in NextGEN 3.23 broke albums pagination.
6
  * Fixed: Compatibility with TinyMCE editor used by Advanced Custom Fields.
1
  NextGEN Gallery
2
  by Imagely
3
 
4
+ = V3.27 - 05.25.2022 =
5
+ * Fixed: A possible PHP warning in the third party compatibility warning.
6
+ * Fixed: PHP 8 may emit a warning in the taxonomy controller when viewing the site frontpage while no posts or pages exist.
7
+ * Fixed: ThickBox's loadingAnimation.gif and tb-close.png URL were incorrect.
8
+
9
  = V3.26 - 04.27.2022 =
10
  * Fixed: A change in NextGEN 3.23 broke albums pagination.
11
  * Fixed: Compatibility with TinyMCE editor used by Advanced Custom Fields.
nggallery.php CHANGED
@@ -4,7 +4,7 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
4
  /**
5
  * Plugin Name: NextGEN Gallery
6
  * Description: The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 30 million downloads.
7
- * Version: 3.26
8
  * Author: Imagely
9
  * Plugin URI: https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/
10
  * Author URI: https://www.imagely.com
@@ -683,7 +683,7 @@ class C_NextGEN_Bootstrap
683
  define('NGG_PRODUCT_URL', path_join(str_replace("\\" , '/', NGG_PLUGIN_URL), 'products'));
684
  define('NGG_MODULE_URL', path_join(str_replace("\\", '/', NGG_PRODUCT_URL), 'photocrati_nextgen/modules'));
685
  define('NGG_PLUGIN_STARTED_AT', microtime());
686
- define('NGG_PLUGIN_VERSION', '3.26');
687
 
688
  define(
689
  'NGG_SCRIPT_VERSION',
4
  /**
5
  * Plugin Name: NextGEN Gallery
6
  * Description: The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 30 million downloads.
7
+ * Version: 3.27
8
  * Author: Imagely
9
  * Plugin URI: https://www.imagely.com/wordpress-gallery-plugin/nextgen-gallery/
10
  * Author URI: https://www.imagely.com
683
  define('NGG_PRODUCT_URL', path_join(str_replace("\\" , '/', NGG_PLUGIN_URL), 'products'));
684
  define('NGG_MODULE_URL', path_join(str_replace("\\", '/', NGG_PRODUCT_URL), 'photocrati_nextgen/modules'));
685
  define('NGG_PLUGIN_STARTED_AT', microtime());
686
+ define('NGG_PLUGIN_VERSION', '3.27');
687
 
688
  define(
689
  'NGG_SCRIPT_VERSION',
products/photocrati_nextgen/modules/lightbox/static/thickbox/nextgen_thickbox_init.js CHANGED
@@ -2,8 +2,8 @@ if (typeof window.thickboxL10n == 'undefined') {
2
  if (typeof nextgen_thickbox_i18n == 'undefined') {
3
  // for backwards compatibility, nextgen_thickbox_i18n may not exist and we should just use the English defaults
4
  window.thickboxL10n = {
5
- loadingAnimation: photocrati_ajax.wp_includes_url + '/wp-includes/js/thickbox/loadingAnimation.gif',
6
- closeImage: photocrati_ajax.wp_includes_url + '/wp-includes/js/thickbox/tb-close.png',
7
  next: 'Next >',
8
  prev: '< Prev',
9
  image: 'Image',
@@ -13,8 +13,8 @@ if (typeof window.thickboxL10n == 'undefined') {
13
  };
14
  } else {
15
  window.thickboxL10n = {
16
- loadingAnimation: photocrati_ajax.wp_includes_url + '/wp-includes/js/thickbox/loadingAnimation.gif',
17
- closeImage: photocrati_ajax.wp_includes_url + '/wp-includes/js/thickbox/tb-close.png',
18
  next: nextgen_thickbox_i18n.next,
19
  prev: nextgen_thickbox_i18n.prev,
20
  image: nextgen_thickbox_i18n.image,
2
  if (typeof nextgen_thickbox_i18n == 'undefined') {
3
  // for backwards compatibility, nextgen_thickbox_i18n may not exist and we should just use the English defaults
4
  window.thickboxL10n = {
5
+ loadingAnimation: photocrati_ajax.wp_includes_url + '/js/thickbox/loadingAnimation.gif',
6
+ closeImage: photocrati_ajax.wp_includes_url + '/js/thickbox/tb-close.png',
7
  next: 'Next >',
8
  prev: '< Prev',
9
  image: 'Image',
13
  };
14
  } else {
15
  window.thickboxL10n = {
16
+ loadingAnimation: photocrati_ajax.wp_includes_url + '/js/thickbox/loadingAnimation.gif',
17
+ closeImage: photocrati_ajax.wp_includes_url + '/js/thickbox/tb-close.png',
18
  next: nextgen_thickbox_i18n.next,
19
  prev: nextgen_thickbox_i18n.prev,
20
  image: nextgen_thickbox_i18n.image,
products/photocrati_nextgen/modules/lightbox/static/thickbox/nextgen_thickbox_init.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";void 0===window.thickboxL10n&&("undefined"==typeof nextgen_thickbox_i18n?window.thickboxL10n={loadingAnimation:photocrati_ajax.wp_includes_url+"/wp-includes/js/thickbox/loadingAnimation.gif",closeImage:photocrati_ajax.wp_includes_url+"/wp-includes/js/thickbox/tb-close.png",next:"Next >",prev:"< Prev",image:"Image",of:"of",close:"Close",noiframes:"This feature requires inline frames. You have iframes disabled or your browser does not support them."}:window.thickboxL10n={loadingAnimation:photocrati_ajax.wp_includes_url+"/wp-includes/js/thickbox/loadingAnimation.gif",closeImage:photocrati_ajax.wp_includes_url+"/wp-includes/js/thickbox/tb-close.png",next:nextgen_thickbox_i18n.next,prev:nextgen_thickbox_i18n.prev,image:nextgen_thickbox_i18n.image,of:nextgen_thickbox_i18n.of,close:nextgen_thickbox_i18n.close,noiframes:nextgen_thickbox_i18n.noiframes}),jQuery(function(e){nextgen_lightbox_filter_selector(e,e([])).addClass("thickbox")});
1
+ "use strict";void 0===window.thickboxL10n&&("undefined"==typeof nextgen_thickbox_i18n?window.thickboxL10n={loadingAnimation:photocrati_ajax.wp_includes_url+"/js/thickbox/loadingAnimation.gif",closeImage:photocrati_ajax.wp_includes_url+"/js/thickbox/tb-close.png",next:"Next >",prev:"< Prev",image:"Image",of:"of",close:"Close",noiframes:"This feature requires inline frames. You have iframes disabled or your browser does not support them."}:window.thickboxL10n={loadingAnimation:photocrati_ajax.wp_includes_url+"/js/thickbox/loadingAnimation.gif",closeImage:photocrati_ajax.wp_includes_url+"/js/thickbox/tb-close.png",next:nextgen_thickbox_i18n.next,prev:nextgen_thickbox_i18n.prev,image:nextgen_thickbox_i18n.image,of:nextgen_thickbox_i18n.of,close:nextgen_thickbox_i18n.close,noiframes:nextgen_thickbox_i18n.noiframes}),jQuery(function(e){nextgen_lightbox_filter_selector(e,e([])).addClass("thickbox")});
products/photocrati_nextgen/modules/nextgen_basic_tagcloud/package.module.nextgen_basic_tagcloud.php CHANGED
@@ -262,7 +262,7 @@ class C_Taxonomy_Controller extends C_MVC_Controller
262
  $tag = urldecode(get_query_var('ngg_tag') ? get_query_var('ngg_tag') : get_query_var('name'));
263
  $tag = stripslashes(M_NextGen_Data::strip_html($tag));
264
  // Tags may not include HTML
265
- if (!$this->ngg_tag_detection_has_run && !is_admin() && !empty($tag) && (stripos($wp->request, 'ngg_tag') === 0 || isset($wp_query->query_vars['page_id']) && $wp_query->query_vars['page_id'] === 'ngg_tag')) {
266
  $this->ngg_tag_detection_has_run = TRUE;
267
  // Wordpress somewhat-correctly generates several notices, so silence them as they're really unnecessary
268
  if (!defined('WP_DEBUG') || !WP_DEBUG) {
262
  $tag = urldecode(get_query_var('ngg_tag') ? get_query_var('ngg_tag') : get_query_var('name'));
263
  $tag = stripslashes(M_NextGen_Data::strip_html($tag));
264
  // Tags may not include HTML
265
+ if (!$this->ngg_tag_detection_has_run && !is_admin() && !empty($tag) && is_string($wp->request) && (stripos($wp->request, 'ngg_tag') === 0 || isset($wp_query->query_vars['page_id']) && $wp_query->query_vars['page_id'] === 'ngg_tag')) {
266
  $this->ngg_tag_detection_has_run = TRUE;
267
  // Wordpress somewhat-correctly generates several notices, so silence them as they're really unnecessary
268
  if (!defined('WP_DEBUG') || !WP_DEBUG) {
products/photocrati_nextgen/modules/third_party_compat/module.third_party_compat.php CHANGED
@@ -139,7 +139,7 @@ class M_Third_Party_Compat extends C_Base_Module
139
  {
140
  global $post;
141
 
142
- if ($post AND is_string($post->content) AND (strpos($post->content, "<!--nextpage-->") === FALSE) AND (strpos($_SERVER['REQUEST_URI'], '/page/') !== FALSE))
143
  {
144
  if (preg_match("#/page/(\\d+)#", $_SERVER['REQUEST_URI'], $match))
145
  $_REQUEST['page'] = $match[1];
139
  {
140
  global $post;
141
 
142
+ if ($post AND isset($post->post_content) AND (strpos($post->post_content, "<!--nextpage-->") === FALSE) AND (strpos($_SERVER['REQUEST_URI'], '/page/') !== FALSE))
143
  {
144
  if (preg_match("#/page/(\\d+)#", $_SERVER['REQUEST_URI'], $match))
145
  $_REQUEST['page'] = $match[1];
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: photocrati, imagely
3
  Tags: wordpress gallery plugin, gallery, nextgen, nextgen gallery, photo gallery, image gallery, photography, slideshow, images, photo, photo album, watermark
4
  Requires at least: 5.5.4
5
- Stable tag: 3.26
6
- Tested up to: 5.9
7
  License: GPLv3
8
  Requires PHP: 5.6
9
 
@@ -179,6 +179,11 @@ For more information, feel free to visit the official website for the NextGEN Ga
179
 
180
  == Changelog ==
181
 
 
 
 
 
 
182
  = V3.25 - 04.27.2022 =
183
  * Fixed: A change in NextGEN 3.23 broke albums pagination.
184
  * Fixed: Compatibility with TinyMCE editor used by Advanced Custom Fields.
2
  Contributors: photocrati, imagely
3
  Tags: wordpress gallery plugin, gallery, nextgen, nextgen gallery, photo gallery, image gallery, photography, slideshow, images, photo, photo album, watermark
4
  Requires at least: 5.5.4
5
+ Stable tag: 3.27
6
+ Tested up to: 6.0
7
  License: GPLv3
8
  Requires PHP: 5.6
9
 
179
 
180
  == Changelog ==
181
 
182
+ = V3.27 - 05.25.2022 =
183
+ * Fixed: A possible PHP warning in the third party compatibility warning.
184
+ * Fixed: PHP 8 may emit a warning in the taxonomy controller when viewing the site frontpage while no posts or pages exist.
185
+ * Fixed: ThickBox's loadingAnimation.gif and tb-close.png URL were incorrect.
186
+
187
  = V3.25 - 04.27.2022 =
188
  * Fixed: A change in NextGEN 3.23 broke albums pagination.
189
  * Fixed: Compatibility with TinyMCE editor used by Advanced Custom Fields.
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit0deaf5c74c7fce86e30da1f486096a6b::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit9d6ef30cd03682d10cffbfd6f9a48a5b::getLoader();
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit0deaf5c74c7fce86e30da1f486096a6b
6
  {
7
  private static $loader;
8
 
@@ -24,15 +24,15 @@ class ComposerAutoloaderInit0deaf5c74c7fce86e30da1f486096a6b
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
- spl_autoload_register(array('ComposerAutoloaderInit0deaf5c74c7fce86e30da1f486096a6b', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
29
- spl_autoload_unregister(array('ComposerAutoloaderInit0deaf5c74c7fce86e30da1f486096a6b', 'loadClassLoader'));
30
 
31
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
32
  if ($useStaticLoader) {
33
  require __DIR__ . '/autoload_static.php';
34
 
35
- call_user_func(\Composer\Autoload\ComposerStaticInit0deaf5c74c7fce86e30da1f486096a6b::getInitializer($loader));
36
  } else {
37
  $map = require __DIR__ . '/autoload_namespaces.php';
38
  foreach ($map as $namespace => $path) {
@@ -53,12 +53,12 @@ class ComposerAutoloaderInit0deaf5c74c7fce86e30da1f486096a6b
53
  $loader->register(true);
54
 
55
  if ($useStaticLoader) {
56
- $includeFiles = Composer\Autoload\ComposerStaticInit0deaf5c74c7fce86e30da1f486096a6b::$files;
57
  } else {
58
  $includeFiles = require __DIR__ . '/autoload_files.php';
59
  }
60
  foreach ($includeFiles as $fileIdentifier => $file) {
61
- composerRequire0deaf5c74c7fce86e30da1f486096a6b($fileIdentifier, $file);
62
  }
63
 
64
  return $loader;
@@ -70,7 +70,7 @@ class ComposerAutoloaderInit0deaf5c74c7fce86e30da1f486096a6b
70
  * @param string $file
71
  * @return void
72
  */
73
- function composerRequire0deaf5c74c7fce86e30da1f486096a6b($fileIdentifier, $file)
74
  {
75
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
76
  $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInit9d6ef30cd03682d10cffbfd6f9a48a5b
6
  {
7
  private static $loader;
8
 
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
+ spl_autoload_register(array('ComposerAutoloaderInit9d6ef30cd03682d10cffbfd6f9a48a5b', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
29
+ spl_autoload_unregister(array('ComposerAutoloaderInit9d6ef30cd03682d10cffbfd6f9a48a5b', 'loadClassLoader'));
30
 
31
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
32
  if ($useStaticLoader) {
33
  require __DIR__ . '/autoload_static.php';
34
 
35
+ call_user_func(\Composer\Autoload\ComposerStaticInit9d6ef30cd03682d10cffbfd6f9a48a5b::getInitializer($loader));
36
  } else {
37
  $map = require __DIR__ . '/autoload_namespaces.php';
38
  foreach ($map as $namespace => $path) {
53
  $loader->register(true);
54
 
55
  if ($useStaticLoader) {
56
+ $includeFiles = Composer\Autoload\ComposerStaticInit9d6ef30cd03682d10cffbfd6f9a48a5b::$files;
57
  } else {
58
  $includeFiles = require __DIR__ . '/autoload_files.php';
59
  }
60
  foreach ($includeFiles as $fileIdentifier => $file) {
61
+ composerRequire9d6ef30cd03682d10cffbfd6f9a48a5b($fileIdentifier, $file);
62
  }
63
 
64
  return $loader;
70
  * @param string $file
71
  * @return void
72
  */
73
+ function composerRequire9d6ef30cd03682d10cffbfd6f9a48a5b($fileIdentifier, $file)
74
  {
75
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
76
  $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit0deaf5c74c7fce86e30da1f486096a6b
8
  {
9
  public static $files = array (
10
  '2cffec82183ee1cea088009cef9a6fc3' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier.composer.php',
@@ -28,8 +28,8 @@ class ComposerStaticInit0deaf5c74c7fce86e30da1f486096a6b
28
  public static function getInitializer(ClassLoader $loader)
29
  {
30
  return \Closure::bind(function () use ($loader) {
31
- $loader->prefixesPsr0 = ComposerStaticInit0deaf5c74c7fce86e30da1f486096a6b::$prefixesPsr0;
32
- $loader->classMap = ComposerStaticInit0deaf5c74c7fce86e30da1f486096a6b::$classMap;
33
 
34
  }, null, ClassLoader::class);
35
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInit9d6ef30cd03682d10cffbfd6f9a48a5b
8
  {
9
  public static $files = array (
10
  '2cffec82183ee1cea088009cef9a6fc3' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier.composer.php',
28
  public static function getInitializer(ClassLoader $loader)
29
  {
30
  return \Closure::bind(function () use ($loader) {
31
+ $loader->prefixesPsr0 = ComposerStaticInit9d6ef30cd03682d10cffbfd6f9a48a5b::$prefixesPsr0;
32
+ $loader->classMap = ComposerStaticInit9d6ef30cd03682d10cffbfd6f9a48a5b::$classMap;
33
 
34
  }, null, ClassLoader::class);
35
  }