Breadcrumb NavXT - Version 5.3.1

Version Description

Release date: December 14th, 2015

  • Bug fix: Fixed alignment issue of the main content of the settings page on WordPress 4.4.
  • Bug fix: Fixed error caused by options upgrading not re-establishing new settings.
  • Bug fix: Fixed PHP error caused by bcn_breadcrumb_trail::get_type_string_query_var() returning an array when the post_type query variable is an array.
Download this release

Release Info

Developer mtekk
Plugin Icon 128x128 Breadcrumb NavXT
Version 5.3.1
Comparing to
See all releases

Code changes from version 5.3.0 to 5.3.1

breadcrumb-navxt.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Breadcrumb NavXT
4
  Plugin URI: http://mtekk.us/code/breadcrumb-navxt/
5
  Description: Adds a breadcrumb navigation showing the visitor&#39;s path to their current location. For details on how to use this plugin visit <a href="http://mtekk.us/code/breadcrumb-navxt/">Breadcrumb NavXT</a>.
6
- Version: 5.3.0
7
  Author: John Havlik
8
  Author URI: http://mtekk.us/
9
  License: GPL2
@@ -57,7 +57,7 @@ $breadcrumb_navxt = NULL;
57
  //TODO change to extends mtekk_plugKit
58
  class breadcrumb_navxt
59
  {
60
- const version = '5.3.0';
61
  protected $name = 'Breadcrumb NavXT';
62
  protected $identifier = 'breadcrumb-navxt';
63
  protected $unique_prefix = 'bcn';
3
  Plugin Name: Breadcrumb NavXT
4
  Plugin URI: http://mtekk.us/code/breadcrumb-navxt/
5
  Description: Adds a breadcrumb navigation showing the visitor&#39;s path to their current location. For details on how to use this plugin visit <a href="http://mtekk.us/code/breadcrumb-navxt/">Breadcrumb NavXT</a>.
6
+ Version: 5.3.1
7
  Author: John Havlik
8
  Author URI: http://mtekk.us/
9
  License: GPL2
57
  //TODO change to extends mtekk_plugKit
58
  class breadcrumb_navxt
59
  {
60
+ const version = '5.3.1';
61
  protected $name = 'Breadcrumb NavXT';
62
  protected $identifier = 'breadcrumb-navxt';
63
  protected $unique_prefix = 'bcn';
class.bcn_admin.php CHANGED
@@ -16,7 +16,7 @@
16
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
  */
18
  require_once(dirname(__FILE__) . '/includes/block_direct_access.php');
19
- //Do a PHP version check, require 5.2 or newer
20
  if(version_compare(phpversion(), '5.3.0', '<'))
21
  {
22
  //Only purpose of this function is to echo out the PHP version error
@@ -42,7 +42,7 @@ if(!class_exists('mtekk_adminKit'))
42
  */
43
  class bcn_admin extends mtekk_adminKit
44
  {
45
- const version = '5.3.0';
46
  protected $full_name = 'Breadcrumb NavXT Settings';
47
  protected $short_name = 'Breadcrumb NavXT';
48
  protected $access_level = 'manage_options';
@@ -201,10 +201,6 @@ class bcn_admin extends mtekk_adminKit
201
  }
202
  }
203
  }
204
- //Add custom post types
205
- breadcrumb_navxt::find_posttypes($opts);
206
- //Add custom taxonomy types
207
- breadcrumb_navxt::find_taxonomies($opts);
208
  //Set the max title length to 20 if we are not limiting the title and the length was 0
209
  if(!$opts['blimit_title'] && $opts['amax_title_length'] == 0)
210
  {
@@ -213,6 +209,8 @@ class bcn_admin extends mtekk_adminKit
213
  }
214
  //Save the passed in opts to the object's option array
215
  $this->opt = $opts;
 
 
216
  }
217
  function opts_update_prebk(&$opts)
