Index: plugins/aboutConfig/_admin.php
===================================================================
--- plugins/aboutConfig/_admin.php	(revision 1294)
+++ plugins/aboutConfig/_admin.php	(revision 1315)
@@ -4,5 +4,5 @@
 # This file is part of Dotclear 2.
 #
-# Copyright (c) 2003-2013 Olivier Meunier & Association Dotclear
+# Copyright (c) 2003-2011 Olivier Meunier & Association Dotclear
 # Licensed under the GPL version 2.0 license.
 # See LICENSE file or
@@ -12,6 +12,8 @@
 if (!defined('DC_CONTEXT_ADMIN')) { return; }
 
-$_menu['System']->addItem('about:config','plugin.php?p=aboutConfig','index.php?pf=aboutConfig/icon.png',
+$_menu['Plugins']->addItem('about:config','plugin.php?p=aboutConfig','index.php?pf=aboutConfig/icon.png',
 		preg_match('/plugin.php\?p=aboutConfig(&.*)?$/',$_SERVER['REQUEST_URI']),
 		$core->auth->isSuperAdmin());
+
+$core->tpl->getLoader()->addPath(dirname(__FILE__).'/admtpl/','aboutConfig');
 ?>
Index: plugins/aboutConfig/admtpl/index.html.twig
===================================================================
--- plugins/aboutConfig/admtpl/index.html.twig	(revision 1147)
+++ plugins/aboutConfig/admtpl/index.html.twig	(revision 1147)
@@ -0,0 +1,80 @@
+{% extends "layout.html.twig" %}
+
+{% block header %}
+  {{ parent() }}
+  {{ init_tabs() }}
+  <link rel="stylesheet" href="{{plugin_url}}aboutConfig/style/aboutConfig.css" type="text/css" media="screen" />
+  <script type="text/javascript" src="{{plugin_url}}aboutConfig/js/aboutConfig.js"></script>
+{% endblock %}
+
+{%block content %}
+  {{ parent() }}
+
+  {% tab local('local',__('blog settings')) %}
+    {% if local_settings is not empty %}
+    {% form 'local_nav_form' %}
+	<p class="anchor-nav">{{ form_field('local_nav') }} {{ form_field('local_nav_submit') }}</p>
+    {% endform %}
+    {% endif %}
+
+    {% form 'local_settings_form' %}
+    {% for ns, setting in local_settings %}
+	<table class="settings" id="local_{{ ns }}"><caption>{{ ns }}</caption>
+	<thead>
+	<tr>
+	<th class="nowrap">Setting ID</th>
+	<th>{{__('Value')}}</th>
+	<th>{{__('Type')}}</th>
+	<th class="maximal">{{__('Description')}}</th>
+	</tr>
+	</thead>
+	<tbody>
+    {% for key,value in setting %}
+    {% set fname = 'local_' ~ ns ~ '_' ~ key %}
+	<tr>
+	<td scope="raw"><label for="{{ fname }}">{% if value.global %}<strong>{{ key }}</strong>{% else %}{{ key }}{% endif %}</label></td>
+	<td>{% if value.type == 'boolean' %}{{ form_field(fname) }}{% else %}{{ form_field(fname,{'size':40}) }}{% endif %}</td>
+	<td>{{ value.type }}</td>
+	<td>{{ value.label }}</td>
+	</tr>
+    {% endfor %}
+	</tbody></table>
+    {% endfor %}
+	<p>{{ form_field('local_submit') }}</p>
+    {% endform %}
+  {% endtab %}
+
+  {% tab global('global',__('global settings')) %}
+    {% if global_settings is not empty %}
+    {% form 'global_nav_form' %}
+	<p class="anchor-nav">{{ form_field('global_nav') }} {{ form_field('global_nav_submit') }}</p>
+    {% endform %}
+    {% endif %}
+
+    {% form 'global_settings_form' %}
+    {% for ns, setting in global_settings %}
+	<table class="settings" id="global_{{ ns }}"><caption>{{ ns }}</caption>
+	<thead>
+	<tr>
+	<th class="nowrap">Setting ID</th>
+	<th>{{__('Value')}}</th>
+	<th>{{__('Type')}}</th>
+	<th class="maximal">{{__('Description')}}</th>
+	</tr>
+	</thead><tbody>
+    {% for key,value in setting %}
+    {% set fname = 'global_' ~ ns ~ '_' ~ key %}
+	<tr>
+	<td scope="raw"><label for="{{ fname }}">{{ key }}</label></td>
+	<td>{% if value.type == 'boolean' %}{{ form_field(fname) }}{% else %}{{ form_field(fname,{'size':40}) }}{% endif %}</td>
+	<td>{{ value.type }}</td>
+	<td>{{ value.label }}</td>
+	</tr>
+    {% endfor %}
+	</tbody></table>
+    {% endfor %}
+	<p>{{ form_field('global_submit') }}</p>
+    {% endform %}
+  {% endtab %}
+
+{% endblock %}
Index: plugins/aboutConfig/index.php
===================================================================
--- plugins/aboutConfig/index.php	(revision 1358)
+++ plugins/aboutConfig/index.php	(revision 1414)
@@ -4,5 +4,5 @@
 # This file is part of Dotclear 2.
 #
-# Copyright (c) 2003-2013 Olivier Meunier & Association Dotclear
+# Copyright (c) 2003-2011 Olivier Meunier & Association Dotclear
 # Licensed under the GPL version 2.0 license.
 # See LICENSE file or
@@ -12,230 +12,136 @@
 if (!defined('DC_CONTEXT_ADMIN')) { return; }
 
-# Local navigation
-if (!empty($_POST['gs_nav'])) {
-	http::redirect($p_url.$_POST['gs_nav']);
-	exit;
-}
-if (!empty($_POST['ls_nav'])) {
-	http::redirect($p_url.$_POST['ls_nav']);
-	exit;
-}
-
-# Local settings update
-if (!empty($_POST['s']) && is_array($_POST['s']))
+class adminPageAboutConfig
 {
-	try
+	public static $p_url = 'plugin.php?p=aboutConfig';
+	
+	# Update local settings
+	public static function updLocal($form)
 	{
-		foreach ($_POST['s'] as $ns => $s)
-		{
-			$core->blog->settings->addNamespace($ns);
+		self::updSettings($form);
+	}
+	
+	# Update global settings
+	public static function updGlobal($form)
+	{
+		self::updSettings($form,true);
+	}
+	
+	# Update settings
+	protected static function updSettings($form,$global=false)
+	{
+		global $core,$_ctx;
+		
+		$part = $global ? 'global' : 'local';
+		$prefix = $part.'_';
+		
+		try {
+			foreach ($core->blog->settings->dumpNamespaces() as $ns => $namespace) {
+				$core->blog->settings->addNamespace($ns);
+				$ns_settings = $global ? 
+					$namespace->dumpGlobalSettings() : $namespace->dumpSettings();
+				
+				foreach ($ns_settings as $k => $v) {
+					// need to cast type
+					$f = (string) $form->{$prefix.$ns.'_'.$k};
+					settype($f,$v['type']);
+					
+					$core->blog->settings->$ns->put($k,$f,null,null,true,$global);
+					$form->{$prefix.$ns.'_'.$k} = $f;
+				}
+			}
+			$core->blog->triggerBlog();
 			
-			foreach ($s as $k => $v) 	{
-				$core->blog->settings->$ns->put($k,$v);
-			}
-			
-			$core->blog->triggerBlog();
+			http::redirect(self::$p_url.'&upd=1&part='.$part);
+		}
+		catch (Exception $e) {
+			$_ctx->addError($e->getMessage());
+		}
+	}
+	
+	# Set nav and settings forms
+	public static function setForms($global=false)
+	{
+		global $core, $_ctx;
+		
+		$prefix = $global ? 'global_' : 'local_';
+		$action = $global ? 'updGlobal' : 'updLocal';
+		
+		if (!empty($_POST[$prefix.'nav'])) {
+			http::redirect(self::$p_url.$_POST[$prefix.'nav']);
+			exit;
 		}
 		
-		http::redirect($p_url.'&upd=1');
-	}
-	catch (Exception $e)
-	{
-		$core->error->add($e->getMessage());
+		$nav_form = new dcForm($core,$prefix.'nav_form','plugin.php');
+		$settings_form = new dcForm($core,$prefix.'settings_form','plugin.php');
+		
+		$settings = $combo = array();
+		foreach ($core->blog->settings->dumpNamespaces() as $ns => $namespace) {
+			$ns_settings = $global ? 
+				$namespace->dumpGlobalSettings() : $namespace->dumpSettings();
+			
+			foreach ($ns_settings as $k => $v) {
+				$settings[$ns][$k] = $v;
+			}
+		}
+		
+		ksort($settings);
+		foreach ($settings as $ns => $s) {
+			$combo['#'.$prefix.$ns] = $ns;
+			ksort($s);
+			foreach ($s as $k => $v)	{
+				if ($v['type'] == 'boolean') {
+					$settings_form->addField(
+						new dcFieldCombo($prefix.$ns.'_'.$k,
+							'',array(1 => __('yes'),0 => __('no'))));
+				}
+				else {
+					$settings_form->addField(
+						new dcFieldText($prefix.$ns.'_'.$k,''));
+				}
+				$settings_form->{$prefix.$ns.'_'.$k} = $v['value'];
+			}
+		}
+		
+		$nav_form
+			->addField(
+				new dcFieldCombo($prefix.'nav','',$combo,array(
+					"label" => __('Goto:'))))
+			->addField(
+				new dcFieldSubmit($prefix.'nav_submit',__('OK')))
+			->addField(
+				new dcFieldHidden ('p','aboutConfig'))
+			;
+		
+		$settings_form
+			->addField(
+				new dcFieldSubmit($prefix.'submit',__('Save'),array(
+					'action' => array('adminPageAboutConfig',$action))))
+			->addField(
+				new dcFieldHidden ('p','aboutConfig'))
+			;
+		
+		$_ctx->{$prefix.'settings'} = $settings;
+		
+		$nav_form->setup();
+		$settings_form->setup();
 	}
 }
 
-# Global settings update
-if (!empty($_POST['gs']) && is_array($_POST['gs']))
-{
-	try
-	{
-		foreach ($_POST['gs'] as $ns => $s)
-		{
-			$core->blog->settings->addNamespace($ns);
-			
-			foreach ($s as $k => $v) 	{
-				$core->blog->settings->$ns->put($k,$v,null,null,true,true);
-			}
-			
-			$core->blog->triggerBlog();
-		}
-		
-		http::redirect($p_url.'&upd=1&part=global');
-	}
-	catch (Exception $e)
-	{
-		$core->error->add($e->getMessage());
-	}
+# Local settings forms
+adminPageAboutConfig::setForms();
+
+# Global settings forms
+adminPageAboutConfig::setForms(true);
+
+# Commons
+if (!empty($_GET['upd'])) {
+	$_ctx->setAlert(__('Configuration successfully updated'));
 }
-
-$part = !empty($_GET['part']) && $_GET['part'] == 'global' ? 'global' : 'local';
-
-function settingLine($id,$s,$ns,$field_name,$strong_label)
-{
-	if ($s['type'] == 'boolean') {
-		$field = form::combo(array($field_name.'['.$ns.']['.$id.']',$field_name.'_'.$id),
-		array(__('yes') => 1, __('no') => 0),$s['value'] ? 1 : 0);
-	} else {
-		$field = form::field(array($field_name.'['.$ns.']['.$id.']',$field_name.'_'.$id),40,null,
-		html::escapeHTML($s['value']));
-	}
-	
-	$slabel = $strong_label ? '<strong>%s</strong>' : '%s';
-	
-	return
-	'<tr class="line">'.
-	'<td scope="raw"><label for="s_'.$id.'">'.sprintf($slabel,html::escapeHTML($id)).'</label></td>'.
-	'<td>'.$field.'</td>'.
-	'<td>'.$s['type'].'</td>'.
-	'<td>'.html::escapeHTML($s['label']).'</td>'.
-	'</tr>';
+if (!empty($_GET['upda'])) {
+	$_ctx->setAlert(__('Settings definition successfully updated'));
 }
+$_ctx->default_tab = !empty($_GET['part']) && $_GET['part'] == 'global' ? 'global' : 'local';
+$_ctx->setBreadCrumb('about:config');
+$core->tpl->display('@aboutConfig/index.html.twig');
 ?>
-<html>
-<head>
-  <title>about:config</title>
-  <?php echo dcPage::jsPageTabs($part); ?>
-  <script type="text/javascript">
-	//<![CDATA[
-	$(function() {
-		$("#gs_submit").hide();
-		$("#ls_submit").hide();
-		$("#gs_nav").change(function() {
-			window.location = $("#gs_nav option:selected").val();
-		})
-		$("#ls_nav").change(function() {
-			window.location = $("#ls_nav option:selected").val();
-		})
-	});
-	//]]>
-	</script>
-</head>
-
-<body>
-<?php
-echo dcPage::breadcrumb(
-	array(
-		__('System') => '',
-		html::escapeHTML($core->blog->name) => '',
-		'<span class="page-title">'.__('about:config').'</span>' => ''
-	));
-if (!empty($_GET['upd'])) {
-	dcPage::message(__('Configuration successfully updated'));
-}
-
-if (!empty($_GET['upda'])) {
-	dcPage::message(__('Settings definition successfully updated'));
-}
-?>
-
-<div id="local" class="multi-part" title="<?php echo sprintf(__('Settings for %s'),html::escapeHTML($core->blog->name)); ?>">
-
-
-<?php
-$table_header = '<table class="settings" id="%s"><caption class="as_h3">%s</caption>'.
-'<thead>'.
-'<tr>'."\n".
-'  <th class="nowrap">Setting ID</th>'."\n".
-'  <th>'.__('Value').'</th>'."\n".
-'  <th>'.__('Type').'</th>'."\n".
-'  <th class="maximalx">'.__('Description').'</th>'."\n".
-'</tr>'."\n".
-'</thead>'."\n".
-'<tbody>';
-$table_footer = '</tbody></table>';
-
-$settings = array();
-foreach ($core->blog->settings->dumpNamespaces() as $ns => $namespace) {
-	foreach ($namespace->dumpSettings() as $k => $v) {
-		$settings[$ns][$k] = $v;
-	}
-}
-ksort($settings);
-if (count($settings) > 0) {
-	$ns_combo = array();
-	foreach ($settings as $ns => $s) {
-		$ns_combo[$ns] = '#l_'.$ns;
-	}
-	echo 
-		'<form action="plugin.php" method="post">'.
-		'<p class="anchor-nav">'.
-		'<label for="ls_nav" class="classic">'.__('Goto:').'</label> '.form::combo('ls_nav',$ns_combo).
-		' <input type="submit" value="'.__('Ok').'" id="ls_submit" />'.
-		'<input type="hidden" name="p" value="aboutConfig" />'.
-		$core->formNonce().'</p></form>';
-}
-?>
-
-<form action="plugin.php" method="post">
-
-<?php
-foreach ($settings as $ns => $s)
-{
-	ksort($s);
-	echo sprintf($table_header,'l_'.$ns,$ns);
-	foreach ($s as $k => $v)
-	{
-		echo settingLine($k,$v,$ns,'s',!$v['global']);
-	}
-	echo $table_footer;
-}
-?>
-
-<p><input type="submit" value="<?php echo __('Save'); ?>" />
-<input type="hidden" name="p" value="aboutConfig" />
-<?php echo $core->formNonce(); ?></p>
-</form>
-</div>
-
-<div id="global" class="multi-part" title="<?php echo __('global settings'); ?>">
-
-<?php
-$settings = array();
-
-foreach ($core->blog->settings->dumpNamespaces() as $ns => $namespace) {
-	foreach ($namespace->dumpGlobalSettings() as $k => $v) {
-		$settings[$ns][$k] = $v;
-	}
-}
-
-ksort($settings);
-
-if (count($settings) > 0) {
-	$ns_combo = array();
-	foreach ($settings as $ns => $s) {
-		$ns_combo[$ns] = '#g_'.$ns;
-	}
-	echo 
-		'<form action="plugin.php" method="post">'.
-		'<p class="anchor-nav">'.
-		'<label for="gs_nav" class="classic">'.__('Goto:').'</label> '.form::combo('gs_nav',$ns_combo).
-		' <input type="submit" value="'.__('Ok').'" id="gs_submit" />'.
-		'<input type="hidden" name="p" value="aboutConfig" />'.
-		$core->formNonce().'</p></form>';
-}
-?>
-
-<form action="plugin.php" method="post">
-
-<?php
-foreach ($settings as $ns => $s)
-{
-	ksort($s);
-	echo sprintf($table_header,'g_'.$ns,$ns);
-	foreach ($s as $k => $v)
-	{
-		echo settingLine($k,$v,$ns,'gs',false);
-	}
-	echo $table_footer;
-}
-?>
-
-<p><input type="submit" value="<?php echo __('Save'); ?>" />
-<input type="hidden" name="p" value="aboutConfig" />
-<?php echo $core->formNonce(); ?></p>
-</form>
-</div>
-
-</body>
-</html>
Index: plugins/aboutConfig/js/aboutConfig.js
===================================================================
--- plugins/aboutConfig/js/aboutConfig.js	(revision 1089)
+++ plugins/aboutConfig/js/aboutConfig.js	(revision 1089)
@@ -0,0 +1,10 @@
+$(function() {
+	$("#global_nav_submit").hide();
+	$("#local_nav_submit").hide();
+	$("#global_nav").change(function() {
+		window.location = $("#global_nav option:selected").val();
+	})
+	$("#local_nav").change(function() {
+		window.location = $("#local_nav option:selected").val();
+	})
+});
Index: plugins/aboutConfig/style/aboutConfig.css
===================================================================
--- plugins/aboutConfig/style/aboutConfig.css	(revision 1070)
+++ plugins/aboutConfig/style/aboutConfig.css	(revision 1070)
@@ -0,0 +1,16 @@
+table.settings {
+	border: 1px solid #999;
+	margin-bottom: 2em;
+}
+table.settings th {
+	background: #f5f5f5;
+	color: #444;
+	padding-top: 0.3em;
+	padding-bottom: 0.3em;
+}
+p.anchor-nav {
+	float: right;
+}
+p.anchor-nav label {
+	display: inline;
+}
Index: plugins/antispam/index.php
===================================================================
--- plugins/antispam/index.php	(revision 1358)
+++ plugins/antispam/index.php	(revision 1312)
@@ -123,10 +123,6 @@
 if ($filter_gui !== false)
 {
-	echo dcPage::breadcrumb(
-		array(
-			__('Plugins') => '',
-			$page_name => $p_url,
-			'<span class="page-title">'.sprintf(__('%s filter configuration'),$filter->name).'</span>' => ''
-		));
+	echo '<h2>'.__('Plugins').' &rsaquo; <a href="'.$p_url.'">'.$page_name.'</a>'.
+		' &rsaquo; <span class="page-title">'.sprintf(__('%s configuration'),$filter->name).'</span></h2>';
 
 	echo $filter_gui;
@@ -134,9 +130,5 @@
 else
 {
-	echo dcPage::breadcrumb(
-		array(
-			__('Plugins') => '',
-			'<span class="page-title">'.$page_name.'</span>' => ''
-		));
+	echo '<h2>'.__('Plugins').' &rsaquo; <span class="page-title">'.$page_name.'</span></h2>';
 
 	# Information
@@ -178,5 +170,5 @@
 	# Filters
 	echo
-	'<form action="'.$p_url.'" method="post" id="filters-form">';
+	'<form action="'.$p_url.'" method="post" class="fieldset" id="filters-form">';
 
 	if (!empty($_GET['upd'])) {
@@ -186,5 +178,5 @@
 	echo
 	'<table class="dragable">'.
-	'<caption class="as_h3">'.__('Available spam filters').'</caption>'.
+	'<caption>'.__('Available spam filters').'</caption>'.
 	'<thead><tr>'.
 	'<th>'.__('Order').'</th>'.
Index: plugins/attachments/_admin.php
===================================================================
--- plugins/attachments/_admin.php	(revision 1398)
+++ plugins/attachments/_admin.php	(revision 1179)
@@ -12,16 +12,10 @@
 if (!defined('DC_CONTEXT_ADMIN')) { return; }
 
-$core->addBehavior ('adminPostFormItems',array('attachmentAdmin','adminPostFormItems'));
+$core->addBehavior ('adminPostFormSidebar',array('attachmentAdmin','adminPostFormSidebar'));
 $core->addBehavior ('adminPostAfterForm',array('attachmentAdmin','adminPostAfterForm'));
-$core->addBehavior('adminPostHeaders',array('attachmentAdmin','postHeaders'));
 
 class attachmentAdmin
 {
-	public static function postHeaders()
-	{
-		return 
-		'<script type="text/javascript" src="index.php?pf=attachments/js/post.js"></script>';
-	}
-	public static function adminPostFormItems($main,$sidebar,$post) 
+	public static function adminPostFormSidebar($post) 
 	{
 		if ($post !== null)
@@ -29,5 +23,6 @@
 			$core =& $GLOBALS['core'];
 			$post_media = $core->media->getPostMedia($post->post_id);
-			$item = '<h5 class="clear s-attachments">'.__('Attachments').'</h5>';
+			echo
+			'<h3 class="clear">'.__('Attachments').'</h3>';
 			foreach ($post_media as $f)
 			{
@@ -36,6 +31,6 @@
 					$ftitle = substr($ftitle,0,16).'...';
 				}
-				$item .=
-				'<div class="media-item s-attachments">'.
+				echo
+				'<div class="media-item">'.
 				'<a class="media-icon" href="media_item.php?id='.$f->media_id.'">'.
 				'<img src="'.$f->media_icon.'" alt="" title="'.$f->basename.'" /></a>'.
@@ -58,8 +53,8 @@
 			
 			if (empty($post_media)) {
-				$item .= '<p class="form-note s-attachments">'.__('No attachment.').'</p>';
-			} 
-			$item .= '<p class="s-attachments"><a class="button" href="media.php?post_id='.$post->post_id.'">'.__('Add files to this entry').'</a></p>';
-			$sidebar['metas-box']['items']['attachments']= $item;
+				echo '<p>'.__('No attachment.').'</p>';
+			} else {
+			}
+			echo '<p><a class="button" href="media.php?post_id='.$post->post_id.'">'.__('Add files to this entry').'</a></p>';
 		}
 	}
Index: plugins/attachments/js/post.js
===================================================================
--- plugins/attachments/js/post.js	(revision 1393)
+++ 	(revision )
@@ -1,5 +1,0 @@
-$(function() {
-	$('h5.s-attachments').toggleWithLegend($('.s-attachments').not('h5'),{
-		cookie: 'dcx_attachments'
-	});
-});
Index: plugins/blogroll/edit.php
===================================================================
--- plugins/blogroll/edit.php	(revision 1358)
+++ plugins/blogroll/edit.php	(revision 1179)
@@ -95,12 +95,4 @@
 
 <body>
-<?php
-	echo dcPage::breadcrumb(
-		array(
-			html::escapeHTML($core->blog->name) => '',
-			'<span class="page-title">'.__('Blogroll').'</span>' => $p_url
-		));
-?>
-
 <?php echo '<p><a href="'.$p_url.'">'.__('Return to blogroll').'</a></p>'; ?>
 
Index: plugins/blogroll/index.php
===================================================================
--- plugins/blogroll/index.php	(revision 1358)
+++ plugins/blogroll/index.php	(revision 1179)
@@ -177,11 +177,5 @@
 
 <body>
-<?php
-	echo dcPage::breadcrumb(
-		array(
-			html::escapeHTML($core->blog->name) => '',
-			'<span class="page-title">'.__('Blogroll').'</span>' => ''
-		));
-?>
+<h2><?php echo html::escapeHTML($core->blog->name); ?> &rsaquo; <span class="page-title"><?php echo __('Blogroll'); ?></span></h2>
 
 <?php
Index: plugins/blowupConfig/index.php
===================================================================
--- plugins/blowupConfig/index.php	(revision 1358)
+++ plugins/blowupConfig/index.php	(revision 1179)
@@ -221,12 +221,7 @@
 <body>
 <?php
-echo dcPage::breadcrumb(
-	array(
-		html::escapeHTML($core->blog->name) => '',
-		__('Blog appearance') => 'blog_theme.php',
-		'<span class="page-title">'.__('Blowup configuration').'</span>' => ''
-	));
-
-echo
+echo
+'<h2>'.html::escapeHTML($core->blog->name).
+' &rsaquo; <a href="blog_theme.php">'.__('Blog appearance').'</a> &rsaquo; <span class="page-title">'.__('Blowup configuration').'</span></h2>'.
 '<p><a class="back" href="blog_theme.php">'.__('back').'</a></p>';
 
Index: plugins/daInstaller/index.php
===================================================================
--- plugins/daInstaller/index.php	(revision 1358)
+++ plugins/daInstaller/index.php	(revision 1312)
@@ -255,14 +255,6 @@
 '</head>'.
 '<body>'.
-
-dcPage::breadcrumb(
-	array(
-		__('System') => '',
-		'<span class="page-title">'.__('DotAddict.org Installer').'</span>' => ''
-	)).
-
-infoMessages();
-
-echo
+infoMessages().
+'<h2>'.__('System').' &rsaquo; <span class="page-title">'.__('DotAddict.org Installer').'</span></h2>'.
 '<p>'.__('Install and update your extensions live from DotAddict.org').'</p>';
 
Index: plugins/importExport/index.php
===================================================================
--- plugins/importExport/index.php	(revision 1358)
+++ plugins/importExport/index.php	(revision 1298)
@@ -74,12 +74,7 @@
 
 if ($type && $module !== null) {
-	echo dcPage::breadcrumb(
-		array(
-			__('Plugins') => '',
-			$title => $p_url,
-			'<span class="page-title">'.html::escapeHTML($module->name).'</span>' => ''
-		));
-
 	echo
+	'<h2>'.__('Plugins').' &rsaquo; <a href="'.$p_url.'">'.$title.'</a>'.
+	' &rsaquo; <span class="page-title">'.html::escapeHTML($module->name).'</span></h2>'.
 	'<div id="ie-gui">';
 	
@@ -89,11 +84,6 @@
 }
 else {
-	echo dcPage::breadcrumb(
-		array(
-			__('Plugins') => '',
-			'<span class="page-title">'.$title.'</span>' => ''
-		));
-
 	echo
+	'<h2>'.__('Plugins').' &rsaquo; <span class="page-title">'.$title.'</span></h2>'.
 	'<h3>'.__('Import').'</h3>'.listImportExportModules($core,$modules['import']).
 	'<h3>'.__('Export').'</h3>'.listImportExportModules($core,$modules['export']);
Index: plugins/maintenance/index.php
===================================================================
--- plugins/maintenance/index.php	(revision 1358)
+++ plugins/maintenance/index.php	(revision 1299)
@@ -69,11 +69,5 @@
 
 <body>
-<?php
-	echo dcPage::breadcrumb(
-		array(
-			__('Plugins') => '',
-			'<span class="page-title">'.__('Maintenance').'</span>' => ''
-		));
-?>
+<h2><?php echo __('Plugins').' &rsaquo; <span class="page-title">'.__('Maintenance').'</span></h2>'; ?>
 
 <?php
Index: plugins/pages/list.php
===================================================================
--- plugins/pages/list.php	(revision 1358)
+++ plugins/pages/list.php	(revision 1179)
@@ -177,11 +177,5 @@
 <body>
 <?php
-echo dcPage::breadcrumb(
-	array(
-		html::escapeHTML($core->blog->name) => '',
-		'<span class="page-title">'.__('Pages').'</span>' => ''
-	));
-
-echo
+echo '<h2>'.html::escapeHTML($core->blog->name).' &rsaquo; <span class="page-title">'.__('Pages').'</span></h2>'.
 '<p class="top-add"><a class="button add" href="'.$p_url.'&amp;act=page">'.__('New page').'</a></p>';
 
Index: plugins/pages/page.php
===================================================================
--- plugins/pages/page.php	(revision 1358)
+++ plugins/pages/page.php	(revision 1280)
@@ -315,32 +315,4 @@
 <?php
 
-if ($post_id) {
-	switch ($post_status) {
-		case 1:
-			$img_status = sprintf($img_status_pattern,__('published'),'check-on.png');
-			break;
-		case 0:
-			$img_status = sprintf($img_status_pattern,__('unpublished'),'check-off.png');
-			break;
-		case -1:
-			$img_status = sprintf($img_status_pattern,__('scheduled'),'scheduled.png');
-			break;
-		case -2:
-			$img_status = sprintf($img_status_pattern,__('pending'),'check-wrn.png');
-			break;
-		default:
-			$img_status = '';
-	}
-	$edit_entry_title = '&ldquo;'.$post_title.'&rdquo;'.' '.$img_status;
-} else {
-	$edit_entry_title = $page_title;
-}
-echo dcPage::breadcrumb(
-	array(
-		html::escapeHTML($core->blog->name) => '',
-		__('Pages') => $p_url,
-		'<span class="page-title">'.$edit_entry_title.'</span>' => ''
-	));
-
 if (!empty($_GET['upd'])) {
 	dcPage::message(__('Page has been successfully updated.'));
@@ -366,6 +338,29 @@
 }
 
+echo '<h2>'.html::escapeHTML($core->blog->name).
+' &rsaquo; <a href="'.$p_url.'">'.__('Pages').'</a> &rsaquo; <span class="page-title">'.$page_title; 
+	if ($post_id) {
+		switch ($post_status) {
+			case 1:
+				$img_status = sprintf($img_status_pattern,__('published'),'check-on.png');
+				break;
+			case 0:
+				$img_status = sprintf($img_status_pattern,__('unpublished'),'check-off.png');
+				break;
+			case -1:
+				$img_status = sprintf($img_status_pattern,__('scheduled'),'scheduled.png');
+				break;
+			case -2:
+				$img_status = sprintf($img_status_pattern,__('pending'),'check-wrn.png');
+				break;
+			default:
+				$img_status = '';
+		}
+		echo ' &ldquo;'.$post_title.'&rdquo;'.' '.$img_status;
+	}
+echo	'</span></h2>';
+
 if ($post_id && $post->post_status == 1) {
-	echo '<p><a class="preview_link" href="'.$post->getURL().'" onclick="window.open(this.href);return false;" title="'.$post_title.' ('.__('new window').')'.'">'.__('Go to this page on the site').' <img src="images/outgoing-blue.png" alt="" /></a></p>';
+	echo '<p><a href="'.$post->getURL().'" onclick="window.open(this.href);return false;" title="'.$post_title.' ('.__('new window').')'.'">'.__('Go to this page on the site').' <img src="images/outgoing-blue.png" alt="" /></a></p>';
 }
 
@@ -374,7 +369,7 @@
 if ($post_id)
 {
-	echo '<p class="nav_prevnext">';
+	echo '<p>';
 	if ($prev_link) { echo $prev_link; }
-	if ($next_link && $prev_link) { echo ' | '; }
+	if ($next_link && $prev_link) { echo ' - '; }
 	if ($next_link) { echo $next_link; }
 	
Index: plugins/pings/_admin.php
===================================================================
--- plugins/pings/_admin.php	(revision 1398)
+++ plugins/pings/_admin.php	(revision 1179)
@@ -33,5 +33,5 @@
 
 $core->addBehavior('adminPostHeaders',array('pingsBehaviors','pingJS'));
-$core->addBehavior('adminPostFormItems',array('pingsBehaviors','pingsFormItems'));
+$core->addBehavior('adminPostFormSidebar',array('pingsBehaviors','pingsForm'));
 $core->addBehavior('adminAfterPostCreate',array('pingsBehaviors','doPings'));
 $core->addBehavior('adminAfterPostUpdate',array('pingsBehaviors','doPings'));
Index: plugins/pings/index.php
===================================================================
--- plugins/pings/index.php	(revision 1358)
+++ plugins/pings/index.php	(revision 1179)
@@ -51,10 +51,5 @@
 <body>
 <?php
-
-echo dcPage::breadcrumb(
-	array(
-		__('Plugins') => '',
-		'<span class="page-title">'.__('Pings configuration').'</span>' => ''
-	));
+echo '<h2 class="page-title">'.__('Pings configuration').'</h2>';
 
 if (!empty($_GET['up'])) {
Index: plugins/pings/lib.pings.php
===================================================================
--- plugins/pings/lib.pings.php	(revision 1398)
+++ plugins/pings/lib.pings.php	(revision 1179)
@@ -41,5 +41,5 @@
 	}
 	
-	public static function pingsFormItems($main,$sidebar,$post)
+	public static function pingsForm($post)
 	{
 		$core =& $GLOBALS['core'];
@@ -59,9 +59,9 @@
 		}
 		
-		$item = '<h5 class="ping-services">'.__('Pings').'</h5>';
+		echo '<h3 class="ping-services">'.__('Pings:').'</h3>';
 		$i = 0;
 		foreach ($pings_uris as $k => $v)
 		{
-			$item .=
+			echo
 			'<p class="ping-services"><label for="pings_do-'.$i.'" class="classic">'.
 			form::checkbox(array('pings_do[]','pings_do-'.$i),html::escapeHTML($v),in_array($v,$pings_do)).' '.
@@ -69,6 +69,4 @@
 			$i++;
 		}
-		$sidebar['options-box']['items']['pings']=$item;
-		
 	}
 	
Index: plugins/pings/post.js
===================================================================
--- plugins/pings/post.js	(revision 1365)
+++ plugins/pings/post.js	(revision 0)
@@ -12,5 +12,5 @@
 			$('p.ping-services:last').after(p.append(a));
 		}
-		$('h5.ping-services').toggleWithLegend($('p.ping-services'),{
+		$('h3.ping-services').toggleWithLegend($('p.ping-services'),{
 			cookie: 'dcx_ping_services'
 		});
Index: plugins/simpleMenu/index.php
===================================================================
--- plugins/simpleMenu/index.php	(revision 1358)
+++ plugins/simpleMenu/index.php	(revision 1312)
@@ -368,19 +368,4 @@
 <?php
 
-if ($step) {
-	echo dcPage::breadcrumb(
-		array(
-			html::escapeHTML($core->blog->name) => '',
-			$page_title => $p_url,
-			'<span class="page-title">'.__('Add item').'</span>' => ''
-		));
-} else {
-	echo dcPage::breadcrumb(
-		array(
-			html::escapeHTML($core->blog->name) => '',
-			'<span class="page-title">'.$page_title.'</span>' => ''
-		));
-}
-
 if (!empty($_GET['added'])) {
 	dcPage::message(__('Menu item has been successfully added.'));
@@ -396,7 +381,9 @@
 }
 
-if ($step)
+if ($step) 
 {
 	// Formulaire d'ajout d'un item
+	echo '<h2>'.html::escapeHTML($core->blog->name).' &rsaquo; <a href="'.$p_url.'">'.$page_title.'</a> &rsaquo; <span class="page-title">'.__('Add item').'</span></h2>';
+	
 	switch ($step) {
 		case 1:
@@ -467,4 +454,8 @@
 // Liste des items
 if (!$step) {
+	echo '<h2>'.html::escapeHTML($core->blog->name).' &rsaquo; <span class="page-title">'.$page_title.'</span></h2>';
+}
+
+if (!$step) {
 	echo '<form id="menuitemsappend" action="'.$p_url.'&add=1" method="post">';
 	echo '<p class="top-add">'.$core->formNonce().'<input class="button add" type="submit" name="appendaction" value="'.__('Add an item').'" /></p>';
Index: plugins/tags/_admin.php
===================================================================
--- plugins/tags/_admin.php	(revision 1398)
+++ plugins/tags/_admin.php	(revision 1280)
@@ -18,5 +18,5 @@
 require dirname(__FILE__).'/_widgets.php';
 
-$core->addBehavior('adminPostFormItems',array('tagsBehaviors','tagsField'));
+$core->addBehavior('adminPostFormSidebar',array('tagsBehaviors','tagsField'));
 
 $core->addBehavior('adminAfterPostCreate',array('tagsBehaviors','setTags'));
@@ -71,5 +71,5 @@
 	}
 	
-	public static function tagsField($main,$sidebar,$post)
+	public static function tagsField($post)
 	{
 		$meta =& $GLOBALS['core']->meta;
@@ -80,7 +80,8 @@
 			$value = ($post) ? $meta->getMetaStr($post->post_meta,'tag') : '';
 		}
-		$sidebar['metas-box']['items']['post_tags']=
-		'<h5><label class="s-tags" for="post_tags">'.__('Tags').'</label></h5>'.
-		'<div class="p s-tags" id="tags-edit">'.form::textarea('post_tags',20,3,$value,'maximal').'</div>';
+		
+		echo
+		'<h3><label for="post_tags">'.__('Tags:').'</label></h3>'.
+		'<div class="p" id="tags-edit">'.form::textarea('post_tags',20,3,$value,'maximal').'</div>';
 	}
 	
Index: plugins/tags/_define.php
===================================================================
--- plugins/tags/_define.php	(revision 1392)
+++ plugins/tags/_define.php	(revision 1179)
@@ -18,6 +18,5 @@
 	/* Version */			'1.2',
 	array(
-		'permissions' =>	'usage,contentadmin',
-		'priority' =>		998
+		'permissions' =>	'usage,contentadmin'
 	)
 );
Index: plugins/tags/js/post.js
===================================================================
--- plugins/tags/js/post.js	(revision 1392)
+++ plugins/tags/js/post.js	(revision 1112)
@@ -58,9 +58,4 @@
 		});
 	});
-			
-	$('h5 .s-tags').toggleWithLegend($('.s-tags').not('label'),{
-			cookie: 'post_tags'
-	});
-
 });
 
Index: plugins/tags/tag_posts.php
===================================================================
--- plugins/tags/tag_posts.php	(revision 1358)
+++ plugins/tags/tag_posts.php	(revision 1312)
@@ -109,12 +109,6 @@
 <body>
 
-<?php
-echo dcPage::breadcrumb(
-	array(
-		html::escapeHTML($core->blog->name) => '',
-		__('Tags') => $p_url.'&amp;m=tags',
-		'<span class="page-title">'.__('Tag').' &ldquo;'.html::escapeHTML($tag).'&rdquo;'.'</span>' => ''
-	));
-?>
+<h2><?php echo html::escapeHTML($core->blog->name); ?> &rsaquo;
+<span class="page-title"><?php echo __('Tag').' &ldquo;'.html::escapeHTML($tag).'&rdquo;'; ?></span></h2>
 
 <?php
Index: plugins/tags/tags.php
===================================================================
--- plugins/tags/tags.php	(revision 1358)
+++ plugins/tags/tags.php	(revision 1179)
@@ -20,11 +20,6 @@
 
 <body>
-<?php
-echo dcPage::breadcrumb(
-	array(
-		html::escapeHTML($core->blog->name) => '',
-		'<span class="page-title">'.__('Tags').'</span>' => ''
-	));
-?>
+<h2><?php echo html::escapeHTML($core->blog->name); ?> &rsaquo;
+<span class="page-title"><?php echo __('Tags'); ?></span></h2>
 
 <?php
Index: plugins/themeEditor/_admin.php
===================================================================
--- plugins/themeEditor/_admin.php	(revision 1382)
+++ plugins/themeEditor/_admin.php	(revision 1179)
@@ -26,5 +26,5 @@
 	{
 		if ($id != 'default' && $core->auth->isSuperAdmin()) {
-			return '<p><a href="plugin.php?p=themeEditor" class="button">'.__('Edit theme files').'</a></p>';
+			return '<p><a href="plugin.php?p=themeEditor" class="button">'.__('Theme Editor').'</a></p>';
 		}
 	}
Index: plugins/themeEditor/index.php
===================================================================
--- plugins/themeEditor/index.php	(revision 1382)
+++ plugins/themeEditor/index.php	(revision 1179)
@@ -61,5 +61,5 @@
 <html>
 <head>
-  <title><?php echo __('Edit theme files'); ?></title>
+  <title><?php echo __('Theme Editor'); ?></title>
   <link rel="stylesheet" type="text/css" href="index.php?pf=themeEditor/style.css" />
   <script type="text/javascript">
@@ -86,12 +86,6 @@
 
 <body>
-<?php
-echo dcPage::breadcrumb(
-	array(
-		html::escapeHTML($core->blog->name) => '',
-		__('Blog appearance') => 'blog_theme.php',
-		'<span class="page-title">'.__('Edit theme files').'</span>' => ''
-	));
-?>
+<?php echo '<h2>'.html::escapeHTML($core->blog->name).
+' &rsaquo; <a href="blog_theme.php">'.__('Blog appearance').'</a> &rsaquo; <span class="page-title">'.__('Theme Editor').'</span></h2>'; ?>
 
 <p><strong><?php echo sprintf(__('Your current theme on this blog is "%s".'),html::escapeHTML($T['name'])); ?></strong></p>
Index: plugins/userPref/index.php
===================================================================
--- plugins/userPref/index.php	(revision 1358)
+++ plugins/userPref/index.php	(revision 1312)
@@ -81,5 +81,5 @@
 	
 	return
-	'<tr class="line">'.
+	'<tr>'.
 	'<td scope="raw"><label for="s_'.$id.'">'.sprintf($slabel,html::escapeHTML($id)).'</label></td>'.
 	'<td>'.$field.'</td>'.
@@ -93,4 +93,8 @@
   <title>user:preferences</title>
   <?php echo dcPage::jsPageTabs($part); ?>
+  <style type="text/css">
+	table.prefs { border: 1px solid #999; margin-bottom: 2em; }
+	table.prefs th { background: #f5f5f5; color: #444; padding-top: 0.3em; padding-bottom: 0.3em; }
+  </style>
 	<script type="text/javascript">
 	//<![CDATA[
@@ -111,11 +115,4 @@
 <body>
 <?php
-echo dcPage::breadcrumb(
-	array(
-		__('System') => '',
-		html::escapeHTML($core->auth->userID()) => '',
-		'<span class="page-title">'.__('user:preferences').'</span>' => ''
-	));
-
 if (!empty($_GET['upd'])) {
 	dcPage::message(__('Preferences successfully updated'));
@@ -126,9 +123,10 @@
 }
 ?>
-
-<div id="local" class="multi-part" title="<?php echo __('User preferences'); ?>">
+<h2><?php echo html::escapeHTML($core->auth->userID()); ?> &rsaquo; <span class="page-title">user:preferences</span></h2>
+
+<div id="local" class="multi-part" title="<?php echo __('user preferences'); ?>">
 
 <?php 
-$table_header = '<table class="prefs" id="%s"><caption class="as_h3">%s</caption>'.
+$table_header = '<table class="prefs" id="%s"><caption>%s</caption>'.
 '<thead>'.
 '<tr>'."\n".
@@ -185,5 +183,5 @@
 </div>
 
-<div id="global" class="multi-part" title="<?php echo __('Global preferences'); ?>">
+<div id="global" class="multi-part" title="<?php echo __('global preferences'); ?>">
 
 <?php
Index: plugins/widgets/index.php
===================================================================
--- plugins/widgets/index.php	(revision 1358)
+++ plugins/widgets/index.php	(revision 1179)
@@ -188,9 +188,5 @@
 <body>
 <?php
-echo dcPage::breadcrumb(
-	array(
-		html::escapeHTML($core->blog->name) => '',
-		'<span class="page-title">'.__('Widgets').'</span>' => ''
-	));
+echo '<h2>'.html::escapeHTML($core->blog->name).' &rsaquo; <span class="page-title">'.__('Widgets').'</span></h2>';
 
 # All widgets
@@ -252,5 +248,5 @@
 'drag it from the Available widgets list on the left to one of the sidebars on the right of this page. You can order '.
 'your widgets in a sidebar by dragging them up or down. You must update sidebars to apply your changes.').'</p>'.
-'<p>'.__('Once included in a sidebar, widgets have configuration options that you can reach by clicking on the arrow next '.
+'<p>'.__('Once included in a sidebar, widgets have configuration options that you can reach by clicking on the + sign next '.
 'to their name.').'</p>'.
 '<p>'.__('Reset sidebars to get back to default widgets installation.').'</p>'.
