# HG changeset patch
# User Dan
# Date 1205269760 14400
# Node ID a85af9c2835549165bef25ec688ac39578096743
# Parent ecb6364907025da44dca35463554ae16838b41f6
Fixed some display issues with breadcrumbs (thanks Manoj)
diff -r ecb636490702 -r a85af9c28355 includes/pageprocess.php
--- a/includes/pageprocess.php Sat Mar 08 19:39:43 2008 -0500
+++ b/includes/pageprocess.php Tue Mar 11 17:09:20 2008 -0400
@@ -1846,47 +1846,32 @@
';
if ( $show_home )
{
- if ( count($breadcrumb_data) > 1 )
+ // Display the "home" link first.
+ $pathskey = $paths->nslist[ $this->namespace ] . $this->page_id;
+ if ( $pathskey !== getConfig('main_page') )
+ echo '';
+ echo $lang->get('onpage_btn_breadcrumbs_home');
+ if ( $pathskey !== getConfig('main_page') )
+ echo '';
+ }
+ foreach ( $breadcrumb_data as $i => $crumb )
+ {
+ $cumulative = implode('/', array_slice($breadcrumb_data, 0, ( $i + 1 )));
+ if ( $show_home && $cumulative === getConfig('main_page') )
+ continue;
+ if ( $show_home || $i > 0 )
+ echo ' » ';
+ $title = ( isPage($cumulative) ) ? get_page_title($cumulative) : get_page_title($crumb);
+ if ( $i + 1 == count($breadcrumb_data) )
{
- echo '' . $lang->get('onpage_btn_breadcrumbs_home') . ' »';
+ echo htmlspecialchars($title);
}
else
{
- echo $lang->get('onpage_btn_breadcrumbs_home');
+ $exists = ( isPage($cumulative) ) ? '' : ' class="wikilink-nonexistent"';
+ echo '' . htmlspecialchars($title) . '';
}
}
- foreach ( $breadcrumb_data as $i => $higherpage )
- {
- $higherpage = $paths->nslist[$this->namespace] . sanitize_page_id(implode('/', array_slice($breadcrumb_data, 0, ($i+1))));
- if ( $higherpage === getConfig('main_page') )
- continue;
- if ( ($i + 1) == count($breadcrumb_data) )
- {
- $title = ( $higherpage === getConfig('main_page') ) ? $lang->get('onpage_btn_breadcrumbs_home') : get_page_title($higherpage, false);
- if ( !$this->page_exists )
- {
- $title = explode('/', $title);
- $title = array_reverse($title);
- $title = $title[0];
- }
- echo htmlspecialchars($title);
- break;
- }
- else if ( isPage($higherpage) )
- {
- $title = get_page_title($higherpage, false);
- echo '' . htmlspecialchars($title) . '';
- }
- else
- {
- $title = get_page_title($higherpage, false);
- $title = explode('/', $title);
- $title = array_reverse($title);
- $title = $title[0];
- echo '' . htmlspecialchars($title) . '';
- }
- echo ' » ';
- }
echo '
';