218
  {
16
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
  */
18
  require_once(dirname(__FILE__) . '/includes/block_direct_access.php');
19
+ //Do a PHP version check, require 5.3 or newer
20
  if(version_compare(phpversion(), '5.3.0', '<'))
21
  {
22
  //Only purpose of this function is to echo out the PHP version error
42
  */
43
  class bcn_admin extends mtekk_adminKit
44
  {
45
+ const version = '5.3.1';
46
  protected $full_name = 'Breadcrumb NavXT Settings';
47
  protected $short_name = 'Breadcrumb NavXT';
48
  protected $access_level = 'manage_options';
201
  }
202
  }
203
  }
 
 
 
 
204
  //Set the max title length to 20 if we are not limiting the title and the length was 0
205
  if(!$opts['blimit_title'] && $opts['amax_title_length'] == 0)
206
  {
209
  }
210
  //Save the passed in opts to the object's option array
211
  $this->opt = $opts;
212
+ //End with resetting up the options
213
+ breadcrumb_navxt::setup_options($this->opt);
214
  }
215
  function opts_update_prebk(&$opts)
216
  {
class.bcn_breadcrumb_trail.php CHANGED
@@ -21,7 +21,7 @@ require_once(dirname(__FILE__) . '/includes/block_direct_access.php');
21
  class bcn_breadcrumb_trail
22
  {
23
  //Our member variables
24
- const version = '5.3.0';
25
  //An array of breadcrumbs
26
  public $breadcrumbs = array();
27
  public $trail = array();
@@ -662,19 +662,28 @@ class bcn_breadcrumb_trail
662
  /**
663
  * Retrieves the query var for 'post_type', sets default to post, and escapes
664
  *
665
- * @param string $default[optional] The default value to return if nothing was found/set
666
  *
667
  * @return string The post type string found in the post_type query var
668
  */
669
  protected function get_type_string_query_var($default = 'post')
670
  {
671
  $type_str = get_query_var('post_type', $default);
672
- if($type_str === '')
673
  {
674
  $type_str = $default;
675
  }
676
  return esc_attr($type_str);
677
  }
 
 
 
 
 
 
 
 
 
678
  /**
679
  * Adds the post type argument to the URL iff the passed in type is not post
680
  *
@@ -729,7 +738,8 @@ class bcn_breadcrumb_trail
729
  else if(isset($type->taxonomy) && isset($wp_taxonomies[$type->taxonomy]->object_type[0])
730
  && !$this->is_builtin($this->get_type_string_query_var($wp_taxonomies[$type->taxonomy]->object_type[0]))
731
  && $this->opt['bpost_' . $this->get_type_string_query_var($wp_taxonomies[$type->taxonomy]->object_type[0]) . '_archive_display']
732
- && $this->has_archive($this->get_type_string_query_var($wp_taxonomies[$type->taxonomy]->object_type[0])))
 
733
  {
734
  //We end up using the post type in several places, give it a variable
735
  $post_type = apply_filters('bcn_type_archive_post_type', $this->get_type_string_query_var($wp_taxonomies[$type->taxonomy]->object_type[0]));
21
  class bcn_breadcrumb_trail
22
  {
23
  //Our member variables
24
+ const version = '5.3.1';
25
  //An array of breadcrumbs
26
  public $breadcrumbs = array();
27
  public $trail = array();
662
  /**
663
  * Retrieves the query var for 'post_type', sets default to post, and escapes
664
  *
665
+ * @param string $default[optional] The default value to return if nothing was found/set or if post_type was an array
666
  *
667
  * @return string The post type string found in the post_type query var
668
  */
669
  protected function get_type_string_query_var($default = 'post')
670
  {
671
  $type_str = get_query_var('post_type', $default);
672
+ if($type_str === '' || is_array($type_str))
673
  {
674
  $type_str = $default;
675
  }
676
  return esc_attr($type_str);
677
  }
678
+ /**
679
+ * Retrieves the query var for 'post_type', and returns whether or not it is an array
680
+ *
681
+ * @return bool Whether or not the post_type query var is an array
682
+ */
683
+ protected function is_type_query_var_array()
684
+ {
685
+ return is_array(get_query_var('post_type'));
686
+ }
687
  /**
688
  * Adds the post type argument to the URL iff the passed in type is not post
689
  *
738
  else if(isset($type->taxonomy) && isset($wp_taxonomies[$type->taxonomy]->object_type[0])
739
  && !$this->is_builtin($this->get_type_string_query_var($wp_taxonomies[$type->taxonomy]->object_type[0]))
740
  && $this->opt['bpost_' . $this->get_type_string_query_var($wp_taxonomies[$type->taxonomy]->object_type[0]) . '_archive_display']
741
+ && $this->has_archive($this->get_type_string_query_var($wp_taxonomies[$type->taxonomy]->object_type[0]))
742
+ && !$this->is_type_query_var_array())
743
  {
744
  //We end up using the post type in several places, give it a variable
745
  $post_type = apply_filters('bcn_type_archive_post_type', $this->get_type_string_query_var($wp_taxonomies[$type->taxonomy]->object_type[0]));
class.bcn_network_admin.php CHANGED
@@ -16,7 +16,7 @@
16
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
  */
18
  require_once(dirname(__FILE__) . '/includes/block_direct_access.php');
19
- //Do a PHP version check, require 5.2 or newer
20
  if(version_compare(phpversion(), '5.3.0', '<'))
21
  {
22
  //Only purpose of this function is to echo out the PHP version error
@@ -42,7 +42,7 @@ if(!class_exists('mtekk_adminKit'))
42
  */
43
  class bcn_network_admin extends mtekk_adminKit
44
  {
45
- const version = '5.3.0';
46
  protected $full_name = 'Breadcrumb NavXT Network Settings';
47
  protected $short_name = 'Breadcrumb NavXT';
48
  protected $access_level = 'manage_network_options';
@@ -271,10 +271,6 @@ class bcn_network_admin extends mtekk_adminKit
271
  }
272
  }
273
  }
274
- //Add custom post types
275
- breadcrumb_navxt::find_posttypes($opts);
276
- //Add custom taxonomy types
277
- breadcrumb_navxt::find_taxonomies($opts);
278
  //Set the max title length to 20 if we are not limiting the title and the length was 0
279
  if(!$opts['blimit_title'] && $opts['amax_title_length'] == 0)
280
  {
@@ -283,13 +279,14 @@ class bcn_network_admin extends mtekk_adminKit
283
  }
284
  //Save the passed in opts to the object's option array
285
  $this->opt = $opts;
 
 
286
  }
