Index: admin/blog_del.php
===================================================================
--- admin/blog_del.php	(revision 1288)
+++ admin/blog_del.php	(revision 1332)
@@ -53,6 +53,12 @@
 if (!$core->error->flag())
 {
+	echo dcPage::breadcrumb(
+		array(
+			__('System') => '',
+			__('Blogs') => 'blogs.php',
+			'<span class="page-title">'.__('Delete a blog').'</span>' => ''
+		));
+
 	echo
-	'<h2 class="page-title">'.__('Delete a blog').'</h2>'.
 	'<p class="message">'.__('Warning').'</p>'.
 	'<p>'.sprintf(__('You are about to delete the blog %s. Every entry, comment and category will be deleted.'),
Index: admin/blog_pref.php
===================================================================
--- admin/blog_pref.php	(revision 1306)
+++ admin/blog_pref.php	(revision 1332)
@@ -273,10 +273,18 @@
 if ($blog_id)
 {
-	echo
-	'<h2>'.($standalone ? 
-			html::escapeHTML($blog_name).' &rsaquo; <span class="page-title">'.__('Blog settings').'</span>' :
-			__('System').' &rsaquo; <a href="blogs.php">'.__('Blogs').'</a> &rsaquo; ' .
-			'<span class="page-title">'.__('Blog settings').' : '.html::escapeHTML($blog_name).'</span>'). 
-	'</h2>';
+	if ($standalone) {
+		echo dcPage::breadcrumb(
+			array(
+				html::escapeHTML($blog_name) => '',
+				'<span class="page-title">'.__('Blog settings').'</span>' => ''
+			));
+	} else {
+		echo dcPage::breadcrumb(
+			array(
+				__('System') => '',
+				__('Blogs') => 'blogs.php',
+				'<span class="page-title">'.__('Blog settings').' : '.html::escapeHTML($blog_name).'</span>' => ''
+			));
+	}
 	
 	if (!empty($_GET['add'])) {
Index: admin/blog_theme.php
===================================================================
--- admin/blog_theme.php	(revision 1280)
+++ admin/blog_theme.php	(revision 1332)
@@ -215,6 +215,9 @@
 if (!$theme_conf_mode)
 {
-	echo
-	'<h2>'.html::escapeHTML($core->blog->name).' &rsaquo; <span class="page-title">'.__('Blog appearance').'</span></h2>';
+	echo dcPage::breadcrumb(
+		array(
+			html::escapeHTML($core->blog->name) => '',
+			'<span class="page-title">'.__('Blog appearance').'</span>' => ''
+		));
 	
 	if (!empty($_GET['upd'])) {
@@ -330,7 +333,13 @@
 	$theme_name = $core->themes->moduleInfo($core->blog->settings->system->theme,'name');
 	$core->themes->loadModuleL10Nresources($core->blog->settings->system->theme,$_lang);
+
+	echo dcPage::breadcrumb(
+		array(
+			html::escapeHTML($core->blog->name) => '',
+			__('Blog appearance') => 'blog_theme.php',
+			'<span class="page-title">'.__('Theme configuration').'</span>' => ''
+		));
+
 	echo
-	'<h2>'.html::escapeHTML($core->blog->name).
-	' &rsaquo; <a href="blog_theme.php">'.__('Blog appearance').'</a> &rsaquo; <span class="page-title">'.__('Theme configuration').'<span class="page-title"></h2>'.
 	'<p><a class="back" href="blog_theme.php">'.__('back').'</a></p>';
 	
Index: admin/blogs.php
===================================================================
--- admin/blogs.php	(revision 1305)
+++ admin/blogs.php	(revision 1332)
@@ -79,5 +79,9 @@
 }
 
-echo '<h2>'.__('System').' &rsaquo; <span class="page-title">'.__('List of blogs').'</span></h2>';
+echo dcPage::breadcrumb(
+	array(
+		__('System') => '',
+		'<span class="page-title">'.__('List of blogs').'</span>' => ''
+	));
 
 if (!$core->error->flag())
Index: admin/categories.php
===================================================================
--- admin/categories.php	(revision 1179)
+++ admin/categories.php	(revision 1332)
@@ -89,5 +89,9 @@
 }
 
-echo '<h2>'.html::escapeHTML($core->blog->name).' &rsaquo; <span class="page-title">'.__('Categories').'</span></h2>';
+echo dcPage::breadcrumb(
+	array(
+		html::escapeHTML($core->blog->name) => '',
+		'<span class="page-title">'.__('Categories').'</span>' => ''
+	));
 
 $rs = $core->blog->getCategories(array('post_type'=>'post'));
Index: admin/category.php
===================================================================
--- admin/category.php	(revision 1179)
+++ admin/category.php	(revision 1332)
@@ -167,17 +167,15 @@
 }
 
-echo
-'<h2>'.html::escapeHTML($core->blog->name).' &rsaquo; <a href="categories.php">'.
-__('Categories').'</a> &rsaquo; ';
-
-if ($cat_id)
-{
+$elements = array(
+	html::escapeHTML($core->blog->name) => '',
+	__('Categories') => 'categories.php'
+	);
+if ($cat_id) {
 	while($parents->fetch()) {
-		echo '<a href="category.php?id='.$parents->cat_id.'">'.html::escapeHTML($parents->cat_title).'</a>';
-		echo " &rsaquo; ";
-	}
-}
-
-echo '<span class="page-title">'.$title.'</span></h2>';
+		$elements[html::escapeHTML($parents->cat_title)] = 'category.php?id='.$parents->cat_id;
+	}
+}
+$elements['<span class="page-title">'.$title.'</span>'] = '';
+echo dcPage::breadcrumb($elements);
 
 echo
Index: admin/comment.php
===================================================================
--- admin/comment.php	(revision 1179)
+++ admin/comment.php	(revision 1332)
@@ -184,8 +184,11 @@
 	}
 	
-	echo '<h2>'.html::escapeHTML($core->blog->name).' &rsaquo; <a href="'.
-		$core->getPostAdminURL($post_type,$post_id).'&amp;co=1#c'.$comment_id.'"> '.
-		$post_title.'</a> &rsaquo; <span class="page-title">'.__('Edit comment').'</span></h2>';
-		
+	echo dcPage::breadcrumb(
+		array(
+			html::escapeHTML($core->blog->name) => '',
+			html::escapeHTML($post_title) => $core->getPostAdminURL($post_type,$post_id).'&amp;co=1#c'.$comment_id,
+			'<span class="page-title">'.__('Edit comment').'</span>' => ''
+		));
+
 	echo
 	'<form action="comment.php" method="post" id="comment-form">'.
Index: admin/comments.php
===================================================================
--- admin/comments.php	(revision 1179)
+++ admin/comments.php	(revision 1332)
@@ -171,5 +171,9 @@
 dcPage::open(__('Comments and trackbacks'),$starting_script);
 
-echo '<h2>'.html::escapeHTML($core->blog->name).' &rsaquo; <span class="page-title">'.__('Comments and trackbacks').'</span></h2>';
+echo dcPage::breadcrumb(
+	array(
+		html::escapeHTML($core->blog->name) => '',
+		'<span class="page-title">'.__('Comments and trackbacks').'</span>' => ''
+	));
 
 if (!$core->error->flag())
Index: admin/langs.php
===================================================================
--- admin/langs.php	(revision 1305)
+++ admin/langs.php	(revision 1332)
@@ -132,6 +132,9 @@
 );
 
