Breadcrumb NavXT - Version 2.1.1

Version Description

Download this release

Release Info

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

Code changes from version 2.1.0 to 2.1.1

breadcrumb_navxt_admin.php CHANGED
@@ -3,11 +3,11 @@
3
  Plugin Name: Breadcrumb NavXT - Adminstration Interface
4
  Plugin URI: http://mtekk.weblogs.us/code/breadcrumb-navxt/
5
  Description: Adds a breadcrumb navigation showing the visitor&#39;s path to their current location. This enables the administrative interface for specifying the output of the breadcrumb. For details on how to use this plugin visit <a href="http://mtekk.weblogs.us/code/breadcrumb-navxt/">Breadcrumb NavXT</a>.
6
- Version: 2.1.0
7
  Author: John Havlik
8
  Author URI: http://mtekk.weblogs.us/
9
  */
10
- $bcn_admin_version = "2.1.0";
11
  $bcn_admin_req = 8;
12
  //Include the breadcrumb class if needed
13
  if(!class_exists('bcn_breadcrumb'))
@@ -16,7 +16,11 @@ if(!class_exists('bcn_breadcrumb'))
16
  }
17
  //Include the supplemental functions
18
  require(dirname(__FILE__) . '/breadcrumb_navxt_api.php');
19
- //Security function
 
 
 
 
20
  function bcn_security()
21
  {
22
  global $userdata, $bcn_admin_req, $bcn_version, $wp_version;
@@ -54,7 +58,11 @@ function bcn_security()
54
  die();
55
  }
56
  }
57
- //Install script
 
 
 
 
58
  function bcn_install()
59
  {
60
  global $bcn_admin_req, $bcn_version;
@@ -107,12 +115,21 @@ function bcn_install()
107
  update_option('bcn_singleblogpost_tag_suffix', '');
108
  }
109
  }
110
- //An alias of bcn_display()
 
 
 
 
111
  function breadcrumb_nav_xt_display()
112
  {
113
  bcn_display();
114
  }
115
- //Display a breadcrumb, only used if admin interface is used
 
 
 
 
 
116
  function bcn_display()
117
  {
118
  //Playing things really safe here
@@ -169,7 +186,11 @@ function bcn_display()
169
  $breadcrumb->display();
170
  }
171
  }
172
- //Sets the settings
 
 
 
 
173
  function bcn_admin_options()
174
  {
175
  global $wpdb, $bcn_admin_req;
@@ -227,7 +248,11 @@ function bcn_add_page()
227
  global $bcn_admin_req;
228
  add_options_page('Breadcrumb NavXT Settings', 'Breadcrumb NavXT', $bcn_admin_req, 'breadcrumb-nav-xt', 'bcn_admin');
229
  }
230
- //The actual administrative interface
 
 
 
 
231
  function bcn_admin()
232
  {
233
  global $bcn_admin_req, $bcn_admin_version, $bcn_version;
@@ -650,7 +675,7 @@ function bcn_admin()
650
  * @param (string) optionname name of wordpress options store
651
  * @param (array) options array of options
652
  */
653
- function bcn_select_options($optionname, array $options)
654
  {
655
  $value = get_option($optionname);
656
 
@@ -663,7 +688,6 @@ function bcn_select_options($optionname, array $options)
663
  printf('<option>%s</option>', $option);
664
  }
665
  }
666
-
667
  }
668
  /**
669
  * bcn_select_options_truefalse
3
  Plugin Name: Breadcrumb NavXT - Adminstration Interface
4
  Plugin URI: http://mtekk.weblogs.us/code/breadcrumb-navxt/
5
  Description: Adds a breadcrumb navigation showing the visitor&#39;s path to their current location. This enables the administrative interface for specifying the output of the breadcrumb. For details on how to use this plugin visit <a href="http://mtekk.weblogs.us/code/breadcrumb-navxt/">Breadcrumb NavXT</a>.
6
+ Version: 2.1.1
7
  Author: John Havlik
8
  Author URI: http://mtekk.weblogs.us/
9
  */