287
  function opts_update_prebk(&$opts)
288
  {
289
- //Add custom post types
290
- breadcrumb_navxt::find_posttypes($this->opt);
291
- //Add custom taxonomy types
292
- breadcrumb_navxt::find_taxonomies($this->opt);
293
  }
294
  /**
295
  * help action hook function
16
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
  */
18
  require_once(dirname(__FILE__) . '/includes/block_direct_access.php');
19
+ //Do a PHP version check, require 5.3 or newer
20
  if(version_compare(phpversion(), '5.3.0', '<'))
21
  {
22
  //Only purpose of this function is to echo out the PHP version error
42
  */
43
  class bcn_network_admin extends mtekk_adminKit
44
  {
45
+ const version = '5.3.1';
46
  protected $full_name = 'Breadcrumb NavXT Network Settings';
47
  protected $short_name = 'Breadcrumb NavXT';
48
  protected $access_level = 'manage_network_options';
271
  }
272
  }
273
  }
 
 
 
 
274
  //Set the max title length to 20 if we are not limiting the title and the length was 0
275
  if(!$opts['blimit_title'] && $opts['amax_title_length'] == 0)
276
  {
279
  }
280
  //Save the passed in opts to the object's option array
281
  $this->opt = $opts;
282
+ //End with resetting up the options
283
+ breadcrumb_navxt::setup_options($this->opt);
284
  }
285
  function opts_update_prebk(&$opts)