-echo
-'<h2>'.__('System').' &rsaquo; <span class="page-title">'.__('Languages management').'</span></h2>';
+echo dcPage::breadcrumb(
+	array(
+		__('System') => '',
+		'<span class="page-title">'.__('Languages management').'</span>' => ''
+	));
 
 if (!empty($_GET['removed'])) {
Index: admin/media.php
===================================================================
--- admin/media.php	(revision 1325)
+++ admin/media.php	(revision 1332)
@@ -205,5 +205,10 @@
 	call_user_func($open_f,__('Media manager'));
 	
-	echo '<h2>'.html::escapeHTML($core->blog->name).' &rsaquo; '.__('Media manager').' &rsaquo; <span class="page-title">'.__('confirm removal').'</span></h2>';
+	echo dcPage::breadcrumb(
+		array(
+			html::escapeHTML($core->blog->name) => '',
+			__('Media manager') => '',
+			'<span class="page-title">'.__('confirm removal').'</span>' => ''
+		));
 	
 	echo
@@ -256,13 +261,25 @@
 }
 
-echo '<h2>'.html::escapeHTML($core->blog->name).' &rsaquo; ';
 if (!isset($core->media)) {
-	echo '<span class="page-title">'.__('Media manager').'</span></h2>';
+	echo dcPage::breadcrumb(
+		array(
+			html::escapeHTML($core->blog->name) => '',
+			'<span class="page-title">'.__('Media manager').'</span>' => ''
+		));
 } else {
 	$breadcrumb = $core->media->breadCrumb(html::escapeURL($page_url).'&amp;d=%s','<span class="page-title">%s</span>');
 	if ($breadcrumb == '') {
-		echo '<span class="page-title">'.__('Media manager').'</span></h2>';
+		echo dcPage::breadcrumb(
+			array(
+				html::escapeHTML($core->blog->name) => '',
+				'<span class="page-title">'.__('Media manager').'</span>' => ''
+			));
 	} else {
-		echo '<a href="'.html::escapeURL($page_url.'&d=').'">'.__('Media manager').'</a>'.' / '.$breadcrumb.'</h2>';
+		echo dcPage::breadcrumb(
+			array(
+				html::escapeHTML($core->blog->name) => '',
+				__('Media manager') => html::escapeURL($page_url.'&d='),
+				$breadcrumb => ''
+			));
 	}
 }