10
+ $bcn_admin_version = "2.1.1";
11
  $bcn_admin_req = 8;
12
  //Include the breadcrumb class if needed
13
  if(!class_exists('bcn_breadcrumb'))
16
  }
17
  //Include the supplemental functions
18
  require(dirname(__FILE__) . '/breadcrumb_navxt_api.php');
19
+ /**
20
+ * bcn_security
21
+ *
22
+ * Makes sure the user has the proper permissions. Dies on failure.
23
+ */
24
  function bcn_security()
25
  {
26
  global $userdata, $bcn_admin_req, $bcn_version, $wp_version;
58
  die();
59
  }
60
  }
61
+ /**
62
+ * bcn_install
63
+ *
64
+ * Initilizes the administrative interface options if it is a new install, or an upgrade from an incompatible version
65
+ */
66
  function bcn_install()
67
  {
68
  global $bcn_admin_req, $bcn_version;
115
  update_option('bcn_singleblogpost_tag_suffix', '');
116
  }
117
  }
118
+ /**
119
+ * breadcrumb_nav_xt_display
120
+ *
121
+ * An alias of bcn_display, exists for legacy compatibility. Use bcn_display instead of this.
122
+ */
123
  function breadcrumb_nav_xt_display()
124
  {
125
  bcn_display();
126
  }
127
+ /**
128
+ * bcn_display
129
+ *
130
+ * Creates a bcn_breadcrumb object, sets the options per user specification in the
131
+ * administration interface and outputs the breadcrumb
132
+ */
133
  function bcn_display()
134
  {
135
  //Playing things really safe here
186
  $breadcrumb->display();
187
  }
188
  }
189
+ /**
190
+ * bcn_admin_options
191
+ *
192
+ * Grabs and cleans updates to the settings from the administrative interface
193
+ */
194
  function bcn_admin_options()
195
  {
196
  global $wpdb, $bcn_admin_req;
248
  global $bcn_admin_req;
249
  add_options_page('Breadcrumb NavXT Settings', 'Breadcrumb NavXT', $bcn_admin_req, 'breadcrumb-nav-xt', 'bcn_admin');
250
  }
251
+ /**
252
+ * bcn_admin
253
+ *
254
+ * The actual administration interface
255
+ */
256
  function bcn_admin()
257
  {
258
  global $bcn_admin_req, $bcn_admin_version, $bcn_version;
675
  * @param (string) optionname name of wordpress options store
676
  * @param (array) options array of options
677
  */
678
+ function bcn_select_options($optionname, $options)
679
  {
680
  $value = get_option($optionname);
681
 
688
  printf('<option>%s</option>', $option);
689
  }
690
  }
 
691
  }
692
  /**
693
  * bcn_select_options_truefalse
breadcrumb_navxt_api.php CHANGED
@@ -91,7 +91,11 @@ function bcn_get($varname)
91
  //Return unslashed value
92
  return $bcn_value;
93
  }
94
- //WordPress localization stuff
 
 
 
 
95
  function bcn_local()
96
  {
97
  //Load breadcrumb-navxt translation
91
  //Return unslashed value
92
  return $bcn_value;
93
  }
94
+ /**
95
+ * bcn_local
96
+ *
97
+ * Initilizes localization domain
98
+ */
99
  function bcn_local()