286
  {
287
+ //Add any new custom post types, or taxonomies
288
+ breadcrumb_navxt::setup_options($opts);
289
+ $opts = apply_filters('bcn_opts_update_prebk', $opts);
 
290
  }
291
  /**
292
  * help action hook function
includes/mtekk_adminkit_tabs.css CHANGED
@@ -1,4 +1,4 @@
1
- #hasadmintabs ul.ui-tabs-nav{border-bottom:1px solid #ccc; font-size:12px; height:27px; list-style-image:none; list-style-position:outside; list-style-type:none; margin:14px 0 0; overflow:visible;padding:0 0 0 6px;}
2
  #hasadmintabs ul.ui-tabs-nav li{display:block; float:left; line-height:200%; list-style-image:none; list-style-position:outside; list-style-type:none; margin:0; padding:0; position:relative; text-align:center; white-space:nowrap; width:auto;}
3
  #hasadmintabs ul.ui-tabs-nav li a{border-bottom:1px solid #ccc; display:block; color:#464646; float:left; line-height:25px; padding:1px 13px 0; position:relative; text-decoration:none;margin:0 4px 0 0;}
4
  #hasadmintabs ul.ui-tabs-nav li.ui-tabs-active a{background:none;border:1px solid #ccc; border-bottom-color:#f1f1f1; height: 25px; color:#464646; font-weight:normal; padding:1px 13px 0;color:#000;}
1
+ #hasadmintabs ul.ui-tabs-nav{float: left; width: 100%; border-bottom:1px solid #ccc; font-size:12px; height:27px; list-style-image:none; list-style-position:outside; list-style-type:none; margin:14px 0 0; overflow:visible;padding:0 0 0 6px;}
2
  #hasadmintabs ul.ui-tabs-nav li{display:block; float:left; line-height:200%; list-style-image:none; list-style-position:outside; list-style-type:none; margin:0; padding:0; position:relative; text-align:center; white-space:nowrap; width:auto;}
3
  #hasadmintabs ul.ui-tabs-nav li a{border-bottom:1px solid #ccc; display:block; color:#464646; float:left; line-height:25px; padding:1px 13px 0; position:relative; text-decoration:none;margin:0 4px 0 0;}
4
  #hasadmintabs ul.ui-tabs-nav li.ui-tabs-active a{background:none;border:1px solid #ccc; border-bottom-color:#f1f1f1; height: 25px; color:#464646; font-weight:normal; padding:1px 13px 0;color:#000;}
includes/mtekk_adminkit_tabs.min.css CHANGED
@@ -1 +1 @@
1
- #hasadmintabs ul.ui-tabs-nav{border-bottom:1px solid #ccc;font-size:12px;height:27px;list-style-image:none;list-style-position:outside;list-style-type:none;margin:14px 0 0;overflow:visible;padding:0 0 0 6px}#hasadmintabs ul.ui-tabs-nav li{display:block;float:left;line-height:200%;list-style-image:none;list-style-position:outside;list-style-type:none;margin:0;padding:0;position:relative;text-align:center;white-space:nowrap;width:auto}#hasadmintabs ul.ui-tabs-nav li a{border-bottom:1px solid #ccc;display:block;color:#464646;float:left;line-height:25px;padding:1px 13px 0;position:relative;text-decoration:none;margin:0 4px 0 0}#hasadmintabs ul.ui-tabs-nav li.ui-tabs-active a{background:0;border:1px solid #ccc;border-bottom-color:#f1f1f1;height:25px;color:#464646;font-weight:normal;padding:1px 13px 0;color:#000}#hasadmintabs ul.ui-tabs-nav li.ui-tabs-active a:hover,#hasadmintabs ul.ui-tabs-nav a:hover{outline-color:-moz-use-text-color;outline-style:none;outline-width:medium}#hasadmintabs ul.ui-tabs-nav li a:focus,#hasadmintabs ul.ui-tabs-nav li a:active{outline:0}#hasadmintabs ul.ui-tabs-nav span{font-size:12px;font-weight:bolder}#screen-options-wrap p.submit{margin:0;padding:0}
1
+ #hasadmintabs ul.ui-tabs-nav{float:left;width:100%;border-bottom:1px solid #ccc;font-size:12px;height:27px;list-style-image:none;list-style-position:outside;list-style-type:none;margin:14px 0 0;overflow:visible;padding:0 0 0 6px}#hasadmintabs ul.ui-tabs-nav li{display:block;float:left;line-height:200%;list-style-image:none;list-style-position:outside;list-style-type:none;margin:0;padding:0;position:relative;text-align:center;white-space:nowrap;width:auto}#hasadmintabs ul.ui-tabs-nav li a{border-bottom:1px solid #ccc;display:block;color:#464646;float:left;line-height:25px;padding:1px 13px 0;position:relative;text-decoration:none;margin:0 4px 0 0}#hasadmintabs ul.ui-tabs-nav li.ui-tabs-active a{background:0;border:1px solid #ccc;border-bottom-color:#f1f1f1;height:25px;color:#464646;font-weight:normal;padding:1px 13px 0;color:#000}#hasadmintabs ul.ui-tabs-nav li.ui-tabs-active a:hover,#hasadmintabs ul.ui-tabs-nav a:hover{outline-color:-moz-use-text-color;outline-style:none;outline-width:medium}#hasadmintabs ul.ui-tabs-nav li a:focus,#hasadmintabs ul.ui-tabs-nav li a:active{outline:0}#hasadmintabs ul.ui-tabs-nav span{font-size:12px;font-weight:bolder}#screen-options-wrap p.submit{margin:0;padding:0}
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=FD5XE
4
  Tags: breadcrumb, breadcrumbs, trail, navigation, menu, widget
5
  Requires at least: 4.0
6
  Tested up to: 4.4
7
- Stable tag: 5.3.0
8
  License: GPLv2 or later
9
  Adds breadcrumb navigation showing the visitor's path to their current location.
10
 
@@ -51,6 +51,13 @@ Please visit [Breadcrumb NavXT's Documentation](http://mtekk.us/code/breadcrumb-
51
 
52
  == Changelog ==
53
 
 
 
 
 
 
 
 
54
  = 5.3.0 =
55
  Release date: November 12th, 2015
56
 
@@ -69,6 +76,7 @@ Release date: November 12th, 2015
69
  * New feature: Taxonomy archives restricted by CPT are now supported.
70
  * Bug fix: Fixed issue where the multibyte supplicant functions were not always being included due to WordPress shipping with its own subset of theses functions.
71
  * Bug fix: Fixed issue where on an archive for a post type the archive breadcrumb would appear twice.
 
72
  = 5.2.2 =
73
  Release date: June 1st, 2015
74
 
4
  Tags: breadcrumb, breadcrumbs, trail, navigation, menu, widget
5
  Requires at least: 4.0
6
  Tested up to: 4.4
7
+ Stable tag: 5.3.1
8
  License: GPLv2 or later
9
  Adds breadcrumb navigation showing the visitor's path to their current location.
10
 
51
 
52
  == Changelog ==
53
 
54
+ = 5.3.1 =
55
+ Release date: December 14th, 2015
56
+
57
+ * Bug fix: Fixed alignment issue of the main content of the settings page on WordPress 4.4.
58
+ * Bug fix: Fixed error caused by options upgrading not re-establishing new settings.
59
+ * Bug fix: Fixed PHP error caused by `bcn_breadcrumb_trail::get_type_string_query_var()` returning an array when the post_type query variable is an array.
60
+
61
  = 5.3.0 =
62
  Release date: November 12th, 2015
63
 
76
  * New feature: Taxonomy archives restricted by CPT are now supported.
77
  * Bug fix: Fixed issue where the multibyte supplicant functions were not always being included due to WordPress shipping with its own subset of theses functions.
78
  * Bug fix: Fixed issue where on an archive for a post type the archive breadcrumb would appear twice.
79
+
80
  = 5.2.2 =
81
  Release date: June 1st, 2015
82