Index: admin/media_item.php
===================================================================
--- admin/media_item.php	(revision 1179)
+++ admin/media_item.php	(revision 1332)
@@ -190,7 +190,10 @@
 }
 
-echo '<h2><a href="'.html::escapeURL($media_page_url).'">'.__('Media manager').'</a>'.
-' / '.$core->media->breadCrumb(html::escapeURL($media_page_url).'&amp;d=%s').
-'<span class="page-title">'.$file->basename.'</span></h2>';
+echo dcPage::breadcrumb(
+	array(
+		html::escapeHTML($core->blog->name) => '',
+		__('Media manager') => html::escapeURL($media_page_url),
+		$core->media->breadCrumb(html::escapeURL($media_page_url).'&amp;d=%s').'<span class="page-title">'.$file->basename.'</span>' => ''
+	));
 
 # Insertion popup
Index: admin/plugin.php
===================================================================
--- admin/plugin.php	(revision 1179)
+++ admin/plugin.php	(revision 1332)
@@ -83,6 +83,10 @@
 	call_user_func($open_f,__('Plugin not found'));
 	
-	echo '<h2 class="page-title">'.__('Plugin not found').'</h2>';
-	
+	echo dcPage::breadcrumb(
+		array(
+			__('System') => '',
+			'<span class="page-title">'.__('Plugin not found').'</span>' => ''
+		));
+
 	echo '<p>'.__('The plugin you reached does not exist or does not have an admin page.').'</p>';
 	
Index: admin/plugins.php
===================================================================
--- admin/plugins.php	(revision 1312)
+++ admin/plugins.php	(revision 1332)
@@ -194,6 +194,9 @@
 );
 
-echo
-'<h2>'.__('System').' &rsaquo; <span class="page-title">'.__('Plugins management').'</span></h2>';
+echo dcPage::breadcrumb(
+	array(
+		__('System') => '',
+		'<span class="page-title">'.__('Plugins management').'</span>' => ''
+	));
 
 if (!empty($_GET['removed'])) {
Index: admin/preferences.php
===================================================================
--- admin/preferences.php	(revision 1305)
+++ admin/preferences.php	(revision 1332)
@@ -370,5 +370,9 @@
 }
 