100
  {
101
  //Load breadcrumb-navxt translation
breadcrumb_navxt_class.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Breadcrumb NavXT - Core
4
  Plugin URI: http://mtekk.weblogs.us/code/breadcrumb-navxt/
5
  Description: Adds a breadcrumb navigation showing the visitor&#39;s path to their current location. This plug-in provides direct access to the bcn_breadcrumb class without using the administrative interface. For details on how to use this plugin visit <a href="http://mtekk.weblogs.us/code/breadcrumb-navxt/">Breadcrumb NavXT</a>.
6
- Version: 2.1.0
7
  Author: John Havlik
8
  Author URI: http://mtekk.weblogs.us/
9
  */
@@ -23,7 +23,7 @@ Author URI: http://mtekk.weblogs.us/
23
  along with this program; if not, write to the Free Software
24
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25
  */
26
- $bcn_version = "2.1.0";
27
  //The main class
28
  class bcn_breadcrumb
29
  {
@@ -166,7 +166,7 @@ class bcn_breadcrumb
166
  //If it's paged, we'll want to link it to the first page
167
  else if(is_paged() && $this->opt['paged_display'] === 'true')
168
  {
169
- $this->breadcrumb['title'] = '<a title="' . $this->opt['urltitle_prefix'] . $this->opt['title_blog'] . $this->opt['urltitle_suffix'] . '" href="' . get_option('home') . '" >' . $this->opt['title_blog'] . '</a>';
170
  }
171
  //Non-static front page, if link current item is off
172
  else if($this->opt['link_current_item'] === 'false')
@@ -175,7 +175,35 @@ class bcn_breadcrumb
175
  }
176
  else
177
  {
178
- $this->breadcrumb['title'] = '<a title="' . $this->opt['current_item_urltitle'] . '" href="' . get_option('home') . '" >' . $this->opt['title_blog'] . '</a>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
179
  }
180
  }
181
  //Handle search pages
@@ -402,48 +430,48 @@ class bcn_breadcrumb
402
  //If the date format is US style
403
  if($this->opt['archive_date_format'] == 'US')
404
  {
405
- $this->breadcrumb['last']['prefix'] = $this->opt['archive_date_prefix'];
406
- $this->breadcrumb['last']['item'] = '<a title="Browse to the ' .
407
- get_the_time('F') . ' ' . get_the_time('Y') . ' archive" href="' .
408
- get_year_link(get_the_time('Y')) . get_the_time('m') . '">' .
409
- get_the_time('F') . '</a>' . ' ' . get_the_time('jS') . ', ' .
410
- ' <a title="Browse to the ' . get_the_time('Y') . ' archive" href="' .
411
- get_year_link(get_the_time('Y')) . '">' . get_the_time('Y') . '</a>';
412
- $this->breadcrumb['last']['suffix'] = $this->opt['archive_date_suffix'];
413
  }
414
  //If the date format is ISO style
415
  else if($this->opt['archive_date_format'] == 'ISO')
416
  {
417
- $this->breadcrumb['last']['prefix'] = $this->opt['archive_date_prefix'];
418
- $this->breadcrumb['last']['item'] = ' <a title="Browse to the ' .
419
- get_the_time('Y') . ' archive" href="' . get_year_link(get_the_time('Y')) .
420
- '">' . get_the_time('Y') . '</a> <a title="Browse to the ' .
421
- get_the_time('F') . ' ' . get_the_time('Y') . ' archive" href="' .
422
- get_year_link(get_the_time('Y')) . get_the_time('m') . '">' .
423
- get_the_time('F') . '</a>' . ' ' . get_the_time('d');
424
  $this->breadcrumb['last']['suffix'] = $this->opt['archive_date_suffix'];
425
  }
426
  //If the date format is European style
427
  else
428
  {
429
  $this->breadcrumb['last']['prefix'] = $this->opt['archive_date_prefix'];
430
- $this->breadcrumb['last']['item'] = get_the_time('d') . ' ' .
431
- '<a title="Browse to the ' . get_the_time('F') . ' ' . get_the_time('Y') .
432
- ' archive" href="' . get_year_link(get_the_time('Y')) . get_the_time('m') .
433
- '">' . get_the_time('F') . '</a>' . ' <a title="Browse to the ' .
434
- get_the_time('Y') . ' archive" href="' . get_year_link(get_the_time('Y')) .
435
- '">' . get_the_time('Y') . '</a>';
436
- $this->breadcrumb['last']['suffix'] = $this->opt['archive_date_suffix'];
437
  }
438
  }
439
  //If it's archives by month
440
  else if(is_month())
441
  {
442
  $this->breadcrumb['last']['prefix'] = $this->opt['archive_date_prefix'];
443
- $this->breadcrumb['last']['item'] = get_the_time('F') . ' ' . '<a title="Browse to the ' .
 
444
  get_the_time('Y') . ' archive" href="' . get_year_link(get_the_time('Y')) . '">' .
445
- get_the_time('Y') . '</a>';
446
- $this->breadcrumb['last']['suffix'] = $this->opt['archive_date_suffix'];
447
  }
448
  //If it's archives by year
449
  else if(is_year())
@@ -490,31 +518,7 @@ class bcn_breadcrumb
490
  //Otherwise we dosomething slightly different
491
  else
492
  {
493
- if($this->opt['static_frontpage'] === 'true')
494
- {
495
- //Single posts, archives of all types, and the author pages are descendents of "blog"
496
- if(is_single() || is_archive() || is_author() || (is_home() && $this->opt['link_current_item'] === 'true'))
497
- {
498
- $this->breadcrumb['title'] = array();
499
- $this->breadcrumb['title'][] = '<a title="' . $this->opt['urltitle_prefix'] . $this->opt['title_blog'] . $this->opt['urltitle_suffix'] . '" href="' . $this->opt['url_home'] . '">' . $this->opt['title_home'] . '</a>';
500
- $this->breadcrumb['title'][] = '<a title="' . $this->opt['urltitle_prefix'] . $this->opt['title_blog'] . $this->opt['urltitle_suffix'] . '" href="' . $this->opt['url_home'] . $this->opt['url_blog'] . '" >' . $this->opt['title_blog'] . '</a>';
501
- }
502
- //If its on the blog page but we don't link current
503
- else if(is_home())
504
- {
505
- $this->breadcrumb['title'] = array();
506
- $this->breadcrumb['title'][] = '<a title="' . $this->opt['urltitle_prefix'] . $this->opt['title_blog'] . $this->opt['urltitle_suffix'] . '" href="' . $this->opt['url_home'] . '">' . $this->opt['title_home'] . '</a>';
507
- $this->breadcrumb['title'][] = $this->opt['title_blog'];
508
- }
509
- else
510
- {
511
- $this->breadcrumb['title'] = '<a title="' . $this->opt['urltitle_prefix'] . $this->opt['title_blog'] . $this->opt['urltitle_suffix'] . '" href="' . $this->opt['url_home'] . '">' . $this->opt['title_home'] . '</a>';
512
- }
513
- }
514
- else
515
- {
516
- $this->breadcrumb['title'] = '<a title="' . $this->opt['urltitle_prefix'] . $this->opt['title_blog'] . $this->opt['urltitle_suffix'] . '" href="' . get_option('home') . '" >' . $this->opt['title_blog'] . '</a>';
517
- }
518
  }
519
  //For searches
520
  if(is_search())
@@ -612,7 +616,7 @@ class bcn_breadcrumb
612
  {
613
  if($this->opt['link_current_item'] === 'true')
614
  {
615
- $this->breadcrumb['last']['item'] = '<a title="' . $this->opt['current_item_urltitle'] . '" href="' . $_SERVER['REQUEST_URI'] . '">' . $this->breadcrumb['last']['item'] . '</a>';
616
  }
617
  $bcn_output .= $this->opt['separator'] . $this->opt['current_item_style_prefix'] . $this->breadcrumb['last']['prefix'] . $this->breadcrumb['last']['item'] . $this->breadcrumb['last']['suffix'] . $this->opt['current_item_style_suffix'];
618
  }
3
  Plugin Name: Breadcrumb NavXT - Core
4
  Plugin URI: http://mtekk.weblogs.us/code/breadcrumb-navxt/
5
  Description: Adds a breadcrumb navigation showing the visitor&#39;s path to their current location. This plug-in provides direct access to the bcn_breadcrumb class without using the administrative interface. For details on how to use this plugin visit <a href="http://mtekk.weblogs.us/code/breadcrumb-navxt/">Breadcrumb NavXT</a>.