-echo '<h2>'.html::escapeHTML($core->auth->userID()).' &rsaquo; <span class="page-title">'.$page_title.'</span></h2>';
+echo dcPage::breadcrumb(
+	array(
+		html::escapeHTML($core->auth->userID()) => '',
+		'<span class="page-title">'.$page_title.'</span>' => ''
+	));
 
 # User profile
Index: admin/search.php
===================================================================
--- admin/search.php	(revision 1280)
+++ admin/search.php	(revision 1332)
@@ -72,6 +72,11 @@
 dcPage::open(__('Search'),$starting_scripts);
 
+echo dcPage::breadcrumb(
+	array(
+		html::escapeHTML($core->blog->name) => '',
+		'<span class="page-title">'.__('Search').'</span>' => ''
+	));
+
 echo
-'<h2>'.html::escapeHTML($core->blog->name).' &rsaquo; <span class="page-title">'.__('Search').'</span></h2>'.
 '<form action="search.php" method="get">'.
 '<div class="fieldset"><h3>'.__('Search options').'</h3>'.
Index: admin/trackbacks.php
===================================================================
--- admin/trackbacks.php	(revision 1179)
+++ admin/trackbacks.php	(revision 1332)
@@ -95,5 +95,9 @@
 }
 
-echo '<h2>'.html::escapeHTML($core->blog->name).' &rsaquo; <span class="page-title">'.$page_title.'</span></h2>';
+echo dcPage::breadcrumb(
+	array(
+		html::escapeHTML($core->blog->name) => '',
+		'<span class="page-title">'.$page_title.'</span>' => ''
+	));
 
 echo '<p><a class="back" href="'.$core->getPostAdminURL($post->post_type,$id).'">'.
Index: admin/update.php
===================================================================
--- admin/update.php	(revision 1290)
+++ admin/update.php	(revision 1332)
@@ -172,5 +172,9 @@
 
 if (!$core->error->flag()) {
-	echo '<h2>'.__('Dotclear update').'</h2>';
+	echo dcPage::breadcrumb(
+		array(
+			__('System') => '',
+			'<span class="page-title">'.__('Dotclear update').'</span>' => ''
+		));
 }
 
Index: admin/user.php
===================================================================
--- admin/user.php	(revision 1305)
+++ admin/user.php	(revision 1332)
@@ -185,5 +185,10 @@
 }
 
-echo '<h2>'.__('System').' &rsaquo; <a href="users.php">'.__('Users').'</a> &rsaquo; <span class="page-title">'.$page_title.'</span></h2>';
+echo dcPage::breadcrumb(
+	array(
+		__('System') => '',
+		__('Users') => 'users.php',
+		'<span class="page-title">'.$page_title.'</span>' => ''
+	));
 
 if ($user_id == $core->auth->userID()) {
Index: admin/users.php
===================================================================
--- admin/users.php	(revision 1312)
+++ admin/users.php	(revision 1332)
@@ -105,6 +105,11 @@
 	}
 	
-	echo 
-	'<h2>'.__('System').' &rsaquo; <span class="page-title">'.__('Users').'</span></h2>'.
+	echo dcPage::breadcrumb(
+		array(
+			__('System') => '',
+			'<span class="page-title">'.__('Users').'</span>' => ''
+		));
+
+	echo
 	'<p class="top-add"><strong><a class="button add" href="user.php">'.__('Create a new user').'</a></strong></p>';
 	
Index: admin/users_actions.php
===================================================================
--- admin/users_actions.php	(revision 1179)
+++ admin/users_actions.php	(revision 1332)
@@ -177,6 +177,12 @@
 	}
 	
-	echo 
-	'<h2><a href="users.php">'.__('Users').'</a> &rsaquo; <span class="page-title">'.__('Permissions').'</span></h2>'.
+	echo dcPage::breadcrumb(
+		array(
+			__('System') => '',
+			__('Users') => 'users.php',
+			'<span class="page-title">'.__('Permissions').'</span>' => ''
+		));
+
+	echo
 	'<p>'.sprintf(
 		__('Choose one or more blogs to which you want to give permissions to users %s.'),