6
+ Version: 2.1.1
7
  Author: John Havlik
8
  Author URI: http://mtekk.weblogs.us/
9
  */
23
  along with this program; if not, write to the Free Software
24
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25
  */
26
+ $bcn_version = "2.1.1";
27
  //The main class
28
  class bcn_breadcrumb
29
  {
166
  //If it's paged, we'll want to link it to the first page
167
  else if(is_paged() && $this->opt['paged_display'] === 'true')
168
  {
169
+ $this->breadcrumb['title'] = '<a title="' . $this->opt['urltitle_prefix'] . $this->opt['title_blog'] . $this->opt['urltitle_suffix'] . '" href="' . get_option('home') . '">' . $this->opt['title_blog'] . '</a>';
170
  }
171
  //Non-static front page, if link current item is off
172
  else if($this->opt['link_current_item'] === 'false')
175
  }
176
  else
177
  {
178
+ $this->breadcrumb['title'] = '<a title="' . $this->opt['current_item_urltitle'] . '" href="' . get_option('home') . '">' . $this->opt['title_blog'] . '</a>';
179
+ }
180
+ }
181
+ function do_title()
182
+ {
183
+ if($this->opt['static_frontpage'] === 'true')
184
+ {
185
+ //Single posts, archives of all types, and the author pages are descendents of "blog"
186
+ if(is_single() || is_archive() || is_author() || (is_home() && $this->opt['link_current_item'] === 'true'))
187
+ {
188
+ $this->breadcrumb['title'] = array();
189
+ $this->breadcrumb['title'][] = '<a title="' . $this->opt['urltitle_prefix'] . $this->opt['title_blog'] . $this->opt['urltitle_suffix'] . '" href="' . $this->opt['url_home'] . '">' . $this->opt['title_home'] . '</a>';
190
+ $this->breadcrumb['title'][] = '<a title="' . $this->opt['urltitle_prefix'] . $this->opt['title_blog'] . $this->opt['urltitle_suffix'] . '" href="' . $this->opt['url_home'] . $this->opt['url_blog'] . '">' . $this->opt['title_blog'] . '</a>';
191
+ }
192
+ //If its on the blog page but we don't link current
193
+ else if(is_home())
194
+ {
195
+ $this->breadcrumb['title'] = array();
196
+ $this->breadcrumb['title'][] = '<a title="' . $this->opt['urltitle_prefix'] . $this->opt['title_blog'] . $this->opt['urltitle_suffix'] . '" href="' . $this->opt['url_home'] . '">' . $this->opt['title_home'] . '</a>';
197
+ $this->breadcrumb['title'][] = $this->opt['title_blog'];
198
+ }
199
+ else
200
+ {
201
+ $this->breadcrumb['title'] = '<a title="' . $this->opt['urltitle_prefix'] . $this->opt['title_blog'] . $this->opt['urltitle_suffix'] . '" href="' . $this->opt['url_home'] . '">' . $this->opt['title_home'] . '</a>';
202
+ }
203
+ }
204
+ else
205
+ {
206
+ $this->breadcrumb['title'] = '<a title="' . $this->opt['urltitle_prefix'] . $this->opt['title_blog'] . $this->opt['urltitle_suffix'] . '" href="' . get_option('home') . '">' . $this->opt['title_blog'] . '</a>';
207
  }
208
  }
209
  //Handle search pages
430
  //If the date format is US style
431
  if($this->opt['archive_date_format'] == 'US')
432
  {
433
+ $this->breadcrumb['last']['prefix'] = $this->opt['archive_date_prefix'] .
434
+ '<a title="Browse to the ' . get_the_time('F') . ' ' . get_the_time('Y') .
435
+ ' archive" href="' . get_year_link(get_the_time('Y')) . get_the_time('m') .
436
+ '">' . get_the_time('F') . '</a>' . ' ';
437
+ $this->breadcrumb['last']['item'] = get_the_time('jS');
438
+ $this->breadcrumb['last']['suffix'] = ', ' . ' <a title="Browse to the ' .
439
+ get_the_time('Y') . ' archive" href="' . get_year_link(get_the_time('Y')) .
440
+ '">' . get_the_time('Y') . '</a>' . $this->opt['archive_date_suffix'];
441
  }
442
  //If the date format is ISO style
443
  else if($this->opt['archive_date_format'] == 'ISO')
444
  {
445
+ $this->breadcrumb['last']['prefix'] = $this->opt['archive_date_prefix'] .
446
+ ' <a title="Browse to the ' . get_the_time('Y') . ' archive" href="' .
447
+ get_year_link(get_the_time('Y')) . '">' . get_the_time('Y') .
448
+ '</a> <a title="Browse to the ' . get_the_time('F') . ' ' . get_the_time('Y') .
449
+ ' archive" href="' . get_year_link(get_the_time('Y')) . get_the_time('m') .
450
+ '">' . get_the_time('F') . '</a>' . ' ';
451
+ $this->breadcrumb['last']['item'] = get_the_time('d');
452
  $this->breadcrumb['last']['suffix'] = $this->opt['archive_date_suffix'];
453
  }
454
  //If the date format is European style
455
  else
456
  {
457
  $this->breadcrumb['last']['prefix'] = $this->opt['archive_date_prefix'];
458
+ $this->breadcrumb['last']['item'] = get_the_time('d');
459
+ $this->breadcrumb['last']['suffix'] = ' ' .'<a title="Browse to the ' .
460
+ get_the_time('F') . ' ' . get_the_time('Y') . ' archive" href="' .
461
+ get_year_link(get_the_time('Y')) . get_the_time('m') . '">' .
462
+ get_the_time('F') . '</a>' . ' <a title="Browse to the ' . get_the_time('Y') .
463
+ ' archive" href="' . get_year_link(get_the_time('Y')) . '">' .
464
+ get_the_time('Y') . '</a>' . $this->opt['archive_date_suffix'];
465
  }
466
  }
467
  //If it's archives by month
468
  else if(is_month())
469
  {
470
  $this->breadcrumb['last']['prefix'] = $this->opt['archive_date_prefix'];
471
+ $this->breadcrumb['last']['item'] = get_the_time('F');
472
+ $this->breadcrumb['last']['suffix'] = ' ' . '<a title="Browse to the ' .
473
  get_the_time('Y') . ' archive" href="' . get_year_link(get_the_time('Y')) . '">' .
474
+ get_the_time('Y') . '</a>' . $this->opt['archive_date_suffix'];
 
475
  }
476
  //If it's archives by year
477
  else if(is_year())
518
  //Otherwise we dosomething slightly different
519
  else
520
  {
521
+ $this->do_title();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
522
  }
523
  //For searches
524
  if(is_search())
616
  {
617
  if($this->opt['link_current_item'] === 'true')
618
  {
619
+ $this->breadcrumb['last']['item'] = '<a title="' . $this->opt['current_item_urltitle'] . '" href="' . get_option('home') . $_SERVER['REQUEST_URI'] . '">' . $this->breadcrumb['last']['item'] . '</a>';
620
  }
621
  $bcn_output .= $this->opt['separator'] . $this->opt['current_item_style_prefix'] . $this->breadcrumb['last']['prefix'] . $this->breadcrumb['last']['item'] . $this->breadcrumb['last']['suffix'] . $this->opt['current_item_style_suffix'];
622
  }
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: mtekk, hakre
3
  Tags: breadcrumb, navigation
4
  Requires at least: 2.5.0
5
  Tested up to: 2.5
6
- Stable tag: 2.1.0
7
 
8
  Adds breadcrumb navigation showing the visitor's path to their current location.
9
 
3
  Tags: breadcrumb, navigation
4
  Requires at least: 2.5.0
5
  Tested up to: 2.5
6
+ Stable tag: 2.1.1
7
 
8
  Adds breadcrumb navigation showing the visitor's path to their current location.
9