Index: .hgsubstate
===================================================================
--- .hgsubstate	(revision 2343)
+++ .hgsubstate	(revision 2528)
@@ -1,1 +1,1 @@
-80a0052d6ee5db1ff47601bc62959d4c8b6cf857 inc/libs/clearbricks
+f9e11d28ae5c809560553aeeedc5ff1d0e052e62 inc/libs/clearbricks
Index: .hgtags
===================================================================
--- .hgtags	(revision 2467)
+++ .hgtags	(revision 2540)
@@ -13,2 +13,3 @@
 514d5121a12586b7ff320924d44028b677a01020 2.4.4
 e42d3233f080a2e846301cba3e3585e4a280a87d 2.6-RC
+dc51785c0e18369445c71dfdc268c6034e61f681 2.6
Index: CHANGELOG
===================================================================
--- CHANGELOG	(revision 2480)
+++ CHANGELOG	(revision 2536)
@@ -1,2 +1,7 @@
+Dotclear 2.6 - 2013-11-13
+===========================================================
+* Various bug fixes
+* Various cosmetic adjustments
+
 Dotclear 2.6-RC - 2013-10-18
 ===========================================================
Index: Makefile
===================================================================
--- Makefile	(revision 2283)
+++ Makefile	(revision 2539)
@@ -9,12 +9,12 @@
 config:
 	mkdir -p ./$(DC)
-	
+
 	## Copy needed folders and files
 	cp -pRf ./admin ./inc ./themes ./index.php ./CHANGELOG ./CREDITS ./LICENSE ./README.md ./CONTRIBUTING.md ./$(DC)/
-	
+
 	## Locales directory
 	mkdir -p ./$(DC)/locales
 	cp -pRf ./locales/README ./locales/en ./locales/fr ./$(DC)/locales/
-	
+
 	## Create cache, db, plugins and public folders
 	mkdir ./$(DC)/cache ./$(DC)/db ./$(DC)/plugins ./$(DC)/public
@@ -22,5 +22,5 @@
 	cp inc/.htaccess ./$(DC)/db/
 	cp inc/.htaccess ./$(DC)/plugins/
-	
+
 	## Remove .svn folders
 	find ./$(DIST)/ -type d -name '.svn' | xargs rm -rf
@@ -29,8 +29,8 @@
 	find ./$(DIST)/ -type d -name '.hg*' | xargs rm -rf
 	find ./$(DIST)/ -type f -name '.hg*' | xargs rm -rf
-	
+
 	## Remove config file if any
 	rm -f ./$(DC)/inc/config.php
-	
+
 	## Copy built-in plugins
 	cp -pRf \
@@ -53,8 +53,8 @@
 	./plugins/widgets \
 	./$(DC)/plugins/
-	
+
 	## Remove .svn folders
 	find ./$(DIST)/ -type d -name '.svn' -print0 | xargs -0 rm -rf
-	
+
 	## Remove .hg* files and folders
 	find ./$(DIST)/ -type d -name '.hg*' | xargs rm -rf
@@ -63,5 +63,5 @@
 	## "Compile" .po files
 	./build-tools/make-l10n.php ./$(DC)/
-	
+
 	## Pack javascript files
 	find $(DC)/admin/js/*.js -exec ./build-tools/min-js.php \{\} \;
@@ -72,8 +72,8 @@
 	find $(DC)/plugins -name '*.js' -exec ./build-tools/min-js.php \{\} \;
 	find $(DC)/themes/default/js/*.js -exec ./build-tools/min-js.php \{\} \;
-	
+
 	## Debug off
 	perl -pi -e "s|^//\*== DC_DEBUG|/*== DC_DEBUG|sgi;" $(DC)/inc/prepend.php $(DC)/inc/prepend.php
-	
+
 	## Create digest
 	cd $(DC) && ( \
@@ -81,5 +81,5 @@
 		> inc/digests \
 	)
-	
+
 	touch config-stamp
 
@@ -100,19 +100,19 @@
 dist-l10n:
 	[ -f config-stamp ]
-	
+
 	rm -rf ./$(DIST)/l10n
 	mkdir -p ./$(DIST)/l10n
-	
+
 	find ./locales/ -maxdepth 1 -mindepth 1 -type d -not -name '.svn' -not -name '_pot' -not -name 'en' \
 	-exec cp -pRf \{\} ./$(DIST)/l10n/ \;
-	
+
 	find ./$(DIST)/l10n -type d -name '.svn' | xargs rm -rf
 	./build-tools/make-l10n.php ./$(DIST)/l10n/
-	
+
 	cd ./$(DIST)/l10n && for i in *; do \
 		zip -r9 "$$i-$$(grep DC_VERSION ../dotclear/inc/prepend.php | cut -d"'" -f4).zip" "$$i"; \
 		rm -rf "$$i"; \
 	done
-	
+
 
 clean:
@@ -128,4 +128,4 @@
 	[ "$(iname)" != '' ]
 	[ -d $(ipath)/$(iname) ]
-	
-	
+
+
Index: admin/_charte.php
===================================================================
--- admin/_charte.php	(revision 2504)
+++ admin/_charte.php	(revision 2501)
@@ -31,5 +31,4 @@
 	<script type="text/javascript" src="js/jquery/jquery.js"></script>
 	<script type="text/javascript" src="js/jquery/jquery-ui.custom.js"></script>
-	<script type="text/javascript" src="js/jquery/jquery.ui.touch-punch.js"></script>
 	<script type="text/javascript" src="js/jquery/jquery.pageTabs.js"></script>
 	<script type="text/javascript" src="js/jquery/jquery.biscuit.js"></script>
Index: admin/categories.php
===================================================================
--- admin/categories.php	(revision 2496)
+++ admin/categories.php	(revision 2464)
@@ -109,5 +109,4 @@
 	&& $rs->count()>1) {
 		$starting_script .= dcPage::jsLoad('js/jquery/jquery-ui.custom.js');
-		$starting_script .= dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js');
 		$starting_script .= dcPage::jsLoad('js/jquery/jquery.mjs.nestedSortable.js');
 }
Index: admin/js/_comments.js
===================================================================
--- admin/js/_comments.js	(revision 1049)
+++ admin/js/_comments.js	(revision 2531)
@@ -1,51 +1,8 @@
-dotclear.commentExpander = function(line) {
-	var td = line.firstChild;
-	
-	var img = document.createElement('img');
-	img.src = dotclear.img_plus_src;
-	img.alt = dotclear.img_plus_alt;
-	img.className = 'expand';
-	$(img).css('cursor','pointer');
-	img.line = line;
-	img.onclick = function() { dotclear.viewCommentContent(this,this.line); };
-	
-	td.insertBefore(img,td.firstChild);
-};
+dotclear.viewCommentContent = function(line,action) {
+	var action = action || 'toggle';
+	var commentId = $(line).attr('id').substr(1);	
+	var tr = document.getElementById('ce'+commentId);
 
-dotclear.commentsExpander = function(line,lines) {
-	var td = line.firstChild;
-	
-	var img = document.createElement('img');
-	img.src = dotclear.img_plus_src;
-	img.alt = dotclear.img_plus_alt;
-	img.className = 'expand';
-	$(img).css('cursor','pointer');
-	img.lines = lines;
-	img.onclick = function() { dotclear.viewCommentsContent(this,this.lines); };
-	
-	td.insertBefore(img,td.firstChild);
-};
-
-dotclear.viewCommentsContent = function(img,lines) {
-	lines.each(function() {
-		var td = this.firstChild;
-		td.firstChild.click();
-	});
-
-	if (img.alt == dotclear.img_plus_alt) {
-		img.src = dotclear.img_minus_src;
-		img.alt = dotclear.img_minus_alt;
-	} else {
-		img.src = dotclear.img_plus_src;
-		img.alt = dotclear.img_plus_alt;
-	}
-};
-
-dotclear.viewCommentContent = function(img,line) {
-	var commentId = line.id.substr(1);
-	
-	var tr = document.getElementById('ce'+commentId);
-	
-	if (!tr) {
+	if ( !tr && ( action == 'toggle' || action == 'open' ) ) {
 		tr = document.createElement('tr');
 		tr.id = 'ce'+commentId;
@@ -54,7 +11,4 @@
 		td.className = 'expand';
 		tr.appendChild(td);
-		
-		img.src = dotclear.img_minus_src;
-		img.alt = dotclear.img_minus_alt;
 		
 		// Get comment content
@@ -87,26 +41,21 @@
 		line.parentNode.insertBefore(tr,line.nextSibling);
 	}
-	else if (tr.style.display == 'none')
+	else if (tr && tr.style.display == 'none' && ( action == 'toggle' || action == 'open' ) )
 	{
-		$(tr).toggle();
-		$(line).toggleClass('expand');
-		img.src = dotclear.img_minus_src;
-		img.alt = dotclear.img_minus_alt;
+		$(tr).css('display', 'table-row');
+		$(line).addClass('expand');
 	}
-	else
+	else if (tr && tr.style.display != 'none' && ( action == 'toggle' || action == 'close' ) )
 	{
-		$(tr).toggle();
-		$(line).toggleClass('expand');
-		img.src = dotclear.img_plus_src;
-		img.alt = dotclear.img_plus_alt;
+		$(tr).css('display', 'none');
+		$(line).removeClass('expand');
 	}
 };
 
 $(function() {
-	$('#form-comments tr:not(.line)').each(function() {
-		dotclear.commentsExpander(this,$('#form-comments tr.line'));
-	});
-	$('#form-comments tr.line').each(function() {
-		dotclear.commentExpander(this);
+	$.expandContent({
+		line:$('#form-comments tr:not(.line)'),
+		lines:$('#form-comments tr.line'),
+		callback:dotclear.viewCommentContent
 	});
 	$('.checkboxes-helpers').each(function() {
Index: admin/js/_post.js
===================================================================
--- admin/js/_post.js	(revision 2109)
+++ admin/js/_post.js	(revision 2531)
@@ -1,19 +1,4 @@
-dotclear.commentExpander = function(line) {
-	var td = line.firstChild;
-
-	var img = document.createElement('img');
-	img.src = dotclear.img_plus_src;
-	img.alt = dotclear.img_plus_alt;
-	img.className = 'expand';
-	$(img).css('cursor','pointer');
-	img.line = line;
-	img.onclick = function() { dotclear.viewCommentContent(this,this.line); };
-
-	td.insertBefore(img,td.firstChild);
-};
-
-dotclear.viewCommentContent = function(img,line) {
-	var commentId = line.id.substr(1);
-
+dotclear.viewCommentContent = function(line,action) {
+	var commentId = $(line).attr('id').substr(1);
 	var tr = document.getElementById('ce'+commentId);
 
@@ -26,7 +11,4 @@
 		tr.appendChild(td);
 
-		img.src = dotclear.img_minus_src;
-		img.alt = dotclear.img_minus_alt;
-
 		// Get comment content
 		$.get('services.php',{f:'getCommentById',id: commentId},function(data) {
@@ -60,6 +42,4 @@
 		$(tr).toggle();
 		$(line).toggleClass('expand');
-		img.src = dotclear.img_minus_src;
-		img.alt = dotclear.img_minus_alt;
 	}
 	else
@@ -67,6 +47,4 @@
 		$(tr).toggle();
 		$(line).toggleClass('expand');
-		img.src = dotclear.img_plus_src;
-		img.alt = dotclear.img_plus_alt;
 	}
 };
@@ -130,5 +108,5 @@
 			
 			excerpt_content = $('#post_excerpt').css('display') != 'none' ? $('#post_excerpt').val() : $('#excerpt-area iframe').contents().find('body').html();
-			post_content    = $('#post_content').css('display') != 'none' ? $('#post_content').val() : $('#content-area iframe').contents().find('body').html();
+			post_content	= $('#post_content').css('display') != 'none' ? $('#post_content').val() : $('#content-area iframe').contents().find('body').html();
 			
 			var params = {
@@ -266,6 +244,7 @@
 
 	$('#comments').onetabload(function() {
-		$('#form-comments .comments-list tr.line').each(function() {
-			dotclear.commentExpander(this);
+		$.expandContent({
+			lines:$('#form-comments .comments-list tr.line'),
+			callback:dotclear.viewCommentContent
 		});
 		$('#form-comments .checkboxes-helpers').each(function() {
@@ -277,6 +256,7 @@
 
 	$('#trackbacks').onetabload(function() {
-		$('#form-trackbacks .comments-list tr.line').each(function() {
-			dotclear.commentExpander(this);
+		$.expandContent({
+			lines:$('#form-trackbacks .comments-list tr.line'),
+			callback:dotclear.viewCommentContent
 		});
 		$('#form-trackbacks .checkboxes-helpers').each(function() {
Index: admin/js/_posts_list.js
===================================================================
--- admin/js/_posts_list.js	(revision 1640)
+++ admin/js/_posts_list.js	(revision 2531)
@@ -1,54 +1,5 @@
-dotclear.postExpander = function(line) {
-	var td = line.firstChild;
-	
-	var img = document.createElement('img');
-	img.src = dotclear.img_plus_src;
-	img.alt = dotclear.img_plus_alt;
-	img.className = 'expand';
-	$(img).css('cursor','pointer');
-	img.line = line;
-	img.onclick = function() { dotclear.viewPostContent(this,this.line); };
-	
-	td.insertBefore(img,td.firstChild);
-};
-
-dotclear.postsExpander = function(line,lines) {
-	var td = line.firstChild;
-
-	var img = document.createElement('img');
-	img.src = dotclear.img_plus_src;
-	img.alt = dotclear.img_plus_alt;
-	img.className = 'expand';
-	$(img).css('cursor','pointer');
-	img.lines = lines;
-	img.onclick = function() { dotclear.viewPostsContent(this,this.lines); };
-
-	td.insertBefore(img,td.firstChild);
-};
-
-dotclear.viewPostsContent = function(img,lines) {
-	
-	action = 'toggle';
-
-	if (img.alt == dotclear.img_plus_alt) {
-		img.src = dotclear.img_minus_src;
-		img.alt = dotclear.img_minus_alt;
-		action = 'open';
-	} else {
-		img.src = dotclear.img_plus_src;
-		img.alt = dotclear.img_plus_alt;
-		action = 'close';
-	}
-	
-	lines.each(function() {
-		var td = this.firstChild;
-		dotclear.viewPostContent(td.firstChild,td.firstChild.line,action);
-	});
-};
-
-dotclear.viewPostContent = function(img,line,action) {
-	
+dotclear.viewPostContent = function(line,action) {
 	var action = action || 'toggle';
-	var postId = line.id.substr(1);
+	var postId = $(line).attr('id').substr(1);
 	var tr = document.getElementById('pe'+postId);
 	
@@ -60,7 +11,4 @@
 		td.className = 'expand';
 		tr.appendChild(td);
-		
-		img.src = dotclear.img_minus_src;
-		img.alt = dotclear.img_minus_alt;
 		
 		// Get post content
@@ -92,6 +40,4 @@
 		$(tr).css('display', 'table-row');
 		$(line).addClass('expand');
-		img.src = dotclear.img_minus_src;
-		img.alt = dotclear.img_minus_alt;
 	}
 	else if (tr && tr.style.display != 'none' && ( action == 'toggle' || action == 'close' ) )
@@ -99,21 +45,5 @@
 		$(tr).css('display', 'none');
 		$(line).removeClass('expand');
-		img.src = dotclear.img_plus_src;
-		img.alt = dotclear.img_plus_alt;
 	}
-	
-	parentTable = $(line).parents('table');
-	if( parentTable.find('tr.expand').length == parentTable.find('tr.line').length ) {
-		img = parentTable.find('tr:not(.line) th:first img');
-		img.attr('src',dotclear.img_minus_src);
-		img.attr('alt',dotclear.img_minus_alt);
-	}
-	
-	if( parentTable.find('tr.expand').length == 0 ) {
-		img = parentTable.find('tr:not(.line) th:first img');
-		img.attr('src',dotclear.img_plus_src);
-		img.attr('alt',dotclear.img_plus_alt);
-	}
-	
 };
 
@@ -124,9 +54,8 @@
 	});
 
-	$('#form-entries tr:not(.line)').each(function() {
-		dotclear.postsExpander(this,$('#form-entries tr.line'));
-	});
-	$('#form-entries tr.line').each(function() {
-		dotclear.postExpander(this);
+	$.expandContent({
+		line:$('#form-entries tr:not(.line)'),
+		lines:$('#form-entries tr.line'),
+		callback:dotclear.viewPostContent
 	});
 	$('.checkboxes-helpers').each(function() {
Index: admin/js/common.js
===================================================================
--- admin/js/common.js	(revision 2486)
+++ admin/js/common.js	(revision 2531)
@@ -150,4 +150,69 @@
 	});
 };
+
+(function($) {
+	'use strict';
+
+	$.expandContent = function(opts) {
+		var defaults = {};
+		$.expandContent.options = $.extend({},defaults,opts);
+
+		if (opts==undefined || opts.callback==undefined || !$.isFunction(opts.callback)) {
+			return;
+		}
+		if (opts.line!=undefined) {
+			multipleExpander(opts.line,opts.lines);
+		}
+		opts.lines.each(function() {
+			singleExpander(this);
+		});
+	}
+	
+	var singleExpander = function singleExpander(line) {
+		$('<input type="image" src="'+dotclear.img_plus_src+'" alt="'+dotclear.img_plus_alt+'"/>')
+			.click(function(e) {
+				toggleArrow(this);
+				$.expandContent.options.callback.call(this,line);
+				e.preventDefault();
+			})
+			.prependTo($(line).children().get(0)); // first td
+	};
+	
+	var multipleExpander = function multipleExpander(line,lines) {
+		$('<input type="image" src="'+dotclear.img_plus_src+'" alt="'+dotclear.img_plus_alt+'"/>')
+			.click(function(e) {
+				var that = this;
+				var action = toggleArrow(this);
+				lines.each(function() {
+					toggleArrow(this.firstChild.firstChild,action);
+					$.expandContent.options.callback.call(that,this,action);
+
+				});
+				e.preventDefault();
+			})
+			.prependTo($(line).children().get(0)); // first td
+	};
+
+	var toggleArrow = function toggleArrow(button,action) {
+		action = action || '';
+		if (action=='') {
+			if (button.alt==dotclear.img_plus_alt) {
+				action = 'open';
+			} else {
+				action = 'close';
+			}
+		}
+		
+		if (action=='open') {
+			button.src = dotclear.img_minus_src;
+			button.alt = dotclear.img_minus_alt;
+		} else {
+			button.src = dotclear.img_plus_src;
+			button.alt = dotclear.img_plus_alt;
+		}
+		
+		return action;
+	}
+})(jQuery);
 
 jQuery.fn.helpViewer = function() {
Index: dmin/js/jquery/jquery.ui.touch-punch.js
===================================================================
--- admin/js/jquery/jquery.ui.touch-punch.js	(revision 2495)
+++ 	(revision )
@@ -1,160 +1,0 @@
-/*!
- * jQuery UI Touch Punch 0.2.2
- *
- * Copyright 2011, Dave Furfero
- * Dual licensed under the MIT or GPL Version 2 licenses.
- *
- * Depends:
- *  jquery.ui.widget.js
- *  jquery.ui.mouse.js
- */
-(function ($) {
-
-  // Detect touch support
-  $.support.touch = 'ontouchend' in document;
-
-  // Ignore browsers without touch support
-  if (!$.support.touch) {
-    return;
-  }
-
-  var mouseProto = $.ui.mouse.prototype,
-      _mouseInit = mouseProto._mouseInit,
-      touchHandled;
-
-  /**
-   * Simulate a mouse event based on a corresponding touch event
-   * @param {Object} event A touch event
-   * @param {String} simulatedType The corresponding mouse event
-   */
-  function simulateMouseEvent (event, simulatedType) {
-
-    // Ignore multi-touch events
-    if (event.originalEvent.touches.length > 1) {
-      return;
-    }
-
-    event.preventDefault();
-
-    var touch = event.originalEvent.changedTouches[0],
-        simulatedEvent = document.createEvent('MouseEvents');
-    
-    // Initialize the simulated mouse event using the touch event's coordinates
-    simulatedEvent.initMouseEvent(
-      simulatedType,    // type
-      true,             // bubbles                    
-      true,             // cancelable                 
-      window,           // view                       
-      1,                // detail                     
-      touch.screenX,    // screenX                    
-      touch.screenY,    // screenY                    
-      touch.clientX,    // clientX                    
-      touch.clientY,    // clientY                    
-      false,            // ctrlKey                    
-      false,            // altKey                     
-      false,            // shiftKey                   
-      false,            // metaKey                    
-      0,                // button                     
-      null              // relatedTarget              
-    );
-
-    // Dispatch the simulated event to the target element
-    event.target.dispatchEvent(simulatedEvent);
-  }
-
-  /**
-   * Handle the jQuery UI widget's touchstart events
-   * @param {Object} event The widget element's touchstart event
-   */
-  mouseProto._touchStart = function (event) {
-
-    var self = this;
-
-    // Ignore the event if another widget is already being handled
-    if (touchHandled || !self._mouseCapture(event.originalEvent.changedTouches[0])) {
-      return;
-    }
-
-    // Set the flag to prevent other widgets from inheriting the touch event
-    touchHandled = true;
-
-    // Track movement to determine if interaction was a click
-    self._touchMoved = false;
-
-    // Simulate the mouseover event
-    simulateMouseEvent(event, 'mouseover');
-
-    // Simulate the mousemove event
-    simulateMouseEvent(event, 'mousemove');
-
-    // Simulate the mousedown event
-    simulateMouseEvent(event, 'mousedown');
-  };
-
-  /**
-   * Handle the jQuery UI widget's touchmove events
-   * @param {Object} event The document's touchmove event
-   */
-  mouseProto._touchMove = function (event) {
-
-    // Ignore event if not handled
-    if (!touchHandled) {
-      return;
-    }
-
-    // Interaction was not a click
-    this._touchMoved = true;
-
-    // Simulate the mousemove event
-    simulateMouseEvent(event, 'mousemove');
-  };
-
-  /**
-   * Handle the jQuery UI widget's touchend events
-   * @param {Object} event The document's touchend event
-   */
-  mouseProto._touchEnd = function (event) {
-
-    // Ignore event if not handled
-    if (!touchHandled) {
-      return;
-    }
-
-    // Simulate the mouseup event
-    simulateMouseEvent(event, 'mouseup');
-
-    // Simulate the mouseout event
-    simulateMouseEvent(event, 'mouseout');
-
-    // If the touch interaction did not move, it should trigger a click
-    if (!this._touchMoved) {
-
-      // Simulate the click event
-      simulateMouseEvent(event, 'click');
-    }
-
-    // Unset the flag to allow other widgets to inherit the touch event
-    touchHandled = false;
-  };
-
-  /**
-   * A duck punch of the $.ui.mouse _mouseInit method to support touch events.
-   * This method extends the widget with bound touch event handlers that
-   * translate touch events to mouse events and pass them to the widget's
-   * original mouse event handling methods.
-   */
-  mouseProto._mouseInit = function () {
-    
-    var self = this;
-
-    // Delegate the touch handlers to the widget's element
-    self.element
-      .bind('touchstart', $.proxy(self, '_touchStart'))
-      .bind('touchmove', $.proxy(self, '_touchMove'))
-      .bind('touchend', $.proxy(self, '_touchEnd'));
-
-    // Call the original $.ui.mouse init method
-    _mouseInit.call(self);
-  };
-
-})(jQuery);
Index: admin/media.php
===================================================================
--- admin/media.php	(revision 2512)
+++ admin/media.php	(revision 2529)
@@ -314,4 +314,9 @@
 	);
 
+if ($popup) {
+	// Display notices
+	echo dcPage::notices();
+}
+
 if (!$core_media_writable) {
 	dcPage::warning(__('You do not have sufficient permissions to write to this folder.'));
Index: admin/media_item.php
===================================================================
--- admin/media_item.php	(revision 2510)
+++ admin/media_item.php	(revision 2529)
@@ -46,16 +46,16 @@
 {
 	$core->media = new dcMedia($core);
-	
+
 	if ($id) {
 		$file = $core->media->getFile($id);
 	}
-	
+
 	if ($file === null) {
 		throw new Exception(__('Not a valid file'));
 	}
-	
+
 	$core->media->chdir(dirname($file->relname));
 	$core_media_writable = $core->media->writable();
-	
+
 	# Prepare directories combo box
 	$dirs_combo = array();
@@ -93,7 +93,7 @@
 {
 	$newFile = clone $file;
-	
+
 	$newFile->basename = $_POST['media_file'];
-	
+
 	if ($_POST['media_path']) {
 		$newFile->dir = $_POST['media_path'];
@@ -107,5 +107,5 @@
 	$newFile->media_dtstr = $_POST['media_dt'];
 	$newFile->media_priv = !empty($_POST['media_private']);
-	
+
 	try {
 		$core->media->updateFile($file,$newFile);
@@ -124,5 +124,5 @@
 		$foo = null;
 		$core->media->mediaFireRecreateEvent($file);
-		
+
 		dcPage::addSuccessNotice(__('Thumbnails have been successfully updated.'));
 		http::redirect($page_url.'&id='.$id.'&tab=media-details-tab');
@@ -137,5 +137,5 @@
 	try {
 		$unzip_dir = $core->media->inflateZipFile($file,$_POST['inflate_mode'] == 'new');
-		
+
 		dcPage::addSuccessNotice(__('Zip file has been successfully extracted.'));
 		http::redirect($media_page_url.'&d='.$unzip_dir);
@@ -162,5 +162,5 @@
 		$core->blog->settings->system->put('media_img_default_link',($_POST['pref_insertion'] == 'link'));
 	}
-	
+
 	dcPage::addSuccessNotice(__('Default media insertion settings have been successfully updated.'));
 	http::redirect($page_url.'&id='.$id);
@@ -173,5 +173,5 @@
 	$pattern = preg_split('/\s*;;\s*/',$pattern);
 	$sep = ', ';
-	
+
 	foreach ($pattern as $v) {
 		if ($v == 'Title') {
@@ -200,5 +200,5 @@
 /* DISPLAY Main page
 -------------------------------------------------------- */
-$starting_scripts = 
+$starting_scripts =
 	'<script type="text/javascript">'."\n".
 	"//<![CDATA["."\n".
@@ -228,4 +228,9 @@
 );
 
+if ($popup) {
+	// Display notices
+	echo dcPage::notices();
+}
+
 if ($file === null) {
 	call_user_func($close_f);
@@ -247,10 +252,10 @@
 {
 	$media_desc = $file->media_title;
-	
+
 	echo
 	'<div id="media-insert" class="multi-part" title="'.__('Insert media item').'">'.
 	'<h3>'.__('Insert media item').'</h3>'.
 	'<form id="media-insert-form" action="" method="get">';
-	
+
 	$media_img_default_size = $core->blog->settings->system->media_img_default_size;
 	if ($media_img_default_size == '') {
@@ -275,5 +280,5 @@
 		echo
 		'<h3>'.__('Image size:').'</h3> ';
-		
+
 		$s_checked = false;
 		echo '<p>';
@@ -288,7 +293,7 @@
 		form::radio(array('src'),$file->file_url,$s_checked).' '.__('original').'</label><br /> ';
 		echo '</p>';
-		
-		echo
-		'<div class="two-boxes">'.		
+
+		echo
+		'<div class="two-boxes">'.
 		'<h3>'.__('Image alignment').'</h3>';
 		$i_align = array(
@@ -298,5 +303,5 @@
 			'center' => array(__('Center'),($media_img_default_alignment == 'center' ? 1 : 0))
 		);
-		
+
 		echo '<p>';
 		foreach ($i_align as $k => $v) {
@@ -306,5 +311,5 @@
 		echo '</p>';
 		echo '</div>';
-		
+
 		echo
 		'<div class="two-boxes">'.
@@ -321,10 +326,10 @@
 	{
 		$media_type = 'mp3';
-		
-		echo 
+
+		echo
 		'<div class="two-boxes">'.
 		'<h3>'.__('MP3 disposition').'</h3>';
 		dcPage::message(__("Please note that you cannot insert mp3 files with visual editor."),false);
-		
+
 		$i_align = array(
 			'none' => array(__('None'),($media_img_default_alignment == 'none' ? 1 : 0)),
@@ -333,5 +338,5 @@
 			'center' => array(__('Center'),($media_img_default_alignment == 'center' ? 1 : 0))
 		);
-		
+
 		echo '<p>';
 		foreach ($i_align as $k => $v) {
@@ -339,5 +344,5 @@
 			form::radio(array('alignment'),$k,$v[1]).' '.$v[0].'</label><br /> ';
 		}
-		
+
 		$public_player_style = unserialize($core->blog->settings->themes->mp3player_style);
 		$public_player = dcMedia::mp3player($file->file_url,$core->blog->getQmarkURL().'pf=player_mp3.swf',$public_player_style);
@@ -349,7 +354,7 @@
 	{
 		$media_type = 'flv';
-		
+
 		dcPage::message(__("Please note that you cannot insert video files with visual editor."),false);
-		
+
 		echo
 		'<div class="two-boxes">'.
@@ -362,9 +367,9 @@
 		'</div>';
 
-		
-		echo 
+
+		echo
 		'<div class="two-boxes">'.
 		'<h3>'.__('Video disposition').'</h3>';
-		
+
 		$i_align = array(
 			'none' => array(__('None'),($media_img_default_alignment == 'none' ? 1 : 0)),
@@ -373,5 +378,5 @@
 			'center' => array(__('Center'),($media_img_default_alignment == 'center' ? 1 : 0))
 		);
-		
+
 		echo '<p>';
 		foreach ($i_align as $k => $v) {
@@ -379,5 +384,5 @@
 			form::radio(array('alignment'),$k,$v[1]).' '.$v[0].'</label><br /> ';
 		}
-		
+
 		$public_player_style = unserialize($core->blog->settings->themes->flvplayer_style);
 		$public_player = dcMedia::flvplayer($file->file_url,$core->blog->getQmarkURL().'pf=player_flv.swf',$public_player_style);
@@ -401,5 +406,5 @@
 	form::hidden(array('url'),$file->file_url).
 	'</p>';
-	
+
 	echo '</form>';
 
@@ -437,9 +442,9 @@
 {
 	$thumb_size = !empty($_GET['size']) ? $_GET['size'] : 's';
-	
+
 	if (!isset($core->media->thumb_sizes[$thumb_size]) && $thumb_size != 'o') {
 		$thumb_size = 's';
 	}
-	
+
 	if (isset($file->media_thumb[$thumb_size])) {
 		echo '<p><img src="'.$file->media_thumb[$thumb_size].'?'.time()*rand().'" alt="" /></p>';
@@ -450,5 +455,5 @@
 		echo '<p id="media-original-image"'.$class.'><img src="'.$file->file_url.'?'.time()*rand().'" alt="" /></p>';
 	}
-	
+
 	echo '<p>'.__('Available sizes:').' ';
 	foreach (array_reverse($file->media_thumb) as $s => $v)
@@ -498,5 +503,5 @@
 			"OR post_excerpt_xhtml LIKE '%".$core->con->escape($file->relname)."%' "
 	);
-	
+
 	if ($file->media_image)
 	{ # We look for thumbnails too
@@ -512,9 +517,9 @@
 		}
 	}
-	
+
 	$params['sql'] .= ') ';
-	
+
 	$rs = $core->blog->getPosts($params);
-	
+
 	if ($rs->isEmpty())
 	{
@@ -552,5 +557,5 @@
 {
 	echo '<h3>'.__('Image details').'</h3>';
-	
+
 	$details = '';
 	if (count($file->media_meta) > 0)
@@ -587,5 +592,5 @@
 		'</form>';
 	}
-	
+
 	if ($file->type == 'application/zip')
 	{
@@ -594,5 +599,5 @@
 			__('Extract in current directory') => 'current'
 		);
-		
+
 		echo
 		'<form class="clear fieldset" id="file-unzip" action="'.html::escapeURL($page_url).'" method="post">'.
@@ -611,5 +616,5 @@
 		'</form>';
 	}
-	
+
 	echo
 	'<form class="clear fieldset" action="'.html::escapeURL($page_url).'" method="post">'.
@@ -629,5 +634,5 @@
 	$core->formNonce().'</p>'.
 	'</form>';
-	
+
 	echo
 	'<form class="clear fieldset" action="'.html::escapeURL($page_url).'" method="post" enctype="multipart/form-data">'.
Index: admin/post.php
===================================================================
--- admin/post.php	(revision 2486)
+++ admin/post.php	(revision 2542)
@@ -77,9 +77,9 @@
 {
 	$page_title = __('Edit entry');
-	
+
 	$params['post_id'] = $_REQUEST['id'];
-	
+
 	$post = $core->blog->getPosts($params);
-	
+
 	if ($post->isEmpty())
 	{
@@ -106,11 +106,11 @@
 		$post_open_comment = (boolean) $post->post_open_comment;
 		$post_open_tb = (boolean) $post->post_open_tb;
-		
+
 		$can_edit_post = $post->isEditable();
 		$can_delete= $post->isDeletable();
-		
+
 		$next_rs = $core->blog->getNextPost($post,1);
 		$prev_rs = $core->blog->getNextPost($post,-1);
-		
+
 		if ($next_rs !== null) {
 			$next_link = sprintf($post_link,$next_rs->post_id,
@@ -119,5 +119,5 @@
 				html::escapeHTML($next_rs->post_title),$next_rs->post_id);
 		}
-		
+
 		if ($prev_rs !== null) {
 			$prev_link = sprintf($post_link,$prev_rs->post_id,
@@ -126,5 +126,5 @@
 				html::escapeHTML($prev_rs->post_title),$prev_rs->post_id);
 		}
-		
+
 		try {
 			$core->media = new dcMedia($core);
@@ -134,5 +134,5 @@
 
 		# Sanitize trackbacks excerpt
-		$tb_excerpt = empty($_POST['tb_excerpt']) ? 
+		$tb_excerpt = empty($_POST['tb_excerpt']) ?
 			$post_excerpt_xhtml.' '.$post_content_xhtml :
 			$_POST['tb_excerpt'];
@@ -146,5 +146,5 @@
 } else {
 	$anchor = 'comments';
-}	
+}
 
 $comments_actions_page = new dcCommentsActionsPage($core,'post.php',array('id' => $post_id, '_ANCHOR'=>$anchor,'section' => $anchor));
@@ -162,14 +162,15 @@
 		$tb_urls = str_replace("\r", '', $tb_urls);
 		$tb_post_title = html::escapeHTML(trim(html::clean($post_title)));
-		
+		$tb_post_url = $post->getURL();
+
 		foreach (explode("\n", $tb_urls) as $tb_url)
 		{
 			try {
-				$TB->ping($tb_url, $post_id, $tb_post_title, $tb_excerpt, $post_url);
+				$TB->ping($tb_url, $post_id, $tb_post_title, $tb_excerpt, $tb_post_url);
 			} catch (Exception $e) {
 				$core->error->add($e->getMessage());
 			}
 		}
-		
+
 		if (!$core->error->flag()) {
 			dcPage::addSuccessNotice(__('All pings sent.'));
@@ -185,13 +186,13 @@
 	$post_excerpt = $_POST['post_excerpt'];
 	$post_content = $_POST['post_content'];
-	
+
 	$post_title = $_POST['post_title'];
-	
+
 	$cat_id = (integer) $_POST['cat_id'];
-	
+
 	if (isset($_POST['post_status'])) {
 		$post_status = (integer) $_POST['post_status'];
 	}
-	
+
 	if (empty($_POST['post_dt'])) {
 		$post_dt = '';
@@ -211,5 +212,5 @@
 		}
 	}
-	
+
 	$post_open_comment = !empty($_POST['post_open_comment']);
 	$post_open_tb = !empty($_POST['post_open_tb']);
@@ -217,11 +218,11 @@
 	$post_lang = $_POST['post_lang'];
 	$post_password = !empty($_POST['post_password']) ? $_POST['post_password'] : null;
-	
+
 	$post_notes = $_POST['post_notes'];
-	
+
 	if (isset($_POST['post_url'])) {
 		$post_url = $_POST['post_url'];
 	}
-	
+
 	$core->blog->setPostContent(
 		$post_id,$post_format,$post_lang,
@@ -248,22 +249,22 @@
 	# Create category
 	if (!empty($_POST['new_cat_title']) && $core->auth->check('categories', $core->blog->id)) {
-	
+
 		$cur_cat = $core->con->openCursor($core->prefix.'category');
 		$cur_cat->cat_title = $_POST['new_cat_title'];
 		$cur_cat->cat_url = '';
-		
+
 		$parent_cat = !empty($_POST['new_cat_parent']) ? $_POST['new_cat_parent'] : '';
-		
+
 		# --BEHAVIOR-- adminBeforeCategoryCreate
 		$core->callBehavior('adminBeforeCategoryCreate', $cur_cat);
-		
+
 		$cat_id = $core->blog->addCategory($cur_cat, (integer) $parent_cat);
-		
+
 		# --BEHAVIOR-- adminAfterCategoryCreate
 		$core->callBehavior('adminAfterCategoryCreate', $cur_cat, $cat_id);
 	}
-	
+
 	$cur = $core->con->openCursor($core->prefix.'post');
-	
+
 	$cur->post_title = $post_title;
 	$cur->cat_id = ($cat_id ? $cat_id : null);
@@ -282,9 +283,9 @@
 	$cur->post_open_comment = (integer) $post_open_comment;
 	$cur->post_open_tb = (integer) $post_open_tb;
-	
+
 	if (isset($_POST['post_url'])) {
 		$cur->post_url = $post_url;
 	}
-	
+
 	# Update post
 	if ($post_id)
@@ -294,7 +295,7 @@
 			# --BEHAVIOR-- adminBeforePostUpdate
 			$core->callBehavior('adminBeforePostUpdate',$cur,$post_id);
-			
+
 			$core->blog->updPost($post_id,$cur);
-			
+
 			# --BEHAVIOR-- adminAfterPostUpdate
 			$core->callBehavior('adminAfterPostUpdate',$cur,$post_id);
@@ -310,12 +311,12 @@
 	{
 		$cur->user_id = $core->auth->userID();
-		
+
 		try
 		{
 			# --BEHAVIOR-- adminBeforePostCreate
 			$core->callBehavior('adminBeforePostCreate',$cur);
-			
+
 			$return_id = $core->blog->addPost($cur);
-			
+
 			# --BEHAVIOR-- adminAfterPostCreate
 			$core->callBehavior('adminAfterPostCreate',$cur,$return_id);
@@ -417,5 +418,5 @@
 	$post_content = $post_content_xhtml;
 	$post_format = 'xhtml';
-	
+
 	dcPage::message(__('Don\'t forget to validate your XHTML conversion by saving your post.'));
 }
@@ -430,8 +431,8 @@
 	if ($next_link && $prev_link) { echo ' | '; }
 	if ($next_link) { echo $next_link; }
-	
+
 	# --BEHAVIOR-- adminPostNavLinks
 	$core->callBehavior('adminPostNavLinks',isset($post) ? $post : null);
-	
+
 	echo '</p>';
 }
@@ -451,9 +452,9 @@
 			'title' => __('Status'),
 			'items' => array(
-				'post_status' => 
+				'post_status' =>
 					'<p class="entry-status"><label for="post_status">'.__('Entry status').' '.$img_status.'</label>'.
 					form::combo('post_status',$status_combo,$post_status,'maximal','',!$can_publish).
 					'</p>',
-				'post_dt' => 
+				'post_dt' =>
 					'<p><label for="post_dt">'.__('Publication date and hour').'</label>'.
 					form::field('post_dt',16,16,$post_dt,($bad_dt ? 'invalid' : '')).
@@ -474,5 +475,5 @@
 			'title' => __('Filing'),
 			'items' => array(
-				'post_selected' => 
+				'post_selected' =>
 					'<p><label for="post_selected" class="classic">'.
 					form::checkbox('post_selected',1,$post_selected).' '.
@@ -504,9 +505,9 @@
 					form::checkbox('post_open_comment',1,$post_open_comment).' '.
 					__('Accept comments').'</label></p>'.
-					($core->blog->settings->system->allow_comments ? 
-						(isContributionAllowed($post_id,strtotime($post_dt),true) ? 
+					($core->blog->settings->system->allow_comments ?
+						(isContributionAllowed($post_id,strtotime($post_dt),true) ?
 							'' :
 							'<p class="form-note warn">'.
-							__('Warning: Comments are not more accepted for this entry.').'</p>') : 
+							__('Warning: Comments are not more accepted for this entry.').'</p>') :
 						'<p class="form-note warn">'.
 						__('Comments are not accepted on this blog so far.').'</p>').
@@ -514,9 +515,9 @@
 					form::checkbox('post_open_tb',1,$post_open_tb).' '.
 					__('Accept trackbacks').'</label></p>'.
-					($core->blog->settings->system->allow_trackbacks ? 
-						(isContributionAllowed($post_id,strtotime($post_dt),false) ? 
+					($core->blog->settings->system->allow_trackbacks ?
+						(isContributionAllowed($post_id,strtotime($post_dt),false) ?
 							'' :
 							'<p class="form-note warn">'.
-							__('Warning: Trackbacks are not more accepted for this entry.').'</p>') : 
+							__('Warning: Trackbacks are not more accepted for this entry.').'</p>') :
 						'<p class="form-note warn">'.__('Trackbacks are not accepted on this blog so far.').'</p>').
 					'</div>',
@@ -541,5 +542,5 @@
 			form::field('post_title',20,255,html::escapeHTML($post_title),'maximal').
 			'</p>',
-		
+
 		"post_excerpt" =>
 			'<p class="area" id="excerpt-area"><label for="post_excerpt" class="bold">'.__('Excerpt:').' <span class="form-note">'.
@@ -547,5 +548,5 @@
 			form::textarea('post_excerpt',50,5,html::escapeHTML($post_excerpt)).
 			'</p>',
-		
+
 		"post_content" =>
 			'<p class="area" id="content-area"><label class="required bold" '.
@@ -553,5 +554,5 @@
 			form::textarea('post_content',50,$core->auth->getOption('edit_size'),html::escapeHTML($post_content)).
 			'</p>',
-		
+
 		"post_notes" =>
 			'<p class="area" id="notes-area"><label for="post_notes" class="bold">'.__('Personal notes:').' <span class="form-note">'.
@@ -561,5 +562,5 @@
 		)
 	);
-	
+
 	# --BEHAVIOR-- adminPostFormItems
 	$core->callBehavior('adminPostFormItems',$main_items,$sidebar_items, isset($post) ? $post : null);
@@ -571,5 +572,5 @@
 
 	echo '<h3 class="out-of-screen-if-js">'.__('Edit post').'</h3>';
-	
+
 	foreach ($main_items as $id => $item) {
 		echo $item;
@@ -578,5 +579,5 @@
 	# --BEHAVIOR-- adminPostForm (may be deprecated)
 	$core->callBehavior('adminPostForm',isset($post) ? $post : null);
-	
+
 	echo
 	'<p class="border-top">'.
@@ -599,10 +600,10 @@
 	$core->formNonce().
 	'</p>';
-	
+
 	echo '</div></div>';		// End #entry-content
 	echo '</div>';		// End #entry-wrapper
 
 	echo '<div id="entry-sidebar">';
-	
+
 	foreach ($sidebar_items as $id => $c) {
 		echo '<div id="'.$id.'" class="sb-box">'.
@@ -613,6 +614,6 @@
 		echo '</div>';
 	}
-	
-	
+
+
 	# --BEHAVIOR-- adminPostFormSidebar (may be deprecated)
 	$core->callBehavior('adminPostFormSidebar',isset($post) ? $post : null);
@@ -620,8 +621,8 @@
 
 	echo '</form>';
-	
+
 	# --BEHAVIOR-- adminPostForm
 	$core->callBehavior('adminPostAfterForm',isset($post) ? $post : null);
-	
+
 	echo '</div>';
 }
@@ -633,18 +634,18 @@
 
 	$params = array('post_id' => $post_id, 'order' => 'comment_dt ASC');
-	
+
 	$comments = $core->blog->getComments(array_merge($params,array('comment_trackback'=>0)));
-		
+
 	echo
 	'<div id="comments" class="clear multi-part" title="'.__('Comments').'">';
-	$combo_action = $comments_actions_page->getCombo();	
+	$combo_action = $comments_actions_page->getCombo();
 	$has_action = !empty($combo_action) && !$comments->isEmpty();
-	echo 
+	echo
 	'<p class="top-add"><a class="button add" href="#comment-form">'.__('Add a comment').'</a></p>';
-	
+
 	if ($has_action) {
 		echo '<form action="post.php" id="form-comments" method="post">';
 	}
-	
+
 	echo '<h3>'.__('Comments').'</h3>';
 	if (!$comments->isEmpty()) {
@@ -653,10 +654,10 @@
 		echo '<p>'.__('No comment').'</p>';
 	}
-	
+
 	if ($has_action) {
 		echo
 		'<div class="two-cols">'.
 		'<p class="col checkboxes-helpers"></p>'.
-		
+
 		'<p class="col right"><label for="action" class="classic">'.__('Selected comments action:').'</label> '.
 		form::combo('action',$combo_action).
@@ -674,5 +675,5 @@
 	'<div class="fieldset clear">'.
 	'<h3>'.__('Add a comment').'</h3>'.
-	
+
 	'<form action="comment.php" method="post" id="comment-form">'.
 	'<div class="constrained">'.
@@ -680,18 +681,18 @@
 	form::field('comment_author',30,255,html::escapeHTML($core->auth->getInfo('user_cn'))).
 	'</p>'.
-	
+
 	'<p><label for="comment_email">'.__('Email:').'</label>'.
 	form::field('comment_email',30,255,html::escapeHTML($core->auth->getInfo('user_email'))).
 	'</p>'.
-	
+
 	'<p><label for="comment_site">'.__('Web site:').'</label>'.
 	form::field('comment_site',30,255,html::escapeHTML($core->auth->getInfo('user_url'))).
 	'</p>'.
-	
+
 	'<p class="area"><label for="comment_content" class="required"><abbr title="'.__('Required field').'">*</abbr> '.
 	__('Comment:').'</label> '.
 	form::textarea('comment_content',50,8,html::escapeHTML('')).
 	'</p>'.
-	
+
 	'<p>'.
 	form::hidden('post_id',$post_id).
@@ -712,24 +713,24 @@
 	$params = array('post_id' => $post_id, 'order' => 'comment_dt ASC');
 	$trackbacks = $core->blog->getComments(array_merge($params, array('comment_trackback' => 1)));
-	
+
 	# Actions combo box
-	$combo_action = $comments_actions_page->getCombo();	
+	$combo_action = $comments_actions_page->getCombo();
 	$has_action = !empty($combo_action) && !$trackbacks->isEmpty();
-	
+
 	if (!empty($_GET['tb_auto'])) {
 		$tb_urls = implode("\n", $TB->discover($post_excerpt_xhtml.' '.$post_content_xhtml));
 	}
-	
+
 	# Display tab
 	echo
 	'<div id="trackbacks" class="clear multi-part" title="'.__('Trackbacks').'">';
-	
+
 	# tracbacks actions
 	if ($has_action) {
 		echo '<form action="post.php" id="form-trackbacks" method="post">';
 	}
-	
+
 	echo '<h3>'.__('Trackbacks received').'</h3>';
-	
+
 	if (!$trackbacks->isEmpty()) {
 		showComments($trackbacks, $has_action, true);
@@ -737,10 +738,10 @@
 		echo '<p>'.__('No trackback').'</p>';
 	}
-	
+
 	if ($has_action) {
 		echo
 		'<div class="two-cols">'.
 		'<p class="col checkboxes-helpers"></p>'.
-		
+
 		'<p class="col right"><label for="action" class="classic">'.__('Selected trackbacks action:').'</label> '.
 		form::combo('action', $combo_action).
@@ -752,5 +753,5 @@
 		'</form>';
 	}
-	
+
 	/* Add trackbacks
 	-------------------------------------------------------- */
@@ -772,5 +773,5 @@
 		$core->formNonce().
 		'<input type="submit" name="ping" value="'.__('Ping blogs').'" />'.
-		(empty($_GET['tb_auto']) ? 
+		(empty($_GET['tb_auto']) ?
 			'&nbsp;&nbsp;<a class="button" href="'.
 			'post.php?id='.$post_id.'&amp;tb_auto=1&amp;tb=1'.
@@ -785,5 +786,5 @@
 		{
 			echo '<h3>'.__('Previously sent pings').'</h3>';
-			
+
 			echo '<ul class="nice">';
 			while ($pings->fetch()) {
@@ -810,10 +811,10 @@
 	}
 	if ($com) {
-		if (($core->blog->settings->system->comments_ttl == 0) || 
+		if (($core->blog->settings->system->comments_ttl == 0) ||
 			(time() - $core->blog->settings->system->comments_ttl*86400 < $dt)) {
 			return true;
 		}
 	} else {
-		if (($core->blog->settings->system->trackbacks_ttl == 0) || 
+		if (($core->blog->settings->system->trackbacks_ttl == 0) ||
 			(time() - $core->blog->settings->system->trackbacks_ttl*86400 < $dt)) {
 			return true;
@@ -840,10 +841,10 @@
 			$comments[(integer)$v]=true;
 		}
-	}			
-	
+	}
+
 	while($rs->fetch())
 	{
 		$comment_url = 'comment.php?id='.$rs->comment_id;
-		
+
 		$img = '<img alt="%1$s" title="%1$s" src="images/%2$s" />';
 		switch ($rs->comment_status) {
@@ -861,9 +862,9 @@
 				break;
 		}
-		
+
 		echo
 		'<tr class="line'.($rs->comment_status != 1 ? ' offline' : '').'"'.
 		' id="c'.$rs->comment_id.'">'.
-		
+
 		'<td class="nowrap">'.
 		($has_action ? form::checkbox(array('comments[]'),$rs->comment_id,isset($comments[$rs->comment_id]),'','',0,'title="'.($tb ? __('select this trackback') : __('select this comment')).'"') : '').'</td>'.
@@ -874,8 +875,8 @@
 		'<td class="nowrap status"><a href="'.$comment_url.'">'.
 		'<img src="images/edit-mini.png" alt="" title="'.__('Edit this comment').'" /> '.__('Edit').'</a></td>'.
-		
+
 		'</tr>';
 	}
-	
+
 	echo '</table></div>';
 }
Index: admin/preferences.php
===================================================================
--- admin/preferences.php	(revision 2496)
+++ admin/preferences.php	(revision 2449)
@@ -47,6 +47,6 @@
 $default_tab = !empty($_GET['tab']) ? html::escapeHTML($_GET['tab']) : 'user-profile';
 
-if (!empty($_GET['append']) || !empty($_GET['removed']) || !empty($_GET['neworder']) ||
-	!empty($_GET['replaced']) || !empty($_POST['appendaction']) || !empty($_POST['removeaction']) ||
+if (!empty($_GET['append']) || !empty($_GET['removed']) || !empty($_GET['neworder']) || 
+	!empty($_GET['replaced']) || !empty($_POST['appendaction']) || !empty($_POST['removeaction']) || 
 	!empty($_GET['db-updated'])) {
 	$default_tab = 'user-favorites';
@@ -84,11 +84,11 @@
 	{
 		$pwd_check = !empty($_POST['cur_pwd']) && $core->auth->checkPassword(crypt::hmac(DC_MASTER_KEY,$_POST['cur_pwd']));
-
+		
 		if ($core->auth->allowPassChange() && !$pwd_check && $user_email != $_POST['user_email']) {
 			throw new Exception(__('If you want to change your email or password you must provide your current password.'));
 		}
-
+		
 		$cur = $core->con->openCursor($core->prefix.'user');
-
+		
 		$cur->user_name = $user_name = $_POST['user_name'];
 		$cur->user_firstname = $user_firstname = $_POST['user_firstname'];
@@ -100,5 +100,5 @@
 
 		$cur->user_options = new ArrayObject($user_options);
-
+		
 		if ($core->auth->allowPassChange() && !empty($_POST['new_pwd']))
 		{
@@ -106,21 +106,21 @@
 				throw new Exception(__('If you want to change your email or password you must provide your current password.'));
 			}
-
+			
 			if ($_POST['new_pwd'] != $_POST['new_pwd_c']) {
 				throw new Exception(__("Passwords don't match"));
 			}
-
+			
 			$cur->user_pwd = $_POST['new_pwd'];
 		}
-
+		
 		# --BEHAVIOR-- adminBeforeUserUpdate
 		$core->callBehavior('adminBeforeUserProfileUpdate',$cur,$core->auth->userID());
-
+		
 		# Udate user
 		$core->updUser($core->auth->userID(),$cur);
-
+		
 		# --BEHAVIOR-- adminAfterUserUpdate
 		$core->callBehavior('adminAfterUserProfileUpdate',$cur,$core->auth->userID());
-
+		
 		dcPage::addSuccessNotice(__('Personal information has been successfully updated.'));
 
@@ -134,10 +134,10 @@
 
 # Update user options
-if (isset($_POST['user_post_format']))
+if (isset($_POST['user_post_format'])) 
 {
 	try
 	{
 		$cur = $core->con->openCursor($core->prefix.'user');
-
+		
 		$cur->user_name = $user_name;
 		$cur->user_firstname = $user_firstname;
@@ -149,5 +149,5 @@
 
 		$cur->user_post_status = $user_post_status = $_POST['user_post_status'];
-
+		
 		$user_options['edit_size'] = (integer) $_POST['user_edit_size'];
 		if ($user_options['edit_size'] < 1) {
@@ -156,10 +156,10 @@
 		$user_options['post_format'] = $_POST['user_post_format'];
 		$user_options['enable_wysiwyg'] = !empty($_POST['user_wysiwyg']);
-
+		
 		$cur->user_options = new ArrayObject($user_options);
-
+		
 		# --BEHAVIOR-- adminBeforeUserOptionsUpdate
 		$core->callBehavior('adminBeforeUserOptionsUpdate',$cur,$core->auth->userID());
-
+		
 		# Update user prefs
 		$core->auth->user_prefs->accessibility->put('nodragdrop',!empty($_POST['user_acc_nodragdrop']),'boolean');
@@ -170,11 +170,11 @@
 		}
 		$core->auth->user_prefs->interface->put('media_by_page',(integer)$_POST['user_ui_media_by_page'],'integer');
-
+		
 		# Udate user
 		$core->updUser($core->auth->userID(),$cur);
-
+		
 		# --BEHAVIOR-- adminAfterUserOptionsUpdate
 		$core->callBehavior('adminAfterUserOptionsUpdate',$cur,$core->auth->userID());
-
+		
 		dcPage::addSuccessNotice(__('Personal options has been successfully updated.'));
 		http::redirect('preferences.php#user-options');
@@ -192,5 +192,5 @@
 		# --BEHAVIOR-- adminBeforeUserOptionsUpdate
 		$core->callBehavior('adminBeforeDashboardOptionsUpdate',$core->auth->userID());
-
+		
 		# Update user prefs
 		$core->auth->user_prefs->dashboard->put('doclinks',!empty($_POST['user_dm_doclinks']),'boolean');
@@ -199,8 +199,8 @@
 		$core->auth->user_prefs->interface->put('iconset',(!empty($_POST['user_ui_iconset']) ? $_POST['user_ui_iconset'] : ''));
 		$core->auth->user_prefs->interface->put('nofavmenu',empty($_POST['user_ui_nofavmenu']),'boolean');
-
+		
 		# --BEHAVIOR-- adminAfterUserOptionsUpdate
 		$core->callBehavior('adminAfterDashboardOptionsUpdate',$core->auth->userID());
-
+		
 		dcPage::addSuccessNotice(__('Dashboard options has been successfully updated.'));
 		http::redirect('preferences.php#user-favorites');
@@ -213,5 +213,5 @@
 
 # Add selected favorites
-if (!empty($_POST['appendaction']))
+if (!empty($_POST['appendaction'])) 
 {
 	try {
@@ -280,5 +280,5 @@
 			unset($order[$k]);
 		}
-	}
+	}	
 	$core->favs->setFavoriteIDs($order,false);
 	if (!$core->error->flag()) {
@@ -305,5 +305,4 @@
 	($user_acc_nodragdrop ? '' : dcPage::jsLoad('js/_preferences-dragdrop.js')).
 	dcPage::jsLoad('js/jquery/jquery-ui.custom.js').
-	dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js').
 	dcPage::jsLoad('js/jquery/jquery.pwstrength.js').
 		'<script type="text/javascript">'."\n".
@@ -321,5 +320,5 @@
 	dcPage::jsPageTabs($default_tab).
 	dcPage::jsConfirmClose('user-form').
-
+	
 	# --BEHAVIOR-- adminPreferencesHeaders
 	$core->callBehavior('adminPreferencesHeaders'),
@@ -387,5 +386,5 @@
 	echo
 	'<h4 class="vertical-separator pretty-title">'.__('Change my password').'</h4>'.
-
+	
 	'<div class="pw-table">'.
 	'<p class="pw-cell"><label for="new_pwd">'.__('New password:').'</label>'.
@@ -396,8 +395,8 @@
 	'</div>'.
 	'</div>'.
-
+	
 	'<p><label for="new_pwd_c">'.__('Confirm new password:').'</label>'.
 	form::password('new_pwd_c',20,255).'</p>'.
-
+	
 	'<p><label for="cur_pwd">'.__('Your current password:').'</label>'.
 	form::password('cur_pwd',20,255).'</p>'.
@@ -590,5 +589,5 @@
 
 if (count($iconsets_combo) > 1) {
-	echo
+	echo 
 		'<div class="fieldset">'.
 		'<h4>'.__('Dashboard icons').'</h4>'.
Index: admin/style/default.css
===================================================================
--- admin/style/default.css	(revision 2519)
+++ admin/style/default.css	(revision 2532)
@@ -502,5 +502,5 @@
 	margin-bottom: 0.5em;
 	}
-label .maximal, textarea.maximal, input.maximal {
+label .maximal, textarea.maximal, input.maximal, select.maximal {
 	width: 99%;
 	}
@@ -1292,5 +1292,5 @@
 	padding-right: 1.5em;
 	}
-th.first img {
+th.first input {
 	padding-right: 34px;
 	}
@@ -2371,4 +2371,5 @@
 	}
 .nav_prevnext a, a.back {
+	color: #2373A8;
 	border: 1px solid #dfdfdf;
 	padding: 2px 1.5em;
@@ -2788,4 +2789,14 @@
 	vertical-align: bottom;
 	}
+.pseudo-tabs li {
+	display: block;
+	float: left;
+	width: 50%;
+	border-top: 1px solid #ddd;
+	padding: .25em;
+	}
+.pseudo-tabs li:first-child, .pseudo-tabs li:nth-of-type(2) {
+	border-top: none;
+	}
 }
 @media screen and (max-width: 26.5em) {
@@ -2856,3 +2867,12 @@
 	padding: 0.3em 1em 0.3em 0;
 	}
+.pseudo-tabs li {
+	display: block;
+	width: 100%;
+	float: none;
+	border-top: 1px solid #ddd !important;
+	}
+.pseudo-tabs li:first-child {
+	border-top: none;
+	}
 }
Index: inc/core/class.dc.blog.php
===================================================================
--- inc/core/class.dc.blog.php	(revision 2521)
+++ inc/core/class.dc.blog.php	(revision 2318)
@@ -27,5 +27,5 @@
 	/** @var string Database table prefix */
 	public $prefix;
-
+	
 	/** @var string Blog ID */
 	public $id;
@@ -46,5 +46,5 @@
 	/** @var string Blog status */
 	public $status;
-
+	
 	/** @var dcSettings dcSettings object */
 	public $settings;
@@ -53,16 +53,16 @@
 	/** @var string Blog public path */
 	public $public_path;
-
+	
 	private $post_status = array();
 	private $comment_status = array();
-
+	
 	private $categories;
-
+	
 	/** @var boolean Disallow entries password protection */
 	public $without_password = true;
-
+	
 	/**
 	Inits dcBlog object
-
+	
 	@param	core		<b>dcCore</b>		Dotclear core reference
 	@param	id		<b>string</b>		Blog ID
@@ -73,5 +73,5 @@
 		$this->prefix = $core->prefix;
 		$this->core =& $core;
-
+		
 		if (($b = $this->core->getBlog($id)) !== false)
 		{
@@ -85,25 +85,25 @@
 			$this->upddt = strtotime($b->blog_upddt);
 			$this->status = $b->blog_status;
-
+			
 			$this->settings = new dcSettings($this->core,$this->id);
-
+			
 			$this->themes_path = path::fullFromRoot($this->settings->system->themes_path,DC_ROOT);
 			$this->public_path = path::fullFromRoot($this->settings->system->public_path,DC_ROOT);
-
+			
 			$this->post_status['-2'] = __('Pending');
 			$this->post_status['-1'] = __('Scheduled');
 			$this->post_status['0'] = __('Unpublished');
 			$this->post_status['1'] = __('Published');
-
+			
 			$this->comment_status['-2'] = __('Junk');
 			$this->comment_status['-1'] = __('Pending');
 			$this->comment_status['0'] = __('Unpublished');
 			$this->comment_status['1'] = __('Published');
-
+			
 			# --BEHAVIOR-- coreBlogConstruct
 			$this->core->callBehavior('coreBlogConstruct',$this);
 		}
 	}
-
+	
 	/// @name Common public methods
 	//@{
@@ -116,12 +116,12 @@
 			return $this->url.'?';
 		}
-
+		
 		return $this->url;
 	}
-
+	
 	/**
 	Returns an entry status name given to a code. Status are translated, never
 	use it for tests. If status code does not exist, returns <i>unpublished</i>.
-
+	
 	@param	s	<b>integer</b> Status code
 	@return	<b>string</b> Blog status name
@@ -134,8 +134,8 @@
 		return $this->post_status['0'];
 	}
-
+	
 	/**
 	Returns an array of available entry status codes and names.
-
+	
 	@return	<b>array</b> Simple array with codes in keys and names in value
 	*/
@@ -144,8 +144,8 @@
 		return $this->post_status;
 	}
-
+	
 	/**
 	Returns an array of available comment status codes and names.
-
+	
 	@return	<b>array</b> Simple array with codes in keys and names in value
 	*/
@@ -154,9 +154,9 @@
 		return $this->comment_status;
 	}
-
+	
 	/**
 	Disallows entries password protection. You need to set it to
 	<var>false</var> while serving a public blog.
-
+	
 	@param	v		<b>boolean</b>
 	*/
@@ -166,5 +166,5 @@
 	}
 	//@}
-
+	
 	/// @name Triggers methods
 	//@{
@@ -176,17 +176,17 @@
 	{
 		$cur = $this->con->openCursor($this->prefix.'blog');
-
+		
 		$cur->blog_upddt = date('Y-m-d H:i:s');
-
+		
 		$cur->update("WHERE blog_id = '".$this->con->escape($this->id)."' ");
-
+		
 		# --BEHAVIOR-- coreBlogAfterTriggerBlog
 		$this->core->callBehavior('coreBlogAfterTriggerBlog',$cur);
 	}
-
+	
 	/**
 	Updates comment and trackback counters in post table. Should be called
 	every time a comment or trackback is added, removed or changed its status.
-
+	
 	@param	id		<b>integer</b>		Comment ID
 	@param	del		<b>boolean</b>		If comment is delete, set this to true
@@ -196,9 +196,9 @@
 		$this->triggerComments($id,$del);
 	}
-
+	
 	/**
 	Updates comments and trackbacks counters in post table. Should be called
 	every time comments or trackbacks are added, removed or changed their status.
-
+	
 	@param	ids		<b>mixed</b>		Comment(s) ID(s)
 	@param	del		<b>boolean</b>		If comment is delete, set this to true
@@ -208,15 +208,15 @@
 	{
 		$comments_ids = dcUtils::cleanIds($ids);
-
+		
 		# Get posts affected by comments edition
 		if (empty($affected_posts)) {
-			$strReq =
+			$strReq = 
 				'SELECT post_id '.
 				'FROM '.$this->prefix.'comment '.
 				'WHERE comment_id'.$this->con->in($comments_ids).
 				'GROUP BY post_id';
-
+			
 			$rs = $this->con->select($strReq);
-
+			
 			$affected_posts = array();
 			while ($rs->fetch()) {
@@ -224,11 +224,11 @@
 			}
 		}
-
+		
 		if (!is_array($affected_posts) || empty($affected_posts)) {
 			return;
 		}
-
+		
 		# Count number of comments if exists for affected posts
-		$strReq =
+		$strReq = 
 			'SELECT post_id, COUNT(post_id) AS nb_comment, comment_trackback '.
 			'FROM '.$this->prefix.'comment '.
@@ -236,7 +236,7 @@
 			'AND post_id'.$this->con->in($affected_posts).
 			'GROUP BY post_id,comment_trackback';
-
+		
 		$rs = $this->con->select($strReq);
-
+		
 		$posts = array();
 		while ($rs->fetch()) {
@@ -247,5 +247,5 @@
 			}
 		}
-
+		
 		# Update number of comments on affected posts
 		$cur = $this->con->openCursor($this->prefix.'post');
@@ -253,5 +253,5 @@
 		{
 			$cur->clean();
-
+			
 			if (!array_key_exists($post_id,$posts)) {
 				$cur->nb_trackback = 0;
@@ -261,10 +261,10 @@
 				$cur->nb_comment = empty($posts[$post_id]['comment']) ? 0 : $posts[$post_id]['comment'];
 			}
-
+			
 			$cur->update('WHERE post_id = '.$post_id);
 		}
 	}
 	//@}
-
+	
 	/// @name Categories management methods
 	//@{
@@ -274,12 +274,12 @@
 			$this->categories = new dcCategories($this->core);
 		}
-
+		
 		return $this->categories;
 	}
-
+	
 	/**
 	Retrieves categories. <var>$params</var> is an associative array which can
 	take the following parameters:
-
+	
 	- post_type: Get only entries with given type (default "post")
 	- cat_url: filter on cat_url field
@@ -287,5 +287,5 @@
 	- start: start with a given category
 	- level: categories level to retrieve
-
+	
 	@param	params	<b>array</b>		Parameters
 	@return	<b>record</b>
@@ -299,5 +299,5 @@
 		}
 		$counter = $this->getCategoriesCounter($c_params);
-
+		
 		if (isset($params['without_empty']) && ($params['without_empty'] == false)) {
 			$without_empty = false;
@@ -305,10 +305,10 @@
 			$without_empty = $this->core->auth->userID() == false; # Get all categories if in admin display
 		}
-
+		
 		$start = isset($params['start']) ? (integer) $params['start'] : 0;
 		$l = isset($params['level']) ? (integer) $params['level'] : 0;
-
+		
 		$rs = $this->categories()->getChildren($start,null,'desc');
-
+		
 		# Get each categories total posts count
 		$data = array();
@@ -319,5 +319,5 @@
 		{
 			$nb_post = isset($counter[$rs->cat_id]) ? (integer) $counter[$rs->cat_id] : 0;
-
+			
 			if ($rs->level > $level) {
 				$nb_total = $nb_post;
@@ -335,11 +335,11 @@
 				unset($stack[$rs->level+1]);
 			}
-
+			
 			if ($nb_total == 0 && $without_empty) {
 				continue;
 			}
-
+			
 			$level = $rs->level;
-
+			
 			$t = array();
 			foreach ($cols as $c) {
@@ -348,10 +348,10 @@
 			$t['nb_post'] = $nb_post;
 			$t['nb_total'] = $nb_total;
-
+			
 			if ($l == 0 || ($l > 0 && $l == $rs->level)) {
 				array_unshift($data,$t);
 			}
 		}
-
+		
 		# We need to apply filter after counting
 		if (isset($params['cat_id']) && $params['cat_id'] !== '')
@@ -369,6 +369,6 @@
 			}
 		}
-
-		if (isset($params['cat_url']) && ($params['cat_url'] !== '')
+		
+		if (isset($params['cat_url']) && ($params['cat_url'] !== '') 
 			&& !isset($params['cat_id']))
 		{
@@ -385,11 +385,11 @@
 			}
 		}
-
+		
 		return staticRecord::newFromArray($data);
 	}
-
+	
 	/**
 	Retrieves a category by its ID.
-
+	
 	@param	id		<b>integer</b>		Category ID
 	@return	<b>record</b>
@@ -399,8 +399,8 @@
 		return $this->getCategories(array('cat_id' => $id));
 	}
-
+	
 	/**
 	Retrieves parents of a given category.
-
+	
 	@param	id		<b>integer</b>		Category ID
 	@return	<b>record</b>
@@ -410,8 +410,8 @@
 		return $this->categories()->getParents($id);
 	}
-
+	
 	/**
 	Retrieves first parent of a given category.
-
+	
 	@param	id		<b>integer</b>		Category ID
 	@return	<b>record</b>
@@ -421,8 +421,8 @@
 		return $this->categories()->getParent($id);
 	}
-
+	
 	/**
 	Retrieves all category's first children
-
+	
 	@param	id		<b>integer</b>		Category ID
 	@return	<b>record</b>
@@ -432,5 +432,5 @@
 		return $this->getCategories(array('start' => $id,'level' => $id == 0 ? 1 : 2));
 	}
-
+	
 	private function getCategoriesCounter($params=array())
 	{
@@ -440,15 +440,15 @@
 		'JOIN '.$this->prefix."post P ON (C.cat_id = P.cat_id AND P.blog_id = '".$this->con->escape($this->id)."' ) ".
 		"WHERE C.blog_id = '".$this->con->escape($this->id)."' ";
-
+		
 		if (!$this->core->auth->userID()) {
 			$strReq .= 'AND P.post_status = 1 ';
 		}
-
+		
 		if (!empty($params['post_type'])) {
 			$strReq .= 'AND P.post_type '.$this->con->in($params['post_type']);
 		}
-
+		
 		$strReq .= 'GROUP BY C.cat_id ';
-
+		
 		$rs = $this->con->select($strReq);
 		$counters = array();
@@ -456,12 +456,12 @@
 			$counters[$rs->cat_id] = $rs->nb_post;
 		}
-
+		
 		return $counters;
 	}
-
+	
 	/**
 	Creates a new category. Takes a cursor as input and returns the new category
 	ID.
-
+	
 	@param	cur		<b>cursor</b>		Category cursor
 	@return	<b>integer</b>		New category ID
@@ -472,5 +472,5 @@
 			throw new Exception(__('You are not allowed to add categories'));
 		}
-
+		
 		$url = array();
 		if ($parent != 0)
@@ -483,5 +483,5 @@
 			}
 		}
-
+		
 		if ($cur->cat_url == '') {
 			$url[] = text::tidyURL($cur->cat_title,false);
@@ -489,13 +489,13 @@
 			$url[] = $cur->cat_url;
 		}
-
+		
 		$cur->cat_url = implode('/',$url);
-
+		
 		$this->getCategoryCursor($cur);
 		$cur->blog_id = (string) $this->id;
-
+		
 		# --BEHAVIOR-- coreBeforeCategoryCreate
 		$this->core->callBehavior('coreBeforeCategoryCreate',$this,$cur);
-
+		
 		$id = $this->categories()->addNode($cur,$parent);
 		# Update category's cursor
@@ -505,15 +505,15 @@
 			$cur->cat_rgt = $rs->cat_rgt;
 		}
-
+		
 		# --BEHAVIOR-- coreAfterCategoryCreate
 		$this->core->callBehavior('coreAfterCategoryCreate',$this,$cur);
 		$this->triggerBlog();
-
+		
 		return $cur->cat_id;
 	}
-
+	
 	/**
 	Updates an existing category.
-
+	
 	@param	id		<b>integer</b>		Category ID
 	@param	cur		<b>cursor</b>		Category cursor
@@ -524,5 +524,5 @@
 			throw new Exception(__('You are not allowed to update categories'));
 		}
-
+		
 		if ($cur->cat_url == '')
 		{
@@ -534,22 +534,22 @@
 				}
 			}
-
-
+			
+			
 			$url[] = text::tidyURL($cur->cat_title,false);
 			$cur->cat_url = implode('/',$url);
 		}
-
+		
 		$this->getCategoryCursor($cur,$id);
-
+		
 		# --BEHAVIOR-- coreBeforeCategoryUpdate
 		$this->core->callBehavior('coreBeforeCategoryUpdate',$this,$cur);
-
+		
 		$cur->update(
 		'WHERE cat_id = '.(integer) $id.' '.
 		"AND blog_id = '".$this->con->escape($this->id)."' ");
-
+		
 		# --BEHAVIOR-- coreAfterCategoryUpdate
 		$this->core->callBehavior('coreAfterCategoryUpdate',$this,$cur);
-
+		
 		$this->triggerBlog();
 	}
@@ -567,9 +567,9 @@
                 $this->triggerBlog();
         }
-
+	
 	/**
 	DEPRECATED METHOD. Use dcBlog::setCategoryParent and dcBlog::moveCategory
 	instead.
-
+	
 	@param	id		<b>integer</b>		Category ID
 	@param	order	<b>integer</b>		Category position
@@ -579,8 +579,8 @@
 		return;
 	}
-
+	
 	/**
 	Set a category parent
-
+	
 	@param	id		<b>integer</b>		Category ID
 	@param	parent	<b>integer</b>		Parent Category ID
@@ -591,8 +591,8 @@
 		$this->triggerBlog();
 	}
-
+	
 	/**
 	Set category position
-
+	
 	@param	id		<b>integer</b>		Category ID
 	@param	sibling	<b>integer</b>		Sibling Category ID
@@ -604,8 +604,8 @@
 		$this->triggerBlog();
 	}
-
+	
 	/**
 	Deletes a category.
-
+	
 	@param	id		<b>integer</b>		Category ID
 	*/
@@ -615,20 +615,20 @@
 			throw new Exception(__('You are not allowed to delete categories'));
 		}
-
+		
 		$strReq = 'SELECT COUNT(post_id) AS nb_post '.
 				'FROM '.$this->prefix.'post '.
 				'WHERE cat_id = '.(integer) $id.' '.
 				"AND blog_id = '".$this->con->escape($this->id)."' ";
-
+		
 		$rs = $this->con->select($strReq);
-
+		
 		if ($rs->nb_post > 0) {
 			throw new Exception(__('This category is not empty.'));
 		}
-
+		
 		$this->categories()->deleteNode($id,true);
 		$this->triggerBlog();
 	}
-
+	
 	/**
 	Reset categories order and relocate them to first level
@@ -639,13 +639,13 @@
 			throw new Exception(__('You are not allowed to reset categories order'));
 		}
-
+		
 		$this->categories()->resetOrder();
 		$this->triggerBlog();
 	}
-
+	
 	private function checkCategory($title,$url,$id=null)
 	{
 		# Let's check if URL is taken...
-		$strReq =
+		$strReq = 
 			'SELECT cat_url FROM '.$this->prefix.'category '.
 			"WHERE cat_url = '".$this->con->escape($url)."' ".
@@ -653,7 +653,7 @@
 			"AND blog_id = '".$this->con->escape($this->id)."' ".
 			'ORDER BY cat_url DESC';
-
+		
 		$rs = $this->con->select($strReq);
-
+		
 		if (!$rs->isEmpty())
 		{
@@ -665,5 +665,5 @@
 				$clause = "LIKE '".$this->con->escape($url)."%'";
 			}
-			$strReq =
+			$strReq = 
 				'SELECT cat_url FROM '.$this->prefix.'category '.
 				"WHERE cat_url ".$clause.' '.
@@ -671,5 +671,5 @@
 				"AND blog_id = '".$this->con->escape($this->id)."' ".
 				'ORDER BY cat_url DESC ';
-
+			
 			$rs = $this->con->select($strReq);
 			$a = array();
@@ -677,8 +677,8 @@
 				$a[] = $rs->cat_url;
 			}
-
+			
 			natsort($a);
 			$t_url = end($a);
-
+			
 			if (preg_match('/(.*?)([0-9]+)$/',$t_url,$m)) {
 				$i = (integer) $m[2];
@@ -687,16 +687,16 @@
 				$i = 1;
 			}
-
+			
 			return $url.($i+1);
 		}
-
+		
 		# URL is empty?
 		if ($url == '') {
 			throw new Exception(__('Empty category URL'));
 		}
-
+		
 		return $url;
 	}
-
+	
 	private function getCategoryCursor($cur,$id=null)
 	{
@@ -704,10 +704,10 @@
 			throw new Exception(__('You must provide a category title'));
 		}
-
+		
 		# If we don't have any cat_url, let's do one
 		if ($cur->cat_url == '') {
 			$cur->cat_url = text::tidyURL($cur->cat_title,false);
 		}
-
+		
 		# Still empty ?
 		if ($cur->cat_url == '') {
@@ -716,8 +716,8 @@
 			$cur->cat_url = text::tidyURL($cur->cat_url,true);
 		}
-
+		
 		# Check if title or url are unique
 		$cur->cat_url = $this->checkCategory($cur->cat_title,$cur->cat_url,$id);
-
+		
 		if ($cur->cat_desc !== null) {
 			$cur->cat_desc = $this->core->HTMLfilter($cur->cat_desc);
@@ -725,5 +725,5 @@
 	}
 	//@}
-
+	
 	/// @name Entries management methods
 	//@{
@@ -731,5 +731,5 @@
 	Retrieves entries. <b>$params</b> is an array taking the following
 	optionnal parameters:
-
+	
 	- no_content: Don't retrieve entry content (excerpt and content)
 	- post_type: Get only entries with given type (default "post", array for many types and '' for no type)
@@ -755,8 +755,8 @@
 	- sql_only : return the sql request instead of results. Only ids are selected
 	- exclude_post_id : (integer or array) Exclude entries with given post_id
-
+	
 	Please note that on every cat_id or cat_url, you can add ?not to exclude
 	the category and ?sub to get subcategories.
-
+	
 	@param	params		<b>array</b>		Parameters
 	@param	count_only	<b>boolean</b>		Only counts results
@@ -773,5 +773,5 @@
 			$strReq = 'SELECT count(DISTINCT P.post_id) ';
 		}
-		elseif (!empty($params['sql_only']))
+		elseif (!empty($params['sql_only'])) 
 		{
 			$strReq = 'SELECT P.post_id ';
@@ -786,9 +786,9 @@
 				'post_content, post_content_xhtml, post_notes, ';
 			}
-
+			
 			if (!empty($params['columns']) && is_array($params['columns'])) {
 				$content_req .= implode(', ',$params['columns']).', ';
 			}
-
+			
 
 			$strReq =
@@ -802,5 +802,5 @@
 			'C.cat_title, C.cat_url, C.cat_desc ';
 		}
-
+		
 		$strReq .=
 		'FROM '.$this->prefix.'post P '.
@@ -811,16 +811,16 @@
 			$strReq .= $params['from'].' ';
 		}
-
+		
 		$strReq .=
 		"WHERE P.blog_id = '".$this->con->escape($this->id)."' ";
-
+		
 		if (!$this->core->auth->check('contentadmin',$this->id)) {
 			$strReq .= 'AND ((post_status = 1 ';
-
+			
 			if ($this->without_password) {
 				$strReq .= 'AND post_password IS NULL ';
 			}
 			$strReq .= ') ';
-
+			
 			if ($this->core->auth->userID()) {
 				$strReq .= "OR P.user_id = '".$this->con->escape($this->core->auth->userID())."')";
@@ -829,5 +829,5 @@
 			}
 		}
-
+		
 		#Adding parameters
 		if (isset($params['post_type']))
@@ -841,5 +841,5 @@
 			$strReq .= "AND post_type = 'post' ";
 		}
-
+		
 		if (isset($params['post_id']) && $params['post_id'] !== '') {
 			if (is_array($params['post_id'])) {
@@ -850,5 +850,5 @@
 			$strReq .= 'AND P.post_id '.$this->con->in($params['post_id']);
 		}
-
+		
 		if (isset($params['exclude_post_id']) && $params['exclude_post_id'] !== '') {
 			if (is_array($params['exclude_post_id'])) {
@@ -859,13 +859,13 @@
 			$strReq .= 'AND P.post_id NOT '.$this->con->in($params['exclude_post_id']);
 		}
-
+		
 		if (isset($params['post_url']) && $params['post_url'] !== '') {
 			$strReq .= "AND post_url = '".$this->con->escape($params['post_url'])."' ";
 		}
-
+		
 		if (!empty($params['user_id'])) {
 			$strReq .= "AND U.user_id = '".$this->con->escape($params['user_id'])."' ";
 		}
-
+		
 		if (isset($params['cat_id']) && $params['cat_id'] !== '')
 		{
@@ -888,37 +888,37 @@
 			$strReq .= 'AND '.$this->getPostsCategoryFilter($params['cat_url'],'cat_url').' ';
 		}
-
+		
 		/* Other filters */
 		if (isset($params['post_status'])) {
 			$strReq .= 'AND post_status = '.(integer) $params['post_status'].' ';
 		}
-
+		
 		if (isset($params['post_selected'])) {
 			$strReq .= 'AND post_selected = '.(integer) $params['post_selected'].' ';
 		}
-
+		
 		if (!empty($params['post_year'])) {
 			$strReq .= 'AND '.$this->con->dateFormat('post_dt','%Y').' = '.
 			"'".sprintf('%04d',$params['post_year'])."' ";
 		}
-
+		
 		if (!empty($params['post_month'])) {
 			$strReq .= 'AND '.$this->con->dateFormat('post_dt','%m').' = '.
 			"'".sprintf('%02d',$params['post_month'])."' ";
 		}
-
+		
 		if (!empty($params['post_day'])) {
 			$strReq .= 'AND '.$this->con->dateFormat('post_dt','%d').' = '.
 			"'".sprintf('%02d',$params['post_day'])."' ";
 		}
-
+		
 		if (!empty($params['post_lang'])) {
 			$strReq .= "AND P.post_lang = '".$this->con->escape($params['post_lang'])."' ";
 		}
-
+		
 		if (!empty($params['search']))
 		{
 			$words = text::splitWords($params['search']);
-
+			
 			if (!empty($words))
 			{
@@ -927,5 +927,5 @@
 					$this->core->callBehavior('corePostSearch',$this->core,array(&$words,&$strReq,&$params));
 				}
-
+				
 				if ($words)
 				{
@@ -937,10 +937,10 @@
 			}
 		}
-
+		
 		if (isset($params['media'])) {
 			if ($params['media'] == '0') {
 				$strReq .= 'AND NOT ';
 			} else {
-				$strReq .= 'AND ';
+				$strReq .= 'AND ';				
 			}
 			$strReq .= 'EXISTS (SELECT M.post_id FROM '.$this->prefix.'post_media M '.
@@ -964,9 +964,9 @@
 			}
 		}
-
+		
 		if (!$count_only && !empty($params['limit'])) {
 			$strReq .= $this->con->limit($params['limit']);
 		}
-
+		
 		if (!empty($params['sql_only'])) {
 			return $strReq;
@@ -977,16 +977,16 @@
 		$rs->_nb_media = array();
 		$rs->extend('rsExtPost');
-
+		
 		# --BEHAVIOR-- coreBlogGetPosts
 		$this->core->callBehavior('coreBlogGetPosts',$rs);
-
+		
 		return $rs;
 	}
-
+	
 	/**
 	Returns a record with post id, title and date for next or previous post
 	according to the post ID.
 	$dir could be 1 (next post) or -1 (previous post).
-
+	
 	@param	post_id				<b>integer</b>		Post ID
 	@param	dir					<b>integer</b>		Search direction
@@ -999,5 +999,5 @@
 		$dt = $post->post_dt;
 		$post_id = (integer) $post->post_id;
-
+		
 		if($dir > 0) {
 			$sign = '>';
@@ -1008,5 +1008,5 @@
 			$order = 'DESC';
 		}
-
+		
 		$params['post_type'] = $post->post_type;
 		$params['limit'] = 1;
@@ -1017,31 +1017,31 @@
 		"	OR post_dt ".$sign." '".$this->con->escape($dt)."' ".
 		') ';
-
+		
 		if ($restrict_to_category) {
 			$params['sql'] .= $post->cat_id ? 'AND P.cat_id = '.(integer) $post->cat_id.' ' : 'AND P.cat_id IS NULL ';
 		}
-
+		
 		if ($restrict_to_lang) {
 			$params['sql'] .= $post->post_lang ? 'AND P.post_lang = \''. $this->con->escape($post->post_lang) .'\' ': 'AND P.post_lang IS NULL ';
 		}
-
+		
 		$rs = $this->getPosts($params);
-
+		
 		if ($rs->isEmpty()) {
 			return null;
 		}
-
+		
 		return $rs;
 	}
-
+	
 	/**
 	Retrieves different languages and post count on blog, based on post_lang
 	field. <var>$params</var> is an array taking the following optionnal
 	parameters:
-
+	
 	- post_type: Get only entries with given type (default "post", '' for no type)
 	- lang: retrieve post count for selected lang
 	- order: order statement (default post_lang DESC)
-
+	
 	@param	params	<b>array</b>		Parameters
 	@return	record
@@ -1054,13 +1054,13 @@
 				"AND post_lang <> '' ".
 				"AND post_lang IS NOT NULL ";
-
+		
 		if (!$this->core->auth->check('contentadmin',$this->id)) {
 			$strReq .= 'AND ((post_status = 1 ';
-
+			
 			if ($this->without_password) {
 				$strReq .= 'AND post_password IS NULL ';
 			}
 			$strReq .= ') ';
-
+			
 			if ($this->core->auth->userID()) {
 				$strReq .= "OR user_id = '".$this->con->escape($this->core->auth->userID())."')";
@@ -1069,5 +1069,5 @@
 			}
 		}
-
+		
 		if (isset($params['post_type'])) {
 			if ($params['post_type'] != '') {
@@ -1077,11 +1077,11 @@
 			$strReq .= "AND post_type = 'post' ";
 		}
-
+		
 		if (isset($params['lang'])) {
 			$strReq .= "AND post_lang = '".$this->con->escape($params['lang'])."' ";
 		}
-
+		
 		$strReq .= 'GROUP BY post_lang ';
-
+		
 		$order = 'desc';
 		if (!empty($params['order']) && preg_match('/^(desc|asc)$/i',$params['order'])) {
@@ -1089,12 +1089,12 @@
 		}
 		$strReq .= 'ORDER BY post_lang '.$order.' ';
-
+		
 		return $this->con->select($strReq);
 	}
-
+	
 	/**
 	Returns a record with all distinct blog dates and post count.
 	<var>$params</var> is an array taking the following optionnal parameters:
-
+	
 	- type: (day|month|year) Get days, months or years
 	- year: (integer) Get dates for given year
@@ -1107,5 +1107,5 @@
 	- previous: Get date before match
 	- order: Sort by date "ASC" or "DESC"
-
+	
 	@param	params	<b>array</b>		Parameters array
 	@return	record
@@ -1126,7 +1126,7 @@
 		$dt_f .= ' 00:00:00';
 		$dt_fc .= '000000';
-
+		
 		$cat_field = $catReq = $limit = '';
-
+		
 		if (isset($params['cat_id']) && $params['cat_id'] !== '') {
 			$catReq = 'AND P.cat_id = '.(integer) $params['cat_id'].' ';
@@ -1139,5 +1139,5 @@
 			$catReq = 'AND P.post_lang = \''. $params['post_lang'].'\' ';
 		}
-
+		
 		$strReq = 'SELECT DISTINCT('.$this->con->dateFormat('post_dt',$dt_f).') AS dt '.
 				$cat_field.
@@ -1147,13 +1147,13 @@
 				"WHERE P.blog_id = '".$this->con->escape($this->id)."' ".
 				$catReq;
-
+		
 		if (!$this->core->auth->check('contentadmin',$this->id)) {
 			$strReq .= 'AND ((post_status = 1 ';
-
+			
 			if ($this->without_password) {
 				$strReq .= 'AND post_password IS NULL ';
 			}
 			$strReq .= ') ';
-
+			
 			if ($this->core->auth->userID()) {
 				$strReq .= "OR P.user_id = '".$this->con->escape($this->core->auth->userID())."')";
@@ -1162,5 +1162,5 @@
 			}
 		}
-
+		
 		if (!empty($params['post_type'])) {
 			$strReq .= "AND post_type ".$this->con->in($params['post_type'])." ";
@@ -1168,17 +1168,17 @@
 			$strReq .= "AND post_type = 'post' ";
 		}
-
+		
 		if (!empty($params['year'])) {
 			$strReq .= 'AND '.$this->con->dateFormat('post_dt','%Y')." = '".sprintf('%04d',$params['year'])."' ";
 		}
-
+		
 		if (!empty($params['month'])) {
 			$strReq .= 'AND '.$this->con->dateFormat('post_dt','%m')." = '".sprintf('%02d',$params['month'])."' ";
 		}
-
+		
 		if (!empty($params['day'])) {
 			$strReq .= 'AND '.$this->con->dateFormat('post_dt','%d')." = '".sprintf('%02d',$params['day'])."' ";
 		}
-
+		
 		# Get next or previous date
 		if (!empty($params['next']) || !empty($params['previous']))
@@ -1193,31 +1193,31 @@
 				$dt = $params['previous'];
 			}
-
+			
 			$dt = date('YmdHis',strtotime($dt));
-
+			
 			$strReq .= 'AND '.$this->con->dateFormat('post_dt',$dt_fc).$pdir."'".$dt."' ";
 			$limit = $this->con->limit(1);
 		}
-
+		
 		$strReq .= 'GROUP BY dt '.$cat_field;
-
+		
 		$order = 'desc';
 		if (!empty($params['order']) && preg_match('/^(desc|asc)$/i',$params['order'])) {
 			$order = $params['order'];
 		}
-
+		
 		$strReq .=
 		'ORDER BY dt '.$order.' '.
 		$limit;
-
+		
 		$rs = $this->con->select($strReq);
 		$rs->extend('rsExtDates');
 		return $rs;
 	}
-
+	
 	/**
 	Creates a new entry. Takes a cursor as input and returns the new entry
 	ID.
-
+	
 	@param	cur		<b>cursor</b>		Post cursor
 	@return	<b>integer</b>		New post ID
@@ -1228,5 +1228,5 @@
 			throw new Exception(__('You are not allowed to create an entry'));
 		}
-
+		
 		$this->con->writeLock($this->prefix.'post');
 		try
@@ -1235,7 +1235,7 @@
 			$rs = $this->con->select(
 				'SELECT MAX(post_id) '.
-				'FROM '.$this->prefix.'post '
+				'FROM '.$this->prefix.'post ' 
 				);
-
+			
 			$cur->post_id = (integer) $rs->f(0) + 1;
 			$cur->blog_id = (string) $this->id;
@@ -1243,19 +1243,19 @@
 			$cur->post_upddt = date('Y-m-d H:i:s');
 			$cur->post_tz = $this->core->auth->getInfo('user_tz');
-
+			
 			# Post excerpt and content
 			$this->getPostContent($cur,$cur->post_id);
-
+			
 			$this->getPostCursor($cur);
-
+			
 			$cur->post_url = $this->getPostURL($cur->post_url,$cur->post_dt,$cur->post_title,$cur->post_id);
-
+			
 			if (!$this->core->auth->check('publish,contentadmin',$this->id)) {
 				$cur->post_status = -2;
 			}
-
+			
 			# --BEHAVIOR-- coreBeforePostCreate
 			$this->core->callBehavior('coreBeforePostCreate',$this,$cur);
-
+			
 			$cur->insert();
 			$this->con->unlock();
@@ -1266,16 +1266,16 @@
 			throw $e;
 		}
-
+		
 		# --BEHAVIOR-- coreAfterPostCreate
 		$this->core->callBehavior('coreAfterPostCreate',$this,$cur);
-
+		
 		$this->triggerBlog();
-
+		
 		return $cur->post_id;
 	}
-
+	
 	/**
 	Updates an existing post.
-
+	
 	@param	id		<b>integer</b>		Post ID
 	@param	cur		<b>cursor</b>		Post cursor
@@ -1286,26 +1286,26 @@
 			throw new Exception(__('You are not allowed to update entries'));
 		}
-
+		
 		$id = (integer) $id;
-
+		
 		if (empty($id)) {
 			throw new Exception(__('No such entry ID'));
 		}
-
+		
 		# Post excerpt and content
 		$this->getPostContent($cur,$id);
-
+		
 		$this->getPostCursor($cur);
-
+		
 		if ($cur->post_url !== null) {
 			$cur->post_url = $this->getPostURL($cur->post_url,$cur->post_dt,$cur->post_title,$id);
 		}
-
+		
 		if (!$this->core->auth->check('publish,contentadmin',$this->id)) {
 			$cur->unsetField('post_status');
 		}
-
+		
 		$cur->post_upddt = date('Y-m-d H:i:s');
-
+		
 		#If user is only "usage", we need to check the post's owner
 		if (!$this->core->auth->check('contentadmin',$this->id))
@@ -1315,26 +1315,26 @@
 					'WHERE post_id = '.$id.' '.
 					"AND user_id = '".$this->con->escape($this->core->auth->userID())."' ";
-
+			
 			$rs = $this->con->select($strReq);
-
+			
 			if ($rs->isEmpty()) {
 				throw new Exception(__('You are not allowed to edit this entry'));
 			}
 		}
-
+		
 		# --BEHAVIOR-- coreBeforePostUpdate
 		$this->core->callBehavior('coreBeforePostUpdate',$this,$cur);
-
+		
 		$cur->update('WHERE post_id = '.$id.' ');
-
+		
 		# --BEHAVIOR-- coreAfterPostUpdate
 		$this->core->callBehavior('coreAfterPostUpdate',$this,$cur);
-
+		
 		$this->triggerBlog();
 	}
-
+	
 	/**
 	Updates post status.
-
+	
 	@param	id		<b>integer</b>		Post ID
 	@param	status	<b>integer</b>		Post status
@@ -1344,8 +1344,8 @@
 		$this->updPostsStatus($id,$status);
 	}
-
+	
 	/**
 	Updates posts status.
-
+	
 	@param	ids		<b>mixed</b>		Post(s) ID(s)
 	@param	status	<b>integer</b>		Post status
@@ -1356,11 +1356,11 @@
 			throw new Exception(__('You are not allowed to change this entry status'));
 		}
-
+		
 		$posts_ids = dcUtils::cleanIds($ids);
 		$status = (integer) $status;
-
+		
 		$strReq = "WHERE blog_id = '".$this->con->escape($this->id)."' ".
 				"AND post_id ".$this->con->in($posts_ids);
-
+		
 		#If user can only publish, we need to check the post's owner
 		if (!$this->core->auth->check('contentadmin',$this->id))
@@ -1368,17 +1368,17 @@
 			$strReq .= "AND user_id = '".$this->con->escape($this->core->auth->userID())."' ";
 		}
-
+		
 		$cur = $this->con->openCursor($this->prefix.'post');
-
+		
 		$cur->post_status = $status;
 		$cur->post_upddt = date('Y-m-d H:i:s');
-
+		
 		$cur->update($strReq);
 		$this->triggerBlog();
 	}
-
+	
 	/**
 	Updates post selection.
-
+	
 	@param	id		<b>integer</b>		Post ID
 	@param	selected	<b>integer</b>		Is selected post
@@ -1388,8 +1388,8 @@
 		$this->updPostsSelected($id,$selected);
 	}
-
+	
 	/**
 	Updates posts selection.
-
+	
 	@param	ids		<b>mixed</b>		Post(s) ID(s)
 	@param	selected	<b>integer</b>		Is selected post(s)
@@ -1400,11 +1400,11 @@
 			throw new Exception(__('You are not allowed to change this entry category'));
 		}
-
+		
 		$posts_ids = dcUtils::cleanIds($ids);
 		$selected = (boolean) $selected;
-
+		
 		$strReq = "WHERE blog_id = '".$this->con->escape($this->id)."' ".
 				"AND post_id ".$this->con->in($posts_ids);
-
+		
 		# If user is only usage, we need to check the post's owner
 		if (!$this->core->auth->check('contentadmin',$this->id))
@@ -1412,17 +1412,17 @@
 			$strReq .= "AND user_id = '".$this->con->escape($this->core->auth->userID())."' ";
 		}
-
+		
 		$cur = $this->con->openCursor($this->prefix.'post');
-
+		
 		$cur->post_selected = (integer) $selected;
 		$cur->post_upddt = date('Y-m-d H:i:s');
-
+		
 		$cur->update($strReq);
 		$this->triggerBlog();
 	}
-
+	
 	/**
 	Updates post category. <var>$cat_id</var> can be null.
-
+	
 	@param	id		<b>integer</b>		Post ID
 	@param	cat_id	<b>integer</b>		Category ID
@@ -1432,8 +1432,8 @@
 		$this->updPostsCategory($id,$cat_id);
 	}
-
+	
 	/**
 	Updates posts category. <var>$cat_id</var> can be null.
-
+	
 	@param	ids		<b>mixed</b>		Post(s) ID(s)
 	@param	cat_id	<b>integer</b>		Category ID
@@ -1444,11 +1444,11 @@
 			throw new Exception(__('You are not allowed to change this entry category'));
 		}
-
+		
 		$posts_ids = dcUtils::cleanIds($ids);
 		$cat_id = (integer) $cat_id;
-
+		
 		$strReq = "WHERE blog_id = '".$this->con->escape($this->id)."' ".
 				"AND post_id ".$this->con->in($posts_ids);
-
+		
 		# If user is only usage, we need to check the post's owner
 		if (!$this->core->auth->check('contentadmin',$this->id))
@@ -1456,17 +1456,17 @@
 			$strReq .= "AND user_id = '".$this->con->escape($this->core->auth->userID())."' ";
 		}
-
+		
 		$cur = $this->con->openCursor($this->prefix.'post');
-
+		
 		$cur->cat_id = ($cat_id ? $cat_id : null);
 		$cur->post_upddt = date('Y-m-d H:i:s');
-
+		
 		$cur->update($strReq);
 		$this->triggerBlog();
 	}
-
+	
 	/**
 	Updates posts category. <var>$new_cat_id</var> can be null.
-
+	
 	@param	old_cat_id	<b>integer</b>		Old category ID
 	@param	new_cat_id	<b>integer</b>		New category ID
@@ -1477,13 +1477,13 @@
 			throw new Exception(__('You are not allowed to change entries category'));
 		}
-
+		
 		$old_cat_id = (integer) $old_cat_id;
 		$new_cat_id = (integer) $new_cat_id;
-
+		
 		$cur = $this->con->openCursor($this->prefix.'post');
-
+		
 		$cur->cat_id = ($new_cat_id ? $new_cat_id : null);
 		$cur->post_upddt = date('Y-m-d H:i:s');
-
+		
 		$cur->update(
 			'WHERE cat_id = '.$old_cat_id.' '.
@@ -1492,8 +1492,8 @@
 		$this->triggerBlog();
 	}
-
+	
 	/**
 	Deletes a post.
-
+	
 	@param	id		<b>integer</b>		Post ID
 	*/
@@ -1502,8 +1502,8 @@
 		$this->delPosts($id);
 	}
-
+	
 	/**
 	Deletes multiple posts.
-
+	
 	@param	ids		<b>mixed</b>		Post(s) ID(s)
 	*/
@@ -1513,15 +1513,15 @@
 			throw new Exception(__('You are not allowed to delete entries'));
 		}
-
+		
 		$posts_ids = dcUtils::cleanIds($ids);
-
+		
 		if (empty($posts_ids)) {
 			throw new Exception(__('No such entry ID'));
 		}
-
+		
 		$strReq = 'DELETE FROM '.$this->prefix.'post '.
 				"WHERE blog_id = '".$this->con->escape($this->id)."' ".
 				"AND post_id ".$this->con->in($posts_ids);
-
+		
 		#If user can only delete, we need to check the post's owner
 		if (!$this->core->auth->check('contentadmin',$this->id))
@@ -1529,9 +1529,9 @@
 			$strReq .= "AND user_id = '".$this->con->escape($this->core->auth->userID())."' ";
 		}
-
+		
 		$this->con->execute($strReq);
 		$this->triggerBlog();
 	}
-
+	
 	/**
 	Publishes all entries flaged as "scheduled".
@@ -1543,7 +1543,7 @@
 				'WHERE post_status = -1 '.
 				"AND blog_id = '".$this->con->escape($this->id)."' ";
-
+		
 		$rs = $this->con->select($strReq);
-
+		
 		$now = dt::toUTC(time());
 		$to_change = new ArrayObject();
@@ -1552,13 +1552,13 @@
 			return;
 		}
-
+		
 		while ($rs->fetch())
 		{
 			# Now timestamp with post timezone
 			$now_tz = $now + dt::getTimeOffset($rs->post_tz,$now);
-
+			
 			# Post timestamp
 			$post_ts = strtotime($rs->post_dt);
-
+			
 			# If now_tz >= post_ts, we publish the entry
 			if ($now_tz >= $post_ts) {
@@ -1582,10 +1582,10 @@
 			$this->core->callBehavior('coreAfterScheduledEntriesPublish',$this,$to_change);
 		}
-
-	}
-
+		
+	}
+	
 	/**
 	Retrieves all users having posts on current blog.
-
+	
 	@param	post_type		<b>string</b>		post_type filter (post)
 	@return	record
@@ -1598,22 +1598,22 @@
 				'WHERE P.user_id = U.user_id '.
 				"AND blog_id = '".$this->con->escape($this->id)."' ";
-
+		
 		if ($post_type) {
 			$strReq .= "AND post_type = '".$this->con->escape($post_type)."' ";
 		}
-
+		
 		$strReq .= 'GROUP BY P.user_id, user_name, user_firstname, user_displayname, user_email ';
-
+		
 		return $this->con->select($strReq);
 	}
-
+	
 	private function getPostsCategoryFilter($arr,$field='cat_id')
 	{
 		$field = $field == 'cat_id' ? 'cat_id' : 'cat_url';
-
+		
 		$sub = array();
 		$not = array();
 		$queries = array();
-
+		
 		foreach ($arr as $v)
 		{
@@ -1622,5 +1622,5 @@
 			$id = array_shift($args);
 			$args = array_flip($args);
-
+			
 			if (isset($args['not'])) { $not[$id] = 1; }
 			if (isset($args['sub'])) { $sub[$id] = 1; }
@@ -1636,5 +1636,5 @@
 			}
 		}
-
+		
 		if (!empty($sub)) {
 			$rs = $this->con->select(
@@ -1643,10 +1643,10 @@
 				'AND '.$field.' '.$this->con->in(array_keys($sub))
 			);
-
+			
 			while ($rs->fetch()) {
 				$queries[$rs->f($field)] = '(C.cat_lft BETWEEN '.$rs->cat_lft.' AND '.$rs->cat_rgt.')';
 			}
 		}
-
+		
 		# Create queries
 		$sql = array(
@@ -1654,12 +1654,12 @@
 			1 => array()  # excluded categories
 		);
-
+		
 		foreach ($queries as $id => $q) {
 			$sql[(integer) isset($not[$id])][] = $q;
 		}
-
+		
 		$sql[0] = implode(' OR ',$sql[0]);
 		$sql[1] = implode(' OR ',$sql[1]);
-
+		
 		if ($sql[0]) {
 			$sql[0] = '('.$sql[0].')';
@@ -1667,5 +1667,5 @@
 			unset($sql[0]);
 		}
-
+		
 		if ($sql[1]) {
 			$sql[1] = '(P.cat_id IS NULL OR NOT('.$sql[1].'))';
@@ -1673,8 +1673,8 @@
 			unset($sql[1]);
 		}
-
+		
 		return implode(' AND ',$sql);
 	}
-
+	
 	private function getPostCursor($cur,$post_id=null)
 	{
@@ -1682,13 +1682,13 @@
 			throw new Exception(__('No entry title'));
 		}
-
+		
 		if ($cur->post_content == '') {
 			throw new Exception(__('No entry content'));
 		}
-
+		
 		if ($cur->post_password === '') {
 			$cur->post_password = null;
 		}
-
+		
 		if ($cur->post_dt == '') {
 			$offset = dt::getTimeOffset($this->core->auth->getInfo('user_tz'));
@@ -1696,11 +1696,11 @@
 			$cur->post_dt = date('Y-m-d H:i:00',$now);
 		}
-
+		
 		$post_id = is_int($post_id) ? $post_id : $cur->post_id;
-
+		
 		if ($cur->post_content_xhtml == '') {
 			throw new Exception(__('No entry content'));
 		}
-
+		
 		# Words list
 		if ($cur->post_title !== null && $cur->post_excerpt_xhtml !== null
@@ -1711,9 +1711,9 @@
 			$cur->post_excerpt_xhtml.' '.
 			$cur->post_content_xhtml;
-
+			
 			$cur->post_words = implode(' ',text::splitWords($words));
 		}
 	}
-
+	
 	private function getPostContent($cur,$post_id)
 	{
@@ -1722,5 +1722,5 @@
 		$post_content = $cur->post_content;
 		$post_content_xhtml = $cur->post_content_xhtml;
-
+		
 		$this->setPostContent(
 			$post_id,$cur->post_format,$cur->post_lang,
@@ -1728,5 +1728,5 @@
 			$post_content,$post_content_xhtml
 		);
-
+		
 		$cur->post_excerpt = $post_excerpt;
 		$cur->post_excerpt_xhtml = $post_excerpt_xhtml;
@@ -1734,8 +1734,8 @@
 		$cur->post_content_xhtml = $post_content_xhtml;
 	}
-
+	
 	/**
 	Creates post HTML content, taking format and lang into account.
-
+	
 	@param		post_id		<b>integer</b>		Post ID
 	@param		format		<b>string</b>		Post format
@@ -1771,5 +1771,5 @@
 			}
 		}
-
+		
 		if ($excerpt) {
 			$excerpt_xhtml = $this->core->callFormater($format,$excerpt);
@@ -1778,5 +1778,5 @@
 			$excerpt_xhtml = '';
 		}
-
+		
 		if ($content) {
 			$content_xhtml = $this->core->callFormater($format,$content);
@@ -1785,5 +1785,5 @@
 			$content_xhtml = '';
 		}
-
+		
 		# --BEHAVIOR-- coreAfterPostContentFormat
 		$this->core->callBehavior('coreAfterPostContentFormat',array(
@@ -1794,9 +1794,9 @@
 		));
 	}
-
+	
 	/**
 	Returns URL for a post according to blog setting <var>post_url_format</var>.
 	It will try to guess URL and append some figures if needed.
-
+	
 	@param	url			<b>string</b>		Origin URL, could be empty
 	@param	post_dt		<b>string</b>		Post date (in YYYY-MM-DD HH:mm:ss)
@@ -1808,5 +1808,5 @@
 	{
 		$url = trim($url);
-
+		
 		$url_patterns = array(
 		'{y}' => date('Y',strtotime($post_dt)),
@@ -1816,5 +1816,5 @@
 		'{id}' => (integer) $post_id
 		);
-
+		
 		# If URL is empty, we create a new one
 		if ($url == '')
@@ -1831,5 +1831,5 @@
 			$url = text::tidyURL($url);
 		}
-
+		
 		# Let's check if URL is taken...
 		$strReq = 'SELECT post_url FROM '.$this->prefix.'post '.
@@ -1838,7 +1838,7 @@
 				"AND blog_id = '".$this->con->escape($this->id)."' ".
 				'ORDER BY post_url DESC';
-
+		
 		$rs = $this->con->select($strReq);
-
+		
 		if (!$rs->isEmpty())
 		{
@@ -1855,5 +1855,5 @@
 					"AND blog_id = '".$this->con->escape($this->id)."' ".
 					'ORDER BY post_url DESC ';
-
+			
 			$rs = $this->con->select($strReq);
 			$a = array();
@@ -1861,8 +1861,8 @@
 				$a[] = $rs->post_url;
 			}
-
+			
 			natsort($a);
 			$t_url = end($a);
-
+			
 			if (preg_match('/(.*?)([0-9]+)$/',$t_url,$m)) {
 				$i = (integer) $m[2];
@@ -1871,17 +1871,17 @@
 				$i = 1;
 			}
-
+			
 			return $url.($i+1);
 		}
-
+		
 		# URL is empty?
 		if ($url == '') {
 			throw new Exception(__('Empty entry URL'));
 		}
-
+		
 		return $url;
 	}
 	//@}
-
+	
 	/// @name Comments management methods
 	//@{
@@ -1889,10 +1889,10 @@
 	Retrieves comments. <b>$params</b> is an array taking the following
 	optionnal parameters:
-
+	
 	- no_content: Don't retrieve comment content
-	- post_type: Get only entries with given type (default no type, array for many types)
+	- post_type: Get only entries with given type (default no type, array for many types) 
 	- post_id: (integer) Get comments belonging to given post_id
 	- cat_id: (integer or array) Get comments belonging to entries of given category ID
-	- comment_id: (integer or array) Get comment with given ID (or IDs)
+	- comment_id: (integer) Get comment with given ID
 	- comment_site: (string) Get comments with given comment_site
 	- comment_status: (integer) Get comments with given comment_status
@@ -1907,5 +1907,5 @@
 	- limit: Limit parameter
 	- sql_only : return the sql request instead of results. Only ids are selected
-
+	
 	@param	params		<b>array</b>		Parameters
 	@param	count_only	<b>boolean</b>		Only counts results
@@ -1918,5 +1918,5 @@
 			$strReq = 'SELECT count(comment_id) ';
 		}
-		elseif (!empty($params['sql_only']))
+		elseif (!empty($params['sql_only'])) 
 		{
 			$strReq = 'SELECT P.post_id ';
@@ -1929,9 +1929,9 @@
 				$content_req = 'comment_content, ';
 			}
-
+			
 			if (!empty($params['columns']) && is_array($params['columns'])) {
 				$content_req .= implode(', ',$params['columns']).', ';
 			}
-
+			
 			$strReq =
 			'SELECT C.comment_id, comment_dt, comment_tz, comment_upddt, '.
@@ -1942,25 +1942,25 @@
 			'P.post_dt, P.user_id, U.user_email, U.user_url ';
 		}
-
+		
 		$strReq .=
 		'FROM '.$this->prefix.'comment C '.
 		'INNER JOIN '.$this->prefix.'post P ON C.post_id = P.post_id '.
 		'INNER JOIN '.$this->prefix.'user U ON P.user_id = U.user_id ';
-
+		
 		if (!empty($params['from'])) {
 			$strReq .= $params['from'].' ';
 		}
-
+		
 		$strReq .=
 		"WHERE P.blog_id = '".$this->con->escape($this->id)."' ";
-
+		
 		if (!$this->core->auth->check('contentadmin',$this->id)) {
 			$strReq .= 'AND ((comment_status = 1 AND P.post_status = 1 ';
-
+			
 			if ($this->without_password) {
 				$strReq .= 'AND post_password IS NULL ';
 			}
 			$strReq .= ') ';
-
+			
 			if ($this->core->auth->userID()) {
 				$strReq .= "OR P.user_id = '".$this->con->escape($this->core->auth->userID())."')";
@@ -1969,59 +1969,54 @@
 			}
 		}
-
+		
 		if (!empty($params['post_type']))
 		{
 			$strReq .= 'AND post_type '.$this->con->in($params['post_type']);
 		}
-
+		
 		if (isset($params['post_id']) && $params['post_id'] !== '') {
 			$strReq .= 'AND P.post_id = '.(integer) $params['post_id'].' ';
 		}
-
+		
 		if (isset($params['cat_id']) && $params['cat_id'] !== '') {
 			$strReq .= 'AND P.cat_id = '.(integer) $params['cat_id'].' ';
 		}
-
+		
 		if (isset($params['comment_id']) && $params['comment_id'] !== '') {
-			if (is_array($params['comment_id'])) {
-				array_walk($params['comment_id'],create_function('&$v,$k','if($v!==null){$v=(integer)$v;}'));
-			} else {
-				$params['comment_id'] = array((integer) $params['comment_id']);
-			}
-			$strReq .= 'AND comment_id '.$this->con->in($params['comment_id']);
-		}
-
+			$strReq .= 'AND comment_id = '.(integer) $params['comment_id'].' ';
+		}
+		
 		if (isset($params['comment_site'])) {
 			$comment_site = $this->con->escape(str_replace('*','%',$params['comment_site']));
 			$strReq .= "AND comment_site LIKE '".$comment_site."' ";
 		}
-
+		
 		if (isset($params['comment_status'])) {
 			$strReq .= 'AND comment_status = '.(integer) $params['comment_status'].' ';
 		}
-
+		
 		if (!empty($params['comment_status_not']))
 		{
 			$strReq .= 'AND comment_status <> '.(integer) $params['comment_status_not'].' ';
 		}
-
+		
 		if (isset($params['comment_trackback'])) {
 			$strReq .= 'AND comment_trackback = '.(integer) (boolean) $params['comment_trackback'].' ';
 		}
-
+		
 		if (isset($params['comment_ip'])) {
 			$comment_ip = $this->con->escape(str_replace('*','%',$params['comment_ip']));
 			$strReq .= "AND comment_ip LIKE '".$comment_ip."' ";
 		}
-
+		
 		if (isset($params['q_author'])) {
 			$q_author = $this->con->escape(str_replace('*','%',strtolower($params['q_author'])));
 			$strReq .= "AND LOWER(comment_author) LIKE '".$q_author."' ";
 		}
-
+		
 		if (!empty($params['search']))
 		{
 			$words = text::splitWords($params['search']);
-
+			
 			if (!empty($words))
 			{
@@ -2030,5 +2025,5 @@
 					$this->core->callBehavior('coreCommentSearch',$this->core,array(&$words,&$strReq,&$params));
 				}
-
+				
 				if ($words)
 				{
@@ -2040,9 +2035,9 @@
 			}
 		}
-
+		
 		if (!empty($params['sql'])) {
 			$strReq .= $params['sql'].' ';
 		}
-
+		
 		if (!$count_only)
 		{
@@ -2053,5 +2048,5 @@
 			}
 		}
-
+		
 		if (!$count_only && !empty($params['limit'])) {
 			$strReq .= $this->con->limit($params['limit']);
@@ -2061,19 +2056,19 @@
 			return $strReq;
 		}
-
+		
 		$rs = $this->con->select($strReq);
 		$rs->core = $this->core;
 		$rs->extend('rsExtComment');
-
+		
 		# --BEHAVIOR-- coreBlogGetComments
 		$this->core->callBehavior('coreBlogGetComments',$rs);
-
+		
 		return $rs;
 	}
-
+	
 	/**
 	Creates a new comment. Takes a cursor as input and returns the new comment
 	ID.
-
+	
 	@param	cur		<b>cursor</b>		Comment cursor
 	@return	<b>integer</b>		New comment ID
@@ -2087,23 +2082,23 @@
 			$rs = $this->con->select(
 				'SELECT MAX(comment_id) '.
-				'FROM '.$this->prefix.'comment '
+				'FROM '.$this->prefix.'comment ' 
 			);
-
+			
 			$cur->comment_id = (integer) $rs->f(0) + 1;
 			$cur->comment_upddt = date('Y-m-d H:i:s');
-
+			
 			$offset = dt::getTimeOffset($this->settings->system->blog_timezone);
 			$cur->comment_dt = date('Y-m-d H:i:s',time() + $offset);
 			$cur->comment_tz = $this->settings->system->blog_timezone;
-
+			
 			$this->getCommentCursor($cur);
-
+			
 			if ($cur->comment_ip === null) {
 				$cur->comment_ip = http::realIP();
 			}
-
+			
 			# --BEHAVIOR-- coreBeforeCommentCreate
 			$this->core->callBehavior('coreBeforeCommentCreate',$this,$cur);
-
+			
 			$cur->insert();
 			$this->con->unlock();
@@ -2114,18 +2109,18 @@
 			throw $e;
 		}
-
+		
 		# --BEHAVIOR-- coreAfterCommentCreate
 		$this->core->callBehavior('coreAfterCommentCreate',$this,$cur);
-
+		
 		$this->triggerComment($cur->comment_id);
 		if ($cur->comment_status != -2) {
 			$this->triggerBlog();
-		}
+		}	
 		return $cur->comment_id;
 	}
-
+	
 	/**
 	Updates an existing comment.
-
+	
 	@param	id		<b>integer</b>		Comment ID
 	@param	cur		<b>cursor</b>		Comment cursor
@@ -2136,17 +2131,17 @@
 			throw new Exception(__('You are not allowed to update comments'));
 		}
-
+		
 		$id = (integer) $id;
-
+		
 		if (empty($id)) {
 			throw new Exception(__('No such comment ID'));
 		}
-
+		
 		$rs = $this->getComments(array('comment_id' => $id));
-
+		
 		if ($rs->isEmpty()) {
 			throw new Exception(__('No such comment ID'));
 		}
-
+		
 		#If user is only usage, we need to check the post's owner
 		if (!$this->core->auth->check('contentadmin',$this->id))
@@ -2156,28 +2151,28 @@
 			}
 		}
-
+		
 		$this->getCommentCursor($cur);
-
+		
 		$cur->comment_upddt = date('Y-m-d H:i:s');
-
+		
 		if (!$this->core->auth->check('publish,contentadmin',$this->id)) {
 			$cur->unsetField('comment_status');
 		}
-
+		
 		# --BEHAVIOR-- coreBeforeCommentUpdate
 		$this->core->callBehavior('coreBeforeCommentUpdate',$this,$cur,$rs);
-
+		
 		$cur->update('WHERE comment_id = '.$id.' ');
-
+		
 		# --BEHAVIOR-- coreAfterCommentUpdate
 		$this->core->callBehavior('coreAfterCommentUpdate',$this,$cur,$rs);
-
+		
 		$this->triggerComment($id);
 		$this->triggerBlog();
 	}
-
+	
 	/**
 	Updates comment status.
-
+	
 	@param	id		<b>integer</b>		Comment ID
 	@param	status	<b>integer</b>		Comment status
@@ -2187,8 +2182,8 @@
 		$this->updCommentsStatus($id,$status);
 	}
-
+	
 	/**
 	Updates comments status.
-
+	
 	@param	ids		<b>mixed</b>		Comment(s) ID(s)
 	@param	status	<b>integer</b>		Comment status
@@ -2199,51 +2194,51 @@
 			throw new Exception(__("You are not allowed to change this comment's status"));
 		}
-
+		
 		$co_ids = dcUtils::cleanIds($ids);
 		$status = (integer) $status;
-
-		$strReq =
+		
+		$strReq = 
 			'UPDATE '.$this->prefix.'comment tc ';
-
+		
 		# mySQL uses "JOIN" synthax
 		if ($this->con->driver() == 'mysql' || $this->con->driver() == 'mysqli') {
-			$strReq .=
+			$strReq .= 
 				'JOIN '.$this->prefix.'post tp ON tc.post_id = tp.post_id ';
 		}
-
-		$strReq .=
+		
+		$strReq .= 
 			'SET comment_status = '.$status.' ';
-
+		
 		# pgSQL uses "FROM" synthax
 		if ($this->con->driver() != 'mysql' && $this->con->driver() != 'mysqli') {
-			$strReq .=
+			$strReq .= 
 				'FROM '.$this->prefix.'post tp ';
 		}
-
+		
 		$strReq .=
 			"WHERE blog_id = '".$this->con->escape($this->id)."' ".
 			'AND comment_id'.$this->con->in($co_ids);
-
+		
 		# add pgSQL "WHERE" clause
 		if ($this->con->driver() != 'mysql' && $this->con->driver() != 'mysqli') {
-			$strReq .=
+			$strReq .= 
 				'AND tc.post_id = tp.post_id ';
 		}
-
+		
 		#If user is only usage, we need to check the post's owner
 		if (!$this->core->auth->check('contentadmin',$this->id))
 		{
-			$strReq .=
+			$strReq .= 
 				"AND user_id = '".$this->con->escape($this->core->auth->userID())."' ";
 		}
-
+		
 		$this->con->execute($strReq);
 		$this->triggerComments($co_ids);
 		$this->triggerBlog();
 	}
-
+	
 	/**
 	Delete a comment
-
+	
 	@param	id		<b>integer</b>		Comment ID
 	*/
@@ -2252,8 +2247,8 @@
 		$this->delComments($id);
 	}
-
+	
 	/**
 	Delete comments
-
+	
 	@param	ids		<b>mixed</b>		Comment(s) ID(s)
 	*/
@@ -2263,11 +2258,11 @@
 			throw new Exception(__('You are not allowed to delete comments'));
 		}
-
+		
 		$co_ids = dcUtils::cleanIds($ids);
-
+		
 		if (empty($co_ids)) {
 			throw new Exception(__('No such comment ID'));
 		}
-
+		
 		# Retrieve posts affected by comments edition
 		$affected_posts = array();
@@ -2277,14 +2272,14 @@
 			'WHERE comment_id'.$this->con->in($co_ids).
 			'GROUP BY post_id';
-
+		
 		$rs = $this->con->select($strReq);
-
+		
 		while ($rs->fetch()) {
 			$affected_posts[] = (integer) $rs->post_id;
 		}
-
+		
 		# mySQL uses "INNER JOIN" synthax
 		if ($this->con->driver() == 'mysql' || $this->con->driver() == 'mysqli') {
-			$strReq =
+			$strReq = 
 				'DELETE FROM tc '.
 				'USING '.$this->prefix.'comment tc '.
@@ -2293,21 +2288,21 @@
 		# pgSQL uses nothing special
 		else {
-			$strReq =
+			$strReq = 
 				'DELETE FROM '.$this->prefix.'comment tc '.
 				'USING '.$this->prefix.'post tp ';
 		}
-
-		$strReq .=
+		
+		$strReq .= 
 			'WHERE tc.post_id = tp.post_id '.
 			"AND tp.blog_id = '".$this->con->escape($this->id)."' ".
 			'AND comment_id'.$this->con->in($co_ids);
-
+		
 		#If user can only delete, we need to check the post's owner
 		if (!$this->core->auth->check('contentadmin',$this->id))
 		{
-			$strReq .=
+			$strReq .= 
 				"AND user_id = '".$this->con->escape($this->core->auth->userID())."' ";
 		}
-
+		
 		$this->con->execute($strReq);
 		$this->triggerComments($co_ids, true, $affected_posts);
@@ -2320,8 +2315,8 @@
 			throw new Exception(__('You are not allowed to delete comments'));
 		}
-
+		
 		# mySQL uses "INNER JOIN" synthax
 		if ($this->con->driver() == 'mysql' || $this->con->driver() == 'mysqli') {
-			$strReq =
+			$strReq = 
 				'DELETE FROM tc '.
 				'USING '.$this->prefix.'comment tc '.
@@ -2330,25 +2325,25 @@
 		# pgSQL uses nothing special
 		else {
-			$strReq =
+			$strReq = 
 				'DELETE FROM '.$this->prefix.'comment tc '.
 				'USING '.$this->prefix.'post tp ';
 		}
-
-		$strReq .=
+		
+		$strReq .= 
 			'WHERE tc.post_id = tp.post_id '.
 			"AND tp.blog_id = '".$this->con->escape($this->id)."' ".
 			'AND comment_status = -2';
-
+		
 		#If user can only delete, we need to check the post's owner
 		if (!$this->core->auth->check('contentadmin',$this->id))
 		{
-			$strReq .=
+			$strReq .= 
 				"AND user_id = '".$this->con->escape($this->core->auth->userID())."' ";
 		}
-
+		
 		$this->con->execute($strReq);
 		$this->triggerBlog();
 	}
-
+	
 	private function getCommentCursor($cur)
 	{
@@ -2356,13 +2351,13 @@
 			throw new Exception(__('You must provide a comment'));
 		}
-
+		
 		if ($cur->comment_author !== null && $cur->comment_author == '') {
 			throw new Exception(__('You must provide an author name'));
 		}
-
+		
 		if ($cur->comment_email != '' && !text::isEmail($cur->comment_email)) {
 			throw new Exception(__('Email address is not valid.'));
 		}
-
+		
 		if ($cur->comment_site !== null && $cur->comment_site != '') {
 			if (!preg_match('|^http(s?)://|i',$cur->comment_site, $matches)) {
@@ -2372,9 +2367,9 @@
 			}
 		}
-
+		
 		if ($cur->comment_status === null) {
 			$cur->comment_status = (integer) $this->settings->system->comments_pub;
 		}
-
+		
 		# Words list
 		if ($cur->comment_content !== null)
Index: inc/core/class.dc.namespace.php
===================================================================
--- inc/core/class.dc.namespace.php	(revision 2505)
+++ inc/core/class.dc.namespace.php	(revision 1179)
@@ -22,14 +22,14 @@
 	protected $table;		///< <b>string</b> Settings table name
 	protected $blog_id;		///< <b>string</b> Blog ID
-
+	
 	protected $global_settings = array();	///< <b>array</b> Global settings array
 	protected $local_settings = array();	///< <b>array</b> Local settings array
 	protected $settings = array();		///< <b>array</b> Associative settings array
 	protected $ns;			///< <b>string</b> Current namespace
-
+	
 	/**
 	Object constructor. Retrieves blog settings and puts them in $settings
 	array. Local (blog) settings have a highest priority than global settings.
-
+	
 	@param	name		<b>string</b>		ID for this namespace
 	*/
@@ -41,14 +41,14 @@
 			throw new Exception(sprintf(__('Invalid setting dcNamespace: %s'),$name));
 		}
-
+		
 		$this->con =& $core->con;
 		$this->table = $core->prefix.'setting';
 		$this->blog_id =& $blog_id;
-
+		
 		$this->getSettings($rs);
 	}
-
+	
 	private function getSettings($rs=null)
-	{
+	{	
 		if ($rs == null) {
 			$strReq = 'SELECT blog_id, setting_id, setting_value, '.
@@ -59,5 +59,5 @@
 					"AND setting_ns = '".$this->con->escape($this->ns)."' ".
 					'ORDER BY setting_id DESC ';
-
+		
 			try {
 				$rs = $this->con->select($strReq);
@@ -74,5 +74,5 @@
 			$value = $rs->f('setting_value');
 			$type = $rs->f('setting_type');
-
+			
 			if ($type == 'float' || $type == 'double') {
 				$type = 'float';
@@ -80,9 +80,9 @@
 				$type = 'string';
 			}
-
+			
 			settype($value,$type);
-
+			
 			$array = $rs->blog_id ? 'local' : 'global';
-
+			
 			$this->{$array.'_settings'}[$id] = array(
 				'ns' => $this->ns,
@@ -93,14 +93,14 @@
 			);
 		}
-
+		
 		$this->settings = $this->global_settings;
-
+		
 		foreach ($this->local_settings as $id => $v) {
 			$this->settings[$id] = $v;
 		}
-
+		
 		return true;
 	}
-
+	
 	private function settingExists($id,$global=false)
 	{
@@ -108,8 +108,8 @@
 		return isset($this->{$array.'_settings'}[$id]);
 	}
-
+	
 	/**
 	Returns setting value if exists.
-
+	
 	@param	n		<b>string</b>		Setting name
 	@return	<b>mixed</b>
@@ -120,38 +120,8 @@
 			return $this->settings[$n]['value'];
 		}
-
+		
 		return null;
 	}
-
-	/**
-	Returns global setting value if exists.
-
-	@param	n		<b>string</b>		setting name
-	@return	<b>mixed</b>
-	*/
-	public function getGlobal($n)
-	{
-		if (isset($this->global_settings[$n]['value'])) {
-			return $this->global_settings[$n]['value'];
-		}
-
-		return null;
-	}
-
-	/**
-	Returns local setting value if exists.
-
-	@param	n		<b>string</b>		setting name
-	@return	<b>mixed</b>
-	*/
-	public function getLocal($n)
-	{
-		if (isset($this->local_settings[$n]['value'])) {
-			return $this->local_settings[$n]['value'];
-		}
-
-		return null;
-	}
-
+	
 	/**
 	Magic __get method.
@@ -162,9 +132,9 @@
 		return $this->get($n);
 	}
-
+	
 	/**
 	Sets a setting in $settings property. This sets the setting for script
 	execution time only and if setting exists.
-
+	
 	@param	n		<b>string</b>		Setting name
 	@param	v		<b>mixed</b>		Setting value
@@ -176,5 +146,5 @@
 		}
 	}
-
+	
 	/**
 	Magic __set method.
@@ -185,14 +155,14 @@
 		$this->set($n,$v);
 	}
-
+	
 	/**
 	Creates or updates a setting.
-
+	
 	$type could be 'string', 'integer', 'float', 'boolean' or null. If $type is
 	null and setting exists, it will keep current setting type.
-
+	
 	$value_change allow you to not change setting. Useful if you need to change
 	a setting label or type and don't want to change its value.
-
+	
 	@param	id			<b>string</b>		Setting ID
 	@param	value		<b>mixed</b>		Setting value
@@ -207,5 +177,5 @@
 			throw new Exception(sprintf(__('%s is not a valid setting id'),$id));
 		}
-
+		
 		# We don't want to change setting value
 		if (!$value_change)
@@ -217,5 +187,5 @@
 			}
 		}
-
+		
 		# Setting type
 		if ($type == 'double')
@@ -237,5 +207,5 @@
 			$type = 'string';
 		}
-
+		
 		# We don't change label
 		if ($label == null)
@@ -247,12 +217,12 @@
 			}
 		}
-
+		
 		settype($value,$type);
-
+		
 		$cur = $this->con->openCursor($this->table);
 		$cur->setting_value = ($type == 'boolean') ? (string) (integer) $value : (string) $value;
 		$cur->setting_type = $type;
 		$cur->setting_label = $label;
-
+		
 		#If we are local, compare to global value
 		if (!$global && $this->settingExists($id,true))
@@ -261,5 +231,5 @@
 			$same_setting = $g['ns'] == $this->ns && $g['value'] == $value
 			&& $g['type'] == $type && $g['label'] == $label;
-
+			
 			# Drop setting if same value as global
 			if ($same_setting && $this->settingExists($id,false)) {
@@ -269,5 +239,5 @@
 			}
 		}
-
+		
 		if ($this->settingExists($id,$global) && $this->ns == $this->settings[$id]['ns'])
 		{
@@ -277,5 +247,5 @@
 				$where = "WHERE blog_id = '".$this->con->escape($this->blog_id)."' ";
 			}
-
+			
 			$cur->update($where."AND setting_id = '".$this->con->escape($id)."' AND setting_ns = '".$this->con->escape($this->ns)."' ");
 		}
@@ -285,5 +255,5 @@
 			$cur->blog_id = $global ? null : $this->blog_id;
 			$cur->setting_ns = $this->ns;
-
+			
 			$cur->insert();
 		}
@@ -302,5 +272,5 @@
 			throw new Exception(__('No namespace specified'));
 		}
-
+		
 		if (!array_key_exists($oldId,$this->settings) || array_key_exists($newId,$this->settings)) {
 			return false;
@@ -321,6 +291,6 @@
 
 	/**
-	Removes an existing setting in a Namespace
-
+	Removes an existing setting in a Namespace 
+	
 	@param	id		<b>string</b>		Setting ID
 	*/
@@ -330,7 +300,7 @@
 			throw new Exception(__('No namespace specified'));
 		}
-
+		
 		$strReq =	'DELETE FROM '.$this->table.' ';
-
+		
 		if ($this->blog_id === null) {
 			$strReq .= 'WHERE blog_id IS NULL ';
@@ -338,14 +308,14 @@
 			$strReq .= "WHERE blog_id = '".$this->con->escape($this->blog_id)."' ";
 		}
-
+		
 		$strReq .= "AND setting_id = '".$this->con->escape($id)."' ";
 		$strReq .= "AND setting_ns = '".$this->con->escape($this->ns)."' ";
-
+		
 		$this->con->execute($strReq);
 	}
-
-	/**
-	Removes all existing settings in a Namespace
-
+	
+	/**
+	Removes all existing settings in a Namespace 
+	
 	@param	force_global	<b>boolean</b>	Force global pref drop
 	*/
@@ -355,7 +325,7 @@
 			throw new Exception(__('No namespace specified'));
 		}
-
+		
 		$strReq =	'DELETE FROM '.$this->table.' ';
-
+		
 		if (($force_global) || ($this->blog_id === null)) {
 			$strReq .= 'WHERE blog_id IS NULL ';
@@ -365,20 +335,20 @@
 			$global = false;
 		}
-
+		
 		$strReq .= "AND setting_ns = '".$this->con->escape($this->ns)."' ";
-
+		
 		$this->con->execute($strReq);
-
+		
 		$array = $global ? 'global' : 'local';
 		unset($this->{$array.'_settings'});
 		$this->{$array.'_settings'} = array();
-
+		
 		$array = $global ? 'local' : 'global';
 		$this->settings = $this->{$array.'_settings'};
 	}
-
+	
 	/**
 	Returns $settings property content.
-
+	
 	@return	<b>array</b>
 	*/
@@ -387,8 +357,8 @@
 		return $this->settings;
 	}
-
+	
 	/**
 	Returns $global_settings property content.
-
+	
 	@return	<b>array</b>
 	*/
Index: inc/core/class.dc.themes.php
===================================================================
--- inc/core/class.dc.themes.php	(revision 2541)
+++ inc/core/class.dc.themes.php	(revision 2492)
@@ -22,5 +22,5 @@
 */
 class dcThemes extends dcModules
-{
+{	
 	protected static $type = 'theme';
 
@@ -28,18 +28,18 @@
 	This method registers a theme in modules list. You should use this to
 	register a new theme.
-
+	
 	<var>$parent</var> is a optional value to indicate them inheritance.
-	If <var>$parent</var> is null / not set, we simply fall back to
+	If <var>$parent</var> is null / not set, we simply fall back to 
 	the standard behavior, by using 'default'.
-
+	
 	<var>$priority</var> is an integer. Modules are sorted by priority and name.
 	Lowest priority comes first. This property is currently ignored when dealing
 	with themes.
-
+	
 	@param	name			<b>string</b>		Module name
 	@param	desc			<b>string</b>		Module description
 	@param	author		<b>string</b>		Module author name
 	@param	version		<b>string</b>		Module version
-	@param	properties	<b>array</b>		extra properties
+	@param	properties	<b>array</b>		extra properties 
 	(currently available keys : parent, priority, standalone_config, type)
 	*/
@@ -59,5 +59,5 @@
 		# Themes specifics properties
 		$properties = array_merge(
-			array('parent' => null, 'tplset' => 'legacy'),
+			array('parent' => null),
 			$properties,
 			array('permissions' => 'admin') // force themes perms
@@ -65,11 +65,11 @@
 
 		parent::registerModule($name, $desc, $author, $version, $properties);
-	}
-
+	}	
+	
 	/**
 	Loads namespace <var>$ns</var> specific file for module with ID
 	<var>$id</var>
 	Note : actually, only 'public' namespace is supported with themes.
-
+	
 	@param	id		<b>string</b>		Module ID
 	@param	ns		<b>string</b>		Namespace name
Index: inc/prepend.php
===================================================================
--- inc/prepend.php	(revision 2496)
+++ inc/prepend.php	(revision 2538)
@@ -135,5 +135,5 @@
 # Constants
 define('DC_ROOT',path::real(dirname(__FILE__).'/..'));
-define('DC_VERSION','2.7-dev');
+define('DC_VERSION','2.6');
 define('DC_DIGESTS',dirname(__FILE__).'/digests');
 define('DC_L10N_ROOT',dirname(__FILE__).'/../locales');
Index: inc/public/default-templates/404.html
===================================================================
--- inc/public/default-templates/404.html	(revision 199)
+++ inc/public/default-templates/404.html	(revision 199)
@@ -0,0 +1,62 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{{tpl:BlogLanguage}}" lang="{{tpl:BlogLanguage}}">
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+  <meta name="ROBOTS" content="{{tpl:BlogMetaRobots robots="NOINDEX,NOARCHIVE"}}" />
+  
+  <title>{{tpl:lang Document not found}} - {{tpl:BlogName encode_html="1"}}</title>
+  <meta name="copyright" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
+  <meta name="author" content="{{tpl:BlogEditor encode_html="1"}}" />
+  
+  <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" />
+  <meta name="dc.title" lang="{{tpl:BlogLanguage}}" content="{{tpl:lang Document not found}} - {{tpl:BlogName encode_html="1"}}" />
+  <meta name="dc.language" content="{{tpl:BlogLanguage}}" />
+  <meta name="dc.publisher" content="{{tpl:BlogEditor encode_html="1"}}" />
+  <meta name="dc.rights" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
+  <meta name="dc.type" content="text" />
+  <meta name="dc.format" content="text/html" />
+  
+  <link rel="top" href="{{tpl:BlogURL}}" title="{{tpl:lang Home}}" />
+  <link rel="contents" title="{{tpl:lang Archives}}" href="{{tpl:BlogArchiveURL}}" />
+  <link rel="alternate" type="application/atom+xml" title="Atom 1.0" href="{{tpl:BlogFeedURL type="atom"}}" />
+  
+  {{tpl:include src="_head.html"}}
+</head>
+
+<body class="dc-404">
+<div id="page">
+{{tpl:include src="_top.html"}}
+
+<div id="wrapper">
+
+<div id="main">
+  <div id="content">
+  
+  <div id="content-info">
+    <h2>{{tpl:lang Document not found}}</h2>
+  </div>
+  
+  <div class="content-inner">
+    <p>{{tpl:lang The document you are looking for does not exist.}}</p>
+  </div>
+  
+  </div>
+</div>
+
+<div id="sidebar">
+  <div id="blognav">
+    {{tpl:Widgets type="nav"}}
+  </div> <!-- End #blognav -->
+  
+  <div id="blogextra">
+    {{tpl:Widgets type="extra"}}
+  </div> <!-- End #blogextra -->
+</div>
+
+</div> <!-- End #wrapper -->
+
+{{tpl:include src="_footer.html"}}
+</div> <!-- End #page -->
+</body>
+</html>
Index: inc/public/default-templates/_flv_player.html
===================================================================
--- inc/public/default-templates/_flv_player.html	(revision 0)
+++ inc/public/default-templates/_flv_player.html	(revision 0)
@@ -0,0 +1,8 @@
+<object type="application/x-shockwave-flash" data="{{tpl:BlogQmarkURL}}pf=player_flv.swf"
+width="400" height="300">
+<param name="movie" value="{{tpl:BlogQmarkURL}}pf=player_flv.swf" />
+<param name="wmode" value="transparent" />
+<param name="allowFullScreen" value="true" />
+<param name="FlashVars" value="flv={{tpl:MediaURL}}&amp;width=400&amp;height=300&amp;margin=1&amp;showfullscreen=1&amp;showvolume=1&amp;showtime=1" />
+{{tpl:lang Embedded Audio Player}}
+</object>
Index: inc/public/default-templates/_footer.html
===================================================================
--- inc/public/default-templates/_footer.html	(revision 0)
+++ inc/public/default-templates/_footer.html	(revision 0)
@@ -0,0 +1,5 @@
+<div id="footer">
+  <p>{{tpl:SysPoweredBy}}</p>
+</div>
+
+{{tpl:SysBehavior behavior="publicFooterContent"}}
Index: inc/public/default-templates/_head.html
===================================================================
--- inc/public/default-templates/_head.html	(revision 2083)
+++ inc/public/default-templates/_head.html	(revision 2083)
@@ -0,0 +1,8 @@
+<link rel="stylesheet" type="text/css" href="{{tpl:BlogThemeURL}}/style.css" media="screen" />
+<link rel="stylesheet" type="text/css" href="{{tpl:BlogThemeURL}}/../default/print.css" media="print" />
+
+<script type="text/javascript" src="{{tpl:BlogThemeURL}}/../default/js/jquery.js"></script>
+<script type="text/javascript" src="{{tpl:BlogThemeURL}}/../default/js/jquery.cookie.js"></script>
+
+{{tpl:include src="user_head.html"}}
+{{tpl:SysBehavior behavior="publicHeadContent"}}
Index: inc/public/default-templates/_mp3_player.html
===================================================================
--- inc/public/default-templates/_mp3_player.html	(revision 0)
+++ inc/public/default-templates/_mp3_player.html	(revision 0)
@@ -0,0 +1,6 @@
+<object type="application/x-shockwave-flash" data="{{tpl:BlogQmarkURL}}pf=player_mp3.swf" width="200" height="20">
+<param name="movie" value="{{tpl:BlogQmarkURL}}pf=player_mp3.swf" />
+<param name="wmode" value="transparent" />
+<param name="FlashVars" value="mp3={{tpl:MediaURL}}&amp;showvolume=1&amp;loadingcolor=ff9900&amp;bgcolor1=eeeeee&amp;bgcolor2=cccccc&amp;buttoncolor=0066cc&amp;buttonovercolor=ff9900&amp;slidercolor1=cccccc&amp;slidercolor2=999999&amp;sliderovercolor=0066cc" />
+{{tpl:lang Embedded Audio Player}}
+</object>
Index: inc/public/default-templates/_top.html
===================================================================
--- inc/public/default-templates/_top.html	(revision 0)
+++ inc/public/default-templates/_top.html	(revision 0)
@@ -0,0 +1,10 @@
+<div id="top">
+  <h1><span><a href="{{tpl:BlogURL}}">{{tpl:BlogName encode_html="1"}}</a></span></h1>
+  
+  <!-- # --BEHAVIOR-- publicTopAfterContent -->
+  {{tpl:SysBehavior behavior="publicTopAfterContent"}}
+</div>
+
+<p id="prelude"><a href="#main">{{tpl:lang To content}}</a> |
+<a href="#blognav">{{tpl:lang To menu}}</a> |
+<a href="#search">{{tpl:lang To search}}</a></p>
Index: inc/public/default-templates/archive.html
===================================================================
--- inc/public/default-templates/archive.html	(revision 199)
+++ inc/public/default-templates/archive.html	(revision 199)
@@ -0,0 +1,79 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{{tpl:BlogLanguage}}" lang="{{tpl:BlogLanguage}}">
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+  <meta name="ROBOTS" content="{{tpl:BlogMetaRobots}}" />
+  
+  <title>{{tpl:lang Archives}} - {{tpl:BlogName encode_html="1"}}</title>
+  <meta name="copyright" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
+  <meta name="author" content="{{tpl:BlogEditor encode_html="1"}}" />
+  <meta name="date" scheme="W3CDTF" content="{{tpl:BlogUpdateDate iso8601="1"}}" />
+  
+  <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" />
+  <meta name="dc.title" lang="{{tpl:BlogLanguage}}" content="{{tpl:lang Archives}} - {{tpl:BlogName encode_html="1"}}" />
+  <meta name="dc.language" content="{{tpl:BlogLanguage}}" />
+  <meta name="dc.publisher" content="{{tpl:BlogEditor encode_html="1"}}" />
+  <meta name="dc.rights" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
+  <meta name="dc.date" scheme="W3CDTF" content="{{tpl:BlogUpdateDate iso8601="1"}}" />
+  <meta name="dc.type" content="text" />
+  <meta name="dc.format" content="text/html" />
+  
+  <link rel="top" href="{{tpl:BlogURL}}" title="{{tpl:lang Home}}" />
+  
+  <tpl:Archives>
+    <link rel="chapter" href="{{tpl:ArchiveURL}}" title="{{tpl:ArchiveDate encode_html="1"}}" />
+  </tpl:Archives>
+  
+  <link rel="alternate" type="application/atom+xml" title="Atom 1.0" href="{{tpl:BlogFeedURL type="atom"}}" />
+  
+  {{tpl:include src="_head.html"}}
+</head>
+
+<body class="dc-archive">
+<div id="page">
+{{tpl:include src="_top.html"}}
+
+<div id="wrapper">
+
+<div id="main">
+  <div id="content">
+  
+  <div id="content-info">
+    <h2>{{tpl:lang Archives}}</h2>
+  </div>
+  
+  <div class="content-inner">
+  <tpl:Archives>
+    <tpl:ArchivesYearHeader>
+      <h3>{{tpl:ArchiveDate format="%Y"}}</h3>
+      <ul>
+    </tpl:ArchivesYearHeader>
+      <li><a href="{{tpl:ArchiveURL}}"
+      title="{{tpl:ArchiveDate encode_html="1"}}">{{tpl:ArchiveDate encode_html="1" format="%B"}}</a>
+      ({{tpl:ArchiveEntriesCount}})</li>
+    <tpl:ArchivesYearFooter>
+      </ul>
+    </tpl:ArchivesYearFooter>
+  </tpl:Archives>
+  </div>
+  
+  </div>
+</div> <!-- End #main -->
+
+<div id="sidebar">
+  <div id="blognav">
+    {{tpl:Widgets type="nav"}}
+  </div> <!-- End #blognav -->
+  
+  <div id="blogextra">
+    {{tpl:Widgets type="extra"}}
+  </div> <!-- End #blogextra -->
+</div>
+
+</div> <!-- End #wrapper -->
+
+{{tpl:include src="_footer.html"}}
+</div> <!-- End #page -->
+</body>
+</html>
Index: inc/public/default-templates/archive_month.html
===================================================================
--- inc/public/default-templates/archive_month.html	(revision 199)
+++ inc/public/default-templates/archive_month.html	(revision 199)
@@ -0,0 +1,96 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{{tpl:BlogLanguage}}" lang="{{tpl:BlogLanguage}}">
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+  <meta name="ROBOTS" content="{{tpl:BlogMetaRobots robots="NOINDEX"}}" />
+  
+  <title>{{tpl:lang Archives}} - {{tpl:ArchiveDate}} - {{tpl:BlogName encode_html="1"}}</title>
+  <meta name="copyright" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
+  <meta name="author" content="{{tpl:BlogEditor encode_html="1"}}" />
+  <meta name="date" scheme="W3CDTF" content="{{tpl:BlogUpdateDate iso8601="1"}}" />
+  
+  <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" />
+  <meta name="dc.title" lang="{{tpl:BlogLanguage}}" content="{{tpl:lang Archives}} - {{tpl:ArchiveDate}} - {{tpl:BlogName encode_html="1"}}" />
+  <meta name="dc.language" content="{{tpl:BlogLanguage}}" />
+  <meta name="dc.publisher" content="{{tpl:BlogEditor encode_html="1"}}" />
+  <meta name="dc.rights" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
+  <meta name="dc.date" scheme="W3CDTF" content="{{tpl:BlogUpdateDate iso8601="1"}}" />
+  <meta name="dc.type" content="text" />
+  <meta name="dc.format" content="text/html" />
+  
+  <link rel="top" href="{{tpl:BlogURL}}" title="{{tpl:lang Home}}" />
+  <link rel="up" href="{{tpl:BlogArchiveURL}}" title="{{tpl:lang Archives}}" />
+  <link rel="contents" href="{{tpl:BlogArchiveURL}}" title="{{tpl:lang Archives}}" />
+  
+  
+  <tpl:ArchiveNext><link rel="next" href="{{tpl:ArchiveURL}}"
+  title="{{tpl:ArchiveDate encode_html="1"}}" /></tpl:ArchiveNext>
+  <tpl:ArchivePrevious><link rel="prev" href="{{tpl:ArchiveURL}}"
+  title="{{tpl:ArchiveDate encode_html="1"}}" /></tpl:ArchivePrevious>
+  
+  <tpl:Entries no_content="1">
+  <link rel="chapter" href="{{tpl:EntryURL}}" title="{{tpl:EntryTitle encode_html="1"}}" />
+  </tpl:Entries>
+  
+  {{tpl:include src="_head.html"}}
+</head>
+
+<body class="dc-archive-month">
+<div id="page">
+{{tpl:include src="_top.html"}}
+
+<div id="wrapper">
+
+<div id="main">
+  <div id="content">
+  
+  <p id="navlinks">
+  <tpl:ArchivePrevious><a href="{{tpl:ArchiveURL}}" class="prev">&#171; {{tpl:ArchiveDate encode_html="1"}}</a>
+  - </tpl:ArchivePrevious>
+  <a href="{{tpl:BlogArchiveURL}}">{{tpl:lang Archives}}</a>
+  <tpl:ArchiveNext> - <a href="{{tpl:ArchiveURL}}" class="next">{{tpl:ArchiveDate encode_html="1"}} &#187;</a></tpl:ArchiveNext>
+  </p>
+  
+  <div id="content-info">
+    <h2>{{tpl:ArchiveDate}}</h2>
+  </div>
+  
+  <div class="content-inner">
+  <tpl:Entries no_content="1">
+    <!-- # New day date -->
+    <tpl:DateHeader><p class="day-date">{{tpl:EntryDate}}</p></tpl:DateHeader>
+    
+    <h2 id="p{{tpl:EntryID}}" class="post-title" lang="{{tpl:EntryLang}}" xml:lang="{{tpl:EntryLang}}"><a
+    href="{{tpl:EntryURL}}" title="{{tpl:lang Read}} {{tpl:EntryTitle encode_html="1"}}">{{tpl:EntryTitle encode_html="1"}}</a></h2>
+    
+    <p class="post-info">{{tpl:lang By}} {{tpl:EntryAuthorLink}}
+    <tpl:EntryIf show_comments="1">
+    - <a href="{{tpl:EntryURL}}#comments">{{tpl:EntryCommentCount}}</a>
+    </tpl:EntryIf>
+    <tpl:EntryIf show_pings="1">
+    - <a href="{{tpl:EntryURL}}#pings">{{tpl:EntryPingCount}}</a></tpl:EntryIf>
+    <tpl:EntryIf has_attachment="1">
+    - <a href="{{tpl:EntryURL}}#attachments">{{tpl:EntryAttachmentCount}}</a></tpl:EntryIf>
+    </p>
+  </tpl:Entries>
+  </div>
+  </div>
+</div> <!-- End #main -->
+
+<div id="sidebar">
+  <div id="blognav">
+    {{tpl:Widgets type="nav"}}
+  </div> <!-- End #blognav -->
+  
+  <div id="blogextra">
+    {{tpl:Widgets type="extra"}}
+  </div> <!-- End #blogextra -->
+</div>
+
+</div> <!-- End #wrapper -->
+
+{{tpl:include src="_footer.html"}}
+</div> <!-- End #page -->
+</body>
+</html>
Index: inc/public/default-templates/atom-comments.xml
===================================================================
--- inc/public/default-templates/atom-comments.xml	(revision 0)
+++ inc/public/default-templates/atom-comments.xml	(revision 0)
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="{{tpl:BlogLanguage}}">
+  
+  <title type="html">{{tpl:BlogName encode_xml="1"}}{{tpl:SysFeedSubtitle encode_xml="1"}}
+  - {{tpl:lang Comments}}</title>
+  <subtitle type="html">{{tpl:BlogDescription encode_xml="1"}}</subtitle>
+  <link href="{{tpl:SysSelfURI}}" rel="self" type="application/atom+xml"/>
+  <link href="{{tpl:BlogURL}}" rel="alternate" type="text/html"
+  title="{{tpl:BlogDescription encode_xml="1"}}"/>
+  <updated>{{tpl:BlogUpdateDate iso8601="1"}}</updated>
+  <author>
+    <name>{{tpl:BlogEditor encode_xml="1"}}</name>
+  </author>
+  <id>{{tpl:BlogFeedID}}</id>
+  <generator uri="http://www.dotclear.org/">Dotclear</generator>
+  
+  <tpl:Comments order="desc" with_pings="1">
+  
+  <tpl:CommentIf is_ping="1">
+  <entry>
+    <title>[ping] {{tpl:PingEntryTitle encode_xml="1"}} - {{tpl:PingBlogName encode_xml="1"}}</title>
+    <link href="{{tpl:PingPostURL encode_xml="1"}}#c{{tpl:PingID}}" rel="alternate" type="text/html"
+    title="[ping] {{tpl:PingEntryTitle encode_xml="1"}} - {{tpl:PingBlogName encode_xml="1"}}" />
+    <id>{{tpl:PingFeedID}}</id>
+    <published>{{tpl:PingDate iso8601="1"}}</published>
+    <updated>{{tpl:PingDate iso8601="1" upddt="1"}}</updated>
+    <author><name>{{tpl:PingBlogName encode_xml="1"}}</name></author>
+    <content type="html">&lt;p&gt;&lt;a href="{{tpl:PingAuthorURL encode_xml="1"}}"&gt;{{tpl:PingTitle encode_xml="1"}}&lt;/a&gt;&lt;/p&gt; {{tpl:PingContent encode_xml="1"}}</content>
+  </entry>
+  
+  </tpl:CommentIf>
+  
+  <tpl:CommentIf is_ping="0">
+  <entry>
+    <title>{{tpl:CommentEntryTitle encode_xml="1"}} - {{tpl:CommentAuthor encode_xml="1"}}</title>
+    <link href="{{tpl:CommentPostURL encode_xml="1"}}#c{{tpl:CommentID}}" rel="alternate" type="text/html"
+    title="{{tpl:CommentEntryTitle encode_xml="1"}} - {{tpl:CommentAuthor encode_xml="1"}}" />
+    <id>{{tpl:CommentFeedID}}</id>
+    <published>{{tpl:CommentDate iso8601="1"}}</published>
+    <updated>{{tpl:CommentDate iso8601="1" upddt="1"}}</updated>
+    <author><name>{{tpl:CommentAuthor encode_xml="1"}}</name></author>
+    <content type="html">{{tpl:CommentContent absolute_urls="1" encode_xml="1"}}</content>
+  </entry>
+  </tpl:CommentIf>
+  </tpl:Comments>
+  
+</feed>
Index: inc/public/default-templates/atom.xml
===================================================================
--- inc/public/default-templates/atom.xml	(revision 912)
+++ inc/public/default-templates/atom.xml	(revision 912)
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom"
+  xmlns:dc="http://purl.org/dc/elements/1.1/"
+  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
+  xml:lang="{{tpl:BlogLanguage}}">
+  
+  <title type="html">{{tpl:BlogName encode_xml="1"}}{{tpl:SysFeedSubtitle encode_xml="1"}}</title>
+  <subtitle type="html">{{tpl:BlogDescription encode_xml="1"}}</subtitle>
+  <link href="{{tpl:SysSelfURI}}" rel="self" type="application/atom+xml"/>
+  <link href="{{tpl:BlogURL}}" rel="alternate" type="text/html"
+  title="{{tpl:BlogDescription encode_xml="1"}}"/>
+  <updated>{{tpl:BlogUpdateDate iso8601="1"}}</updated>
+  <author>
+    <name>{{tpl:BlogEditor encode_xml="1"}}</name>
+  </author>
+  <id>{{tpl:BlogFeedID}}</id>
+  <generator uri="http://www.dotclear.org/">Dotclear</generator>
+  
+  <tpl:Entries>
+  
+  <entry>
+    <title>{{tpl:EntryTitle encode_xml="1"}}</title>
+    <link href="{{tpl:EntryURL}}" rel="alternate" type="text/html"
+    title="{{tpl:EntryTitle encode_xml="1"}}" />
+    <id>{{tpl:EntryFeedID}}</id>
+    <published>{{tpl:EntryDate iso8601="1"}}</published>
+    <tpl:EntryIf republished="1">
+      <updated>{{tpl:EntryDate iso8601="1" upddt="1"}}</updated>
+    </tpl:EntryIf>
+    <tpl:EntryIf republished="0">
+      <updated>{{tpl:EntryDate iso8601="1"}}</updated>
+    </tpl:EntryIf>
+    <author><name>{{tpl:EntryAuthorCommonName encode_xml="1"}}</name></author>
+    <tpl:EntryIf has_category="1">
+    <dc:subject>{{tpl:EntryCategory encode_html="1"}}</dc:subject>
+    </tpl:EntryIf>
+    <tpl:EntryTags><dc:subject>{{tpl:TagID}}</dc:subject></tpl:EntryTags>
+    
+    <content type="html">{{tpl:EntryExcerpt absolute_urls="1" encode_xml="1"}}
+    {{tpl:EntryContent absolute_urls="1" encode_xml="1"}}</content>
+    
+    <tpl:Attachments>
+      <link rel="enclosure" href="{{tpl:AttachmentURL}}"
+      length="{{tpl:AttachmentSize full="1"}}" type="{{tpl:AttachmentMimeType}}" />
+    </tpl:Attachments>
+
+    
+    <tpl:EntryIf comments_active="1">
+      <wfw:comment>{{tpl:EntryURL}}#comment-form</wfw:comment>
+      <wfw:commentRss>{{tpl:BlogFeedURL type="atom"}}/comments/{{tpl:EntryID}}</wfw:commentRss>
+    </tpl:EntryIf>
+  </entry>
+  </tpl:Entries>
+
+</feed>
Index: inc/public/default-templates/category.html
===================================================================
--- inc/public/default-templates/category.html	(revision 199)
+++ inc/public/default-templates/category.html	(revision 199)
@@ -0,0 +1,167 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{{tpl:BlogLanguage}}" lang="{{tpl:BlogLanguage}}">
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+  <meta name="ROBOTS" content="{{tpl:BlogMetaRobots robots="NOINDEX"}}" />
+  
+  <title>{{tpl:CategoryTitle encode_html="1"}} - {{tpl:BlogName encode_html="1"}}<tpl:PaginationIf start="0"> - {{tpl:lang page}} {{tpl:PaginationCurrent}}</tpl:PaginationIf></title>
+  <meta name="description" lang="{{tpl:BlogLanguage}}" content="{{tpl:CategoryDescription cut_string="180" remove_html="1"}}" />
+  <meta name="copyright" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
+  <meta name="author" content="{{tpl:BlogEditor encode_html="1"}}" />
+  <meta name="date" scheme="W3CDTF" content="{{tpl:BlogUpdateDate iso8601="1"}}" />
+  
+  <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" />
+  <meta name="dc.title" lang="{{tpl:BlogLanguage}}" content="{{tpl:CategoryTitle encode_html="1"}} - {{tpl:BlogName encode_html="1"}}<tpl:PaginationIf start="0"> - {{tpl:lang page}} {{tpl:PaginationCurrent}}</tpl:PaginationIf>" />
+  <meta name="dc.description" lang="{{tpl:BlogLanguage}}" content="{{tpl:CategoryDescription remove_html="1"}}" />
+  <meta name="dc.language" content="{{tpl:BlogLanguage}}" />
+  <meta name="dc.publisher" content="{{tpl:BlogEditor encode_html="1"}}" />
+  <meta name="dc.rights" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
+  <meta name="dc.date" scheme="W3CDTF" content="{{tpl:BlogUpdateDate iso8601="1"}}" />
+  <meta name="dc.type" content="text" />
+  <meta name="dc.format" content="text/html" />
+  
+  <link rel="top" href="{{tpl:BlogURL}}" title="{{tpl:lang Home}}" />
+  <link rel="contents" href="{{tpl:BlogArchiveURL}}" title="{{tpl:lang Archives}}" />
+  
+  <tpl:Entries no_content="1">
+    <tpl:EntriesHeader>
+      <tpl:Pagination>
+        <tpl:PaginationIf end="0">
+        <link rel="prev" title="{{tpl:lang previous entries}}" href="{{tpl:PaginationURL offset="1"}}" />
+        </tpl:PaginationIf>
+        
+        <tpl:PaginationIf start="0">
+        <link rel="next" title="{{tpl:lang next entries}}" href="{{tpl:PaginationURL offset="-1"}}" />
+        </tpl:PaginationIf>
+      </tpl:Pagination>
+    </tpl:EntriesHeader>
+    
+    <link rel="chapter" href="{{tpl:EntryURL}}" title="{{tpl:EntryTitle encode_html="1"}}" />
+  </tpl:Entries>
+  
+  <link rel="alternate" type="application/atom+xml" title="Atom 1.0" href="{{tpl:CategoryFeedURL type="atom"}}" />
+  
+  {{tpl:include src="_head.html"}}
+</head>
+
+<body class="dc-category">
+<div id="page">
+{{tpl:include src="_top.html"}}
+
+<div id="wrapper">
+
+<div id="main">
+  <div id="content">
+
+  <div id="content-info">
+    <h2><tpl:CategoryParents><a href="{{tpl:CategoryURL}}">{{tpl:CategoryTitle encode_html="1"}}</a> &rsaquo; </tpl:CategoryParents>
+    {{tpl:CategoryTitle encode_html="1"}}</h2>
+    {{tpl:CategoryDescription}}
+    
+    <tpl:CategoryIf has_entries="1">
+      <p><a type="application/atom+xml" href="{{tpl:CategoryFeedURL type="atom"}}"
+      title="{{tpl:lang This category's entries Atom feed}}" class="feed">{{tpl:lang Entries feed}}</a>
+      
+      <tpl:SysIf operator="or" comments_active="1" pings_active="1">
+      - <a type="application/atom+xml" href="{{tpl:CategoryFeedURL type="atom"}}/comments"
+      title="{{tpl:lang This category's comments Atom feed}}" class="feed">{{tpl:lang Comments feed}}</a>
+      </tpl:SysIf>
+      </p>
+    </tpl:CategoryIf>
+  </div>
+  
+  <tpl:CategoryFirstChildren>
+    <tpl:CategoriesHeader>
+      <div id="subcategories">
+      <h3>{{tpl:lang Subcategories}}</h3>
+      <ul>
+    </tpl:CategoriesHeader>
+    <li><a href="{{tpl:CategoryURL}}">{{tpl:CategoryTitle encode_html="1"}}</a></li>
+    <tpl:CategoriesFooter>
+      </ul>
+      </div>
+    </tpl:CategoriesFooter>
+  </tpl:CategoryFirstChildren>
+  
+  <tpl:Entries>
+    <div id="p{{tpl:EntryID}}" class="post {{tpl:EntryIfOdd}} {{tpl:EntryIfFirst}}" lang="{{tpl:EntryLang}}" xml:lang="{{tpl:EntryLang}}">
+    <!-- # New day date -->
+    <tpl:DateHeader><p class="day-date">{{tpl:EntryDate}}</p></tpl:DateHeader>
+    
+    <h2 class="post-title"><a
+    href="{{tpl:EntryURL}}">{{tpl:EntryTitle encode_html="1"}}</a></h2>
+    
+    <p class="post-info">{{tpl:lang By}} {{tpl:EntryAuthorLink}}
+    {{tpl:lang on}} {{tpl:EntryDate}}, {{tpl:EntryTime}}</p>
+    
+    <tpl:EntryTags>
+    <tpl:TagsHeader><ul class="post-tags"></tpl:TagsHeader>
+    <li><a href="{{tpl:TagURL}}">{{tpl:TagID}}</a></li>
+    <tpl:TagsFooter></ul></tpl:TagsFooter>
+    </tpl:EntryTags>
+    
+    <!-- # --BEHAVIOR-- publicEntryBeforeContent -->
+    {{tpl:SysBehavior behavior="publicEntryBeforeContent"}}
+    
+    <!-- # Entry with an excerpt -->
+    <tpl:EntryIf extended="1">
+      <div class="post-content">{{tpl:EntryExcerpt}}</div>
+      <p class="read-it"><a href="{{tpl:EntryURL}}"
+      title="{{tpl:lang Continue reading}} {{tpl:EntryTitle encode_html="1"}}">{{tpl:lang Continue
+      reading}}</a>...</p>
+    </tpl:EntryIf>
+    
+    <!-- # Entry without excerpt -->
+    <tpl:EntryIf extended="0">
+      <div class="post-content">{{tpl:EntryContent}}</div>
+    </tpl:EntryIf>
+    
+    <!-- # --BEHAVIOR-- publicEntryAfterContent -->
+    {{tpl:SysBehavior behavior="publicEntryAfterContent"}}
+    
+    <!-- # Number of comments, trackbacks and attachments -->
+    <tpl:EntryIf operator="or" show_comments="1" show_pings="1" has_attachment="1">
+      <p class="post-info-co">
+    </tpl:EntryIf>
+    <tpl:EntryIf show_comments="1">
+      <a href="{{tpl:EntryURL}}#comments" class="comment_count">{{tpl:EntryCommentCount}}</a>
+    </tpl:EntryIf>
+    <tpl:EntryIf show_pings="1">
+      <a href="{{tpl:EntryURL}}#pings" class="ping_count">{{tpl:EntryPingCount}}</a></tpl:EntryIf>
+    <tpl:EntryIf has_attachment="1">
+      <a href="{{tpl:EntryURL}}#attachments" class="attach_count">{{tpl:EntryAttachmentCount}}</a></tpl:EntryIf>
+    <tpl:EntryIf operator="or" show_comments="1" show_pings="1" has_attachment="1">
+      </p>
+    </tpl:EntryIf>
+    </div>
+    
+    <tpl:EntriesFooter>
+      <tpl:Pagination>
+        <p class="pagination"><tpl:PaginationIf end="0"><a href="{{tpl:PaginationURL offset="+1"}}" class="prev">&#171;
+        {{tpl:lang previous entries}}</a> - </tpl:PaginationIf>
+        {{tpl:lang page}} {{tpl:PaginationCurrent}} {{tpl:lang of}} {{tpl:PaginationCounter}}
+        <tpl:PaginationIf start="0"> - <a href="{{tpl:PaginationURL offset="-1"}}" class="next">{{tpl:lang next entries}}
+        &#187;</a></tpl:PaginationIf></p>
+      </tpl:Pagination>
+    </tpl:EntriesFooter>
+  </tpl:Entries>
+  </div>
+</div> <!-- End #main -->
+
+<div id="sidebar">
+  <div id="blognav">
+    {{tpl:Widgets type="nav"}}
+  </div> <!-- End #blognav -->
+  
+  <div id="blogextra">
+    {{tpl:Widgets type="extra"}}
+  </div> <!-- End #blogextra -->
+</div>
+
+</div> <!-- End #wrapper -->
+
+{{tpl:include src="_footer.html"}}
+</div> <!-- End #page -->
+</body>
+</html>
Index: inc/public/default-templates/home.html
===================================================================
--- inc/public/default-templates/home.html	(revision 199)
+++ inc/public/default-templates/home.html	(revision 199)
@@ -0,0 +1,144 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{{tpl:BlogLanguage}}" lang="{{tpl:BlogLanguage}}">
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+  <meta name="ROBOTS" content="{{tpl:BlogMetaRobots}}" />
+  
+  <title>{{tpl:BlogName encode_html="1"}}<tpl:PaginationIf start="0"> - {{tpl:lang page}} {{tpl:PaginationCurrent}}</tpl:PaginationIf></title>
+  <meta name="description" lang="{{tpl:BlogLanguage}}" content="{{tpl:BlogDescription cut_string="180" encode_html="1"}}<tpl:PaginationIf start="0"> - {{tpl:lang page}} {{tpl:PaginationCurrent}}</tpl:PaginationIf>" />
+  <meta name="copyright" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
+  <meta name="author" content="{{tpl:BlogEditor encode_html="1"}}" />
+  <meta name="date" scheme="W3CDTF" content="{{tpl:BlogUpdateDate iso8601="1"}}" />
+  
+  <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" />
+  <meta name="dc.title" lang="{{tpl:BlogLanguage}}" content="{{tpl:BlogName encode_html="1"}}<tpl:PaginationIf start="0"> - {{tpl:lang page}} {{tpl:PaginationCurrent}}</tpl:PaginationIf>" />
+  <meta name="dc.description" lang="{{tpl:BlogLanguage}}" content="{{tpl:BlogDescription encode_html="1"}}" />
+  <meta name="dc.language" content="{{tpl:BlogLanguage}}" />
+  <meta name="dc.publisher" content="{{tpl:BlogEditor encode_html="1"}}" />
+  <meta name="dc.rights" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
+  <meta name="dc.date" scheme="W3CDTF" content="{{tpl:BlogUpdateDate iso8601="1"}}" />
+  <meta name="dc.type" content="text" />
+  <meta name="dc.format" content="text/html" />
+  
+  <link rel="contents" title="{{tpl:lang Archives}}" href="{{tpl:BlogArchiveURL}}" />
+  <tpl:Categories>
+  <link rel="section" href="{{tpl:CategoryURL}}" title="{{tpl:CategoryTitle encode_html="1"}}" />
+  </tpl:Categories>
+  
+  <tpl:Entries no_content="1">
+    <tpl:EntriesHeader>
+      <tpl:Pagination>
+        <tpl:PaginationIf end="0">
+        <link rel="prev" title="{{tpl:lang previous entries}}" href="{{tpl:PaginationURL offset="1"}}" />
+        </tpl:PaginationIf>
+        
+        <tpl:PaginationIf start="0">
+        <link rel="next" title="{{tpl:lang next entries}}" href="{{tpl:PaginationURL offset="-1"}}" />
+        </tpl:PaginationIf>
+      </tpl:Pagination>
+    </tpl:EntriesHeader>
+    
+    <link rel="chapter" href="{{tpl:EntryURL}}" title="{{tpl:EntryTitle encode_html="1"}}" />
+  </tpl:Entries>
+  
+  <link rel="alternate" type="application/atom+xml" title="Atom 1.0" href="{{tpl:BlogFeedURL type="atom"}}" />
+  <link rel="EditURI" type="application/rsd+xml" title="RSD" href="{{tpl:BlogRSDURL}}" />
+  <link rel="meta" type="application/xbel+xml" title="Blogroll" href="{{tpl:BlogrollXbelLink}}" />
+  
+  {{tpl:include src="_head.html"}}
+</head>
+
+<body class="dc-home">
+<div id="page">
+{{tpl:include src="_top.html"}}
+
+<div id="wrapper">
+
+<div id="main">
+  <div id="content">
+  <tpl:Entries>
+    <div id="p{{tpl:EntryID}}" class="post {{tpl:EntryIfOdd}} {{tpl:EntryIfFirst}}" lang="{{tpl:EntryLang}}" xml:lang="{{tpl:EntryLang}}">
+    <!-- # New day date -->
+    <tpl:DateHeader><p class="day-date">{{tpl:EntryDate}}</p></tpl:DateHeader>
+    
+    <h2 class="post-title"><a
+    href="{{tpl:EntryURL}}">{{tpl:EntryTitle encode_html="1"}}</a></h2>
+    
+    <p class="post-info">{{tpl:lang By}} {{tpl:EntryAuthorLink}}
+    {{tpl:lang on}} {{tpl:EntryDate}}, {{tpl:EntryTime}}
+    <tpl:EntryIf has_category="1">
+    - <a href="{{tpl:EntryCategoryURL}}">{{tpl:EntryCategory encode_html="1"}}</a>
+    </tpl:EntryIf>
+    </p>
+    
+    <tpl:EntryTags>
+    <tpl:TagsHeader><ul class="post-tags"></tpl:TagsHeader>
+    <li><a href="{{tpl:TagURL}}">{{tpl:TagID}}</a></li>
+    <tpl:TagsFooter></ul></tpl:TagsFooter>
+    </tpl:EntryTags>
+    
+    <!-- # --BEHAVIOR-- publicEntryBeforeContent -->
+    {{tpl:SysBehavior behavior="publicEntryBeforeContent"}}
+    
+    <!-- # Entry with an excerpt -->
+    <tpl:EntryIf extended="1">
+      <div class="post-content">{{tpl:EntryExcerpt}}</div>
+      <p class="read-it"><a href="{{tpl:EntryURL}}"
+      title="{{tpl:lang Continue reading}} {{tpl:EntryTitle encode_html="1"}}">{{tpl:lang Continue
+      reading}}</a>...</p>
+    </tpl:EntryIf>
+    
+    <!-- # Entry without excerpt -->
+    <tpl:EntryIf extended="0">
+      <div class="post-content">{{tpl:EntryContent}}</div>
+    </tpl:EntryIf>
+    
+    <!-- # --BEHAVIOR-- publicEntryAfterContent -->
+    {{tpl:SysBehavior behavior="publicEntryAfterContent"}}
+    
+    <!-- # Number of comments, trackbacks and attachments -->
+    <tpl:EntryIf operator="or" show_comments="1" show_pings="1" has_attachment="1">
+      <p class="post-info-co">
+    </tpl:EntryIf>
+    <tpl:EntryIf show_comments="1">
+      <a href="{{tpl:EntryURL}}#comments" class="comment_count">{{tpl:EntryCommentCount}}</a>
+    </tpl:EntryIf>
+    <tpl:EntryIf show_pings="1">
+      <a href="{{tpl:EntryURL}}#pings" class="ping_count">{{tpl:EntryPingCount}}</a></tpl:EntryIf>
+    <tpl:EntryIf has_attachment="1">
+      <a href="{{tpl:EntryURL}}#attachments" class="attach_count">{{tpl:EntryAttachmentCount}}</a></tpl:EntryIf>
+    <tpl:EntryIf operator="or" show_comments="1" show_pings="1" has_attachment="1">
+      </p>
+    </tpl:EntryIf>
+    </div>
+    
+    <tpl:EntriesFooter>
+      <tpl:Pagination>
+        <p class="pagination"><tpl:PaginationIf end="0"><a href="{{tpl:PaginationURL offset="+1"}}" class="prev">&#171;
+        {{tpl:lang previous entries}}</a> - </tpl:PaginationIf>
+        {{tpl:lang page}} {{tpl:PaginationCurrent}} {{tpl:lang of}} {{tpl:PaginationCounter}}
+        <tpl:PaginationIf start="0"> - <a href="{{tpl:PaginationURL offset="-1"}}" class="next">{{tpl:lang next entries}}
+        &#187;</a></tpl:PaginationIf></p>
+      </tpl:Pagination>
+    </tpl:EntriesFooter>
+  </tpl:Entries>
+  </div>
+</div> <!-- End #main -->
+
+<div id="sidebar">
+  <div id="blognav">
+    {{tpl:Widgets type="nav"}}
+  </div> <!-- End #blognav -->
+  
+  <div id="blogextra">
+    {{tpl:Widgets type="extra"}}
+  </div> <!-- End #blogextra -->
+</div>
+
+</div> <!-- End #wrapper -->
+
+{{tpl:include src="_footer.html"}}
+</div> <!-- End #page -->
+</body>
+</html>
Index: nc/public/default-templates/legacy/404.html
===================================================================
--- inc/public/default-templates/legacy/404.html	(revision 2541)
+++ 	(revision )
@@ -1,62 +1,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{{tpl:BlogLanguage}}" lang="{{tpl:BlogLanguage}}">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-  <meta name="ROBOTS" content="{{tpl:BlogMetaRobots robots="NOINDEX,NOARCHIVE"}}" />
-  
-  <title>{{tpl:lang Document not found}} - {{tpl:BlogName encode_html="1"}}</title>
-  <meta name="copyright" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
-  <meta name="author" content="{{tpl:BlogEditor encode_html="1"}}" />
-  
-  <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" />
-  <meta name="dc.title" lang="{{tpl:BlogLanguage}}" content="{{tpl:lang Document not found}} - {{tpl:BlogName encode_html="1"}}" />
-  <meta name="dc.language" content="{{tpl:BlogLanguage}}" />
-  <meta name="dc.publisher" content="{{tpl:BlogEditor encode_html="1"}}" />
-  <meta name="dc.rights" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
-  <meta name="dc.type" content="text" />
-  <meta name="dc.format" content="text/html" />
-  
-  <link rel="top" href="{{tpl:BlogURL}}" title="{{tpl:lang Home}}" />
-  <link rel="contents" title="{{tpl:lang Archives}}" href="{{tpl:BlogArchiveURL}}" />
-  <link rel="alternate" type="application/atom+xml" title="Atom 1.0" href="{{tpl:BlogFeedURL type="atom"}}" />
-  
-  {{tpl:include src="_head.html"}}
-</head>
-
-<body class="dc-404">
-<div id="page">
-{{tpl:include src="_top.html"}}
-
-<div id="wrapper">
-
-<div id="main">
-  <div id="content">
-  
-  <div id="content-info">
-    <h2>{{tpl:lang Document not found}}</h2>
-  </div>
-  
-  <div class="content-inner">
-    <p>{{tpl:lang The document you are looking for does not exist.}}</p>
-  </div>
-  
-  </div>
-</div>
-
-<div id="sidebar">
-  <div id="blognav">
-    {{tpl:Widgets type="nav"}}
-  </div> <!-- End #blognav -->
-  
-  <div id="blogextra">
-    {{tpl:Widgets type="extra"}}
-  </div> <!-- End #blogextra -->
-</div>
-
-</div> <!-- End #wrapper -->
-
-{{tpl:include src="_footer.html"}}
-</div> <!-- End #page -->
-</body>
-</html>
Index: nc/public/default-templates/legacy/_flv_player.html
===================================================================
--- inc/public/default-templates/legacy/_flv_player.html	(revision 2541)
+++ 	(revision )
@@ -1,8 +1,0 @@
-<object type="application/x-shockwave-flash" data="{{tpl:BlogQmarkURL}}pf=player_flv.swf"
-width="400" height="300">
-<param name="movie" value="{{tpl:BlogQmarkURL}}pf=player_flv.swf" />
-<param name="wmode" value="transparent" />
-<param name="allowFullScreen" value="true" />
-<param name="FlashVars" value="flv={{tpl:MediaURL}}&amp;width=400&amp;height=300&amp;margin=1&amp;showfullscreen=1&amp;showvolume=1&amp;showtime=1" />
-{{tpl:lang Embedded Audio Player}}
-</object>
Index: nc/public/default-templates/legacy/_footer.html
===================================================================
--- inc/public/default-templates/legacy/_footer.html	(revision 2541)
+++ 	(revision )
@@ -1,5 +1,0 @@
-<div id="footer">
-  <p>{{tpl:SysPoweredBy}}</p>
-</div>
-
-{{tpl:SysBehavior behavior="publicFooterContent"}}
Index: nc/public/default-templates/legacy/_head.html
===================================================================
--- inc/public/default-templates/legacy/_head.html	(revision 2541)
+++ 	(revision )
@@ -1,8 +1,0 @@
-<link rel="stylesheet" type="text/css" href="{{tpl:BlogThemeURL}}/style.css" media="screen" />
-<link rel="stylesheet" type="text/css" href="{{tpl:BlogThemeURL}}/../default/print.css" media="print" />
-
-<script type="text/javascript" src="{{tpl:BlogThemeURL}}/../default/js/jquery.js"></script>
-<script type="text/javascript" src="{{tpl:BlogThemeURL}}/../default/js/jquery.cookie.js"></script>
-
-{{tpl:include src="user_head.html"}}
-{{tpl:SysBehavior behavior="publicHeadContent"}}
Index: nc/public/default-templates/legacy/_mp3_player.html
===================================================================
--- inc/public/default-templates/legacy/_mp3_player.html	(revision 2541)
+++ 	(revision )
@@ -1,6 +1,0 @@
-<object type="application/x-shockwave-flash" data="{{tpl:BlogQmarkURL}}pf=player_mp3.swf" width="200" height="20">
-<param name="movie" value="{{tpl:BlogQmarkURL}}pf=player_mp3.swf" />
-<param name="wmode" value="transparent" />
-<param name="FlashVars" value="mp3={{tpl:MediaURL}}&amp;showvolume=1&amp;loadingcolor=ff9900&amp;bgcolor1=eeeeee&amp;bgcolor2=cccccc&amp;buttoncolor=0066cc&amp;buttonovercolor=ff9900&amp;slidercolor1=cccccc&amp;slidercolor2=999999&amp;sliderovercolor=0066cc" />
-{{tpl:lang Embedded Audio Player}}
-</object>
Index: nc/public/default-templates/legacy/_top.html
===================================================================
--- inc/public/default-templates/legacy/_top.html	(revision 2541)
+++ 	(revision )
@@ -1,10 +1,0 @@
-<div id="top">
-  <h1><span><a href="{{tpl:BlogURL}}">{{tpl:BlogName encode_html="1"}}</a></span></h1>
-  
-  <!-- # --BEHAVIOR-- publicTopAfterContent -->
-  {{tpl:SysBehavior behavior="publicTopAfterContent"}}
-</div>
-
-<p id="prelude"><a href="#main">{{tpl:lang To content}}</a> |
-<a href="#blognav">{{tpl:lang To menu}}</a> |
-<a href="#search">{{tpl:lang To search}}</a></p>
Index: nc/public/default-templates/legacy/archive.html
===================================================================
--- inc/public/default-templates/legacy/archive.html	(revision 2541)
+++ 	(revision )
@@ -1,79 +1,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{{tpl:BlogLanguage}}" lang="{{tpl:BlogLanguage}}">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-  <meta name="ROBOTS" content="{{tpl:BlogMetaRobots}}" />
-  
-  <title>{{tpl:lang Archives}} - {{tpl:BlogName encode_html="1"}}</title>
-  <meta name="copyright" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
-  <meta name="author" content="{{tpl:BlogEditor encode_html="1"}}" />
-  <meta name="date" scheme="W3CDTF" content="{{tpl:BlogUpdateDate iso8601="1"}}" />
-  
-  <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" />
-  <meta name="dc.title" lang="{{tpl:BlogLanguage}}" content="{{tpl:lang Archives}} - {{tpl:BlogName encode_html="1"}}" />
-  <meta name="dc.language" content="{{tpl:BlogLanguage}}" />
-  <meta name="dc.publisher" content="{{tpl:BlogEditor encode_html="1"}}" />
-  <meta name="dc.rights" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
-  <meta name="dc.date" scheme="W3CDTF" content="{{tpl:BlogUpdateDate iso8601="1"}}" />
-  <meta name="dc.type" content="text" />
-  <meta name="dc.format" content="text/html" />
-  
-  <link rel="top" href="{{tpl:BlogURL}}" title="{{tpl:lang Home}}" />
-  
-  <tpl:Archives>
-    <link rel="chapter" href="{{tpl:ArchiveURL}}" title="{{tpl:ArchiveDate encode_html="1"}}" />
-  </tpl:Archives>
-  
-  <link rel="alternate" type="application/atom+xml" title="Atom 1.0" href="{{tpl:BlogFeedURL type="atom"}}" />
-  
-  {{tpl:include src="_head.html"}}
-</head>
-
-<body class="dc-archive">
-<div id="page">
-{{tpl:include src="_top.html"}}
-
-<div id="wrapper">
-
-<div id="main">
-  <div id="content">
-  
-  <div id="content-info">
-    <h2>{{tpl:lang Archives}}</h2>
-  </div>
-  
-  <div class="content-inner">
-  <tpl:Archives>
-    <tpl:ArchivesYearHeader>
-      <h3>{{tpl:ArchiveDate format="%Y"}}</h3>
-      <ul>
-    </tpl:ArchivesYearHeader>
-      <li><a href="{{tpl:ArchiveURL}}"
-      title="{{tpl:ArchiveDate encode_html="1"}}">{{tpl:ArchiveDate encode_html="1" format="%B"}}</a>
-      ({{tpl:ArchiveEntriesCount}})</li>
-    <tpl:ArchivesYearFooter>
-      </ul>
-    </tpl:ArchivesYearFooter>
-  </tpl:Archives>
-  </div>
-  
-  </div>
-</div> <!-- End #main -->
-
-<div id="sidebar">
-  <div id="blognav">
-    {{tpl:Widgets type="nav"}}
-  </div> <!-- End #blognav -->
-  
-  <div id="blogextra">
-    {{tpl:Widgets type="extra"}}
-  </div> <!-- End #blogextra -->
-</div>
-
-</div> <!-- End #wrapper -->
-
-{{tpl:include src="_footer.html"}}
-</div> <!-- End #page -->
-</body>
-</html>
Index: nc/public/default-templates/legacy/archive_month.html
===================================================================
--- inc/public/default-templates/legacy/archive_month.html	(revision 2541)
+++ 	(revision )
@@ -1,96 +1,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{{tpl:BlogLanguage}}" lang="{{tpl:BlogLanguage}}">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-  <meta name="ROBOTS" content="{{tpl:BlogMetaRobots robots="NOINDEX"}}" />
-  
-  <title>{{tpl:lang Archives}} - {{tpl:ArchiveDate}} - {{tpl:BlogName encode_html="1"}}</title>
-  <meta name="copyright" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
-  <meta name="author" content="{{tpl:BlogEditor encode_html="1"}}" />
-  <meta name="date" scheme="W3CDTF" content="{{tpl:BlogUpdateDate iso8601="1"}}" />
-  
-  <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" />
-  <meta name="dc.title" lang="{{tpl:BlogLanguage}}" content="{{tpl:lang Archives}} - {{tpl:ArchiveDate}} - {{tpl:BlogName encode_html="1"}}" />
-  <meta name="dc.language" content="{{tpl:BlogLanguage}}" />
-  <meta name="dc.publisher" content="{{tpl:BlogEditor encode_html="1"}}" />
-  <meta name="dc.rights" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
-  <meta name="dc.date" scheme="W3CDTF" content="{{tpl:BlogUpdateDate iso8601="1"}}" />
-  <meta name="dc.type" content="text" />
-  <meta name="dc.format" content="text/html" />
-  
-  <link rel="top" href="{{tpl:BlogURL}}" title="{{tpl:lang Home}}" />
-  <link rel="up" href="{{tpl:BlogArchiveURL}}" title="{{tpl:lang Archives}}" />
-  <link rel="contents" href="{{tpl:BlogArchiveURL}}" title="{{tpl:lang Archives}}" />
-  
-  
-  <tpl:ArchiveNext><link rel="next" href="{{tpl:ArchiveURL}}"
-  title="{{tpl:ArchiveDate encode_html="1"}}" /></tpl:ArchiveNext>
-  <tpl:ArchivePrevious><link rel="prev" href="{{tpl:ArchiveURL}}"
-  title="{{tpl:ArchiveDate encode_html="1"}}" /></tpl:ArchivePrevious>
-  
-  <tpl:Entries no_content="1">
-  <link rel="chapter" href="{{tpl:EntryURL}}" title="{{tpl:EntryTitle encode_html="1"}}" />
-  </tpl:Entries>
-  
-  {{tpl:include src="_head.html"}}
-</head>
-
-<body class="dc-archive-month">
-<div id="page">
-{{tpl:include src="_top.html"}}
-
-<div id="wrapper">
-
-<div id="main">
-  <div id="content">
-  
-  <p id="navlinks">
-  <tpl:ArchivePrevious><a href="{{tpl:ArchiveURL}}" class="prev">&#171; {{tpl:ArchiveDate encode_html="1"}}</a>
-  - </tpl:ArchivePrevious>
-  <a href="{{tpl:BlogArchiveURL}}">{{tpl:lang Archives}}</a>
-  <tpl:ArchiveNext> - <a href="{{tpl:ArchiveURL}}" class="next">{{tpl:ArchiveDate encode_html="1"}} &#187;</a></tpl:ArchiveNext>
-  </p>
-  
-  <div id="content-info">
-    <h2>{{tpl:ArchiveDate}}</h2>
-  </div>
-  
-  <div class="content-inner">
-  <tpl:Entries no_content="1">
-    <!-- # New day date -->
-    <tpl:DateHeader><p class="day-date">{{tpl:EntryDate}}</p></tpl:DateHeader>
-    
-    <h2 id="p{{tpl:EntryID}}" class="post-title" lang="{{tpl:EntryLang}}" xml:lang="{{tpl:EntryLang}}"><a
-    href="{{tpl:EntryURL}}" title="{{tpl:lang Read}} {{tpl:EntryTitle encode_html="1"}}">{{tpl:EntryTitle encode_html="1"}}</a></h2>
-    
-    <p class="post-info">{{tpl:lang By}} {{tpl:EntryAuthorLink}}
-    <tpl:EntryIf show_comments="1">
-    - <a href="{{tpl:EntryURL}}#comments">{{tpl:EntryCommentCount}}</a>
-    </tpl:EntryIf>
-    <tpl:EntryIf show_pings="1">
-    - <a href="{{tpl:EntryURL}}#pings">{{tpl:EntryPingCount}}</a></tpl:EntryIf>
-    <tpl:EntryIf has_attachment="1">
-    - <a href="{{tpl:EntryURL}}#attachments">{{tpl:EntryAttachmentCount}}</a></tpl:EntryIf>
-    </p>
-  </tpl:Entries>
-  </div>
-  </div>
-</div> <!-- End #main -->
-
-<div id="sidebar">
-  <div id="blognav">
-    {{tpl:Widgets type="nav"}}
-  </div> <!-- End #blognav -->
-  
-  <div id="blogextra">
-    {{tpl:Widgets type="extra"}}
-  </div> <!-- End #blogextra -->
-</div>
-
-</div> <!-- End #wrapper -->
-
-{{tpl:include src="_footer.html"}}
-</div> <!-- End #page -->
-</body>
-</html>
Index: nc/public/default-templates/legacy/atom-comments.xml
===================================================================
--- inc/public/default-templates/legacy/atom-comments.xml	(revision 2541)
+++ 	(revision )
@@ -1,47 +1,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="{{tpl:BlogLanguage}}">
-  
-  <title type="html">{{tpl:BlogName encode_xml="1"}}{{tpl:SysFeedSubtitle encode_xml="1"}}
-  - {{tpl:lang Comments}}</title>
-  <subtitle type="html">{{tpl:BlogDescription encode_xml="1"}}</subtitle>
-  <link href="{{tpl:SysSelfURI}}" rel="self" type="application/atom+xml"/>
-  <link href="{{tpl:BlogURL}}" rel="alternate" type="text/html"
-  title="{{tpl:BlogDescription encode_xml="1"}}"/>
-  <updated>{{tpl:BlogUpdateDate iso8601="1"}}</updated>
-  <author>
-    <name>{{tpl:BlogEditor encode_xml="1"}}</name>
-  </author>
-  <id>{{tpl:BlogFeedID}}</id>
-  <generator uri="http://www.dotclear.org/">Dotclear</generator>
-  
-  <tpl:Comments order="desc" with_pings="1">
-  
-  <tpl:CommentIf is_ping="1">
-  <entry>
-    <title>[ping] {{tpl:PingEntryTitle encode_xml="1"}} - {{tpl:PingBlogName encode_xml="1"}}</title>
-    <link href="{{tpl:PingPostURL encode_xml="1"}}#c{{tpl:PingID}}" rel="alternate" type="text/html"
-    title="[ping] {{tpl:PingEntryTitle encode_xml="1"}} - {{tpl:PingBlogName encode_xml="1"}}" />
-    <id>{{tpl:PingFeedID}}</id>
-    <published>{{tpl:PingDate iso8601="1"}}</published>
-    <updated>{{tpl:PingDate iso8601="1" upddt="1"}}</updated>
-    <author><name>{{tpl:PingBlogName encode_xml="1"}}</name></author>
-    <content type="html">&lt;p&gt;&lt;a href="{{tpl:PingAuthorURL encode_xml="1"}}"&gt;{{tpl:PingTitle encode_xml="1"}}&lt;/a&gt;&lt;/p&gt; {{tpl:PingContent encode_xml="1"}}</content>
-  </entry>
-  
-  </tpl:CommentIf>
-  
-  <tpl:CommentIf is_ping="0">
-  <entry>
-    <title>{{tpl:CommentEntryTitle encode_xml="1"}} - {{tpl:CommentAuthor encode_xml="1"}}</title>
-    <link href="{{tpl:CommentPostURL encode_xml="1"}}#c{{tpl:CommentID}}" rel="alternate" type="text/html"
-    title="{{tpl:CommentEntryTitle encode_xml="1"}} - {{tpl:CommentAuthor encode_xml="1"}}" />
-    <id>{{tpl:CommentFeedID}}</id>
-    <published>{{tpl:CommentDate iso8601="1"}}</published>
-    <updated>{{tpl:CommentDate iso8601="1" upddt="1"}}</updated>
-    <author><name>{{tpl:CommentAuthor encode_xml="1"}}</name></author>
-    <content type="html">{{tpl:CommentContent absolute_urls="1" encode_xml="1"}}</content>
-  </entry>
-  </tpl:CommentIf>
-  </tpl:Comments>
-  
-</feed>
Index: nc/public/default-templates/legacy/atom.xml
===================================================================
--- inc/public/default-templates/legacy/atom.xml	(revision 2541)
+++ 	(revision )
@@ -1,55 +1,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<feed xmlns="http://www.w3.org/2005/Atom"
-  xmlns:dc="http://purl.org/dc/elements/1.1/"
-  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
-  xml:lang="{{tpl:BlogLanguage}}">
-  
-  <title type="html">{{tpl:BlogName encode_xml="1"}}{{tpl:SysFeedSubtitle encode_xml="1"}}</title>
-  <subtitle type="html">{{tpl:BlogDescription encode_xml="1"}}</subtitle>
-  <link href="{{tpl:SysSelfURI}}" rel="self" type="application/atom+xml"/>
-  <link href="{{tpl:BlogURL}}" rel="alternate" type="text/html"
-  title="{{tpl:BlogDescription encode_xml="1"}}"/>
-  <updated>{{tpl:BlogUpdateDate iso8601="1"}}</updated>
-  <author>
-    <name>{{tpl:BlogEditor encode_xml="1"}}</name>
-  </author>
-  <id>{{tpl:BlogFeedID}}</id>
-  <generator uri="http://www.dotclear.org/">Dotclear</generator>
-  
-  <tpl:Entries>
-  
-  <entry>
-    <title>{{tpl:EntryTitle encode_xml="1"}}</title>
-    <link href="{{tpl:EntryURL}}" rel="alternate" type="text/html"
-    title="{{tpl:EntryTitle encode_xml="1"}}" />
-    <id>{{tpl:EntryFeedID}}</id>
-    <published>{{tpl:EntryDate iso8601="1"}}</published>
-    <tpl:EntryIf republished="1">
-      <updated>{{tpl:EntryDate iso8601="1" upddt="1"}}</updated>
-    </tpl:EntryIf>
-    <tpl:EntryIf republished="0">
-      <updated>{{tpl:EntryDate iso8601="1"}}</updated>
-    </tpl:EntryIf>
-    <author><name>{{tpl:EntryAuthorCommonName encode_xml="1"}}</name></author>
-    <tpl:EntryIf has_category="1">
-    <dc:subject>{{tpl:EntryCategory encode_html="1"}}</dc:subject>
-    </tpl:EntryIf>
-    <tpl:EntryTags><dc:subject>{{tpl:TagID}}</dc:subject></tpl:EntryTags>
-    
-    <content type="html">{{tpl:EntryExcerpt absolute_urls="1" encode_xml="1"}}
-    {{tpl:EntryContent absolute_urls="1" encode_xml="1"}}</content>
-    
-    <tpl:Attachments>
-      <link rel="enclosure" href="{{tpl:AttachmentURL}}"
-      length="{{tpl:AttachmentSize full="1"}}" type="{{tpl:AttachmentMimeType}}" />
-    </tpl:Attachments>
-
-    
-    <tpl:EntryIf comments_active="1">
-      <wfw:comment>{{tpl:EntryURL}}#comment-form</wfw:comment>
-      <wfw:commentRss>{{tpl:BlogFeedURL type="atom"}}/comments/{{tpl:EntryID}}</wfw:commentRss>
-    </tpl:EntryIf>
-  </entry>
-  </tpl:Entries>
-
-</feed>
Index: nc/public/default-templates/legacy/category.html
===================================================================
--- inc/public/default-templates/legacy/category.html	(revision 2541)
+++ 	(revision )
@@ -1,167 +1,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{{tpl:BlogLanguage}}" lang="{{tpl:BlogLanguage}}">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-  <meta name="ROBOTS" content="{{tpl:BlogMetaRobots robots="NOINDEX"}}" />
-  
-  <title>{{tpl:CategoryTitle encode_html="1"}} - {{tpl:BlogName encode_html="1"}}<tpl:PaginationIf start="0"> - {{tpl:lang page}} {{tpl:PaginationCurrent}}</tpl:PaginationIf></title>
-  <meta name="description" lang="{{tpl:BlogLanguage}}" content="{{tpl:CategoryDescription cut_string="180" remove_html="1"}}" />
-  <meta name="copyright" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
-  <meta name="author" content="{{tpl:BlogEditor encode_html="1"}}" />
-  <meta name="date" scheme="W3CDTF" content="{{tpl:BlogUpdateDate iso8601="1"}}" />
-  
-  <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" />
-  <meta name="dc.title" lang="{{tpl:BlogLanguage}}" content="{{tpl:CategoryTitle encode_html="1"}} - {{tpl:BlogName encode_html="1"}}<tpl:PaginationIf start="0"> - {{tpl:lang page}} {{tpl:PaginationCurrent}}</tpl:PaginationIf>" />
-  <meta name="dc.description" lang="{{tpl:BlogLanguage}}" content="{{tpl:CategoryDescription remove_html="1"}}" />
-  <meta name="dc.language" content="{{tpl:BlogLanguage}}" />
-  <meta name="dc.publisher" content="{{tpl:BlogEditor encode_html="1"}}" />
-  <meta name="dc.rights" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
-  <meta name="dc.date" scheme="W3CDTF" content="{{tpl:BlogUpdateDate iso8601="1"}}" />
-  <meta name="dc.type" content="text" />
-  <meta name="dc.format" content="text/html" />
-  
-  <link rel="top" href="{{tpl:BlogURL}}" title="{{tpl:lang Home}}" />
-  <link rel="contents" href="{{tpl:BlogArchiveURL}}" title="{{tpl:lang Archives}}" />
-  
-  <tpl:Entries no_content="1">
-    <tpl:EntriesHeader>
-      <tpl:Pagination>
-        <tpl:PaginationIf end="0">
-        <link rel="prev" title="{{tpl:lang previous entries}}" href="{{tpl:PaginationURL offset="1"}}" />
-        </tpl:PaginationIf>
-        
-        <tpl:PaginationIf start="0">
-        <link rel="next" title="{{tpl:lang next entries}}" href="{{tpl:PaginationURL offset="-1"}}" />
-        </tpl:PaginationIf>
-      </tpl:Pagination>
-    </tpl:EntriesHeader>
-    
-    <link rel="chapter" href="{{tpl:EntryURL}}" title="{{tpl:EntryTitle encode_html="1"}}" />
-  </tpl:Entries>
-  
-  <link rel="alternate" type="application/atom+xml" title="Atom 1.0" href="{{tpl:CategoryFeedURL type="atom"}}" />
-  
-  {{tpl:include src="_head.html"}}
-</head>
-
-<body class="dc-category">
-<div id="page">
-{{tpl:include src="_top.html"}}
-
-<div id="wrapper">
-
-<div id="main">
-  <div id="content">
-
-  <div id="content-info">
-    <h2><tpl:CategoryParents><a href="{{tpl:CategoryURL}}">{{tpl:CategoryTitle encode_html="1"}}</a> &rsaquo; </tpl:CategoryParents>
-    {{tpl:CategoryTitle encode_html="1"}}</h2>
-    {{tpl:CategoryDescription}}
-    
-    <tpl:CategoryIf has_entries="1">
-      <p><a type="application/atom+xml" href="{{tpl:CategoryFeedURL type="atom"}}"
-      title="{{tpl:lang This category's entries Atom feed}}" class="feed">{{tpl:lang Entries feed}}</a>
-      
-      <tpl:SysIf operator="or" comments_active="1" pings_active="1">
-      - <a type="application/atom+xml" href="{{tpl:CategoryFeedURL type="atom"}}/comments"
-      title="{{tpl:lang This category's comments Atom feed}}" class="feed">{{tpl:lang Comments feed}}</a>
-      </tpl:SysIf>
-      </p>
-    </tpl:CategoryIf>
-  </div>
-  
-  <tpl:CategoryFirstChildren>
-    <tpl:CategoriesHeader>
-      <div id="subcategories">
-      <h3>{{tpl:lang Subcategories}}</h3>
-      <ul>
-    </tpl:CategoriesHeader>
-    <li><a href="{{tpl:CategoryURL}}">{{tpl:CategoryTitle encode_html="1"}}</a></li>
-    <tpl:CategoriesFooter>
-      </ul>
-      </div>
-    </tpl:CategoriesFooter>
-  </tpl:CategoryFirstChildren>
-  
-  <tpl:Entries>
-    <div id="p{{tpl:EntryID}}" class="post {{tpl:EntryIfOdd}} {{tpl:EntryIfFirst}}" lang="{{tpl:EntryLang}}" xml:lang="{{tpl:EntryLang}}">
-    <!-- # New day date -->
-    <tpl:DateHeader><p class="day-date">{{tpl:EntryDate}}</p></tpl:DateHeader>
-    
-    <h2 class="post-title"><a
-    href="{{tpl:EntryURL}}">{{tpl:EntryTitle encode_html="1"}}</a></h2>
-    
-    <p class="post-info">{{tpl:lang By}} {{tpl:EntryAuthorLink}}
-    {{tpl:lang on}} {{tpl:EntryDate}}, {{tpl:EntryTime}}</p>
-    
-    <tpl:EntryTags>
-    <tpl:TagsHeader><ul class="post-tags"></tpl:TagsHeader>
-    <li><a href="{{tpl:TagURL}}">{{tpl:TagID}}</a></li>
-    <tpl:TagsFooter></ul></tpl:TagsFooter>
-    </tpl:EntryTags>
-    
-    <!-- # --BEHAVIOR-- publicEntryBeforeContent -->
-    {{tpl:SysBehavior behavior="publicEntryBeforeContent"}}
-    
-    <!-- # Entry with an excerpt -->
-    <tpl:EntryIf extended="1">
-      <div class="post-content">{{tpl:EntryExcerpt}}</div>
-      <p class="read-it"><a href="{{tpl:EntryURL}}"
-      title="{{tpl:lang Continue reading}} {{tpl:EntryTitle encode_html="1"}}">{{tpl:lang Continue
-      reading}}</a>...</p>
-    </tpl:EntryIf>
-    
-    <!-- # Entry without excerpt -->
-    <tpl:EntryIf extended="0">
-      <div class="post-content">{{tpl:EntryContent}}</div>
-    </tpl:EntryIf>
-    
-    <!-- # --BEHAVIOR-- publicEntryAfterContent -->
-    {{tpl:SysBehavior behavior="publicEntryAfterContent"}}
-    
-    <!-- # Number of comments, trackbacks and attachments -->
-    <tpl:EntryIf operator="or" show_comments="1" show_pings="1" has_attachment="1">
-      <p class="post-info-co">
-    </tpl:EntryIf>
-    <tpl:EntryIf show_comments="1">
-      <a href="{{tpl:EntryURL}}#comments" class="comment_count">{{tpl:EntryCommentCount}}</a>
-    </tpl:EntryIf>
-    <tpl:EntryIf show_pings="1">
-      <a href="{{tpl:EntryURL}}#pings" class="ping_count">{{tpl:EntryPingCount}}</a></tpl:EntryIf>
-    <tpl:EntryIf has_attachment="1">
-      <a href="{{tpl:EntryURL}}#attachments" class="attach_count">{{tpl:EntryAttachmentCount}}</a></tpl:EntryIf>
-    <tpl:EntryIf operator="or" show_comments="1" show_pings="1" has_attachment="1">
-      </p>
-    </tpl:EntryIf>
-    </div>
-    
-    <tpl:EntriesFooter>
-      <tpl:Pagination>
-        <p class="pagination"><tpl:PaginationIf end="0"><a href="{{tpl:PaginationURL offset="+1"}}" class="prev">&#171;
-        {{tpl:lang previous entries}}</a> - </tpl:PaginationIf>
-        {{tpl:lang page}} {{tpl:PaginationCurrent}} {{tpl:lang of}} {{tpl:PaginationCounter}}
-        <tpl:PaginationIf start="0"> - <a href="{{tpl:PaginationURL offset="-1"}}" class="next">{{tpl:lang next entries}}
-        &#187;</a></tpl:PaginationIf></p>
-      </tpl:Pagination>
-    </tpl:EntriesFooter>
-  </tpl:Entries>
-  </div>
-</div> <!-- End #main -->
-
-<div id="sidebar">
-  <div id="blognav">
-    {{tpl:Widgets type="nav"}}
-  </div> <!-- End #blognav -->
-  
-  <div id="blogextra">
-    {{tpl:Widgets type="extra"}}
-  </div> <!-- End #blogextra -->
-</div>
-
-</div> <!-- End #wrapper -->
-
-{{tpl:include src="_footer.html"}}
-</div> <!-- End #page -->
-</body>
-</html>
Index: nc/public/default-templates/legacy/home.html
===================================================================
--- inc/public/default-templates/legacy/home.html	(revision 2541)
+++ 	(revision )
@@ -1,144 +1,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{{tpl:BlogLanguage}}" lang="{{tpl:BlogLanguage}}">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-  <meta name="ROBOTS" content="{{tpl:BlogMetaRobots}}" />
-  
-  <title>{{tpl:BlogName encode_html="1"}}<tpl:PaginationIf start="0"> - {{tpl:lang page}} {{tpl:PaginationCurrent}}</tpl:PaginationIf></title>
-  <meta name="description" lang="{{tpl:BlogLanguage}}" content="{{tpl:BlogDescription cut_string="180" encode_html="1"}}<tpl:PaginationIf start="0"> - {{tpl:lang page}} {{tpl:PaginationCurrent}}</tpl:PaginationIf>" />
-  <meta name="copyright" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
-  <meta name="author" content="{{tpl:BlogEditor encode_html="1"}}" />
-  <meta name="date" scheme="W3CDTF" content="{{tpl:BlogUpdateDate iso8601="1"}}" />
-  
-  <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" />
-  <meta name="dc.title" lang="{{tpl:BlogLanguage}}" content="{{tpl:BlogName encode_html="1"}}<tpl:PaginationIf start="0"> - {{tpl:lang page}} {{tpl:PaginationCurrent}}</tpl:PaginationIf>" />
-  <meta name="dc.description" lang="{{tpl:BlogLanguage}}" content="{{tpl:BlogDescription encode_html="1"}}" />
-  <meta name="dc.language" content="{{tpl:BlogLanguage}}" />
-  <meta name="dc.publisher" content="{{tpl:BlogEditor encode_html="1"}}" />
-  <meta name="dc.rights" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
-  <meta name="dc.date" scheme="W3CDTF" content="{{tpl:BlogUpdateDate iso8601="1"}}" />
-  <meta name="dc.type" content="text" />
-  <meta name="dc.format" content="text/html" />
-  
-  <link rel="contents" title="{{tpl:lang Archives}}" href="{{tpl:BlogArchiveURL}}" />
-  <tpl:Categories>
-  <link rel="section" href="{{tpl:CategoryURL}}" title="{{tpl:CategoryTitle encode_html="1"}}" />
-  </tpl:Categories>
-  
-  <tpl:Entries no_content="1">
-    <tpl:EntriesHeader>
-      <tpl:Pagination>
-        <tpl:PaginationIf end="0">
-        <link rel="prev" title="{{tpl:lang previous entries}}" href="{{tpl:PaginationURL offset="1"}}" />
-        </tpl:PaginationIf>
-        
-        <tpl:PaginationIf start="0">
-        <link rel="next" title="{{tpl:lang next entries}}" href="{{tpl:PaginationURL offset="-1"}}" />
-        </tpl:PaginationIf>
-      </tpl:Pagination>
-    </tpl:EntriesHeader>
-    
-    <link rel="chapter" href="{{tpl:EntryURL}}" title="{{tpl:EntryTitle encode_html="1"}}" />
-  </tpl:Entries>
-  
-  <link rel="alternate" type="application/atom+xml" title="Atom 1.0" href="{{tpl:BlogFeedURL type="atom"}}" />
-  <link rel="EditURI" type="application/rsd+xml" title="RSD" href="{{tpl:BlogRSDURL}}" />
-  <link rel="meta" type="application/xbel+xml" title="Blogroll" href="{{tpl:BlogrollXbelLink}}" />
-  
-  {{tpl:include src="_head.html"}}
-</head>
-
-<body class="dc-home">
-<div id="page">
-{{tpl:include src="_top.html"}}
-
-<div id="wrapper">
-
-<div id="main">
-  <div id="content">
-  <tpl:Entries>
-    <div id="p{{tpl:EntryID}}" class="post {{tpl:EntryIfOdd}} {{tpl:EntryIfFirst}}" lang="{{tpl:EntryLang}}" xml:lang="{{tpl:EntryLang}}">
-    <!-- # New day date -->
-    <tpl:DateHeader><p class="day-date">{{tpl:EntryDate}}</p></tpl:DateHeader>
-    
-    <h2 class="post-title"><a
-    href="{{tpl:EntryURL}}">{{tpl:EntryTitle encode_html="1"}}</a></h2>
-    
-    <p class="post-info">{{tpl:lang By}} {{tpl:EntryAuthorLink}}
-    {{tpl:lang on}} {{tpl:EntryDate}}, {{tpl:EntryTime}}
-    <tpl:EntryIf has_category="1">
-    - <a href="{{tpl:EntryCategoryURL}}">{{tpl:EntryCategory encode_html="1"}}</a>
-    </tpl:EntryIf>
-    </p>
-    
-    <tpl:EntryTags>
-    <tpl:TagsHeader><ul class="post-tags"></tpl:TagsHeader>
-    <li><a href="{{tpl:TagURL}}">{{tpl:TagID}}</a></li>
-    <tpl:TagsFooter></ul></tpl:TagsFooter>
-    </tpl:EntryTags>
-    
-    <!-- # --BEHAVIOR-- publicEntryBeforeContent -->
-    {{tpl:SysBehavior behavior="publicEntryBeforeContent"}}
-    
-    <!-- # Entry with an excerpt -->
-    <tpl:EntryIf extended="1">
-      <div class="post-content">{{tpl:EntryExcerpt}}</div>
-      <p class="read-it"><a href="{{tpl:EntryURL}}"
-      title="{{tpl:lang Continue reading}} {{tpl:EntryTitle encode_html="1"}}">{{tpl:lang Continue
-      reading}}</a>...</p>
-    </tpl:EntryIf>
-    
-    <!-- # Entry without excerpt -->
-    <tpl:EntryIf extended="0">
-      <div class="post-content">{{tpl:EntryContent}}</div>
-    </tpl:EntryIf>
-    
-    <!-- # --BEHAVIOR-- publicEntryAfterContent -->
-    {{tpl:SysBehavior behavior="publicEntryAfterContent"}}
-    
-    <!-- # Number of comments, trackbacks and attachments -->
-    <tpl:EntryIf operator="or" show_comments="1" show_pings="1" has_attachment="1">
-      <p class="post-info-co">
-    </tpl:EntryIf>
-    <tpl:EntryIf show_comments="1">
-      <a href="{{tpl:EntryURL}}#comments" class="comment_count">{{tpl:EntryCommentCount}}</a>
-    </tpl:EntryIf>
-    <tpl:EntryIf show_pings="1">
-      <a href="{{tpl:EntryURL}}#pings" class="ping_count">{{tpl:EntryPingCount}}</a></tpl:EntryIf>
-    <tpl:EntryIf has_attachment="1">
-      <a href="{{tpl:EntryURL}}#attachments" class="attach_count">{{tpl:EntryAttachmentCount}}</a></tpl:EntryIf>
-    <tpl:EntryIf operator="or" show_comments="1" show_pings="1" has_attachment="1">
-      </p>
-    </tpl:EntryIf>
-    </div>
-    
-    <tpl:EntriesFooter>
-      <tpl:Pagination>
-        <p class="pagination"><tpl:PaginationIf end="0"><a href="{{tpl:PaginationURL offset="+1"}}" class="prev">&#171;
-        {{tpl:lang previous entries}}</a> - </tpl:PaginationIf>
-        {{tpl:lang page}} {{tpl:PaginationCurrent}} {{tpl:lang of}} {{tpl:PaginationCounter}}
-        <tpl:PaginationIf start="0"> - <a href="{{tpl:PaginationURL offset="-1"}}" class="next">{{tpl:lang next entries}}
-        &#187;</a></tpl:PaginationIf></p>
-      </tpl:Pagination>
-    </tpl:EntriesFooter>
-  </tpl:Entries>
-  </div>
-</div> <!-- End #main -->
-
-<div id="sidebar">
-  <div id="blognav">
-    {{tpl:Widgets type="nav"}}
-  </div> <!-- End #blognav -->
-  
-  <div id="blogextra">
-    {{tpl:Widgets type="extra"}}
-  </div> <!-- End #blogextra -->
-</div>
-
-</div> <!-- End #wrapper -->
-
-{{tpl:include src="_footer.html"}}
-</div> <!-- End #page -->
-</body>
-</html>
Index: nc/public/default-templates/legacy/password-form.html
===================================================================
--- inc/public/default-templates/legacy/password-form.html	(revision 2541)
+++ 	(revision )
@@ -1,41 +1,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-  <meta name="ROBOTS" content="NOARCHIVE,NOINDEX,NOFOLLOW" />
-  <title>{{tpl:lang Password needed}} - {{tpl:BlogName encode_html="1"}}</title>
-  
-  <style type="text/css">
-  body {
-  font: 0.8em Verdana,Arial,Geneva,sans-serif;
-  }
-  
-  form {
-  display : block;
-  width : 500px;
-  margin : 0 auto;
-  padding : 1em;
-  background : #eee;
-  }
-  
-  h2 { font : 140% Arial,Helvetica,sans-serif; margin : 0; }
-  
-  label { font-weight : bold; }
-  
-  input { border-width : 1px; }
-  </style>
-</head>
-
-<body>
-
-<form action="{{tpl:EntryURL}}" method="post">
-<h2>{{tpl:lang Password needed}}</h2>
-
-<p>{{tpl:lang You must give a password to access this area.}}</p>
-<p><label>{{tpl:lang Password:}} <input type="password" name="password" value="" /></label> <input type="submit" value="ok" /></p>
-
-</form>
-
-</body>
-</html>
Index: nc/public/default-templates/legacy/post.html
===================================================================
--- inc/public/default-templates/legacy/post.html	(revision 2541)
+++ 	(revision )
@@ -1,275 +1,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{{tpl:BlogLanguage}}" lang="{{tpl:BlogLanguage}}">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-  <meta name="ROBOTS" content="{{tpl:BlogMetaRobots}}" />
-  
-  <title>{{tpl:EntryTitle encode_html="1"}} - {{tpl:BlogName encode_html="1"}}</title>
-  <meta name="description" lang="{{tpl:EntryLang}}" content="{{tpl:EntryContent full="1" encode_html="1" remove_html="1" cut_string="180"}}" />
-  <meta name="copyright" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
-  <meta name="author" content="{{tpl:EntryAuthorCommonName encode_html="1"}}" />
-  <meta name="date" scheme="W3CDTF" content="{{tpl:EntryDate iso8601="1"}}" />
-  
-  <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" />
-  <meta name="dc.title" content="{{tpl:EntryTitle encode_html="1"}}" />
-  <meta name="dc.description" lang="{{tpl:EntryLang}}" content="{{tpl:EntryContent full="1" encode_html="1" remove_html="1" cut_string="180"}}" />
-  <meta name="dc.creator" content="{{tpl:EntryAuthorCommonName encode_html="1"}}" />
-  <meta name="dc.language" content="{{tpl:EntryLang}}" />
-  <meta name="dc.publisher" content="{{tpl:BlogEditor encode_html="1"}}" />
-  <meta name="dc.rights" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
-  <meta name="dc.date" scheme="W3CDTF" content="{{tpl:EntryDate iso8601="1"}}" />
-  <meta name="dc.type" content="text" />
-  <meta name="dc.format" content="text/html" />
-  
-  <link rel="top" href="{{tpl:BlogURL}}" title="{{tpl:lang Home}}" />
-  <link rel="contents" href="{{tpl:BlogArchiveURL}}" title="{{tpl:lang Archives}}" />
-  <tpl:EntryIf pings_active="1"><link rel="pingback" href="{{tpl:BlogXMLRPCURL}}" /></tpl:EntryIf>
-  
-  <tpl:EntryNext><link rel="next" href="{{tpl:EntryURL}}"
-  title="{{tpl:EntryTitle encode_html="1"}}" /></tpl:EntryNext>
-  
-  <tpl:EntryPrevious><link rel="prev" href="{{tpl:EntryURL}}"
-  title="{{tpl:EntryTitle encode_html="1"}}" /></tpl:EntryPrevious>
-  
-  <link rel="alternate" type="application/atom+xml" title="Atom 1.0" href="{{tpl:BlogFeedURL type="atom"}}" />
-  
-  {{tpl:include src="_head.html"}}
-  
-  <script type="text/javascript" src="{{tpl:BlogThemeURL}}/../default/js/post.js"></script>
-  <script type="text/javascript">
-  //<![CDATA[
-  var post_remember_str = '{{tpl:lang Remember me on this blog}}';
-  //]]>
-  </script>
-</head>
-
-<body class="dc-post">
-<div id="page">
-{{tpl:EntryPingData}}
-
-{{tpl:include src="_top.html"}}
-
-<div id="wrapper">
-
-<div id="main">
-  <div id="content">
-  
-  <p id="navlinks">
-  <tpl:EntryPrevious><a href="{{tpl:EntryURL}}"
-  title="{{tpl:EntryTitle encode_html="1"}}" class="prev">&#171; {{tpl:EntryTitle encode_html="1"
-  cut_string="50"}}</a></tpl:EntryPrevious>
-  <tpl:EntryNext> <span>-</span> <a href="{{tpl:EntryURL}}"
-  title="{{tpl:EntryTitle encode_html="1"}}" class="next">{{tpl:EntryTitle encode_html="1"
-  cut_string="50"}} &#187;</a></tpl:EntryNext>
-  </p>
-  
-  <div id="p{{tpl:EntryID}}" class="post">
-    <h2 class="post-title">{{tpl:EntryTitle encode_html="1"}}</h2>
-    
-    <p class="post-info">{{tpl:lang By}} {{tpl:EntryAuthorLink}}
-    {{tpl:lang on}} {{tpl:EntryDate}}, {{tpl:EntryTime}}
-    <tpl:EntryIf has_category="1">
-    - <a href="{{tpl:EntryCategoryURL}}">{{tpl:EntryCategory encode_html="1"}}</a>
-    </tpl:EntryIf>
-    - <a href="{{tpl:EntryURL}}">{{tpl:lang Permalink}}</a>
-    </p>
-    
-    <tpl:EntryTags>
-    <tpl:TagsHeader><ul class="post-tags"></tpl:TagsHeader>
-    <li><a href="{{tpl:TagURL}}" rel="tag">{{tpl:TagID}}</a></li>
-    <tpl:TagsFooter></ul></tpl:TagsFooter>
-    </tpl:EntryTags>
-    
-    <!-- # --BEHAVIOR-- publicEntryBeforeContent -->
-    {{tpl:SysBehavior behavior="publicEntryBeforeContent"}}
-    
-    <!-- # Entry with an excerpt -->
-    <tpl:EntryIf extended="1">
-      <div class="post-excerpt">{{tpl:EntryExcerpt}}</div>
-    </tpl:EntryIf>
-    
-    <div class="post-content">{{tpl:EntryContent}}</div>
-    
-    <!-- # --BEHAVIOR-- publicEntryAfterContent -->
-    {{tpl:SysBehavior behavior="publicEntryAfterContent"}}
-  </div>
-  
-  <!-- # Attachments -->
-  <tpl:Attachments>
-    <tpl:AttachmentsHeader>
-      <div id="attachments">
-      <h3>{{tpl:lang Attachments}}</h3>
-      <ul>
-    </tpl:AttachmentsHeader>
-      <li class="{{tpl:AttachmentType}}">
-        <tpl:AttachmentIf is_mp3="1">
-          {{tpl:include src="_mp3_player.html"/}} - 
-        </tpl:AttachmentIf>
-        <tpl:AttachmentIf is_flv="1">
-	     {{tpl:include src="_flv_player.html"/}}
-	   </tpl:AttachmentIf>
-	   <tpl:AttachmentIf is_flv="0">
-	   	<a href="{{tpl:AttachmentURL}}"
-		title="{{tpl:AttachmentFileName}} ({{tpl:AttachmentSize}})">{{tpl:AttachmentTitle}}</a>
-        </tpl:AttachmentIf>
-      </li>
-    <tpl:AttachmentsFooter>
-      </ul>
-      </div>
-    </tpl:AttachmentsFooter>
-  </tpl:Attachments>
- 
-  <!-- # Comments -->
-  <tpl:EntryIf show_comments="1">
-    <tpl:Comments>
-    <tpl:CommentsHeader>
-      <div id="comments">
-        <h3>{{tpl:lang Comments}}</h3>
-      <dl>
-    </tpl:CommentsHeader>
-      <dt id="c{{tpl:CommentID}}" class="{{tpl:CommentIfMe}} {{tpl:CommentIfOdd}} {{tpl:CommentIfFirst}}"><a
-      href="#c{{tpl:CommentID}}" class="comment-number">{{tpl:CommentOrderNumber}}.</a>
-      {{tpl:lang On}} {{tpl:CommentDate}}, {{tpl:CommentTime}}
-      {{tpl:lang by}} {{tpl:CommentAuthorLink}}</dt>
-      
-      <dd class="{{tpl:CommentIfMe}} {{tpl:CommentIfOdd}} {{tpl:CommentIfFirst}}">
-      <!-- # --BEHAVIOR-- publicCommentBeforeContent -->
-      {{tpl:SysBehavior behavior="publicCommentBeforeContent"}}
-      
-      {{tpl:CommentContent}}
-      
-      <!-- # --BEHAVIOR-- publicCommentAfterContent -->
-      {{tpl:SysBehavior behavior="publicCommentAfterContent"}}
-      </dd>
-    <tpl:CommentsFooter>
-      </dl>
-      </div>
-    </tpl:CommentsFooter>
-    </tpl:Comments>
-  </tpl:EntryIf>
-  
-  <tpl:EntryIf comments_active="1">    
-    <tpl:SysIfFormError>
-      <p class="error" id="pr">{{tpl:SysFormError}}</p>
-    </tpl:SysIfFormError>
-    
-    <tpl:SysIfCommentPublished>
-      <p class="message" id="pr">{{tpl:lang Your comment has been published.}}</p>
-    </tpl:SysIfCommentPublished>
-    
-    <tpl:SysIfCommentPending>
-      <p class="message" id="pr">{{tpl:lang Your comment has been submitted and
-      will be reviewed for publication.}}</p>
-    </tpl:SysIfCommentPending>
-    
-    <!-- # Comment form -->
-    <form action="{{tpl:EntryURL}}#pr" method="post" id="comment-form">
-      <tpl:IfCommentPreview>
-        <div id="pr">
-          <h3>{{tpl:lang Your comment}}</h3>
-          <dl>
-            <dd class="comment-preview">{{tpl:CommentPreviewContent}}</dd>
-          </dl>
-          <p class="buttons"><input type="submit" class="submit" value="{{tpl:lang send}}" /></p>
-        </div>
-      </tpl:IfCommentPreview>
-      
-      <h3>{{tpl:lang Add a comment}}</h3>
-      <fieldset>
-        <!-- # --BEHAVIOR-- publicCommentFormBeforeContent -->
-        {{tpl:SysBehavior behavior="publicCommentFormBeforeContent"}}
-        
-        <p class="field"><label for="c_name">{{tpl:lang Name or nickname}}&nbsp;:</label>
-        <input name="c_name" id="c_name" type="text" size="30" maxlength="255"
-        value="{{tpl:CommentPreviewName encode_html="1"}}" />
-        </p>
-        
-        <p class="field"><label for="c_mail">{{tpl:lang Email address}}&nbsp;:</label>
-        <input name="c_mail" id="c_mail" type="text" size="30" maxlength="255"
-        value="{{tpl:CommentPreviewEmail encode_html="1"}}" />
-        </p>
-        
-        <p class="field"><label for="c_site">{{tpl:lang Website}} ({{tpl:lang optional}})&nbsp;:</label>
-        <input name="c_site" id="c_site" type="text" size="30" maxlength="255"
-        value="{{tpl:CommentPreviewSite encode_html="1"}}" />
-        </p>
-        
-        <p style="display:none"><input name="f_mail" type="text" size="30"
-        maxlength="255" value="" /></p>
-        
-        <p class="field"><label for="c_content">{{tpl:lang Comment}}&nbsp;:</label>
-        <textarea name="c_content" id="c_content" cols="35"
-        rows="7">{{tpl:CommentPreviewContent raw="1" encode_html="1"}}</textarea>
-        </p>
-        <p class="form-help">{{tpl:CommentHelp}}</p>
-        
-        <!-- # --BEHAVIOR-- publicCommentFormAfterContent -->
-        {{tpl:SysBehavior behavior="publicCommentFormAfterContent"}}
-      </fieldset>
-      
-      <fieldset>
-        <p class="buttons"><input type="submit" class="preview" name="preview" value="{{tpl:lang preview}}" />
-        <tpl:IfCommentPreview><input type="submit" class="submit" value="{{tpl:lang send}}" /></tpl:IfCommentPreview></p>
-      </fieldset>
-    </form>
-  </tpl:EntryIf>
-  
-  <!-- # Trackbacks -->
-  <tpl:EntryIf show_pings="1">
-    <div id="pings">
-    <h3>{{tpl:lang They posted on the same topic}}</h3>
-    <tpl:Pings>
-      <tpl:PingsHeader>
-      <dl>
-      </tpl:PingsHeader>
-        <dt id="c{{tpl:PingID}}" class="{{tpl:PingIfOdd}} {{tpl:PingIfFirst}}"><a href="#c{{tpl:PingID}}"
-        class="ping-number">{{tpl:PingOrderNumber}}.</a>
-        {{tpl:lang On}} {{tpl:PingDate}}, {{tpl:PingTime}}
-        {{tpl:lang by}} {{tpl:PingBlogName encode_html="1"}}</dt>
-        
-        <dd class="{{tpl:PingIfOdd}} {{tpl:PingIfFirst}}">
-        <!-- # --BEHAVIOR-- publicPingBeforeContent -->
-        {{tpl:SysBehavior behavior="publicPingBeforeContent"}}
-        
-        <p><a href="{{tpl:PingAuthorURL}}"
-        {{tpl:PingNoFollow}}>{{tpl:PingTitle encode_html="1"}}</a></p>
-        {{tpl:PingContent}}
-        
-        <!-- # --BEHAVIOR-- publicPingAfterContent -->
-        {{tpl:SysBehavior behavior="publicPingAfterContent"}}
-        </dd>
-      <tpl:PingsFooter>
-      </dl>
-      </tpl:PingsFooter>
-    </tpl:Pings>
-    </div>
-  </tpl:EntryIf>
-  
-  <tpl:EntryIf pings_active="1">
-    <p id="ping-url">{{tpl:lang Trackback URL}}&nbsp;: {{tpl:EntryPingLink}}</p>
-  </tpl:EntryIf>
-  
-  <tpl:EntryIf operator="or" comments_active="1" pings_active="1">
-  <p id="comments-feed"><a class="feed" href="{{tpl:BlogFeedURL type="atom"}}/comments/{{tpl:EntryID}}"
-  title="{{tpl:lang This post's comments Atom feed}}">{{tpl:lang This post's comments feed}}</a></p>
-  </tpl:EntryIf>
-  </div>
-</div> <!-- End #main -->
-
-<div id="sidebar">
-  <div id="blognav">
-    {{tpl:Widgets type="nav"}}
-  </div> <!-- End #blognav -->
-  
-  <div id="blogextra">
-    {{tpl:Widgets type="extra"}}
-  </div> <!-- End #blogextra -->
-</div>
-
-</div> <!-- End #wrapper -->
-
-{{tpl:include src="_footer.html"}}
-</div> <!-- End #page -->
-</body>
-</html>
Index: nc/public/default-templates/legacy/rss2-comments.xml
===================================================================
--- inc/public/default-templates/legacy/rss2-comments.xml	(revision 2541)
+++ 	(revision )
@@ -1,48 +1,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<?xml-stylesheet title="XSL formatting" type="text/xsl" href="{{tpl:BlogURL}}feed/rss2/xslt" ?>
-<rss version="2.0"
-  xmlns:dc="http://purl.org/dc/elements/1.1/"
-  xmlns:content="http://purl.org/rss/1.0/modules/content/"
-  xmlns:atom="http://www.w3.org/2005/Atom">
-<channel>
-  <title>{{tpl:BlogName encode_xml="1"}}{{tpl:SysFeedSubtitle encode_xml="1"}}
-  - {{tpl:lang Comments}}</title>
-  <link>{{tpl:BlogURL}}</link>
-  <atom:link href="{{tpl:SysSelfURI}}" rel="self" type="application/rss+xml"/>
-  <description>{{tpl:BlogDescription encode_xml="1"}}</description>
-  <language>{{tpl:BlogLanguage}}</language>
-  <pubDate>{{tpl:BlogUpdateDate rfc822="1"}}</pubDate>
-  <copyright>{{tpl:BlogCopyrightNotice encode_xml="1"}}</copyright>
-  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
-  <generator>Dotclear</generator>
-  
-  <tpl:Comments order="desc" with_pings="1">
-  
-  <tpl:CommentIf is_ping="1">
-  <item>
-    <title>[ping] {{tpl:PingEntryTitle encode_xml="1"}} - {{tpl:PingBlogName encode_xml="1"}}</title>
-    <link>{{tpl:PingPostURL encode_xml="1"}}#c{{tpl:PingID}}</link>
-    <guid isPermaLink="false">{{tpl:PingFeedID}}</guid>
-    <pubDate>{{tpl:PingDate rfc822="1"}}</pubDate>
-    <dc:creator>{{tpl:PingBlogName encode_xml="1"}}</dc:creator>
-    
-    <description>&lt;p&gt;&lt;a href="{{tpl:PingAuthorURL encode_xml="1"}}"&gt;{{tpl:PingTitle encode_xml="1"}}&lt;/a&gt;&lt;/p&gt;
-    {{tpl:PingContent encode_xml="1"}}</description>
-  </item>
-  </tpl:CommentIf>
-  
-  <tpl:CommentIf is_ping="0">
-  <item>
-    <title>{{tpl:CommentEntryTitle encode_xml="1"}} - {{tpl:CommentAuthor encode_xml="1"}}</title>
-    <link>{{tpl:CommentPostURL encode_xml="1"}}#c{{tpl:CommentID}}</link>
-    <guid isPermaLink="false">{{tpl:CommentFeedID}}</guid>
-    <pubDate>{{tpl:CommentDate rfc822="1"}}</pubDate>
-    <dc:creator>{{tpl:CommentAuthor encode_xml="1"}}</dc:creator>
-    
-    <description>{{tpl:CommentContent absolute_urls="1" encode_xml="1"}}</description>
-  </item>
-  </tpl:CommentIf>
-  </tpl:Comments>
-  
-</channel>
-</rss>
Index: nc/public/default-templates/legacy/rss2.xml
===================================================================
--- inc/public/default-templates/legacy/rss2.xml	(revision 2541)
+++ 	(revision )
@@ -1,49 +1,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<?xml-stylesheet title="XSL formatting" type="text/xsl" href="{{tpl:BlogURL}}feed/rss2/xslt" ?>
-<rss version="2.0"
-  xmlns:dc="http://purl.org/dc/elements/1.1/"
-  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
-  xmlns:content="http://purl.org/rss/1.0/modules/content/"
-  xmlns:atom="http://www.w3.org/2005/Atom">
-<channel>
-  <title>{{tpl:BlogName encode_xml="1"}}{{tpl:SysFeedSubtitle encode_xml="1"}}</title>
-  <link>{{tpl:BlogURL}}</link>
-  <atom:link href="{{tpl:SysSelfURI}}" rel="self" type="application/rss+xml"/>
-  <description>{{tpl:BlogDescription encode_xml="1"}}</description>
-  <language>{{tpl:BlogLanguage}}</language>
-  <pubDate>{{tpl:BlogUpdateDate rfc822="1"}}</pubDate>
-  <copyright>{{tpl:BlogCopyrightNotice encode_xml="1"}}</copyright>
-  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
-  <generator>Dotclear</generator>
-  
-  <tpl:Entries>
-  
-  <item>
-    <title>{{tpl:EntryTitle encode_xml="1"}}</title>
-    <link>{{tpl:EntryURL}}</link>
-    <guid isPermaLink="false">{{tpl:EntryFeedID}}</guid>
-    <pubDate>{{tpl:EntryDate rfc822="1"}}</pubDate>
-    <dc:creator>{{tpl:EntryAuthorCommonName encode_xml="1"}}</dc:creator>
-    <tpl:EntryIf has_category="1">
-    <category>{{tpl:EntryCategory encode_html="1"}}</category>
-    </tpl:EntryIf>
-    <tpl:EntryTags><category>{{tpl:TagID}}</category></tpl:EntryTags>
-    
-    <description>{{tpl:EntryExcerpt absolute_urls="1" encode_xml="1"}}
-    {{tpl:EntryContent absolute_urls="1" encode_xml="1"}}</description>
-    
-    <tpl:Attachments>
-      <enclosure url="{{tpl:AttachmentURL}}"
-      length="{{tpl:AttachmentSize full="1"}}" type="{{tpl:AttachmentMimeType}}" />
-    </tpl:Attachments>
-    
-    <tpl:EntryIf comments_active="1">
-      <comments>{{tpl:EntryURL}}#comment-form</comments>
-      <wfw:comment>{{tpl:EntryURL}}#comment-form</wfw:comment>
-      <wfw:commentRss>{{tpl:BlogFeedURL}}/comments/{{tpl:EntryID}}</wfw:commentRss>
-    </tpl:EntryIf>
-  </item>
-  </tpl:Entries>
-  
-</channel>
-</rss>
Index: nc/public/default-templates/legacy/rss2.xsl
===================================================================
--- inc/public/default-templates/legacy/rss2.xsl	(revision 2541)
+++ 	(revision )
@@ -1,120 +1,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet version="1.0"
-xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-xmlns:content="http://purl.org/rss/1.0/modules/content/"
-xmlns="http://www.w3.org/1999/xhtml">
-
-<xsl:output method="html"/>
-
-<xsl:template match="/">
-<html>
-  <head>
-    <title>{{tpl:lang Subscribe to}} <xsl:value-of select="/rss/channel/title"/></title>
-    <style type="text/css">
-    <![CDATA[
-    body {
-      font: 80% Verdana,Arial,sans-serif;
-      margin: 20px 0;
-      padding: 0 0;
-      background: #fff;
-      color: #000;
-    }
-    a { color: #039; }
-    h1, h2 { font-family: Arial,sans-serif; }
-    h1 { font-size: 160%; margin: 0; }
-    h2 { font-size: 140%; font-weight: bold; margin: 0.5em 0 0.2em 0; }
-    h2 a { text-decoration: none; }
-    p { margin: 0 0 0.5em 0; }
-    #page {
-      margin: 0 80px;
-    }
-    #top {
-      background: #036;
-      padding : 1em;
-      color: #fff;
-    }
-    #top a {
-      color: #fff;
-      text-decoration: none;
-    }
-    #what {
-      padding: 1em;
-      background: #eee;
-      border-bottom: 1px solid #000;
-      font-size: 80%;
-    }
-    #what p {
-      margin: 0 0 0.5em 0;
-    }
-    #footer {
-      border-top: 1px solid #000;
-    }
-    #items {
-      background: #fff;
-      color: inherit;
-    }
-    #items div {
-      margin: 0 0 1em 0;
-    }
-    ]]>
-    </style>
-    <script type="text/javascript"><![CDATA[
-    window.onload = function() {
-      document.getElementById('feedurl').value = window.location.href;
-      
-      // Ugly but works ;)
-      var c = document.getElementsByTagName('div');
-      var t = '';
-      for (var i=0; c.length-i != 0; i++) {
-        if (c[i].className == 'item-content') {
-          if (c[i].textContent) {
-            t = c[i].textContent;
-          } else if (c[i].innerText) {
-            t = c[i].innerText;
-          } else {
-            t = '';
-          }
-          
-          if (t) { c[i].innerHTML = t; }
-        }
-      }
-    };
-    ]]></script>
-  </head>
-  <body>
-    <div id="page">
-      <div id="top">
-        <h1><a href="{/rss/channel/link}"><xsl:value-of select="/rss/channel/title"/></a></h1>
-        <p><xsl:value-of select="/rss/channel/description"/></p>
-      </div>
-      <div id="what">
-      <h3>{{tpl:lang What is an RSS feed?}}</h3>
-      <p>{{tpl:lang RSS feed is a free blog summary. It provides content
-      (either posts or comments) or  summaries of content, together with links
-      to the full versions, and other metadata. The last published items may
-      then be read by your favorite RSS
-      <a href="http://en.wikipedia.org/wiki/Aggregator">aggregator</a>.}}</p>
-      <h3>{{tpl:lang Subscribe}}</h3>
-      <p>{{tpl:lang Simply copy the following URL into your aggregator:}}</p>
-      <p><input type="text" size="60" value="" id="feedurl" /></p>
-      </div>
-      <div id="items">
-        <xsl:apply-templates select="//item"/>
-      </div>
-      <div id="footer">
-        <p><xsl:value-of select="/rss/channel/copyright"/></p>
-      </div>
-    </div>
-  </body>
-</html>
-</xsl:template>
-
-<!-- Item template -->
-<xsl:template match="item">
-  <div>
-    <h2><a href="{link}"><xsl:value-of select="title"/></a></h2>
-    <div class="item-content"><xsl:value-of select="description" /></div>
-  </div>
-</xsl:template>
-
-</xsl:stylesheet>
Index: nc/public/default-templates/legacy/search.html
===================================================================
--- inc/public/default-templates/legacy/search.html	(revision 2541)
+++ 	(revision )
@@ -1,152 +1,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{{tpl:BlogLanguage}}" lang="{{tpl:BlogLanguage}}">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-  <meta name="ROBOTS" content="{{tpl:BlogMetaRobots robots="NOINDEX,NOARCHIVE"}}" />
-  
-  <title>{{tpl:lang Search}} - {{tpl:SysSearchString encode_html="1"}} - {{tpl:BlogName encode_html="1"}}<tpl:PaginationIf start="0"> - {{tpl:lang page}} {{tpl:PaginationCurrent}}</tpl:PaginationIf></title>
-  <meta name="copyright" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
-  <meta name="author" content="{{tpl:BlogEditor encode_html="1"}}" />
-  <meta name="date" scheme="W3CDTF" content="{{tpl:BlogUpdateDate iso8601="1"}}" />
-  
-  <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" />
-  <meta name="dc.title" lang="{{tpl:BlogLanguage}}" content="{{tpl:lang Search}} - {{tpl:SysSearchString encode_html="1"}} - {{tpl:BlogName encode_html="1"}}<tpl:PaginationIf start="0"> - {{tpl:lang page}} {{tpl:PaginationCurrent}}</tpl:PaginationIf>" />
-  <meta name="dc.language" content="{{tpl:BlogLanguage}}" />
-  <meta name="dc.publisher" content="{{tpl:BlogEditor encode_html="1"}}" />
-  <meta name="dc.rights" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
-  <meta name="dc.date" scheme="W3CDTF" content="{{tpl:BlogUpdateDate iso8601="1"}}" />
-  <meta name="dc.type" content="text" />
-  <meta name="dc.format" content="text/html" />
-  
-  <link rel="top" href="{{tpl:BlogURL}}" title="{{tpl:lang Home}}" />
-  <link rel="contents" href="{{tpl:BlogArchiveURL}}" title="{{tpl:lang Archives}}" />
-  
-  <tpl:Entries no_content="1">
-    <tpl:EntriesHeader>
-      <tpl:Pagination>
-        <tpl:PaginationIf end="0">
-        <link rel="prev" title="{{tpl:lang previous entries}}" href="{{tpl:PaginationURL offset="1"}}" />
-        </tpl:PaginationIf>
-        
-        <tpl:PaginationIf start="0">
-        <link rel="next" title="{{tpl:lang next entries}}" href="{{tpl:PaginationURL offset="-1"}}" />
-        </tpl:PaginationIf>
-      </tpl:Pagination>
-    </tpl:EntriesHeader>
-    
-    <link rel="chapter" href="{{tpl:EntryURL}}" title="{{tpl:EntryTitle encode_html="1"}}" />
-  </tpl:Entries>
-  
-  <link rel="meta" type="application/xbel+xml" title="Blogroll" href="{{tpl:BlogrollXbelLink}}" />
-  
-  {{tpl:include src="_head.html"}}
-</head>
-
-<body class="dc-search">
-<div id="page">
-{{tpl:include src="_top.html"}}
-
-<div id="wrapper">
-
-<div id="main">
-  <div id="content">
-  
-  <div id="content-info">
-    <h2>{{tpl:lang Search}}</h2>
-    <tpl:SysIf search_count="==0">
-      <p>{{tpl:SysSearchString encode_html="1" string="Your search for <em>%1$s</em> returned no result."}}</p>
-    </tpl:SysIf>
-    <tpl:SysIf search_count="==1">
-      <p>{{tpl:SysSearchString encode_html="1" string="Your search for <em>%1$s</em> returned <strong>%2$s</strong> result."}}</p>
-    </tpl:SysIf>
-    <tpl:SysIf search_count="&gt;1">
-      <p>{{tpl:SysSearchString encode_html="1" string="Your search for <em>%1$s</em> returned <strong>%2$s</strong> results."}}</p>
-    </tpl:SysIf>
-  </div>
-  
-  <tpl:Entries>
-    <div id="p{{tpl:EntryID}}" class="post {{tpl:EntryIfOdd}} {{tpl:EntryIfFirst}}" lang="{{tpl:EntryLang}}" xml:lang="{{tpl:EntryLang}}">
-    <!-- # New day date -->
-    <tpl:DateHeader><p class="day-date">{{tpl:EntryDate}}</p></tpl:DateHeader>
-    
-    <h2 class="post-title"><a
-    href="{{tpl:EntryURL}}">{{tpl:EntryTitle encode_html="1"}}</a></h2>
-    
-    <p class="post-info">{{tpl:lang By}} {{tpl:EntryAuthorLink}}
-    {{tpl:lang on}} {{tpl:EntryDate}}, {{tpl:EntryTime}}
-    <tpl:EntryIf has_category="1">
-    - <a href="{{tpl:EntryCategoryURL}}">{{tpl:EntryCategory encode_html="1"}}</a>
-    </tpl:EntryIf>
-    </p>
-    
-    <tpl:EntryTags>
-    <tpl:TagsHeader><ul class="post-tags"></tpl:TagsHeader>
-    <li><a href="{{tpl:TagURL}}">{{tpl:TagID}}</a></li>
-    <tpl:TagsFooter></ul></tpl:TagsFooter>
-    </tpl:EntryTags>
-    
-    <!-- # --BEHAVIOR-- publicEntryBeforeContent -->
-    {{tpl:SysBehavior behavior="publicEntryBeforeContent"}}
-    
-    <!-- # Entry with an excerpt -->
-    <tpl:EntryIf extended="1">
-      <div class="post-content">{{tpl:EntryExcerpt}}</div>
-      <p class="read-it"><a href="{{tpl:EntryURL}}"
-      title="{{tpl:lang Continue reading}} {{tpl:EntryTitle encode_html="1"}}">{{tpl:lang Continue
-      reading}}</a>...</p>
-    </tpl:EntryIf>
-    
-    <!-- # Entry without excerpt -->
-    <tpl:EntryIf extended="0">
-      <div class="post-content">{{tpl:EntryContent}}</div>
-    </tpl:EntryIf>
-    
-    <!-- # --BEHAVIOR-- publicEntryAfterContent -->
-    {{tpl:SysBehavior behavior="publicEntryAfterContent"}}
-    
-    <!-- # Number of comments, trackbacks and attachments -->
-    <tpl:EntryIf operator="or" show_comments="1" show_pings="1" has_attachment="1">
-      <p class="post-info-co">
-    </tpl:EntryIf>
-    <tpl:EntryIf show_comments="1">
-      <a href="{{tpl:EntryURL}}#comments" class="comment_count">{{tpl:EntryCommentCount}}</a>
-    </tpl:EntryIf>
-    <tpl:EntryIf show_pings="1">
-      <a href="{{tpl:EntryURL}}#pings" class="ping_count">{{tpl:EntryPingCount}}</a></tpl:EntryIf>
-    <tpl:EntryIf has_attachment="1">
-      <a href="{{tpl:EntryURL}}#attachments" class="attach_count">{{tpl:EntryAttachmentCount}}</a></tpl:EntryIf>
-    <tpl:EntryIf operator="or" show_comments="1" show_pings="1" has_attachment="1">
-      </p>
-    </tpl:EntryIf>
-    </div>
-    
-    <tpl:EntriesFooter>
-      <tpl:Pagination>
-        <p class="pagination"><tpl:PaginationIf end="0"><a href="{{tpl:PaginationURL offset="+1"}}" class="prev">&#171;
-        {{tpl:lang previous entries}}</a> - </tpl:PaginationIf>
-        {{tpl:lang page}} {{tpl:PaginationCurrent}} {{tpl:lang of}} {{tpl:PaginationCounter}}
-        <tpl:PaginationIf start="0"> - <a href="{{tpl:PaginationURL offset="-1"}}" class="next">{{tpl:lang next entries}}
-        &#187;</a></tpl:PaginationIf></p>
-      </tpl:Pagination>
-    </tpl:EntriesFooter>
-  </tpl:Entries>
-  </div>
-</div> <!-- End #main -->
-
-<div id="sidebar">
-  <div id="blognav">
-    {{tpl:Widgets type="nav"}}
-  </div> <!-- End #blognav -->
-  
-  <div id="blogextra">
-    {{tpl:Widgets type="extra"}}
-  </div> <!-- End #blogextra -->
-</div>
-
-</div> <!-- End #wrapper -->
-
-{{tpl:include src="_footer.html"}}
-</div> <!-- End #page -->
-</body>
-</html>
Index: nc/public/default-templates/legacy/user_head.html
===================================================================
--- inc/public/default-templates/legacy/user_head.html	(revision 2541)
+++ 	(revision )
@@ -1,1 +1,0 @@
-<!-- # This template is included at the end of _head.html template -->
Index: inc/public/default-templates/password-form.html
===================================================================
--- inc/public/default-templates/password-form.html	(revision 454)
+++ inc/public/default-templates/password-form.html	(revision 454)
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+  <meta name="ROBOTS" content="NOARCHIVE,NOINDEX,NOFOLLOW" />
+  <title>{{tpl:lang Password needed}} - {{tpl:BlogName encode_html="1"}}</title>
+  
+  <style type="text/css">
+  body {
+  font: 0.8em Verdana,Arial,Geneva,sans-serif;
+  }
+  
+  form {
+  display : block;
+  width : 500px;
+  margin : 0 auto;
+  padding : 1em;
+  background : #eee;
+  }
+  
+  h2 { font : 140% Arial,Helvetica,sans-serif; margin : 0; }
+  
+  label { font-weight : bold; }
+  
+  input { border-width : 1px; }
+  </style>
+</head>
+
+<body>
+
+<form action="{{tpl:EntryURL}}" method="post">
+<h2>{{tpl:lang Password needed}}</h2>
+
+<p>{{tpl:lang You must give a password to access this area.}}</p>
+<p><label>{{tpl:lang Password:}} <input type="password" name="password" value="" /></label> <input type="submit" value="ok" /></p>
+
+</form>
+
+</body>
+</html>
Index: inc/public/default-templates/post.html
===================================================================
--- inc/public/default-templates/post.html	(revision 1674)
+++ inc/public/default-templates/post.html	(revision 1674)
@@ -0,0 +1,275 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{{tpl:BlogLanguage}}" lang="{{tpl:BlogLanguage}}">
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+  <meta name="ROBOTS" content="{{tpl:BlogMetaRobots}}" />
+  
+  <title>{{tpl:EntryTitle encode_html="1"}} - {{tpl:BlogName encode_html="1"}}</title>
+  <meta name="description" lang="{{tpl:EntryLang}}" content="{{tpl:EntryContent full="1" encode_html="1" remove_html="1" cut_string="180"}}" />
+  <meta name="copyright" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
+  <meta name="author" content="{{tpl:EntryAuthorCommonName encode_html="1"}}" />
+  <meta name="date" scheme="W3CDTF" content="{{tpl:EntryDate iso8601="1"}}" />
+  
+  <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" />
+  <meta name="dc.title" content="{{tpl:EntryTitle encode_html="1"}}" />
+  <meta name="dc.description" lang="{{tpl:EntryLang}}" content="{{tpl:EntryContent full="1" encode_html="1" remove_html="1" cut_string="180"}}" />
+  <meta name="dc.creator" content="{{tpl:EntryAuthorCommonName encode_html="1"}}" />
+  <meta name="dc.language" content="{{tpl:EntryLang}}" />
+  <meta name="dc.publisher" content="{{tpl:BlogEditor encode_html="1"}}" />
+  <meta name="dc.rights" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
+  <meta name="dc.date" scheme="W3CDTF" content="{{tpl:EntryDate iso8601="1"}}" />
+  <meta name="dc.type" content="text" />
+  <meta name="dc.format" content="text/html" />
+  
+  <link rel="top" href="{{tpl:BlogURL}}" title="{{tpl:lang Home}}" />
+  <link rel="contents" href="{{tpl:BlogArchiveURL}}" title="{{tpl:lang Archives}}" />
+  <tpl:EntryIf pings_active="1"><link rel="pingback" href="{{tpl:BlogXMLRPCURL}}" /></tpl:EntryIf>
+  
+  <tpl:EntryNext><link rel="next" href="{{tpl:EntryURL}}"
+  title="{{tpl:EntryTitle encode_html="1"}}" /></tpl:EntryNext>
+  
+  <tpl:EntryPrevious><link rel="prev" href="{{tpl:EntryURL}}"
+  title="{{tpl:EntryTitle encode_html="1"}}" /></tpl:EntryPrevious>
+  
+  <link rel="alternate" type="application/atom+xml" title="Atom 1.0" href="{{tpl:BlogFeedURL type="atom"}}" />
+  
+  {{tpl:include src="_head.html"}}
+  
+  <script type="text/javascript" src="{{tpl:BlogThemeURL}}/../default/js/post.js"></script>
+  <script type="text/javascript">
+  //<![CDATA[
+  var post_remember_str = '{{tpl:lang Remember me on this blog}}';
+  //]]>
+  </script>
+</head>
+
+<body class="dc-post">
+<div id="page">
+{{tpl:EntryPingData}}
+
+{{tpl:include src="_top.html"}}
+
+<div id="wrapper">
+
+<div id="main">
+  <div id="content">
+  
+  <p id="navlinks">
+  <tpl:EntryPrevious><a href="{{tpl:EntryURL}}"
+  title="{{tpl:EntryTitle encode_html="1"}}" class="prev">&#171; {{tpl:EntryTitle encode_html="1"
+  cut_string="50"}}</a></tpl:EntryPrevious>
+  <tpl:EntryNext> <span>-</span> <a href="{{tpl:EntryURL}}"
+  title="{{tpl:EntryTitle encode_html="1"}}" class="next">{{tpl:EntryTitle encode_html="1"
+  cut_string="50"}} &#187;</a></tpl:EntryNext>
+  </p>
+  
+  <div id="p{{tpl:EntryID}}" class="post">
+    <h2 class="post-title">{{tpl:EntryTitle encode_html="1"}}</h2>
+    
+    <p class="post-info">{{tpl:lang By}} {{tpl:EntryAuthorLink}}
+    {{tpl:lang on}} {{tpl:EntryDate}}, {{tpl:EntryTime}}
+    <tpl:EntryIf has_category="1">
+    - <a href="{{tpl:EntryCategoryURL}}">{{tpl:EntryCategory encode_html="1"}}</a>
+    </tpl:EntryIf>
+    - <a href="{{tpl:EntryURL}}">{{tpl:lang Permalink}}</a>
+    </p>
+    
+    <tpl:EntryTags>
+    <tpl:TagsHeader><ul class="post-tags"></tpl:TagsHeader>
+    <li><a href="{{tpl:TagURL}}" rel="tag">{{tpl:TagID}}</a></li>
+    <tpl:TagsFooter></ul></tpl:TagsFooter>
+    </tpl:EntryTags>
+    
+    <!-- # --BEHAVIOR-- publicEntryBeforeContent -->
+    {{tpl:SysBehavior behavior="publicEntryBeforeContent"}}
+    
+    <!-- # Entry with an excerpt -->
+    <tpl:EntryIf extended="1">
+      <div class="post-excerpt">{{tpl:EntryExcerpt}}</div>
+    </tpl:EntryIf>
+    
+    <div class="post-content">{{tpl:EntryContent}}</div>
+    
+    <!-- # --BEHAVIOR-- publicEntryAfterContent -->
+    {{tpl:SysBehavior behavior="publicEntryAfterContent"}}
+  </div>
+  
+  <!-- # Attachments -->
+  <tpl:Attachments>
+    <tpl:AttachmentsHeader>
+      <div id="attachments">
+      <h3>{{tpl:lang Attachments}}</h3>
+      <ul>
+    </tpl:AttachmentsHeader>
+      <li class="{{tpl:AttachmentType}}">
+        <tpl:AttachmentIf is_mp3="1">
+          {{tpl:include src="_mp3_player.html"/}} - 
+        </tpl:AttachmentIf>
+        <tpl:AttachmentIf is_flv="1">
+	     {{tpl:include src="_flv_player.html"/}}
+	   </tpl:AttachmentIf>
+	   <tpl:AttachmentIf is_flv="0">
+	   	<a href="{{tpl:AttachmentURL}}"
+		title="{{tpl:AttachmentFileName}} ({{tpl:AttachmentSize}})">{{tpl:AttachmentTitle}}</a>
+        </tpl:AttachmentIf>
+      </li>
+    <tpl:AttachmentsFooter>
+      </ul>
+      </div>
+    </tpl:AttachmentsFooter>
+  </tpl:Attachments>
+ 
+  <!-- # Comments -->
+  <tpl:EntryIf show_comments="1">
+    <tpl:Comments>
+    <tpl:CommentsHeader>
+      <div id="comments">
+        <h3>{{tpl:lang Comments}}</h3>
+      <dl>
+    </tpl:CommentsHeader>
+      <dt id="c{{tpl:CommentID}}" class="{{tpl:CommentIfMe}} {{tpl:CommentIfOdd}} {{tpl:CommentIfFirst}}"><a
+      href="#c{{tpl:CommentID}}" class="comment-number">{{tpl:CommentOrderNumber}}.</a>
+      {{tpl:lang On}} {{tpl:CommentDate}}, {{tpl:CommentTime}}
+      {{tpl:lang by}} {{tpl:CommentAuthorLink}}</dt>
+      
+      <dd class="{{tpl:CommentIfMe}} {{tpl:CommentIfOdd}} {{tpl:CommentIfFirst}}">
+      <!-- # --BEHAVIOR-- publicCommentBeforeContent -->
+      {{tpl:SysBehavior behavior="publicCommentBeforeContent"}}
+      
+      {{tpl:CommentContent}}
+      
+      <!-- # --BEHAVIOR-- publicCommentAfterContent -->
+      {{tpl:SysBehavior behavior="publicCommentAfterContent"}}
+      </dd>
+    <tpl:CommentsFooter>
+      </dl>
+      </div>
+    </tpl:CommentsFooter>
+    </tpl:Comments>
+  </tpl:EntryIf>
+  
+  <tpl:EntryIf comments_active="1">    
+    <tpl:SysIfFormError>
+      <p class="error" id="pr">{{tpl:SysFormError}}</p>
+    </tpl:SysIfFormError>
+    
+    <tpl:SysIfCommentPublished>
+      <p class="message" id="pr">{{tpl:lang Your comment has been published.}}</p>
+    </tpl:SysIfCommentPublished>
+    
+    <tpl:SysIfCommentPending>
+      <p class="message" id="pr">{{tpl:lang Your comment has been submitted and
+      will be reviewed for publication.}}</p>
+    </tpl:SysIfCommentPending>
+    
+    <!-- # Comment form -->
+    <form action="{{tpl:EntryURL}}#pr" method="post" id="comment-form">
+      <tpl:IfCommentPreview>
+        <div id="pr">
+          <h3>{{tpl:lang Your comment}}</h3>
+          <dl>
+            <dd class="comment-preview">{{tpl:CommentPreviewContent}}</dd>
+          </dl>
+          <p class="buttons"><input type="submit" class="submit" value="{{tpl:lang send}}" /></p>
+        </div>
+      </tpl:IfCommentPreview>
+      
+      <h3>{{tpl:lang Add a comment}}</h3>
+      <fieldset>
+        <!-- # --BEHAVIOR-- publicCommentFormBeforeContent -->
+        {{tpl:SysBehavior behavior="publicCommentFormBeforeContent"}}
+        
+        <p class="field"><label for="c_name">{{tpl:lang Name or nickname}}&nbsp;:</label>
+        <input name="c_name" id="c_name" type="text" size="30" maxlength="255"
+        value="{{tpl:CommentPreviewName encode_html="1"}}" />
+        </p>
+        
+        <p class="field"><label for="c_mail">{{tpl:lang Email address}}&nbsp;:</label>
+        <input name="c_mail" id="c_mail" type="text" size="30" maxlength="255"
+        value="{{tpl:CommentPreviewEmail encode_html="1"}}" />
+        </p>
+        
+        <p class="field"><label for="c_site">{{tpl:lang Website}} ({{tpl:lang optional}})&nbsp;:</label>
+        <input name="c_site" id="c_site" type="text" size="30" maxlength="255"
+        value="{{tpl:CommentPreviewSite encode_html="1"}}" />
+        </p>
+        
+        <p style="display:none"><input name="f_mail" type="text" size="30"
+        maxlength="255" value="" /></p>
+        
+        <p class="field"><label for="c_content">{{tpl:lang Comment}}&nbsp;:</label>
+        <textarea name="c_content" id="c_content" cols="35"
+        rows="7">{{tpl:CommentPreviewContent raw="1" encode_html="1"}}</textarea>
+        </p>
+        <p class="form-help">{{tpl:CommentHelp}}</p>
+        
+        <!-- # --BEHAVIOR-- publicCommentFormAfterContent -->
+        {{tpl:SysBehavior behavior="publicCommentFormAfterContent"}}
+      </fieldset>
+      
+      <fieldset>
+        <p class="buttons"><input type="submit" class="preview" name="preview" value="{{tpl:lang preview}}" />
+        <tpl:IfCommentPreview><input type="submit" class="submit" value="{{tpl:lang send}}" /></tpl:IfCommentPreview></p>
+      </fieldset>
+    </form>
+  </tpl:EntryIf>
+  
+  <!-- # Trackbacks -->
+  <tpl:EntryIf show_pings="1">
+    <div id="pings">
+    <h3>{{tpl:lang They posted on the same topic}}</h3>
+    <tpl:Pings>
+      <tpl:PingsHeader>
+      <dl>
+      </tpl:PingsHeader>
+        <dt id="c{{tpl:PingID}}" class="{{tpl:PingIfOdd}} {{tpl:PingIfFirst}}"><a href="#c{{tpl:PingID}}"
+        class="ping-number">{{tpl:PingOrderNumber}}.</a>
+        {{tpl:lang On}} {{tpl:PingDate}}, {{tpl:PingTime}}
+        {{tpl:lang by}} {{tpl:PingBlogName encode_html="1"}}</dt>
+        
+        <dd class="{{tpl:PingIfOdd}} {{tpl:PingIfFirst}}">
+        <!-- # --BEHAVIOR-- publicPingBeforeContent -->
+        {{tpl:SysBehavior behavior="publicPingBeforeContent"}}
+        
+        <p><a href="{{tpl:PingAuthorURL}}"
+        {{tpl:PingNoFollow}}>{{tpl:PingTitle encode_html="1"}}</a></p>
+        {{tpl:PingContent}}
+        
+        <!-- # --BEHAVIOR-- publicPingAfterContent -->
+        {{tpl:SysBehavior behavior="publicPingAfterContent"}}
+        </dd>
+      <tpl:PingsFooter>
+      </dl>
+      </tpl:PingsFooter>
+    </tpl:Pings>
+    </div>
+  </tpl:EntryIf>
+  
+  <tpl:EntryIf pings_active="1">
+    <p id="ping-url">{{tpl:lang Trackback URL}}&nbsp;: {{tpl:EntryPingLink}}</p>
+  </tpl:EntryIf>
+  
+  <tpl:EntryIf operator="or" comments_active="1" pings_active="1">
+  <p id="comments-feed"><a class="feed" href="{{tpl:BlogFeedURL type="atom"}}/comments/{{tpl:EntryID}}"
+  title="{{tpl:lang This post's comments Atom feed}}">{{tpl:lang This post's comments feed}}</a></p>
+  </tpl:EntryIf>
+  </div>
+</div> <!-- End #main -->
+
+<div id="sidebar">
+  <div id="blognav">
+    {{tpl:Widgets type="nav"}}
+  </div> <!-- End #blognav -->
+  
+  <div id="blogextra">
+    {{tpl:Widgets type="extra"}}
+  </div> <!-- End #blogextra -->
+</div>
+
+</div> <!-- End #wrapper -->
+
+{{tpl:include src="_footer.html"}}
+</div> <!-- End #page -->
+</body>
+</html>
Index: inc/public/default-templates/rss2-comments.xml
===================================================================
--- inc/public/default-templates/rss2-comments.xml	(revision 0)
+++ inc/public/default-templates/rss2-comments.xml	(revision 0)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<?xml-stylesheet title="XSL formatting" type="text/xsl" href="{{tpl:BlogURL}}feed/rss2/xslt" ?>
+<rss version="2.0"
+  xmlns:dc="http://purl.org/dc/elements/1.1/"
+  xmlns:content="http://purl.org/rss/1.0/modules/content/"
+  xmlns:atom="http://www.w3.org/2005/Atom">
+<channel>
+  <title>{{tpl:BlogName encode_xml="1"}}{{tpl:SysFeedSubtitle encode_xml="1"}}
+  - {{tpl:lang Comments}}</title>
+  <link>{{tpl:BlogURL}}</link>
+  <atom:link href="{{tpl:SysSelfURI}}" rel="self" type="application/rss+xml"/>
+  <description>{{tpl:BlogDescription encode_xml="1"}}</description>
+  <language>{{tpl:BlogLanguage}}</language>
+  <pubDate>{{tpl:BlogUpdateDate rfc822="1"}}</pubDate>
+  <copyright>{{tpl:BlogCopyrightNotice encode_xml="1"}}</copyright>
+  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
+  <generator>Dotclear</generator>
+  
+  <tpl:Comments order="desc" with_pings="1">
+  
+  <tpl:CommentIf is_ping="1">
+  <item>
+    <title>[ping] {{tpl:PingEntryTitle encode_xml="1"}} - {{tpl:PingBlogName encode_xml="1"}}</title>
+    <link>{{tpl:PingPostURL encode_xml="1"}}#c{{tpl:PingID}}</link>
+    <guid isPermaLink="false">{{tpl:PingFeedID}}</guid>
+    <pubDate>{{tpl:PingDate rfc822="1"}}</pubDate>
+    <dc:creator>{{tpl:PingBlogName encode_xml="1"}}</dc:creator>
+    
+    <description>&lt;p&gt;&lt;a href="{{tpl:PingAuthorURL encode_xml="1"}}"&gt;{{tpl:PingTitle encode_xml="1"}}&lt;/a&gt;&lt;/p&gt;
+    {{tpl:PingContent encode_xml="1"}}</description>
+  </item>
+  </tpl:CommentIf>
+  
+  <tpl:CommentIf is_ping="0">
+  <item>
+    <title>{{tpl:CommentEntryTitle encode_xml="1"}} - {{tpl:CommentAuthor encode_xml="1"}}</title>
+    <link>{{tpl:CommentPostURL encode_xml="1"}}#c{{tpl:CommentID}}</link>
+    <guid isPermaLink="false">{{tpl:CommentFeedID}}</guid>
+    <pubDate>{{tpl:CommentDate rfc822="1"}}</pubDate>
+    <dc:creator>{{tpl:CommentAuthor encode_xml="1"}}</dc:creator>
+    
+    <description>{{tpl:CommentContent absolute_urls="1" encode_xml="1"}}</description>
+  </item>
+  </tpl:CommentIf>
+  </tpl:Comments>
+  
+</channel>
+</rss>
Index: inc/public/default-templates/rss2.xml
===================================================================
--- inc/public/default-templates/rss2.xml	(revision 0)
+++ inc/public/default-templates/rss2.xml	(revision 0)
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<?xml-stylesheet title="XSL formatting" type="text/xsl" href="{{tpl:BlogURL}}feed/rss2/xslt" ?>
+<rss version="2.0"
+  xmlns:dc="http://purl.org/dc/elements/1.1/"
+  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
+  xmlns:content="http://purl.org/rss/1.0/modules/content/"
+  xmlns:atom="http://www.w3.org/2005/Atom">
+<channel>
+  <title>{{tpl:BlogName encode_xml="1"}}{{tpl:SysFeedSubtitle encode_xml="1"}}</title>
+  <link>{{tpl:BlogURL}}</link>
+  <atom:link href="{{tpl:SysSelfURI}}" rel="self" type="application/rss+xml"/>
+  <description>{{tpl:BlogDescription encode_xml="1"}}</description>
+  <language>{{tpl:BlogLanguage}}</language>
+  <pubDate>{{tpl:BlogUpdateDate rfc822="1"}}</pubDate>
+  <copyright>{{tpl:BlogCopyrightNotice encode_xml="1"}}</copyright>
+  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
+  <generator>Dotclear</generator>
+  
+  <tpl:Entries>
+  
+  <item>
+    <title>{{tpl:EntryTitle encode_xml="1"}}</title>
+    <link>{{tpl:EntryURL}}</link>
+    <guid isPermaLink="false">{{tpl:EntryFeedID}}</guid>
+    <pubDate>{{tpl:EntryDate rfc822="1"}}</pubDate>
+    <dc:creator>{{tpl:EntryAuthorCommonName encode_xml="1"}}</dc:creator>
+    <tpl:EntryIf has_category="1">
+    <category>{{tpl:EntryCategory encode_html="1"}}</category>
+    </tpl:EntryIf>
+    <tpl:EntryTags><category>{{tpl:TagID}}</category></tpl:EntryTags>
+    
+    <description>{{tpl:EntryExcerpt absolute_urls="1" encode_xml="1"}}
+    {{tpl:EntryContent absolute_urls="1" encode_xml="1"}}</description>
+    
+    <tpl:Attachments>
+      <enclosure url="{{tpl:AttachmentURL}}"
+      length="{{tpl:AttachmentSize full="1"}}" type="{{tpl:AttachmentMimeType}}" />
+    </tpl:Attachments>
+    
+    <tpl:EntryIf comments_active="1">
+      <comments>{{tpl:EntryURL}}#comment-form</comments>
+      <wfw:comment>{{tpl:EntryURL}}#comment-form</wfw:comment>
+      <wfw:commentRss>{{tpl:BlogFeedURL}}/comments/{{tpl:EntryID}}</wfw:commentRss>
+    </tpl:EntryIf>
+  </item>
+  </tpl:Entries>
+  
+</channel>
+</rss>
Index: inc/public/default-templates/rss2.xsl
===================================================================
--- inc/public/default-templates/rss2.xsl	(revision 0)
+++ inc/public/default-templates/rss2.xsl	(revision 0)
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0"
+xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+xmlns:content="http://purl.org/rss/1.0/modules/content/"
+xmlns="http://www.w3.org/1999/xhtml">
+
+<xsl:output method="html"/>
+
+<xsl:template match="/">
+<html>
+  <head>
+    <title>{{tpl:lang Subscribe to}} <xsl:value-of select="/rss/channel/title"/></title>
+    <style type="text/css">
+    <![CDATA[
+    body {
+      font: 80% Verdana,Arial,sans-serif;
+      margin: 20px 0;
+      padding: 0 0;
+      background: #fff;
+      color: #000;
+    }
+    a { color: #039; }
+    h1, h2 { font-family: Arial,sans-serif; }
+    h1 { font-size: 160%; margin: 0; }
+    h2 { font-size: 140%; font-weight: bold; margin: 0.5em 0 0.2em 0; }
+    h2 a { text-decoration: none; }
+    p { margin: 0 0 0.5em 0; }
+    #page {
+      margin: 0 80px;
+    }
+    #top {
+      background: #036;
+      padding : 1em;
+      color: #fff;
+    }
+    #top a {
+      color: #fff;
+      text-decoration: none;
+    }
+    #what {
+      padding: 1em;
+      background: #eee;
+      border-bottom: 1px solid #000;
+      font-size: 80%;
+    }
+    #what p {
+      margin: 0 0 0.5em 0;
+    }
+    #footer {
+      border-top: 1px solid #000;
+    }
+    #items {
+      background: #fff;
+      color: inherit;
+    }
+    #items div {
+      margin: 0 0 1em 0;
+    }
+    ]]>
+    </style>
+    <script type="text/javascript"><![CDATA[
+    window.onload = function() {
+      document.getElementById('feedurl').value = window.location.href;
+      
+      // Ugly but works ;)
+      var c = document.getElementsByTagName('div');
+      var t = '';
+      for (var i=0; c.length-i != 0; i++) {
+        if (c[i].className == 'item-content') {
+          if (c[i].textContent) {
+            t = c[i].textContent;
+          } else if (c[i].innerText) {
+            t = c[i].innerText;
+          } else {
+            t = '';
+          }
+          
+          if (t) { c[i].innerHTML = t; }
+        }
+      }
+    };
+    ]]></script>
+  </head>
+  <body>
+    <div id="page">
+      <div id="top">
+        <h1><a href="{/rss/channel/link}"><xsl:value-of select="/rss/channel/title"/></a></h1>
+        <p><xsl:value-of select="/rss/channel/description"/></p>
+      </div>
+      <div id="what">
+      <h3>{{tpl:lang What is an RSS feed?}}</h3>
+      <p>{{tpl:lang RSS feed is a free blog summary. It provides content
+      (either posts or comments) or  summaries of content, together with links
+      to the full versions, and other metadata. The last published items may
+      then be read by your favorite RSS
+      <a href="http://en.wikipedia.org/wiki/Aggregator">aggregator</a>.}}</p>
+      <h3>{{tpl:lang Subscribe}}</h3>
+      <p>{{tpl:lang Simply copy the following URL into your aggregator:}}</p>
+      <p><input type="text" size="60" value="" id="feedurl" /></p>
+      </div>
+      <div id="items">
+        <xsl:apply-templates select="//item"/>
+      </div>
+      <div id="footer">
+        <p><xsl:value-of select="/rss/channel/copyright"/></p>
+      </div>
+    </div>
+  </body>
+</html>
+</xsl:template>
+
+<!-- Item template -->
+<xsl:template match="item">
+  <div>
+    <h2><a href="{link}"><xsl:value-of select="title"/></a></h2>
+    <div class="item-content"><xsl:value-of select="description" /></div>
+  </div>
+</xsl:template>
+
+</xsl:stylesheet>
Index: inc/public/default-templates/search.html
===================================================================
--- inc/public/default-templates/search.html	(revision 199)
+++ inc/public/default-templates/search.html	(revision 199)
@@ -0,0 +1,152 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{{tpl:BlogLanguage}}" lang="{{tpl:BlogLanguage}}">
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+  <meta name="ROBOTS" content="{{tpl:BlogMetaRobots robots="NOINDEX,NOARCHIVE"}}" />
+  
+  <title>{{tpl:lang Search}} - {{tpl:SysSearchString encode_html="1"}} - {{tpl:BlogName encode_html="1"}}<tpl:PaginationIf start="0"> - {{tpl:lang page}} {{tpl:PaginationCurrent}}</tpl:PaginationIf></title>
+  <meta name="copyright" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
+  <meta name="author" content="{{tpl:BlogEditor encode_html="1"}}" />
+  <meta name="date" scheme="W3CDTF" content="{{tpl:BlogUpdateDate iso8601="1"}}" />
+  
+  <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" />
+  <meta name="dc.title" lang="{{tpl:BlogLanguage}}" content="{{tpl:lang Search}} - {{tpl:SysSearchString encode_html="1"}} - {{tpl:BlogName encode_html="1"}}<tpl:PaginationIf start="0"> - {{tpl:lang page}} {{tpl:PaginationCurrent}}</tpl:PaginationIf>" />
+  <meta name="dc.language" content="{{tpl:BlogLanguage}}" />
+  <meta name="dc.publisher" content="{{tpl:BlogEditor encode_html="1"}}" />
+  <meta name="dc.rights" content="{{tpl:BlogCopyrightNotice encode_html="1"}}" />
+  <meta name="dc.date" scheme="W3CDTF" content="{{tpl:BlogUpdateDate iso8601="1"}}" />
+  <meta name="dc.type" content="text" />
+  <meta name="dc.format" content="text/html" />
+  
+  <link rel="top" href="{{tpl:BlogURL}}" title="{{tpl:lang Home}}" />
+  <link rel="contents" href="{{tpl:BlogArchiveURL}}" title="{{tpl:lang Archives}}" />
+  
+  <tpl:Entries no_content="1">
+    <tpl:EntriesHeader>
+      <tpl:Pagination>
+        <tpl:PaginationIf end="0">
+        <link rel="prev" title="{{tpl:lang previous entries}}" href="{{tpl:PaginationURL offset="1"}}" />
+        </tpl:PaginationIf>
+        
+        <tpl:PaginationIf start="0">
+        <link rel="next" title="{{tpl:lang next entries}}" href="{{tpl:PaginationURL offset="-1"}}" />
+        </tpl:PaginationIf>
+      </tpl:Pagination>
+    </tpl:EntriesHeader>
+    
+    <link rel="chapter" href="{{tpl:EntryURL}}" title="{{tpl:EntryTitle encode_html="1"}}" />
+  </tpl:Entries>
+  
+  <link rel="meta" type="application/xbel+xml" title="Blogroll" href="{{tpl:BlogrollXbelLink}}" />
+  
+  {{tpl:include src="_head.html"}}
+</head>
+
+<body class="dc-search">
+<div id="page">
+{{tpl:include src="_top.html"}}
+
+<div id="wrapper">
+
+<div id="main">
+  <div id="content">
+  
+  <div id="content-info">
+    <h2>{{tpl:lang Search}}</h2>
+    <tpl:SysIf search_count="==0">
+      <p>{{tpl:SysSearchString encode_html="1" string="Your search for <em>%1$s</em> returned no result."}}</p>
+    </tpl:SysIf>
+    <tpl:SysIf search_count="==1">
+      <p>{{tpl:SysSearchString encode_html="1" string="Your search for <em>%1$s</em> returned <strong>%2$s</strong> result."}}</p>
+    </tpl:SysIf>
+    <tpl:SysIf search_count="&gt;1">
+      <p>{{tpl:SysSearchString encode_html="1" string="Your search for <em>%1$s</em> returned <strong>%2$s</strong> results."}}</p>
+    </tpl:SysIf>
+  </div>
+  
+  <tpl:Entries>
+    <div id="p{{tpl:EntryID}}" class="post {{tpl:EntryIfOdd}} {{tpl:EntryIfFirst}}" lang="{{tpl:EntryLang}}" xml:lang="{{tpl:EntryLang}}">
+    <!-- # New day date -->
+    <tpl:DateHeader><p class="day-date">{{tpl:EntryDate}}</p></tpl:DateHeader>
+    
+    <h2 class="post-title"><a
+    href="{{tpl:EntryURL}}">{{tpl:EntryTitle encode_html="1"}}</a></h2>
+    
+    <p class="post-info">{{tpl:lang By}} {{tpl:EntryAuthorLink}}
+    {{tpl:lang on}} {{tpl:EntryDate}}, {{tpl:EntryTime}}
+    <tpl:EntryIf has_category="1">
+    - <a href="{{tpl:EntryCategoryURL}}">{{tpl:EntryCategory encode_html="1"}}</a>
+    </tpl:EntryIf>
+    </p>
+    
+    <tpl:EntryTags>
+    <tpl:TagsHeader><ul class="post-tags"></tpl:TagsHeader>
+    <li><a href="{{tpl:TagURL}}">{{tpl:TagID}}</a></li>
+    <tpl:TagsFooter></ul></tpl:TagsFooter>
+    </tpl:EntryTags>
+    
+    <!-- # --BEHAVIOR-- publicEntryBeforeContent -->
+    {{tpl:SysBehavior behavior="publicEntryBeforeContent"}}
+    
+    <!-- # Entry with an excerpt -->
+    <tpl:EntryIf extended="1">
+      <div class="post-content">{{tpl:EntryExcerpt}}</div>
+      <p class="read-it"><a href="{{tpl:EntryURL}}"
+      title="{{tpl:lang Continue reading}} {{tpl:EntryTitle encode_html="1"}}">{{tpl:lang Continue
+      reading}}</a>...</p>
+    </tpl:EntryIf>
+    
+    <!-- # Entry without excerpt -->
+    <tpl:EntryIf extended="0">
+      <div class="post-content">{{tpl:EntryContent}}</div>
+    </tpl:EntryIf>
+    
+    <!-- # --BEHAVIOR-- publicEntryAfterContent -->
+    {{tpl:SysBehavior behavior="publicEntryAfterContent"}}
+    
+    <!-- # Number of comments, trackbacks and attachments -->
+    <tpl:EntryIf operator="or" show_comments="1" show_pings="1" has_attachment="1">
+      <p class="post-info-co">
+    </tpl:EntryIf>
+    <tpl:EntryIf show_comments="1">
+      <a href="{{tpl:EntryURL}}#comments" class="comment_count">{{tpl:EntryCommentCount}}</a>
+    </tpl:EntryIf>
+    <tpl:EntryIf show_pings="1">
+      <a href="{{tpl:EntryURL}}#pings" class="ping_count">{{tpl:EntryPingCount}}</a></tpl:EntryIf>
+    <tpl:EntryIf has_attachment="1">
+      <a href="{{tpl:EntryURL}}#attachments" class="attach_count">{{tpl:EntryAttachmentCount}}</a></tpl:EntryIf>
+    <tpl:EntryIf operator="or" show_comments="1" show_pings="1" has_attachment="1">
+      </p>
+    </tpl:EntryIf>
+    </div>
+    
+    <tpl:EntriesFooter>
+      <tpl:Pagination>
+        <p class="pagination"><tpl:PaginationIf end="0"><a href="{{tpl:PaginationURL offset="+1"}}" class="prev">&#171;
+        {{tpl:lang previous entries}}</a> - </tpl:PaginationIf>
+        {{tpl:lang page}} {{tpl:PaginationCurrent}} {{tpl:lang of}} {{tpl:PaginationCounter}}
+        <tpl:PaginationIf start="0"> - <a href="{{tpl:PaginationURL offset="-1"}}" class="next">{{tpl:lang next entries}}
+        &#187;</a></tpl:PaginationIf></p>
+      </tpl:Pagination>
+    </tpl:EntriesFooter>
+  </tpl:Entries>
+  </div>
+</div> <!-- End #main -->
+
+<div id="sidebar">
+  <div id="blognav">
+    {{tpl:Widgets type="nav"}}
+  </div> <!-- End #blognav -->
+  
+  <div id="blogextra">
+    {{tpl:Widgets type="extra"}}
+  </div> <!-- End #blogextra -->
+</div>
+
+</div> <!-- End #wrapper -->
+
+{{tpl:include src="_footer.html"}}
+</div> <!-- End #page -->
+</body>
+</html>
Index: inc/public/default-templates/user_head.html
===================================================================
--- inc/public/default-templates/user_head.html	(revision 0)
+++ inc/public/default-templates/user_head.html	(revision 0)
@@ -0,0 +1,1 @@
+<!-- # This template is included at the end of _head.html template -->
Index: inc/public/prepend.php
===================================================================
--- inc/public/prepend.php	(revision 2541)
+++ inc/public/prepend.php	(revision 1949)
@@ -101,5 +101,5 @@
 	}
 }
-
+	
 # If theme doesn't exist, stop everything
 if (!$core->themes->moduleExists($__theme)) {
@@ -134,15 +134,10 @@
 	$__theme_tpl_path[] = $core->blog->themes_path.'/'.$__parent_theme.'/tpl';
 }
-$tplset = $core->themes->moduleInfo($core->blog->settings->system->theme,'tplset');
-if (!empty($tplset) && is_dir(dirname(__FILE__).'/default-templates/'.$tplset)) {
-	$core->tpl->setPath(
-		$__theme_tpl_path,
-		dirname(__FILE__).'/default-templates/'.$tplset,
-		$core->tpl->getPath());
-} else {
-	$core->tpl->setPath(
-		$__theme_tpl_path,
-		$core->tpl->getPath());
-}
+
+$core->tpl->setPath(
+	$__theme_tpl_path,
+	dirname(__FILE__).'/default-templates',
+	$core->tpl->getPath());
+
 $core->url->mode = $core->blog->settings->system->url_scan;
 
@@ -150,7 +145,7 @@
 	# --BEHAVIOR-- publicBeforeDocument
 	$core->callBehavior('publicBeforeDocument',$core);
-
+	
 	$core->url->getDocument();
-
+	
 	# --BEHAVIOR-- publicAfterDocument
 	$core->callBehavior('publicAfterDocument',$core);
@@ -160,3 +155,3 @@
 		,660);
 }
-
+?>
Index: locales/en/help/core_blog_new.html
===================================================================
--- locales/en/help/core_blog_new.html	(revision 2534)
+++ locales/en/help/core_blog_new.html	(revision 2534)
@@ -0,0 +1,24 @@
+<html>
+<head>
+  <title>New blog</title>
+</head>
+
+<body>
+
+<h4>Create a new blog</h4>
+<dl>
+  <dt>Blog ID</dt>
+  <dd>Unique identifier of the blog. Mandatory, can only be modified by a super administrator.</dd>
+
+  <dt>Blog name</dt>
+  <dd>Blog name. Mandatory, can be modified at any time without any impact on the blog operation.</dd>
+
+  <dt>Blog URL</dt>
+  <dd>Full URL of the blog. Mandatory, can only be modified by a super administrator.</dd>
+
+  <dt>Blog description</dt>
+  <dd>Free text to describe the blog. It is a simple text without any specific formatting.</dd>
+</dl>
+
+</body>
+</html>
Index: locales/en/help/core_blog_pref.html
===================================================================
--- locales/en/help/core_blog_pref.html	(revision 2367)
+++ locales/en/help/core_blog_pref.html	(revision 2534)
@@ -5,92 +5,142 @@
 
 <body>
-
-<h3>Blog details</h3>
+<h4>Blog details</h4>
 <dl>
   <dt>Blog ID</dt>
   <dd>Unique ID of the blog. Mandatory, can only be modified by a super administrator.</dd>
-  
+
   <dt>Blog name</dt>
-  <dd>Name of the blog, mandatory.</dd>
-  
+  <dd>Name of the blog, mandatory. It can be modified at any time without any impact on the blog operation.</dd>
+
   <dt>Blog URL</dt>
-  <dd>Complete blog URL. Mandatory, can only be modified by a super administrator.</dd>
-  
+  <dd>Full blog URL. Mandatory, can only be modified by a super administrator.</dd>
+
+  <dt>URL scan method</dt>
+  <dd>Defines the way the URL is read. PATH_INFO is recommended, QUERY_STRING has to be used if PATH_INFO does not work. Using PATH_INFO mode, the blog URL must end with a "/" and using QUERY_STRING, it must end with an "?".</dd>
+
   <dt>Blog status</dt>
   <dd>
     <ul>
-      <li><strong>online</strong>: blog open to visitors</li>
-      <li><strong>offline</strong>: blog closed to visitors
-      but open to writers.</li>
-      <li><strong>removed</strong>: blog closed to both visitors and writers, opened only for super-administrators.</li>
+      <li><strong>Online:</strong> Blog open to visitors.</li>
+      <li><strong>Offline:</strong> Blog closed to visitors but open to writers.</li>
+      <li><strong>Removed:</strong> Blog closed to both visitors and writers, open only to super administrators.</li>
     </ul>
   </dd>
-  
+
   <dt>Blog description</dt>
-  <dd>Here you can put any description you want for your blog. This is a
-  simple text, without formatting.</dd>
-</dl>
-
-<h3>Blog configuration</h3>
+  <dd>Here you can put any description you want for your blog. This is a simple text, without any formatting.</dd>
+</dl>
+
+<h4>Blog configuration</h4>
 <dl>
   <dt>Blog editor's name</dt>
-  <dd>Name of the person responsible for the blog. It may be the owner or the
-  publisher if he exists.</dd>
-  
+  <dd>Name of the person responsible for the blog. It may be the owner or the publisher if there is one. This information will be displayed in the blog feed.</dd>
+
+  <dt>Default language</dt>
+  <dd>Language of the blog interface. Either this language is amongst the avalaible ones, and the interface will be translated, or it is not, and the interface will be in English by default.</dd>
+
+  <dt>Blog timezone</dt>
+  <dd>Defines the timezone that will be used for comments and trackbacks.</dd>
+
   <dt>Copyright notice</dt>
   <dd>Note about the reproduction rights for the blog.</dd>
-  
-  <dt>Default language</dt>
-  <dd>Language of the blog interface. Either this language is among the avalaible ones,
-  and the interface will be translated, or it is not, and the interface will then
-  default to English.</dd>
-  
-  <dt>Blog timezone</dt>
-  <dd>Defines the timezone that will be used for comments and trackbacks.</dd>
+
+  <dt>New post URL format</dt>
+  <dd>Dropdown list to select the URL format.</dd>
+
+  <dt>HTML tag for the title of the notes on the blog</dt>
+  <dd>Dropdown list to select an HTML tag.</dd>
 
   <dt>XML/RPC interface</dt>
-  <dd>Allows external client to interact with your blog via XML/RPC 
-  protocol. When activated the needed parameters to be set in your external client are displayed.</dd>
-  
-  <dt>Date formats</dt>
-  <dd>The date format of the blog posts. See the date and time
-  format reference section below for further details.</dd>
-  
+  <dd>Allows external clients to interact with your blog via the XML/RPC protocol. After activation the required parameters to be set in your external clients are displayed.</dd>
+</dl>
+
+<h4>Comments and trackbacks</h4>
+<dl>
+  <dt>Accept comments</dt>
+  <dd>Globally accepts comments on the blog. Takes precedence over the per post setting.</dd>
+
+  <dt>Moderate comments</dt>
+  <dd>With this option, comments will be published only after editor's agreement.</dd>
+
+  <dt>Leave comments open for X days</dt>
+  <dd>The number of days during wich comments will be open after the post publication. When empty, the comments will be kept open indefinitly.</dd>
+
+  <dt>Wiki syntax for comments</dt>
+  <dd>Allows a subset of the wiki syntax to be used in comments.</dd>
+
+  <dt>Accept trackbacks</dt>
+  <dd>Globally accepts trackbacks on the blog. Takes precedence over the per post setting.</dd>
+
+  <dt>Moderate trackbacks</dt>
+  <dd>With this option, trackbacks will be published only after editor's agreement.</dd>
+
+  <dt>Leave trackbacks open for X days</dt>
+  <dd>The number of days during wich trackbacks will be open after the post publication. When empty, the trackbacks will be kept open indefinitly.</dd>
+
+  <dt>Add "nofollow" relation on comments and trackbacks links</dt>
+  <dd>Adds an attribute on links in comments and trackbacks, instructing the search bots not to follow them. This antispam features has yet to prove its value.</dd>
+</dl>
+
+<h4>Blog presentation</h4>
+<dl>
+  <dt>Date format</dt>
+  <dd>Defines the date format for the blog posts. See the "Format reference" section below for more information. You can use the dropdown list to quickly select a pre-existing pattern.</dd>
+
   <dt>Time format</dt>
-  <dd>The time format of the blog posts. See the date and time
-  format reference section below for further details.</dd>
-  
-  <dt>Display .. entries per page</dt>
-  <dd>The number will be used as the limit for the number of entries
-  on the homepage, the first page of each category and the rss feeds.</dd>
-  
-  <dt>Leave comments open for .. days</dt>
-  <dd>The number of days during wich comments and trackbacks will be open 
-  after the post publication. When empty, the comments will be kept open
-  indefinitly.</dd>
-  
-  <dt>Display smilies on entries and comments </dt>
-  <dd>Display sequences of characters as :-) or ;-) as images.</dd>
-  
-  <dt>Accept comments</dt>
-  <dd>Globally accepts comments on the blog. Takes precedence over the
-  per post setting.</dd>
-  
-  <dt>Accept trackbacks</dt>
-  <dd>Globally accepts trackbacks on the blog. Takes precedence over the
-  per post setting.</dd>
-  
-  <dt>Moderate comments and trackbacks</dt>
-  <dd>With such an option, comments and trackbacks will be published after
-  editor agreement.</dd>
-  
-  <dt>Add "nofollow" relation on comments and trackbacks links</dt>
-  <dd>Adds an attribute on inks in comments and trackbacks, instructing the
-  search bots not to follow them. This antispam features has yet to
-  prove its value.</dd>
-  
-  <dt>Wiki syntax for comments </dt>
-  <dd>Allows a subset of the wiki syntax to be used in comments.</dd>
-</dl>
+  <dd>Defines the time format for the blog posts. See the "Format reference" section below for more information. You can use the dropdown list to quickly select a pre-existing pattern.</dd>
+
+  <dt>Display smilies on entries and comments</dt>
+  <dd>Turns some strings like :-) or ;-) into pictures.</dd>
+
+  <dt>Display X entries per page</dt>
+  <dd>Will display X entries on the blog main page as well as in the different categories.</dd>
+
+  <dt>Display X entries per feed</dt>
+  <dd>Will display X entries in the blog feeds.</dd>
+
+  <dt>Display X comments per feed</dt>
+  <dd>Will display X comments in the blog comments feeds.</dd>
+
+  <dt>Truncate feeds</dt>
+  <dd>This option will only provide an abstract from the blog posts in the feeds.</dd>
+
+  <dt>Include sub-categories in category page and category posts feed</dt>
+  <dd>When this option is activated, posts in sub-categories will be displayed in the parent categories pages as well as in their feeds.</dd>
+</dl>
+
+<h4>Media and images</h4>
+<dl>
+  <dt>Generated image sizes (in pixels)</dt>
+  <dd>When you add an image in the media manager, other sizes are automatically generated. Here you can define the dimension of the longest size (width or heigth) of each type of generated images. If you leave one field empty, the media manager will not create the corresponding miniature.</dd>
+
+  <dt>Default image insertion attributes</dt>
+  <dd>The selected settings will apply on all the new images added to the media manager.</dd>
+
+  <dt>Inserted image title</dt>
+  <dd>Select the format of the "title" tags applied to your images, based on information retrieved from the images metadata.</dd>
+
+  <dt>Use original media date if possible</dt>
+  <dd>When this option is activated, if the image metadata contains a date, it will be used. If not, the upload date will be used.</dd>
+
+  <dt>Size of inserted image</dt>
+  <dd>Defines the default size used when inserting an image in a blog post.</dd>
+
+  <dt>Image alignment</dt>
+  <dd>Defines the default alignment used when inserting an image in a blog post.</dd>
+
+  <dt>Insert a link to the original image</dt>
+  <dd>When this option is activated, the pictures inserted in a blog post will be clickable and point to the original-sized picture.</dd>
+
+</dl>
+
+<h4>Search engines robots policy</h4>
+<p>Here you can indicate if you want Web search engines to index and/or archive your pages or not. Select the last option if you do not want people to be able to find your blog using a Web search engine.</p>
+
+<h4>Antispam</h4>
+<p>You can set the number of days after which you want the junk comments to be automatically deleted. Leave that field blank (or put 0) to deactivate this feature.</p>
+
+<h4>Users</h4>
+<p>Lists this blog's users as well as their permissions.</p>
 
 <h3>Format reference</h3>
@@ -99,52 +149,52 @@
 
 <ul>
-  <li><strong>%a</strong>: abreviated week day (local).</li>
-  <li><strong>%A</strong>: complete week day (local).</li>
-  <li><strong>%b</strong>: abbreviated month name (local).</li>
-  <li><strong>%B</strong>: complete month name (local).</li>
-  <li><strong>%c</strong>: default local date and time display.</li>
-  <li><strong>%C</strong>: century (the year, divided by 100 and
+  <li><strong>%a:</strong> Abreviated week day (local).</li>
+  <li><strong>%A:</strong> Complete week day (local).</li>
+  <li><strong>%b:</strong> Abbreviated month name (local).</li>
+  <li><strong>%B:</strong> Complete month name (local).</li>
+  <li><strong>%c:</strong> Default local date and time display.</li>
+  <li><strong>%C:</strong> Century (the year, divided by 100 and
   round up beetween 00 and 99)</li>
-  <li><strong>%d</strong>: numeric month day (from 01 to 31)</li>
-  <li><strong>%D</strong>: identical to %m/%d/%y</li>
-  <li><strong>%e</strong>: numeric month day (from 1 to 31)</li>
-  <li><strong>%g</strong>: identical to %G, 2 digits.</li>
-  <li><strong>%G</strong>: The year on 4 digits, according to the week number
+  <li><strong>%d:</strong> Numeric month day (from 01 to 31)</li>
+  <li><strong>%D:</strong> Identical to %m/%d/%y</li>
+  <li><strong>%e:</strong> Numeric month day (from 1 to 31)</li>
+  <li><strong>%g:</strong> Identical to %G, 2 digits.</li>
+  <li><strong>%G:</strong> The year on 4 digits, according to the week number
   (cf. %V). Format and value identical to %Y, except that if the number of the
   week belongs to the preceding or following year, the current year
   will be used instead.</li>
-  <li><strong>%h</strong>: identical to %b</li>
-  <li><strong>%H</strong>: digital hour of the day, 24H mode
+  <li><strong>%h:</strong> Identical to %b</li>
+  <li><strong>%H:</strong> Digital hour of the day, 24H mode
   (from 00 to 23)</li>
-  <li><strong>%I</strong>: digital hour of the day, 12H mode
+  <li><strong>%I:</strong> Digital hour of the day, 12H mode
   (from 01 to 12)</li>
-  <li><strong>%j</strong>: day of the year, digital (from 001 to 366)</li>
-  <li><strong>%m</strong>: month, digital (from 1 à 12)</li>
-  <li><strong>%M</strong>: minute, digital</li>
-  <li><strong>%n</strong>: newline character</li>
-  <li><strong>%p</strong>: either `am' or `pm', according to the absolute time,
+  <li><strong>%j:</strong> Day of the year, digital (from 001 to 366)</li>
+  <li><strong>%m:</strong> Month, digital (from 1 à 12)</li>
+  <li><strong>%M:</strong> Minute, digital</li>
+  <li><strong>%n:</strong> Newline character</li>
+  <li><strong>%p:</strong> Either `am' or `pm', according to the absolute time,
   or depending of the local settings.</li>
-  <li><strong>%r</strong>: the hour, a.m. and p.m. format</li>
-  <li><strong>%R</strong>: the hour, 24h format</li>
-  <li><strong>%S</strong>: seconds, digital</li>
-  <li><strong>%t</strong>: tab character</li>
-  <li><strong>%T</strong>: the current time (identical to %H:%M:%S)</li>
-  <li><strong>%u</strong>: day week, digit, from 1 to 7. (1 stands for monday)</li>
-  <li><strong>%U</strong>: week number, the first sundqy of the year being the
+  <li><strong>%r:</strong> The hour, a.m. and p.m. format</li>
+  <li><strong>%R:</strong> The hour, 24h format</li>
+  <li><strong>%S:</strong> Seconds, digital</li>
+  <li><strong>%t:</strong> Tab character</li>
+  <li><strong>%T:</strong> The current time (identical to %H:%M:%S)</li>
+  <li><strong>%u:</strong> Day week, digit, from 1 to 7. (1 stands for monday)</li>
+  <li><strong>%U:</strong> Week number, the first sundqy of the year being the
   first day of the first week.</li>
-  <li><strong>%V</strong>: the week numpber as defined in ISO
+  <li><strong>%V:</strong> The week numpber as defined in ISO
   8601:1988, digital, from 01 to 53. The week 1 is the first week
   with more than 4 days in the current year, whose monday is the first day.
   (Use %G or %g for the year elements corresponding to the number of the
   week for the considered timestamp.)</li>
-  <li><strong>%W</strong>: number of the week in the year, the first monday of
+  <li><strong>%W:</strong> Number of the week in the year, the first monday of
   the year being the start of the first week</li>
-  <li><strong>%w</strong>: day of the week, digital, 0 stands for sunday</li>
-  <li><strong>%x</strong>: prefered format for the date without the time</li>
-  <li><strong>%X</strong>: prefered format for the time without the date</li>
-  <li><strong>%y</strong>: the year, two digits (from 00 to 99)</li>
-  <li><strong>%Y</strong>: the year, four digits</li>
-  <li><strong>%Z ou %z</strong>: timezone, name or abbreviation</li>
-  <li><strong>%%</strong>: a litteral `%' character</li>
+  <li><strong>%w:</strong> Day of the week, digital, 0 stands for sunday</li>
+  <li><strong>%x:</strong> Prefered format for the date without the time</li>
+  <li><strong>%X:</strong> Prefered format for the time without the date</li>
+  <li><strong>%y:</strong> The year, two digits (from 00 to 99)</li>
+  <li><strong>%Y:</strong> The year, four digits</li>
+  <li><strong>%Z or %z:</strong> Timezone, name or abbreviation</li>
+  <li><strong>%%:</strong> A litteral `%' character</li>
 </ul>
 
Index: locales/en/help/core_blog_theme.html
===================================================================
--- locales/en/help/core_blog_theme.html	(revision 2534)
+++ locales/en/help/core_blog_theme.html	(revision 2534)
@@ -0,0 +1,20 @@
+<html>
+<head>
+  <title>Blog aspect</title>
+</head>
+
+<body>
+
+<h4>Installed themes</h4>
+<p>The list of installed themes appears in this tab. You can select a theme by clicking on it and pressing <strong>Use this one</strong>.</p>
+<p>The currently selected theme can be modified using the <strong>Edit theme files</strong> button. If the selected theme includes a theme editor, it can be easily personalized using the <strong>Configure theme</strong> button.</p>
+<p>You can also deactivate a theme (for instance if you have compatibilities issues with it). A <strong>Deactivated themes</strong> tab will appear containing the list of these.</p>
+
+<h4>Add themes</h4>
+<p>This tab allows you to browse the DotAddict themes repository either by alphabetical order, either by searching using the dedicated field. The themes that are already installed do not appear in the list.</p>
+
+<h4>Install or upgrade manually</h4>
+<p>If the theme you want to install (or upgrade) is not in the DotAddict repository, you can install it either by uploading it from your hard drive, either by entering its installation URL. A theme is always packaged as a zip file.</p>
+
+</body>
+</html>
Index: locales/en/help/core_blogs.html
===================================================================
--- locales/en/help/core_blogs.html	(revision 2534)
+++ locales/en/help/core_blogs.html	(revision 2534)
@@ -0,0 +1,24 @@
+<html>
+<head>
+  <title>List of blogs</title>
+</head>
+
+<body>
+
+<h4>Filter the list of blogs</h4>
+<dl>
+  <dt>Search</dt>
+  <dd>The search is based on the blog identifier. You can use the <strong>*</strong> wildcard to specify only a part of the name.</dd>
+
+  <dt>Order by</dt>
+  <dd>Last update of the blog, blog name, blog ID.</dd>
+
+  <dt>Sort</dt>
+  <dd>Indicate the sorting you want to use to filter the results (descending or ascending).</dd>
+
+  <dt>Blogs per page</dt>
+  <dd>Selects the number of blogs displayed per page in this list.</dd>
+</dl>
+
+</body>
+</html>
Index: locales/en/help/core_categories.html
===================================================================
--- locales/en/help/core_categories.html	(revision 2367)
+++ locales/en/help/core_categories.html	(revision 2534)
@@ -1,47 +1,29 @@
 <html>
-<head>
-  <title>Categories</title>
-</head>
+  <head>
+    <title>Categories</title>
+  </head>
+  <body>
+    <h4>Categories list</h4>
+    <dl>
+      <dt>Delete a category</dt>
+      <dd>Choose the category you want to delete by clicking on <strong>Delete the category</strong>. A pop-up will ask you to confirm this action.<br />
+	A category can only be deleted if it contains no article in it.<br />
+  To empty a category, you can move the entries by selecting (in the dropdown list) the new category they will be moved to. Click <strong>OK</strong> to confirm this choice.
+      </dd>
 
-<body>
-<h3>Categories list</h3>
-<dl>
-  <dt>Create a new category</dt>
-  <dd>Choose the name you wish to use for your new category
-  then click on Save to validate its creation. you may leave it at the first level or choose its parent. 
-  To modify your category, click on its name in the list.</dd>
-  
-  <dt>Delete a category</dt>
-  <dd>Choose the category you wish to delete in the selection menu and click ok.
-  A category can be deleted only if it contains no posts.</dd>
-  
-  <dt>Reorder categories</dt>
-  <dd>Use this option to place all categories at the same level.
-  If you wish to reorder a category respectively to other categories,
-  click on its name and choose its parent and its position respectively to its siblings.</dd>
-</dl>
+      <dt>Reorder categories</dt>
+      <dd>You can modify the categories order using drag and drop. You can also move a category to a parent category.<br />
+        When you're satisfied with the order, click <strong>Save categories order</strong>.</dd>
+      
+      <dt>Reorder all categories on the top level</dt>
+      <dd>Use this option to move back all the categories to the top level.<br />
+        If you want to modify the categories order more precisely, you can :
+	<ul>
+	  <li>either move them using drag and drop,</li>
+	  <li>either click on each category name and select its parent category or its position to its siblings.</li>
+	</ul>
+      </dd>
+    </dl>
 
-<h3>Modifying a category</h3>
-<dl>
-  <dt>Title</dt>
-  <dd>Choose the name you wish to give to your category
-  the click on Save to validate.</dd>
-  
-  <dt>URL</dt>
-  <dd>DotClear creates a default url for the category, making it reachable 
-  with a path similar to this one : 
-  <strong>http://monblog.tld/category/My-category</strong>. You can click
-  on the small lock on the right to modify it according to your needs.</dd>
-  
-  <dt>Description</dt>
-  <dd>What's inside the description field will be shown when selecting
-  one of the blog's categories. You can fill it with any kind of content
-  (paragraphs, lists, etc.) The format used for this field is HTML.</dd>
-  
-  <dt>Move this category</dt>
-  <dd>You can move the category as a child of any other by choosing its parent.
-  You can also specify the category position respectively to its siblings by placing it before or after any of them.</dd>
-</dl>
-
-</body>
+  </body>
 </html>
Index: locales/en/help/core_category.html
===================================================================
--- locales/en/help/core_category.html	(revision 2534)
+++ locales/en/help/core_category.html	(revision 2534)
@@ -0,0 +1,32 @@
+<html>
+<head>
+  <title>Category</title>
+</head>
+
+<body>
+<h4>Create a new category</h4>
+<dl>
+  <dt>Name</dt>
+  <dd>Choose the name you want to give to your new category. This field is mandatory.</dd>
+
+  <dt>Parent</dt>
+  <dd>It is possible to create sub-categories. In that case, you have to select its parent category in the <strong>Parent</strong> field.</dd>
+
+  <dt>URL</dt>
+  <dd>Dotclear creates a default URL for the category, making it reachable with a path such as <strong>http://myblog.tld/category/My-category</strong>. By clicking the little lock on the right, you can modify it the way you like.</dd>
+
+  <dt>Description</dt>
+  <dd>This description field content will be displayed when entering a category in the blog. You can fill it with any kind of content (paragraphs, lists, etc.). The format used for this field is XHTML.</dd>
+</dl>
+
+<h4>Move this category</h4>
+<dl>
+  <dt>Parent category</dt>
+  <dd>It is possible to create sub-categories. In that case, you have to select its parent category in the <strong>Parent</strong> field.</dd>
+
+  <dt>Sibling category</dt>
+  <dd>You can move the category into any other one, which will become its parent. You can also specify its position to its other siblings by moving it before or after one of them.</dd>
+</dl>
+
+</body>
+</html>
Index: locales/en/help/core_dashboard.html
===================================================================
--- locales/en/help/core_dashboard.html	(revision 2534)
+++ locales/en/help/core_dashboard.html	(revision 2534)
@@ -0,0 +1,29 @@
+<html>
+<head>
+  <title>Dashboard</title>
+</head>
+
+<body>
+<h4>Header</h4>
+	<p>If there are several blogs you can access on this instance, a dropdown list allows you to pick the one you want to work on. If there is only one blog, it simply displays its name.</p>
+	<p>The following link allows to go on the current blog (opens in a new tab).</p>
+	<p>The other links allow you to go back to this dashboard, to access your preferences and to logout.</p>
+<h4>Personalisation of the dashboard</h4>
+	<dl>
+		<dt>Favorites</dt>
+		<dd>The big icons in the middle of the page allow you to quickly access your favorite admin pages.</dd>
+		<dt>Dashboard modules</dt>
+		<dd>The modules displayed under the favorites are installed by default or added by plugins.</dd>
+	</dl>
+	<p>You can personalize the display of favorites and modules by going in the <a href="preferences.php#user-favorites">My dashboard</a> tab in the <strong>My preferences</strong> page.</p>
+<h4>The main menu</h4>
+	<p>You can display or hide this menu at any time by clicking on its right side<span class="hidden"> (or by activating the <strong>Hide the main menu</strong> link)</span>.</p>
+	<p>The first part of the menu lists all the favorite pages of the user. You can select to display this list or not in the <a href="preferences.php#user-favorites">My dashboard</a> tab in the <strong>My preferences</strong> page.</p>
+	<p>The rest of the menu lists the administration pages. It is divided in three sections:</p>
+	<ul>
+		<li><strong>Blog</strong> for everything relative to the current blog content and parameters.</li>
+		<li><strong>System settings</strong> to manage the global installation.</li>
+		<li><strong>Plugins</strong> for extensions affecting the whole system.</li>
+	</ul>
+</body>
+</html>
Index: locales/en/help/core_langs.html
===================================================================
--- locales/en/help/core_langs.html	(revision 2534)
+++ locales/en/help/core_langs.html	(revision 2534)
@@ -0,0 +1,22 @@
+<html>
+<head>
+  <title>Languages</title>
+</head>
+
+<body>
+
+<h4>Installed languages</h4>
+<p>You will find here the list of installed languages available for your administration profile and for your blog. Each of these languages can be removed.</p>
+<p>In the case where no language would be present, English would be used by default for the administration part as well as for the blog.</p>
+
+<h4>Install or upgrade languages</h4>
+
+<h5>Available languages</h5>
+<p>You will find here a list of languages available on Dotclear website. To install one of these languages, select it in the dropdown list, enter your password and press <strong>Install language</strong>.</p>
+<p>The selected language will then be downloaded and installed on your system.</p>
+
+<h5>Upload a zip file</h5>
+<p>You can also use a compressed archive (zip format) to install a language. Select the corresponding file on your computer, enter your password and press <strong>Upload language</strong>.</p>
+
+</body>
+</html>
Index: locales/en/help/core_media.html
===================================================================
--- locales/en/help/core_media.html	(revision 2367)
+++ locales/en/help/core_media.html	(revision 2534)
@@ -1,96 +1,92 @@
 <html>
-<head>
-  <title>Media manager</title>
-</head>
+  <head>
+    <title>Media manager</title>
+  </head>
+  <body>
+    <h4>Media list</h4>
+    <p>The main page of the media manager displays a list of available files (medias) for the currently selected blog.</p>
 
-<body>
+    <p>You can click the icons or names of the medias in the folder or any subfolder to display them.</p>
 
-<h3>Media list</h3>
-<p>The media manager's main page displays a list of available files (medias)
-for the currently selected blog.</p>
+    <p>Selecting a MP3 sound file displays a player to immediately play the file. The Flash plugin must be installed on your browser for this player to operate.</p>
 
-<p>You can click the icons or names of the medias in the folder or any
-subfolder to display them.</p>
+    <p>The images are displayed with a thumbnail when possible.</p>
 
-<p>Selecting a MP3 sound file displays a player to immediately play
-the file. The Flash plugin must be installed on your browser for
-this player to operate.</p>
+    <h4>Add files</h4>
+    <dl>
+      <dt>Choose a file</dt>
+      <dd>Here you can select one of your local files to send it on your 
+      blog. Should the file be bigger than the maximum size, it will not be sent.</dd>
+      
+      <dt>Title</dt>
+      <dd>Optional title for the file you want to send.</dd>
+      
+      <dt>Private</dt>
+      <dd>Check this if you want the file to be private, i.e. accessible only by
+      its owner and not accessible from the blog (until published).</dd>
+    </dl>
 
-<p>The images are displayed with a thumbnail when possible.</p>
+    <dl>
+      <dt>Enhanced uploader</dt>
+      <dd>Allows to select one or several of your local files to send them on your 
+  blog. Should any file be bigger than the maximum size, it will not be sent.<br />
+	When you select several local files, they are added to the queue. You can add more files by clicking again on <strong>Choose files</strong>. You can also remove files from the queue by clicking on the corresponding red cross-shaped icon.<br />
+  When you are ready, click on <strong>Upload</strong>.</dd>
+    </dl>
 
-<h3>Add files</h3>
-<dl>
-  <dt>Choose a file</dt>
-  <dd>Here you can select one of your local files to send it on your 
-  blog. Should the file be bigger than the maximum size, it will not be sent.</dd>
-  
-  <dt>Title</dt>
-  <dd>Optional title for the file you want to send.</dd>
-  
-  <dt>Private</dt>
-  <dd>Check this if you want the file to be private, i.e. accessible only by
-  its owner and not accessible from the blog.</dd>
-</dl>
+    <h4>Delete files</h4>
+    <p>To delete a file, check its checkbox and click on <strong>Remove selected medias</strong>. You can delete several files at once.</p>
 
-<dl>
-  <dt>Enhanced uploader</dt>
-  <dd>Allows to select one or several of your local files to send them on your 
-  blog. Should any file be bigger than the maximum size, it will not be sent.</dd>
-</dl>
-
-<h3>New folder</h3>
-<p>This form allows you to create an new subfolder in the currently displayed
+    <h4>New folder</h4>
+    <p>This form allows you to create an new subfolder in the currently displayed
 folder. Just choose a name for it as you would do on your own computer.</p>
 
-<h3>Media details</h3>
-<p>This page displays a set of informations about the currently selected
-file and allows you to perform a few operations.</p>
+    <h4>Media details</h4>
+    <p>This page displays a set of information about the currently selected file and allows you to perform a several operations on it.</p>
 
-<dl>
-  <dt>File name</dt>
-  <dd>Change the file name of the current file.</dd>
-  
-  <dt>File title</dt>
-  <dd>Give a title to the file, or change the current one.</dd>
-  
-  <dt>File date</dt>
-  <dd>Change the file date.</dd>
-  
-  <dt>Private</dt>
-  <dd>Specify that the file will be hidden to anyone but its owner in the media manager.</dd>
-  
-  <dt>New directory</dt>
-  <dd>Allows you to move the file in another folder.</dd>
-  
-  <dt>Change file</dt>
-  <dd>With this form, you can replace the file while keeping all the attributes
-  (name, title...). As always, you have to respect the maximum file size.</dd>
-</dl>
+    <dl>
+      <dt>File name</dt>
+      <dd>Change the file name of the current file.</dd>
+      
+      <dt>File title</dt>
+      <dd>Give a title to the file, or change the current one.</dd>
+      
+      <dt>File date</dt>
+      <dd>Change the file date.</dd>
+      
+      <dt>Private</dt>
+      <dd>Specify that the file will be hidden to anyone but its owner in the media manager.</dd>
+      
+      <dt>New directory</dt>
+      <dd>Allows you to move the file in another folder.</dd>
+      
+      <dt>Change file</dt>
+      <dd>With this form, you can replace the file while keeping all the attributes
+      (name, title...). As always, you have to respect the maximum file size.</dd>
+    </dl>
 
-<h3>A specific treatment for images</h3>
-<p>When you add an image, depending of its size, up to four versions will be made available:</p>
-<ul>
-  <li><strong>square</strong>: a 48x48 pixels square thumbnail,</li>
-  <li><strong>thumbnail</strong>: the image reduced to 100 pixels on its longest side.</li>
-  <li><strong>small</strong>: the longuest side is reduced to 240 pixels.</li>
-  <li><strong>medium</strong>: the longuest side is reduced to 500 pixels.</li>
-  <li><strong>original</strong>: the original, unchanged image.</li>
-</ul>
-<p>Default size for the versions thumbnail, small and medium can be modified in your blog's parameters.</p>
+    <h4>Specific case: Images</h4>
+    <p>When you add an image, depending of its size, up to four versions will be made available (depending on the original image size):</p>
+    <ul>
+      <li><strong>Square:</strong> A 48x48 pixels square thumbnail.</li>
+      <li><strong>Thumbnail:</strong> The image reduced to 100 pixels on its longest side.</li>
+      <li><strong>Small:</strong> The longest side is reduced to 240 pixels.</li>
+      <li><strong>Medium:</strong> The longest side is reduced to 500 pixels.</li>
+      <li><strong>Original:</strong> The original, unchanged image.</li>
+    </ul>
+    <p>Default sizes for the thumbnail, small and medium versions can be modified in your blog settings.</p>
 
-<h3>Add a file to an entry</h3>
-<p>You can easily attach a file to one of your posts. First, create a new post
-and save it. Then click on "Add files to this entry" to open the media manager.</p>
+    <h4>Attach a file to an entry</h4>
+    <p>You can easily attach a file to one of your posts. First, create a new post and save it. Then click on "Add files to this entry" to open the media manager.</p>
 
-<p>Just click on the [+] icon (Attach this file to entry). The file will then
+    <p>Just click on the [+] icon (Attach this file to entry). The file will then
 be attached to the post.</p>
 
-<p>The attached files will be shown on the post page, as a list beside the post content.
-The MP3 files will be made available through the Flash player, so that they can easily by read by visitors.</p>
+    <p>The attached files will be shown on the post page, as a list after the post content. The MP3 files will be made available through a Flash player, so that they can be easily played by your visitors.</p>
 
-<h3>Podcast and broadcasting of music files</h3>
-<p>All attached files will be included in your RSS feeds, allowing for easy
+    <h4>Podcast and broadcasting of music files</h4>
+    <p>All attached files will be included in your blog feeds, allowing an easy
 podcasting of any type of file.</p>
 
-</body>
+  </body>
 </html>
Index: locales/en/help/core_plugins.html
===================================================================
--- locales/en/help/core_plugins.html	(revision 2534)
+++ locales/en/help/core_plugins.html	(revision 2534)
@@ -0,0 +1,42 @@
+<html>
+<head>
+  <title>Plugins management</title>
+</head>
+
+<body>
+
+<h4>Installed plugins</h4>
+
+<p>Each line starts with the plugin logo you will find in the menu (on the left of your screen).</p>
+
+<p>A Dotclear logo next to the action buttons indicates that the plugin comes directly with Dotclear and is one of its components.</p>
+
+<h3>Activated plugins</h3>
+<p>This list displays information about activated plugins: Name, version, short description. Two actions are possible: <strong>Deactivate</strong> (temporary operation) or <strong>Delete</strong> (permanent operation).</p>
+
+
+<h3>Deactivated plugins</h3>
+<p>This list shows the plugins that have been deactivated by the user. For each one, two actions are possible: <strong>Activate</strong> or <strong>Delete</strong> (permanent operation).</p> 
+
+
+<h4>Add plugins</h4>
+<p>This page allows you to browse the DotAddict repository and to install a plugin directly from it.</p>
+
+<p>Two search methods are available:</p>
+<ul>
+	<li>By typing the plugin name in the <em>Search in repository</em> field,
+	<li>By browsing the index</li>
+</ul>
+<p>In the index, unfolding a plugin by clicking on the arrow next to its name will allow you to access its DotAddict page or to go to a support website if the plugin author picked one.</p>
+
+
+<h4>Install or upgrade manually</h4>
+<p>You can install your own plugins or plugins that are not available on DotAddict using this page.</p>
+<p>There are two ways to install them:</p>
+<ul>
+	<li><strong>Upload a zip file</strong> from your computer. Click on <strong>Browse</strong> to select the file, enter your password, and press <strong>Upload</strong>.
+	<li><strong>Download a zip file</strong> directly from the Web by entering its URL, then enter your password and press <strong>Download</strong>.</li>
+</ul>
+
+</body>
+</html>
Index: locales/en/help/core_post.html
===================================================================
--- locales/en/help/core_post.html	(revision 2367)
+++ locales/en/help/core_post.html	(revision 2534)
@@ -5,6 +5,5 @@
 
 <body>
-
-<h3>Editing an entry</h3>
+<h4>Editing an entry</h4>
 
 <dl>
@@ -15,89 +14,99 @@
   <dd>The content of this field will be shown in pages showing entries as
   a list, such as the homepage or categories pages, followed by a "continue reading"
-  link. It will also be visible at the begining of the page showing the
-  whole post. Should you leave it blank, the <em>content</em> field will be shown
-  on the homepage and other entry list pages.</dd>
+  link. It will also be visible at the beginning of the page showing the
+  whole post. Should you leave it blank, the <em>content</em> field will be shown entirely on the homepage and other entry list pages.</dd>
   
   <dt>Content</dt>
   <dd>The content of your entry. This field is mandatory.</dd>
   
-  <dt>Notes</dt>
+  <dt>Personal notes</dt>
   <dd>This text area is for personal use, for notes or memos. What you enter here
-  will never be displayed on the blog..</dd>
-  
-  <dt>Category</dt>
-  <dd>Your entry's category. To create a new category, please see the
-  "categories" section. You can choose to leave
-  you entry without a category by selecting the blank line.</dd>
+  will never be displayed on the blog.</dd>
   
   <dt>Entry status</dt>
-  <dd>Allows you to choose your post's status:
+  <dd>Allows you to choose your entry's status:
     <ul>
-      <li><strong>pending:</strong> the publication status has not yet been decided.</li>
-      <li><strong>scheduled:</strong> the post will be set online at the time and date
-      set in the <em>Published on</em> field.</li>
-      <li><strong>unpublished:</strong> the post is offline.</li>
-      <li><strong>published:</strong> the post is online.</li>
+      <li><strong>Pending:</strong> The publication status has not yet been decided.</li>
+      <li><strong>Scheduled:</strong> The post will be set online at the time and date set in the <strong>Published on</strong> field.</li>
+      <li><strong>Unpublished:</strong> The post is offline.</li>
+      <li><strong>Published:</strong> The post is online.</li>
     </ul>
   </dd>
   
-  <dt>Published on</dt>
-  <dd>Here you can change the post's publication date and time. If the post's
-  status is <em>scheduled</em>,  it will come online at the said date and time.</dd>
+  <dt>Publication date and hour</dt>
+  <dd>Here you can change the entry's publication date and time. If the entry's
+  status is <strong>Scheduled</strong>, it will be online at the given date and time.</dd>
+
+  <dt>Entry language</dt>
+  <dd>Select the language code of your entry. It defaults to your (as a
+  user) language but you can change it to whatever language code you want, e.g.
+  "en" or "es-ar". This code is used for the entry's display.</dd>
+
+  <dt>Text formatting</dt>
+  <dd>Choose the entry's syntax. Wiki is a simplified syntax
+  and will be converted to valid XHTML. Unless you have a perfect
+  understanding of XHTML, we advise you to choose the Wiki syntax.
+  See the Wiki syntax reference for more information.</dd>
+
+  <dt>Selected entry</dt>
+  <dd>The selected entries will be listed on your blog menu, under the title "Best of me".</dd>
+
+  <dt>Category</dt>
+  <dd>Your entry's category. To create a new category, please see the
+  <strong>Categories</strong> section. You can choose to leave
+  you entry without a category by selecting the <em>(none)</em> item.</dd>
+
+  <dt>Add a new category</dt>
+  <dd>You can create a new category by entering its title and selecting its parent category (or select <em>(none)</em> to create a top level category).</dd>
   
-  <dt>Text formatting</dt>
-  <dd>To choose the post syntax. Wiki is a simplified syntax
-  and will be converted to valid xhtml&nbsp;; Unless you have a perfect
-  understanding of xhtml, we advise you to choose the wiki syntax.
-  See the Wiki syntax reference for more information.</dd>
-  
+  <dt>Tags</dt>
+  <dd>Add tags separated by commas, and press <strong>ok</strong> when done. You can also select existing tags by clicking on <strong>Choose from list</strong>.</dd>
+
+  <dt>Attachments</dt>
+  <dd>Attachments are media files added to the entry. You can use the <strong>Add files to this entry</strong> button to select media files to add to the entry.<br />
+    This option will appear after you save your entry.<br />
+    Please check the Media manager help for more information.</dd>
+
   <dt>Accept comments</dt>
-  <dd>Select this box to allow your visitors to comment the entry. The corresponding
-  global setting is to be found in the blog settings.</dd>
-  
+  <dd>Check this box to allow your visitors to comment on this entry. The corresponding global setting can be found in the blog settings.</dd>
+
   <dt>Accept trackbacks</dt>
   <dd>A trackback is a way to let a portion of your entry as a comment on
-  another blog. Select this box to allow others to trackback your entry. The
+  another blog. Check this box to allow others to trackback your entry. The
   corresponding global setting is to be found in the blog settings.</dd>
   
-  <dt>Selected entry</dt>
-  <dd>The selected entries will be listed on your blog menu, under the title "Best
-  of me".</dd>
+  <dt>Password</dt>
+  <dd>You can enter a password for your entry. A password protected entry will
+  not be displayed on your blog, it will only be accessible to those you will
+  give the entry URL to (see the <strong>view entry</strong> link) and password.</dd>
+
+  <dt>Basename</dt>
+  <dd>You can unprotect this field by clicking on the little lock on its right and choose another URL for your entry. If the URL you're trying to use is already used by another entry, a number will be added to it.</dd>  
   
-  <dt>Entry password</dt>
-  <dd>You can enter a password for your entry. A password protected entry will
-  not be displayed on your blog, it will only be reachable to those you will
-  give the entry url (see the <em>view entry</em> link) and password.</dd>
-  
-  <dt>Basename</dt>
-  <dd>By clicking on its lock, you can unprotect this field and and choose another
-  URL for your entry. If the URL you're trying to use is already used by another
-  entry, a number will be added to it.</dd>
-  
-  <dt>Entry language</dt>
-  <dd>The two character language code of your entry. It defaults to your (as a
-  user) language but you can change it to whatever language code you want, ie.
-  "en" or "fr-qc". This code is used for the entry's display, no chack is made
-  on it.</dd>
-  
-  <dt>Attachments</dt>
-  <dd>The attachments are all the medias you joined to the entry. The link <em>add
-  file to this entry</em> allows you to attach other files to the entry. Remember
-  to save your changes before clicking on this link. For further information,
-  see the media manager help.</dd>
 </dl>
 
-<h3>Comments</h3>
+<h4>Comments</h4>
 <dl>
   <dt>Comment list</dt>
-  <dd>On the <em>Comments</em> tab, you can read and change the status of
-  your entry's comments. If you're allowed to by the blog administrator,
-  you will be able to set your comments online or offline, to delete them or
-  to mark them as junk.</dd>
+  <dd>On the <strong>Comments</strong> tab, you can read and change the status of
+  your entry's comments (and trackbacks). If you're allowed to by the blog administrator, you will be able to set your comments (and trackbacks) online or offline, to delete them or to mark them as junk.</dd>
   
   <dt>Add a comment</dt>
-  <dd>On the <em>Add a comment</em> tab, you can reply to one of your entry's
-  comments without leaving your blog's backend. The syntax to be used here is
-  plain, unlimited, xhtml. Use the fields as if you were modifying a comment.</dd>
+  <dd>On the <strong>Add a comment</strong> tab, you can reply to one of your entry's comments without leaving your blog's backend. The syntax to be used here is plain, unlimited XHTML. Use the fields as if you were modifying a comment.</dd>
+</dl>
+  
+<h4>Add a comment</h4>
+<dl>
+  <dt>Name</dt>
+  <dd>Comment author's name. This field is mandatory.</dd>
+
+  <dt>Email</dt>
+  <dd>Comment author's e-mail address.</dd>
+
+  <dt>Website</dt>
+  <dd>Comment author's Website URL.</dd>
+
+  <dt>Comment</dt>
+  <dd>Comment content. This field uses XHTML syntax.</dd>
 </dl>
 
Index: locales/en/help/core_posts.html
===================================================================
--- locales/en/help/core_posts.html	(revision 2367)
+++ locales/en/help/core_posts.html	(revision 2534)
@@ -1,65 +1,63 @@
 <html>
 <head>
-  <title>Managing entries</title>
+  <title>Entries management</title>
 </head>
 
 <body>
 
-<h3>Filters for the entry list</h3>
+<h4>Entries list filter</h4>
 
 <dl>
   <dt>Author</dt>
-  <dd>Allows you to filter by author.</dd>
+  <dd>Filters entries by author.</dd>
   
   <dt>Category</dt>
-  <dd>Filter by category.</dd>
+  <dd>Filters entries by category.</dd>
   
   <dt>Status</dt>
-  <dd><ul>
-    <li><strong>pending:</strong> posts whose publication status has not yet
-    been decided.</li>
-    <li><strong>scheduled:</strong> post to be set online automatically.</li>
-    <li><strong>unpublished:</strong> offline posts.</li>
-    <li><strong>published:</strong> online posts.</li>
-  </ul></dd>
+  <dd>Filters entries by status:<ul>
+      <li><strong>Pending:</strong> Pending entries.</li>
+      <li><strong>Scheduled:</strong> Scheduled entries.</li>
+      <li><strong>Unpublished:</strong> Offline entries.</li>
+      <li><strong>Published:</strong> Online entries.</li>
+    </ul></dd>
   
   <dt>Selected</dt>
-  <dd>Only the selected posts, or the non selected ones.</dd>
+  <dd>Filters entries that have the <strong>Selected</strong> status or not.</dd>
+
+  <dt>Attachments</dt>
+  <dd>Filters entries based on if they have attachments or not.</dd>
   
   <dt>Month</dt>
-  <dd>Filter on a specific month and year.</dd>
+  <dd>Filters entries from the given month of a given year.</dd>
   
   <dt>Language</dt>
-  <dd>Filter on the different languages used on the blog.</dd>
+  <dd>Filters entries based on the language set in the <strong>Language</strong> field of an entry.</dd>
   
   <dt>Order by</dt>
-  <dd>Defines the list order, either on the date, the title, the author,
-  the status or the selected status.</dd>
+  <dd>Allows you to order the result by date, title, category, author, publication status, selected status, number of comments or number of trackbacks.</dd>
   
   <dt>Sort</dt>
-  <dd>Choose whether the list will be sorted in ascending or descending order.</dd>
+  <dd>Allows you to sort the results ascending or descending.</dd>
   
   <dt>Entries per page</dt>
-  <dd>Number of entries that will be displayed on each page of the resulting
-  set.</dd>
+  <dd>Number of entries to display per page.</dd>
 </dl>
 
-<h3>Selected entry actions</h3>
-<p>If your user permission level allows it, you can perform batch operations on the
-entries you select in the list.</p>
-
+<h4>Batch actions</h4>
+<p>It is possible to make a batch of actions on several articles. The possible actions depend on the user's permissions:</p>
 <ul>
-  <li><strong>Publish</strong>: set the entries online.</li>
-  <li><strong>Unpublish</strong>: set the entries offline.</li>
-  <li><strong>Schedule</strong>: schedule the entries to be set online at their
-  publication date.</li>
-  <li><strong>Mark as pending</strong>: erase other publication status.</li>
-  <li><strong>Change category</strong>: directs you to the category list to choose a
-  new one for the entries.</li>
-  <li><strong>Change author</strong>: allows you to change the posts' author by
-  entering the new author's ID.</li>
-  <li><strong>Delete</strong>: suppress the posts (this operation cannot be undone).</li>
+  <li><strong>Publish:</strong> Publish the selected entries online.</li>
+  <li><strong>Unpublish:</strong> Pull the selected entries offline.</li>
+  <li><strong>Schedule:</strong> Schedule the selected entries to be set online at publication date.</li>
+  <li><strong>Mark as pending:</strong> Mark selected entries as pending.</li>
+  <li><strong>Mark as selected/unselected:</strong> Set the selected entries as Selected/Unselected./li>
+  <li><strong>Change category:</strong> Modify the category of the selected entries.</li>
+  <li><strong>Change language:</strong> Modify the language of the selected entries.</li>
+  <li><strong>Change author:</strong> Modify the selected entries' author by entering the new author's ID.</li>
+  <li><strong>Delete:</strong> Delete the selected entries (this operation cannot be cancelled).</li>
+  <li><strong>Add/Remove tags:</strong> Add or remove tags on the selected entries.</li>
 </ul>
-
+<p><em>The above list might contain other items if additional actions have been added by plugins active on your system.</em></p>
 </body>
 </html>
Index: locales/en/help/core_search.html
===================================================================
--- locales/en/help/core_search.html	(revision 2534)
+++ locales/en/help/core_search.html	(revision 2534)
@@ -0,0 +1,36 @@
+<html>
+<head>
+  <title>Search</title>
+</head>
+
+<body>
+<h4>Search options</h4>
+	<p>Specify the words or terms you're looking for in the text field and select the search scope:</p>
+	<dl>
+	<dt>Search in entries</dt>
+	<dd>Search will only be done on <strong>Article title</strong>, <strong>Summary</strong> and <strong>Content</strong> fields of an entry.</dd>
+	<dt>Search in comments</dt>
+	<dd>Search will only be done on comments.</dd>
+	</dl>
+
+<h4>Search results</h4>
+	<h5>Result</h5>
+		<p>A search result allows you to click on one of the article's link to edit it.</p>
+	<h5>Batch actions</h5>
+		<p>It is possible to make a batch of actions on several articles in one time. The possible actions depend on the user's permissions:</p>
+		<ul>
+			<li><strong>Publish:</strong> Publish the article.</li>
+			<li><strong>Unpublish:</strong> Put the article offline.</li>
+			<li><strong>Schedule:</strong> Schedule the entries to be put online at the publication date.</li>
+			<li><strong>Mark as pending:</strong> Pending to be published.</li>
+			<li><strong>Mark as selected:</strong> Highlight the selected entries.</li>
+			<li><strong>Mark as unselected:</strong> Remove the highlight (if any) on selected entries.</li>
+			<li><strong>Change category:</strong> Redirect on the categories list to change the category of the selected articles.</li>
+			<li><strong>Change language:</strong> Redirect on the languages list to modify the entries languages.</li>
+			<li><strong>Change author:</strong> Allows to modify the entries author by specifying the user ID of the new author.</li>
+			<li><strong>Delete:</strong> Delete the entries. A pop-up window will be displayed to confirm your choice.</li>
+			<li><strong>Add tags:</strong> Add tags to the selected entries.</li>
+			<li><strong>Remove tags:</strong> Remove one or more tags from the selected entries.</li>
+		<ul>
+</body>
+</html>
Index: locales/en/help/core_trackbacks.html
===================================================================
--- locales/en/help/core_trackbacks.html	(revision 2367)
+++ locales/en/help/core_trackbacks.html	(revision 2534)
@@ -6,7 +6,6 @@
 <body>
 
-<h3>Trackback</h3>
-<p>To make a trackback, click on the <em>Ping blogs</em> link.
-You will not see this link if your entry's status is not <em>published</em>.</p>
+<h4>Trackbacks</h4>
+<p>To make a trackback, click on the <em>Ping blogs</em> link. If you don't see this link, make sure your entry status is set to <em>published</em>.</p>
 
 <dl>
@@ -16,11 +15,8 @@
   
   <dt>Excerpt to send</dt>
-  <dd>This field defaults to your entry's first few sentences. That's wht will be
-  sent to the blog you're pinging, along with a link to your post. You can modify
-  the excerpt by editing this field.</dd>
-  
+  <dd>By default, this field contains the beginning of your entry. This is what will be sent to the blog you're pinging, along with a link to your post. You can modify the excerpt by editing this field.</dd>
   
   <dt>Auto discover ping URLs</dt>
-  <dd>If your entries links specific posts and if the blog carrying those posts
+  <dd>If your entry links to specific posts and if the blog hosting those posts
   is set to allow it, this tool will find the URLs to ping for you.</dd>
 </dl>
Index: locales/en/help/core_update.html
===================================================================
--- locales/en/help/core_update.html	(revision 2534)
+++ locales/en/help/core_update.html	(revision 2534)
@@ -0,0 +1,25 @@
+<html>
+  <head>
+    <title>Update</title>
+  </head>
+  <body>
+    <h4>Update</h4>
+    <p>This page allows you to update Dotclear automatically. If a new version is available, you will be asked if you want to update. Before doing so, you can check what changes do this update bring by clicking on <strong>Information about this version</strong>.</p>
+
+    <p>You can force the new version check by clicking on <strong>Force Dotclear update checking</strong>.</p>
+
+    <p>If everything is OK, i.e. if you didn't manually modified any installation files, the update procedure will:</p>
+    <ul>
+      <li>Create a backup of your current installation in the current working directory named backup-x.y.z.zip (where x.y.z are the version numbers, e.g. 2.5.3).</li>
+      <li>Download the new version.</li>
+    </ul>
+    <p>Once this is done, a message such as the following will be displayed: "Congratulations, you're one click away from the end of the update."<br />
+      Click on <strong>Finish the update</strong>. You will be logged out. The database will be updated, if needed, when you will log back in.</p>
+
+    <p>If you manually modified some files, they will be listed and you will be advised to manually update them.</p>
+
+    <h4>Manage backup files</h4>
+    <p>From this tab, you can remove old backup files.</p>
+    <p>You can also rollback to a previous version. Only consider rolling back if you have serious troubles with the new version.</p>
+  </body>
+</html>
Index: locales/en/help/core_user.html
===================================================================
--- locales/en/help/core_user.html	(revision 2367)
+++ locales/en/help/core_user.html	(revision 2534)
@@ -2,69 +2,68 @@
 <head>
   <title>User</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>
+</head>
 
 <body>
 
-<h3>User information</h3>
+<h4>User profile</h4>
 <dl>
-  <dt>User name</dt>
-  <dd>At least 2 characters (non accentuated characters, numbers or symbols, no white space. This field is mandatory.</dd>
+  <dt>User ID</dt>
+  <dd>At least 2 characters using letters, numbers or symbols (no space). This field is mandatory.</dd>
 
-  <dt>Password</dt>
-  <dd>Write down twice your password in the fields <em>Password</em> and <em>Confirm password</em>. The minimal password length is 6 characters.
-  These two fields are mandatory.</dd>
+  <dt>New password</dt>
+  <dd>If you want to change your password, enter the new password twice in <strong>New password</strong> and <strong>Confirm password</strong> fields. Passwords must contain at least 6 characters. Both fields are mandatory.</dd>
+
+  <dt>Password change required to connect</dt>
+  <dd>Check this box so that a new user will have to choose his own password when he will connect.</dd>
+
+  <dt>Super administrator</dt>
+  <dd>This will give the current user all the permissions on all the blogs hosted on the system.</dd>
   
-  <dt>Name, First name</dt>
-  <dd>If the display name is empty, the author's name will be displayed
-  as his Firstname and Name as set here.</dd>
+  <dt>Last name, First name</dt>
+  <dd>If no display name is provided, the displayed author's name will contain the last name and first name entered in these two fields.</dd>
 
   <dt>Display name</dt>
-  <dd>You can choose here a nickname that will be displayed in your posts instead of your name and first name.</dd>
+  <dd>You can select the nickname you want to use to sign your articles. If not empty, this field will be used instead of the last name and first name fields.</dd>
 
   <dt>Email</dt>
-  <dd>Address that will be used to send a new password on dotclear's new password generation page.</dd>
+  <dd>This e-mail address will be used if you need to recover your password from Dotclear's authentication screen.</dd>
 
   <dt>URL</dt>
-  <dd>The user's web site. If set, the author name will be displayed as
-  a link to the said site.</dd>
-  
+  <dd>Indicates the user's website. If this field is not empty, the author's name will become a clickable link to this website.</dd>
+</dl>
+
+<h4>Options</h4>
+<h5>Interface</h5>
+<dl>
+  <dt>Language</dt>
+  <dd>Set the default language for new entries. If a translation is available for this language, the blog interface will be translated in this language as well.</dd>
+
+  <dt>Timezone</dt>
+  <dd>This option impacts the way the entries' publication time is displayed.</dd>
+</dl>
+
+<h5>Edition</h5>
+<dl>  
   <dt>Preferred format</dt>
-  <dd>To choose the prefered post syntax. Wiki is a simplified syntax
-  and will be converted to valid xhtml&nbsp;; Unless you have a perfect
-  understanding of html, we advise you to choose the wiki syntax.</dd>
+  <dd>Choose the entry's syntax. Wiki is a simplified syntax
+  and will be converted to valid XHTML. Unless you have a perfect
+  understanding of XHTML, we advise you to choose the Wiki syntax.
+  See the Wiki syntax reference for more information.</dd>
   
   <dt>Default entry status</dt>
-  <dd>The default entry status can be set to:
+  <dd>The default status for new entries can be set to:
     <ul>
-      <li><strong>pending:</strong> the publication status has not yet been decided.</li>
-      <li><strong>scheduled:</strong> the post will be set online at the time and date
-      set in the <em>Published on</em> field.</li>
-      <li><strong>unpublished:</strong> the post is offline.</li>
-      <li><strong>published:</strong> the post is online.</li>
+      <li><strong>Pending:</strong> The publication status has not been yet decided.</li>
+      <li><strong>Scheduled:</strong> The entry will be set online at the time and date provided in the <strong>Published on</strong> field.</li>
+      <li><strong>Unpublished:</strong> Offline entry.</li>
+      <li><strong>Published:</strong> Online entry.</li>
     </ul>
   </dd>
 
   <dt>Entry edit field height</dt>
-  <dd>The height of the Entry edit field. Defaults to 24.</dd>
-  
-  <dt>User language</dt>
-  <dd>The language in wich one publishes his posts. If the translation exists,
-  the interface will also be displayed in that language.</dd>
+  <dd>Sets the height of the edition field of an entry. By default, this parameter is set to 24.</dd>
 
-  <dt>User timezone</dt>
-  <dd>That choice will define the time displayed on post publication.</dd>
-
-  <dt>Password change required to connect</dt>
-  <dd>Check this box to force the new user to change his password on login.</dd>
-
-  <dt>Super administrator</dt>
-  <dd>This choice will give all permissions to the user on all of your installation's blogs.</dd>
-</dl>
-
-<h3>Tags</h3>
-<dl>
   <dt>Tags list format</dt>
-  <dd>This choice allows, in post editing page, to display all available tags 
-  or only most used ones.</dd>
+  <dd>You can select if you want to see, while editing an entry, all the tags used (<strong>Extended</strong>) or only the most used ones (<strong>Short</strong>).</dd>
 </dl>
 </body>
Index: locales/en/help/core_user_pref.html
===================================================================
--- locales/en/help/core_user_pref.html	(revision 2370)
+++ locales/en/help/core_user_pref.html	(revision 2534)
@@ -1,5 +1,5 @@
 <html>
 <head>
-  <title>User preferences</title>
+  <title>My preferences</title>
 </head>
 
@@ -10,24 +10,25 @@
   <dt>Last name, First name</dt>
   <dd>If the display name is empty, the author's name will be displayed
-  as his Firstname and Name as set here.</dd>
+  as his first name and last name as set here.</dd>
   
   <dt>Display name</dt>
-  <dd>You can choose here a nickname that will be displayed in your posts instead 
-  of your name and first name.</dd>
+  <dd>Here you can choose a nickname that will be displayed in your posts instead 
+  of your last name and first name.</dd>
   
   <dt>Email</dt>
-  <dd>Address where will be sent the new comment notifications.<em>(If you update
+  <dd>E-mail address used when you request a new password.<br />
+    New comment notifications will be sent to this address as well.<em>(If you update
   this field, you must enter your current password in the appropriate field at the 
   bottom of the form)</em></dd>
   
   <dt>URL</dt>
-  <dd>The user's web site. If set, the author name will be displayed as
-  a link to the said site.</dd>
+  <dd>The user's website. If set, the author name will be displayed as
+  a link to the said website.</dd>
   
-  <dt>User language</dt>
-  <dd>The language in wich one publishes his posts. If the translation exists,
+  <dt>Language for my interface</dt>
+  <dd>The language used when publishing entries. If the translation is available,
   the interface will also be displayed in that language.</dd>
   
-  <dt>User timezone</dt>
+  <dt>My timezone</dt>
   <dd>That choice will define the time displayed on post publication.</dd>
   
@@ -39,14 +40,17 @@
   the appropriate field at the bottom of the form)</em></dd>
 </dl>
+
+
 <h4>My options</h4>
+<h5>Interface</h5>
 <dl>  
   <dt>Activate enhanced uploader in media manager</dt>
   <dd>Allows to activate the advanced interface in media manager that enables to 
-  upload multiple files at a time (NB: your web browser must support Javascript 
-  to take benefit from this feature)</dd>
+  upload multiple files at a time (Note: Your Web browser must support Javascript 
+  to be able to use this feature).</dd>
 
-  <dt>Disable javascript powered drag and drop for ordering items</dt>
+  <dt>Disable Javascript powered drag and drop for ordering items</dt>
   <dd>Allows to disable "drag and drop" for item ordering. Drag and drop will be 
-  replaced by numeric fields that will enable en enter fields position.</dd>
+  replaced by numeric fields that will let you enter fields position instead.</dd>
 
   <dt>Number of elements displayed per page in media manager</dt>
@@ -55,53 +59,61 @@
   
   <dt>Do not use standard favicon</dt>
-  <dd>Allows to disable default favicon in web browser address bar.</dd>
-    
+  <dd>Allows to disable default favicon in the Web browser address bar.</dd>
+</dl>
+
+<h5>Edition</h5>
+<dl>    
   <dt>Preferred format</dt>
-  <dd>To choose the preferred post syntax. Wiki is a simplified syntax
-  and will be converted to valid xhtml&nbsp;; Unless you have a perfect
-  understanding of html, we advise you to choose the wiki syntax.</dd>
+  <dd>Choose the entry's syntax. Wiki is a simplified syntax
+  and will be converted to valid XHTML. Unless you have a perfect
+  understanding of XHTML, we advise you to choose the Wiki syntax.
+  See the Wiki syntax reference for more information.</dd>
   
   <dt>Default entry status</dt>
-  <dd>The default entry status can be set to:
+  <dd>The default status for new entries can be set to:
     <ul>
-      <li><strong>pending:</strong> the publication status has not yet been decided.</li>
-      <li><strong>scheduled:</strong> the post will be set online at the time and date
-      set in the <em>Published on</em> field.</li>
-      <li><strong>unpublished:</strong> the post is offline.</li>
-      <li><strong>published:</strong> the post is online.</li>
+      <li><strong>Pending:</strong> The publication status has not been yet decided.</li>
+      <li><strong>Scheduled:</strong> The entry will be set online at the time and date provided in the <strong>Published on</strong> field.</li>
+      <li><strong>Unpublished:</strong> Offline entry.</li>
+      <li><strong>Published:</strong> Online entry.</li>
     </ul>
   </dd>
   
   <dt>Entry edit field height</dt>
-  <dd>The height of the Entry edit field. Defaults to 24.</dd>
+  <dd>Sets the height of the edition field of an entry. By default, this parameter is set to 24.</dd>
   
   <dt>Enable WYSIWYG mode</dt>
-  <dd>Allows the use of the WYSIWYG editor for the posts and description fields.</dd>
+  <dd>Allows the use of the visual editor (WYSIWYG: What You See Is What You Get) for the entries, pages and categories description fields.</dd>
+</dl>
+
+<h5>Other options</h5>
+<dl>
+  <dt>Tags list format</dt>
+  <dd>You can select if you want to see, while editing an entry, all the tags used (<strong>Extended</strong>) or only the most used ones (<strong>Short</strong>).</dd>
 
   <dt>Syntax highlighting in theme editor</dt>
-  <dd>Enables syntax highlighting when using theme editor (html/css files)</dd>
-      
+  <dd>Enables syntax highlighting when using the theme editor (HTML and CSS files)</dd>     
 </dl>
-<h4>My favorites</h4>
+
+
+<h4>My dashboard</h4>
 <dl>
   <dt>My favorites</dt>
   <dd>This zone displays the chosen favorites on the blog's dashboard. 
-  They can be reordered with your mouse if javascript is activated in your browser. 
-  Otherwise, a field allows to give them an ordering number. When you are finished, do not forget 
-  to save your changes. You may also select favorites to be deleted from the list.</dd>
+  They can be reordered with your mouse if Javascript is activated in your browser. 
+  Otherwise, a field allows to give them an ordering number. When you are done, do not forget to save your changes by pressing <strong>Save order</strong>.<br />
+  You may also delete favorites by selecting them and pressing <strong>Delete selected favorites</strong>.</dd>
   
-  <dt>Define as default favorites (super admin)</dt> 
-  <dd>Enable to set currently defined favorites list as default favorites list for all users. 
-  This list will be proposed to users if they don't have defined their favorites yet.</dd>
+  <dt>Define as default favorites (super administrator)</dt> 
+  <dd>Enable to set currently defined favorites list as default favorites list for all users. This list will be proposed to users if they don't have defined their own favorites yet.</dd>
 
-  <dt>Available favorites</dt>
-  <dd>All plugins allowing to be put as favorites are diplayed here. Check the corresponding boxes 
-  and add them to the dashboard.</dd>
+  <dt>Other available favorites</dt>
+  <dd>All plugins allowing to be put as favorites are diplayed here. Check the corresponding boxes and add them to the dashboard by pressing <strong>Add tp my favorites</strong>.</dd>
 
   <dt>Display favorites at the top of the menu</dt>
-  <dd>Enables to display favorites in left-side menu.</dd>
+  <dd>If enabled, displays favorites at the top of the menu.</dd>
 
-  <dt>Iconset</dt>
-  <dd>If several iconsets are installed, enables to choose which isonset to
+  <dt>Icon set</dt>
+  <dd>If several iconsets are installed, enables to choose which icon set to
   use for admin.</dd>
   
@@ -110,20 +122,17 @@
   
   <dt>Display documentation links</dt>
-  <dd>Enables to display documentation links on dashboard landing page.</dd>
+  <dd>Enable to display documentation links on dashboard landing page.</dd>
   
   <dt>Display Dotclear news</dt>
-  <dd>Enables to display dotclear news on dashboard landing page.</dd>
+  <dd>Enable to display Dotclear news on dashboard landing page.</dd>
 
   <dt>Display quick entry form</dt>
-  <dd>Enables to display "quick entry" form on dashboard landing page.</dd>
+  <dd>Enable to display "quick entry" form on dashboard landing page.</dd>
 
   <dt>Display overdue tasks counter on maintenance dashboard icon</dt>
-  <dd>Enables to display the number of overdue tasks (ie. that should be processed) under the 
-  "Maintenance" icon. "Maintenance" icon should be set in favorites to take benefit from this feature.</dd>
+  <dd>Enables to display the number of overdue tasks (i.e. that should be processed) under the <strong>Maintenance</strong> icon. <strong>Maintenance</strong> icon has to be set in your favorites to use this feature.</dd>
 
   <dt>Display overdue tasks list on dashboard items</dt>
-  <dd>Enables to display the list of overdue tasks (ie. that should be processed) in a dedicated 
-  section on Dashboard landing page.</dd>
-
+  <dd>Enable to display the list of overdue tasks (i.e. that should be processed) in a dedicated section on the Dashboard landing page.</dd>
 </dl>
 </body>
Index: locales/en/help/core_users.html
===================================================================
--- locales/en/help/core_users.html	(revision 2534)
+++ locales/en/help/core_users.html	(revision 2534)
@@ -0,0 +1,48 @@
+<html>
+  <head>
+    <title>Users</title>
+  </head>
+  <body>
+    <p>This page lists all the users on the system.</p>
+    <p>To add (or modify) users' permissions, your password will be required in the <strong>Your password</strong> field.</p>
+
+    <h4>Users list filter</h4>
+    <dl>
+      <dt>Search</dt>
+      <dd>Search is based on the user ID. The <strong>*</strong> wildcard can be used to look only for a part of the user ID.</dd>
+
+      <dt>Order by</dt>
+      <dd>The users list can be ordered by their <em>ID</em>, their <em>Last Name</em>, their <em>First Name</em>, their <em>Display Name</em> (nickname) or the <em>Number of Entries</em> they created.</dd>
+
+      <dt>Sort</dt>
+      <dd>Indicates the sorting method that will be applied to the result list (<em>Ascending</em> or <em>Descending</em>).</dd>
+
+      <dt>Users per page</dt>
+      <dd>Sets the number of users displayed in each page of the result list.</dd>
+    </dl>
+
+    <h4>Users batch actions</h4>
+    <p>It is possible to make a batch of actions on several users at one time.</p>
+    <ul>
+      <li><strong>Set permissions:</strong> Set permissions for one or more blog(s).</li>
+      <li><strong>Delete:</strong> Remove the selected user(s) from the system. A user who created entries cannot be deleted.</li>
+    </ul>
+    <p>If you decide to set users' permissions, you will be redirected to a new page listing the blogs available on your system. Check the blogs you want to set the permissions on, and press <strong>Set permissions</strong>.</p>
+
+    <h4>Users permissions</h4>
+    <p>For each blog, you can set the following permissions:</p>
+    <ul>
+      <li><strong>Administrator:</strong> Can administrate the blog entirely.</li>
+      <li><strong>Manage their own entries and comments:</strong> The user can create entries and manage the comments on entries he created.</li>
+      <li><strong>Publish entries and comments:</strong> The user can modify the publication status of his own entries and of his entries' comments.</li>
+      <li><strong>Delete entries and comments:</strong> The user can delete his own entries as well as his entries' comments.</li>
+      <li><strong>Manage all entries and comments:</strong> The user can manage all the entries of this blog, no matter if he's the author or not.</li>
+      <li><strong>Manage categories:</strong> The user can create, modify and delete categories.</li>
+      <li><strong>Manage their own media items:</strong> The user can add media items and modifye or delete his own media.</li>
+      <li><strong>Manage all media items:</strong> The user can manage the media items from any user.</li>
+      <li><strong>Manage pages:</strong> The user can add and modify pages.</li>
+      <li><strong>Manage blogroll:</strong> The user can manage the blogroll of the current blog.</li>
+    </ul>
+    <p>The <strong>Super administrator</strong> status is set in the user profile.</p>
+  </body>
+</html>
Index: locales/en/help/core_wiki.html
===================================================================
--- locales/en/help/core_wiki.html	(revision 2367)
+++ locales/en/help/core_wiki.html	(revision 2534)
@@ -6,9 +6,9 @@
 <body>
 
-<h3>Wiki syntax reference</h3>
+<h4>Wiki syntax reference</h4>
 
-<p>The wiki syntax is a way to enhance your text with a minimal set
-of tags, studied to cover the basic needs (titles, paragraphs, quotes,
-lists...)</p>
+<p>The Wiki syntax is a way to enhance your text with a minimal set
+of tags studied to cover the basic needs (titles, paragraphs, quotes,
+lists...).</p>
 
 <dl>
@@ -17,11 +17,11 @@
 <ul>
   <li>Leave an empty line between two similar blocks.</li>
-  <li><strong>Paragraph</strong>: free text, ended by an empty line if
+  <li><strong>Paragraph:</strong> Free text, ended by an empty line if
   another paragraph is to follow.</li>
-  <li><strong>Title</strong>: <code>!!! title</code>, <code>!! title</code>
+  <li><strong>Title:</strong> <code>!!! title</code>, <code>!! title</code>
   or <code>! title</code>, allowing you to use three  different levels of
   heading.</li>
-  <li><strong>Horizontal line</strong>: <code>----</code></li>
-  <li><strong>Lists</strong>: Start each line with
+  <li><strong>Horizontal line:</strong> <code>----</code></li>
+  <li><strong>Lists:</strong> Start each line with
   <code>*</code> or <code>#</code> for unnumbered or numbered lists respectively.
   List imbrication is done by mixing list markers this way:
@@ -34,6 +34,6 @@
 </pre>
   </li>
-  <li><strong>Preformatted text</strong>: each line must start with a space.</li>
-  <li><strong>Block quote</strong>: each line must start with a semicolon (<code>&gt;</code>).</li>
+  <li><strong>Preformatted text:</strong> Each line must start with a space.</li>
+  <li><strong>Block quote:</strong> Each line must start with a <code>&gt;</code>.</li>
 </ul>
 </dd>
@@ -42,23 +42,23 @@
 <dd>
 <ul>
-  <li><strong>Emphasis</strong>: two quotes <code>''text''</code></li>
-  <li><strong>Strong emphasis</strong>: two underscore <code>__text__</code></li>
-  <li><strong>New line</strong>: <code>%%%</code></li>
-  <li><strong>Insertion</strong>: two plusses <code>++text++</code></li>
-  <li><strong>Deletion</strong>: two minuses <code>--text--</code></li>
-  <li><strong>Link</strong>: <code>[url]</code>, <code>[name|url]</code>,
-    <code>[name|url|language]</code> or <code>[name|url|languagee|title]</code></li>
-  <li><strong>Image</strong>:
+  <li><strong>Emphasis:</strong> Two quotes <code>''text''</code></li>
+  <li><strong>Strong emphasis:</strong> Two underscores <code>__text__</code></li>
+  <li><strong>New line:</strong> <code>%%%</code></li>
+  <li><strong>Insertion:</strong> Two plusses <code>++text++</code></li>
+  <li><strong>Deletion:</strong> Two minuses <code>--text--</code></li>
+  <li><strong>Link:</strong> <code>[url]</code>, <code>[name|url]</code>,
+    <code>[name|url|language]</code> or <code>[name|url|language|title]</code></li>
+  <li><strong>Image:</strong>
     <code>((url|alternative text))</code>,
     <code>((url|alternative text|position))</code> or
     <code>((url|alternative text|position|long description))</code>.
-    <br />The position can be either L or G (left), R or D (right) or C (centered).</li>
-  <li><strong>Anchor</strong>: <code>~anchor~</code></li>
-  <li><strong>Acronym</strong>: <code>??acronym|title??</code></li>
-  <li><strong>Inline HTML</strong>: two backquotes <code>``html code``</code></li>
-  <li><strong>Inline quote</strong>: <code>{{quote}}</code>,
+    <br />The position can be either L (left), R (right) or C (centered).</li>
+  <li><strong>Anchor:</strong> <code>~anchor~</code></li>
+  <li><strong>Acronym:</strong> <code>??acronym|title??</code></li>
+  <li><strong>Inline HTML:</strong> Two backquotes <code>``html code``</code></li>
+  <li><strong>Inline quote:</strong> <code>{{quote}}</code>,
     <code>{{quote|language}}</code> or <code>{{quote|language|url}}</code></li>
-  <li><strong>Code</strong>: <code>@@code@@</code></li>
-  <li><strong>Footnotes</strong>: <code>$$footnote$$</code></li>
+  <li><strong>Code:</strong> <code>@@code@@</code></li>
+  <li><strong>Footnotes:</strong> <code>$$footnote$$</code></li>
 </ul>
 </dd>
@@ -66,10 +66,10 @@
 <dt>Unformatted text</dt>
 <dd>If you don't want one formatting character to be interpreted as such, add a
-<code>\</code> just before it. This way:
-<code>\[text in brackets without being a link\]</code>
+<code>\</code> just before it. For instance:
+<code>\[Text in brackets without being a link\]</code>
 </dd>
 
-<dt>HTML Code</dt>
-<dd>Even if you chose the wiki syntax, you may sometimes need a more
+<dt>HTML code</dt>
+<dd>Even if you chose the Wiki syntax, you may sometimes need a more
 powerful formatting, i.e. HTML syntax. Do it the following way:
 <pre>
@@ -81,5 +81,4 @@
 </dl>
 
-
 </body>
 </html>
Index: locales/en/help/index.html
===================================================================
--- locales/en/help/index.html	(revision 2484)
+++ locales/en/help/index.html	(revision 2535)
@@ -6,17 +6,17 @@
 <body>
 
-<div class="multi-part legible" id="first-step" title="Premiers pas">
+<div class="multi-part legible" id="first-step" title="First steps">
 	<h3>Interface discovery</h3>
 	<div class="fieldset">
 		<h4>First steps</h4>
 		<p> In addition to the global help pages, several administration pages have an online help. If javascript is enabled
-		on your browser, you can see online help at the upper-right position of the page, by clicking on the <img src="images/menu/help.png" alt="" /> <strong>Need Help&nbsp;?</strong> link ; if javascript is disabled, the help is displayed at the bottom of the page.</p>
-	</div>
-
-	<p> Each administration page will contain the same top heading, main manu and footer.<em>(The location for each element
-	is shown here for a computer reading&nbsp;; for mobile devices or tablets, the location may vary according the the space available.)</em></p>
+		on your browser, you can see online help at the upper-right position of the page, by clicking on the <img src="images/menu/help.png" alt="" /> <strong>Need Help?</strong> link; If Javascript is disabled, the help is displayed at the bottom of the page.</p>
+	</div>
+
+	<p> Each administration page will contain the same top heading, main manu and footer. <em>(The location for each element
+	is shown here for a computer reading; For mobile devices or tablets, the location may vary according the the space available.)</em></p>
 
 	<h4 class="pretty-title">Top heading</h4>
-	<p>The top heading is composed of three elements :</p>
+	<p>The top heading is composed of three elements:</p>
 	<h5 class="as_h4">Logo</h5>
 	<p>By default, this logo is the Dotclear logo, and links to the administration landing page. However, a platform
@@ -24,5 +24,5 @@
 
 	<h5 class="as_h4">Blog(s)</h5>
-	<p>The first element located after the logo shows the <em>active</em> blog, ie. the blog on which you are acting. If your
+	<p>The first element located after the logo shows the <em>active</em> blog, i.e. the blog on which you are acting. If your
 	installation is composed of several blogs, these information are available in a combo menu, which enables to switch to another blog.</p>
 	<p>The link following the blog name enables to go and see the blog in another window or another tab.</p>
@@ -31,9 +31,9 @@
 	<p>At the very right part of the heading section, the link <em>My dashboard</em> enables to get back to the blog landing page.</p>
 	<p>The next link, <em>My preferences</em>, leads to the page where you can modify your personal information, setup the dashboard and choose your interface and editing options.</p>
-	<p>Surprisingly, the link <em>Disconnect [your login]</em> enables to…  get disconnected (at Dotclear's, we are ergnonomy champions!).</p>
+	<p>Surprisingly, the link <em>Disconnect [your login]</em> enables to… get disconnected (at Dotclear's, we are ergonomy champions!).</p>
 
 	<h4 class="pretty-title">Main menu</h4>
-	<p>The main menu is located on the left side of the screen. It can be collapsed by clicking on its right border (and then uncollapsed by clicking again on it)</p>
-	<p>It leads to the different administration pages, according to your permissions on the current blog. It is composed of four blocks&nbsp;:</p>
+	<p>The main menu is located on the left side of the screen. It can be collapsed by clicking on its right border (and then uncollapsed by clicking again on it).</p>
+	<p>It leads to the different administration pages, according to your permissions on the current blog. It is composed of four blocks:</p>
 	<ul>
 		<li><strong>My favorites</strong> lists the pages that you have selected as favorites in the <em>My preferences</em>/<em>My Dashboard</em> tab. If you have not selected any favorite yet, this list will contain the default dotclear set, or the set that has been defined by the platform manager. If you do not want to display this block, you can uncheck the matching checkbox in your dashboard options .</li>
@@ -44,16 +44,16 @@
 	</ul>
 
-	<h4 class="pretty-title">Pied de page</h4>
-	<p>Une version gratuite de Dotclear est offerte à tout utilisateur découvrant le secret du pied de page.</p>
-
-	<h3>Aide aux grands débutants</h3>
-	<p>Si vous n'êtes pas familier avec l'univers des blogs, nous vous recommandons notre documentation (sommaire complet dans les onglets Documentation de cette page) ainsi que les tutoriels qui vous sont spécialement dédiés sur le blog <a href="http://abc.dotaddict.org">abc Dotclear</a>. Par exemple&nbsp;:</p>
+	<h4 class="pretty-title">Footer</h4>
+	<p>A free version of Dotclear will be offered to any user who will discover the secret hidden in the footer.</p>
+
+	<h3>Help for great beginners</h3>
+	<p>If you are not familiar with blogs, we recommend that you have a look at our documentation (the whole table of contents is available in the <strong>Documentation</strong> tab of this page) as well as tutorials such as:
 	<ul>
-		<li><a href="http://dotclear.org/documentation/2.0/usage/beginners">Mon premier billet pas à pas</a></li>
-		<li><a href="http://abc.dotaddict.org/post/2009/07/08/13-Ma-premiere-sauvegarde">Ma première sauvegarde</a></li>
-		<li><a href="http://abc.dotaddict.org/post/1970/01/01/Choisir-un-theme">Choisir un thème</a></li>
+		<li><a href="http://dotclear.org/documentation/2.0/usage/beginners">My first entry, step by step</a></li>
 	</ul>
-	<p>Le <a href="http://forum.dotclear.net/">forum</a> est un lieu d'entraide convivial où aucune question n'est considérée comme stupide. N'hésitez pas à y participer pour demander de l'aide et – pourquoi pas – aider d'autres utilisateurs à votre tour.</p>
-	<p class="info">Nous nous efforçons d'utiliser un vocabulaire compréhensible sans connaissances préalables. Toutefois si nous nous sommes laissés aller à employer un terme de jargon, vous en trouverez sans doute l'explication dans le <a href="http://dotclear.org/documentation/glossary">glossaire</a> de notre documentation en ligne.</p>
+
+	<p>The <a href="http://dotclear.org/forum/">Dotclear forum</a> is a welcoming place where there is no such thing as <em>a stupid question</em>. Don't hesitate to participate if you need help and, why not, to help people in return.</p>
+
+	<p class="info">We try our best to use a vocabulary that is easy to understand without specific knowledge. However, if we end up using a technical term, you will probably find its definition in the <a href="http://dotclear.org/documentation/glossary">glossary</a> of our online documentation.</p>
 </div>
 
@@ -64,17 +64,60 @@
 			<ul class="from-left">
 				<li><a href="http://dotclear.org/documentation/2.0/usage/entries">Entries</a>
-					<ul><li>Creating and editing</li><li>Entry details</li><li>Entry-related actions</li><li>Comments and trackbacks</li><li>Batch management of entries</li></ul></li>
+					<ul>
+						<li>Creating and editing</li>
+						<li>Entry details</li>
+						<li>Entry-related actions</li>
+						<li>Comments and trackbacks</li>
+						<li>Batch management of entries</li>
+					</ul>
+				</li>
 				<li><a href="http://dotclear.org/documentation/2.0/usage/comments-trackbacks">Comments and trackbacks</a>
-					<ul><li>Follow-up</li><li>Management</li></ul></li>
+					<ul>
+						<li>Follow-up</li>
+						<li>Management</li>
+					</ul>
+				</li>
 				<li><a href="http://dotclear.org/documentation/2.0/usage/categories">Categories</a>
-					<ul><li>Creating a category</li><li>Editing a category</li><li>Deleting a category</li><li>Sotring the category list</li></ul></li>
+					<ul>
+						<li>Creating a category</li>
+						<li>Editing a category</li>
+						<li>Deleting a category</li>
+						<li>Sotring the category list</li>
+					</ul>
+				</li>
 				<li><a href="http://dotclear.org/documentation/2.0/usage/tags">Tags (keywords)</a>
-					<ul><li>Adding tags</li><li>Tag management</li></ul></li>
+					<ul>
+						<li>Adding tags</li>
+						<li>Tag management</li>
+					</ul>
+				</li>
 				<li><a href="http://dotclear.org/documentation/2.0/usage/media">Media and attachments</a>
-					<ul><li>Creating a sub-directory</li><li>Adding files</li><li>Downloading a zip archive of the current directory</li><li>Change of gill in file details</li><li>Adding files directly</li><li>Special file types</li><li>Attachments</li></ul></li>
+					<ul>
+						<li>Creating a sub-directory</li>
+						<li>Adding files</li>
+						<li>Downloading a zip archive of the current directory</li>
+						<li>Change of gill in file details</li>
+						<li>Adding files directly</li>
+						<li>Special file types</li>
+						<li>Attachments</li>
+					</ul>
+				</li>
 				<li><a href="http://dotclear.org/documentation/2.0/usage/widgets">Blog menu content (widgets)</a>
-					<ul><li>Navigation sidebar, Extra sidebar</li><li>Defualt widgets</li><li>Adding/removing a widget</li><li>Widgets options</li></ul></li>
+					<ul>
+						<li>Navigation sidebar, Extra sidebar</li>
+						<li>Defualt widgets</li>
+						<li>Adding/removing a widget</li>
+						<li>Widgets options</li>
+					</ul>
+				</li>
 				<li><a href="http://dotclear.org/documentation/2.0/usage/blogroll">Blogroll</a>
-					<ul><li>Blogroll</li><li>Adding a link</li><li>Adding a category</li><li>XFN</li><li>Importing links from an OPML or XBEL file</li></ul></li>
+					<ul>
+						<li>Blogroll</li>
+						<li>Adding a link</li>
+						<li>Adding a category</li>
+						<li>XFN</li>
+						<li>Importing links from an OPML or XBEL file</li>
+					</ul>
+				</li>
 			</ul>
 	</div>
@@ -83,79 +126,166 @@
 			<ul class="from-left">
 				<li><a href="http://dotclear.org/documentation/2.0/usage/blog-parameters">Blog settings</a>
-					<ul><li>Blog details</li><li>Blog configuration</li><li>Comments and trackbacks</li><li>Blog presentation</li><li>Media and images</li><li>Search engine robot policy</li><li>Antispam</li><li>LightBox</li><li>Save</li></ul></li>
+					<ul>
+						<li>Blog details</li>
+						<li>Blog configuration</li>
+						<li>Comments and trackbacks</li>
+						<li>Blog presentation</li>
+						<li>Media and images</li>
+						<li>Search engine robot policy</li>
+						<li>Antispam</li>
+						<li>LightBox</li>
+						<li>Save</li>
+					</ul>
+				</li>
 				<li><a href="http://dotclear.org/documentation/2.0/usage/user-preferences">User preferences</a>
-					<ul><li>Mon profil</li><li>Mes options</li><li>Mon tableau de bord</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/themes">Apparence du blog</a>
-					<ul><li>Choisir un thème</li><li>Installer un thème</li><li>Personnaliser un thème</li><li>Éditeur de thème</li></ul></li>
+					<ul>
+						<li>My profile</li>
+						<li>My options</li>
+						<li>My dashboard</li>
+					</ul>
+				</li>
+				<li><a href="http://dotclear.org/documentation/2.0/admin/themes">Blog appearance</a>
+					<ul>
+						<li>Choose a theme</li>
+						<li>Install a theme</li>
+						<li>Personnalize a theme</li>
+						<li>Theme editor</li>
+					</ul>
+				</li>
 			</ul>
 	</div>
 	<div class="three-boxes fieldset">
-			<h4 class="smart-title">Lectures complémentaires</h4>
-				<h5>Glossaire</h5>
-				<ul><li><a href="http://dotclear.org/documentation/glossary">Tous ces mots mystérieux utilisés dans le web et pour Dotclear</a></li></ul>
-				<h5>Syntaxes de saisie</h5>
-					<ul><li><a href="http://dotclear.org/documentation/2.0/usage/syntaxes">Syntaxe wiki et correspondances xhtml</a></li><li><a href="http://dotclear.org/documentation/2.0/usage/syntaxes#aller-plus-loin">Aller plus loin</a></li></ul>
-				<h5>Syndication RSS, Atom</h5>
-					<ul><li><a href="http://dotclear.org/documentation/2.0/usage/feeds">Kesako ?</a></li><li><a href="http://dotclear.org/documentation/2.0/usage/feeds#comment-les-mettre-a-disposition">Comment les mettre à disposition ?</a></li><li><a href="http://dotclear.org/documentation/2.0/usage/feeds#comment-s-abonner">Comment s&#039;abonner ?</a></li><li><a href="http://dotclear.org/documentation/2.0/usage/feeds#en-savoir-plus">En savoir plus</a></li></ul>
-			<h4 class="smart-title">Tutoriels</h4>
-				<ul><li><a href="http://abc.dotaddict.org/archive">abc dotclear</a>, un blog spécialement dédié aux grands débutants.</li>
-				<li><a href="http://tips.dotaddict.org">Tips</a>, des tutoriels pour vous aider à personnaliser votre blog.</li></ul>
-			<h4 class="smart-title">Entraide</h4>
-				<ul><li><a href="http://forum.dotclear.net">Le forum de Dotclear</a></li><li><a href="http://dotclear.org/documentation/2.0/faq#utilisation">Questions fréquentes des utilisateurs</a></li></ul>
+			<h4 class="smart-title">Additional readings</h4>
+				<h5>Glossary</h5>
+				<ul><li><a href="http://dotclear.org/documentation/glossary">All these mysterious words used on the Web and in Dotclear</a></li></ul>
+				<h5>Input syntaxes</h5>
+					<ul>
+						<li><a href="http://dotclear.org/documentation/2.0/usage/syntaxes">Wiki syntax and XHTML equivalent</a></li>
+						<li><a href="http://dotclear.org/documentation/2.0/usage/syntaxes#to-go-further">To go further</a></li>
+					</ul>
+				<h5>Subscription (RSS, Atom...)</h5>
+					<ul>
+						<li><a href="http://dotclear.org/documentation/2.0/usage/feeds">What's that?</a></li>
+						<li><a href="http://dotclear.org/documentation/2.0/usage/feeds#how-do-i-make-it-available-on-my-blog">How do I make it available on my blog?</a></li>
+						<li><a href="http://dotclear.org/documentation/2.0/usage/feeds#how-do-i-suscribe-to-a-feed">How do I subscribe to a feed?</a></li>
+						<li><a href="http://dotclear.org/documentation/2.0/usage/feeds#to-go-further">To go further</a></li>
+					</ul>
+			<h4 class="smart-title">Help</h4>
+				<ul>
+					<li><a href="http://dotclear.org/forum">The Dotclear forum</a></li>
+					<li><a href="http://dotclear.org/documentation/2.0/faq">Frequently Asked Questions</a></li>
+				</ul>
 	</div>
 </div>
 
-	<div class="multi-part" id="admin-doc" title="Documentation administrateurs">
-	<h3>Documentation pour les administrateurs</h3>
+	<div class="multi-part" id="admin-doc" title="Documentation for administrators">
+	<h3>Documentation for administrators</h3>
 		<div class="three-boxes">
-		<h4 class="pretty-title">Installation et mise à jour</h4>
+		<h4 class="pretty-title">Installation and update</h4>
 			<ul class="from-left">
 				<li><a href="http://dotclear.org/documentation/2.0/admin/install">Installation</a>
-					<ul><li>Prérequis</li><li>Installation automatique</li><li>Installation « classique »</li><li>Assistant d’installation</li><li>Mise en place manuelle du fichier config.php</li><li>Fin de l’installation</li><li>Etapes suivantes</li><li>Multiblog</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/upgrade">Mise à jour</a>
-					<ul><li>Préparatifs</li><li>Mise à jour automatique</li><li>Mise à jour manuelle du programme</li><li>Mise à jour de la base de données</li><li>Avec SQLite</li><li>Annexe : mise à jour d&#039;une copie subversion</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/config">Paramètres du fichier de configuration</a>
-					<ul><li>Introduction</li><li>Paramètres</li><li>Ajouts au fichier</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/1-to-2">Mise à jour de Dotclear 1.2 vers 2</a>
-					<ul><li>Cas général</li><li>Si vous changez de serveur</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/migrate">Migration d&#039;un autre système de blog à Dotclear</a></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/local-install">Installer en local</a>
-					<ul><li>Windows</li><li>Mac OS X</li><li>Linux</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/install/iis">Installation de Dotclear avec IIS7</a></li>
-			</ul>
-
-			<h5>Annexe hébergeurs</h5>
-			<ul class="from-left">
-				<li><a href="http://dotclear.org/documentation/2.0/hosting">Hébergeurs</a>
-					<ul><li>Documentations spécifiques</li><li>Hébergeurs supportant Dotclear</li><li>Panels d&#039;installation</li><li>Tester votre hébergeur</li></ul></li></ul>
+					<ul>
+						<li>Prerequisites</li>
+						<li>Automatic installation</li>
+						<li>Standard installation</li>
+						<li>Installing using the Wizard</li>
+						<li>Installing from the config.php file</li>
+						<li>Completing the installation process</li>
+						<li>Next steps</li>
+					</ul>
+					</li>
+				<li><a href="http://dotclear.org/documentation/2.0/admin/upgrade">Updating</a>
+					<ul>
+						<li>Preparing for the update</li>
+						<li>Automatic upgrade</li>
+						<li>Updating the program</li>
+						<li>Updating the database</li>
+						<li>Appendix: updating a mercurial copy</li>
+					</ul>
+				</li>
+				<li><a href="http://dotclear.org/documentation/2.0/admin/config">Configuration File (config.php) Parameters</a>
+					<ul>
+						<li>Introduction</li>
+						<li>Parameters</li>
+						<li>Adding information to the file</li>
+					</ul>
+				</li>
+				<li><a href="http://dotclear.org/documentation/2.0/admin/1-to-2">Upgrading from Dotclear 1.2 to Dotclear 2</a>
+				</li>
+				<li><a href="http://dotclear.org/documentation/2.0/admin/migrate">Migrating from another blogging software to Dotclear</a></li>
+				<li><a href="http://dotclear.org/documentation/2.0/admin/local-install">Local installation</a>
+					<ul>
+						<li>Windows</li>
+						<li>Mac OS X</li>
+						<li>Linux</li>
+					</ul>
+				</li>
+				<li><a href="http://dotclear.org/documentation/2.0/admin/install/iis">Installing Dotclear with IIS7</a></li>
+			</ul>
+
+			<h5>Hosting Annex</h5>
+			<ul class="from-left">
+				<li><a href="http://dotclear.org/documentation/2.0/hosting">Hosting</a>
+				</li>
+			</ul>
 		</div>
 		<div class="three-boxes">
 			<h4 class="pretty-title">Administration</h4>
 			<ul class="from-left">
-				<li><a href="http://dotclear.org/documentation/2.0/admin/users">Gestion des utilisateurs</a>
-					<ul><li>Liste des utilisateurs existants</li><li>Créer un utilisateur</li><li>Modifier un utilisateur</li><li>Permissions de l&#039;utilisateur</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/clean-install">Installation optimisée</a>
-					<ul><li>Installation de Dotclear</li><li>Isoler les plugins</li><li>Créer les bases du blog</li><li>Créer le blog</li><li>Les thèmes et les médias</li><li>Et l’administration dans tout ça ?</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/multiblog">Installation multiblogs</a></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/plugins">Gestion des extensions</a>
-					<ul><li>Installer une extension</li><li>Configuration des extensions</li><li>Suppression d&#039;une extension</li><li>Mettre à jour une extension</li></ul></li>
+				<li><a href="http://dotclear.org/documentation/2.0/admin/users">Managing users</a>
+					<ul>
+						<li>Existing user list</li>
+						<li>Creating a user</li>
+						<li>Modifying a user</li>
+						<li>User permissions</li>
+					</ul>
+				</li>
+				<li><a href="http://dotclear.org/documentation/2.0/admin/clean-install">Clean installation</a>
+				</li>
+				<li><a href="http://dotclear.org/documentation/2.0/admin/multiblog">Multiblog Installation</a></li>
+				<li><a href="http://dotclear.org/documentation/2.0/admin/plugins">Managing plugins</a>
+					<ul>
+						<li>Installing a plugin</li>
+						<li>Configuring plugins</li>
+						<li>Removing a plugin</li>
+						<li>Updating a plugin</li>
+					</ul>
+				</li>
 				<li><a href="http://dotclear.org/documentation/2.0/admin/themes/blowup">Blowup, le thème par défaut</a>
-					<ul><li>Styles prédéfinis</li><li>Je style mon Blowup</li><li>Contraintes</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/themes">Autre apparence</a>
-					<ul><li>Choisir un thème</li><li>Installer un thème</li><li>Personnaliser un thème</li><li>Éditeur de thème</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/aboutconfig">Configuration avancée</a></li>
+				</li>
+				<li><a href="http://dotclear.org/documentation/2.0/admin/themes">Blog Themes</a>
+					<ul>
+						<li>Choosing a theme</li>
+						<li>Installing a theme</li>
+						<li>Customizing a theme</li>
+						<li>Theme editor</li>
+					</ul>
+				</li>
+				<li><a href="http://dotclear.org/documentation/2.0/admin/aboutconfig">Advanced configuration</a></li>
 			</ul>
 		</div>
 		<div class="three-boxes">
-			<h4 class="pretty-title">Gestion et maintenance</h4>
-			<ul class="from-left">
-				<li><a href="http://dotclear.org/documentation/2.0/admin/backup">Sauvegarde et restauration</a>
-					<ul><li>Import/Export</li><li>Médias</li><li>Base de données</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/admin/antispam">Filtre de commentaires indésirables</a>
-					<ul><li>Organisation des filtres</li><li>Configuration des filtres</li></ul></li>
+			<h4 class="pretty-title">Maintenance</h4>
+			<ul class="from-left">
+				<li><a href="http://dotclear.org/documentation/2.0/admin/backup">Backup and restore</a>
+					<ul>
+						<li>Import/Export</li>
+						<li>Files</li>
+						<li>Database</li>
+					</ul>
+				</li>
+				<li><a href="http://dotclear.org/documentation/2.0/admin/antispam">Spam comment filters</a>
+					<ul>
+						<li>Filter organization</li>
+						<li>Filter configuration</li>
+					</ul>
+				</li>
 			</ul>
 			<div class="fieldset vertical-separator">
-				<h4 class="smart-title">Entraide</h4>
-				<ul><li><a href="http://forum.dotclear.net">Le forum de Dotclear</a></li><li><a href="http://dotclear.org/documentation/2.0/faq#utilisation">Questions fréquentes des administrateurs</a></li></ul>
+				<h4 class="smart-title">Help</h4>
+				<ul>
+					<li><a href="http://dotclear.org/forum">The Dotclear forum</a></li>
+					<li><a href="http://dotclear.org/documentation/2.0/faq#administration">Frequently Asked Questions (Administrators)</a></li>
+				</ul>
 			</div>
 		</div>
@@ -163,16 +293,42 @@
 	</div>
 
-	<div class="multi-part" id="guide-dev" title="Documentation développeurs">
-	<h3>Documentation et ressources pour les développeurs</h3>
+	<div class="multi-part" id="guide-dev" title="Developers documentation">
+	<h3>Developer and Designer Resources</h3>
 
 		<div class="three-boxes first-child">
-			<h4 class="pretty-title">Design &amp; Thèmes</h4>
-			<ul class="from-left">
-				<li><a href="http://dotclear.org/documentation/2.0/resources/themes">Thèmes</a>
-					<ul><li>Guide d&#039;utilisation des thèmes</li><li>Les balises template</li><li>Annexes</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/resources/themes/inheritance">L&#039;héritage des thèmes</a>
-					<ul><li>L&#039;héritage des thèmes</li><li>Principe</li><li>Limitations</li><li>Mise en œuvre</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/resources/themes/tags">Les balises de template</a>
-					<ul><li>Généralités / utilitaires</li><li>Blog</li><li>Billets</li><li>Pagination des billets</li><li>Commentaires</li><li>Prévisualisation d&#039;un commentaire</li><li>Rétroliens</li><li>Pièces jointes</li><li>Categories</li><li>Tags</li><li>Archives</li><li>Langues</li><li>Système</li><li>Widgets</li></ul></li>
+			<h4 class="pretty-title">Design &amp; Themes</h4>
+			<ul class="from-left">
+				<li><a href="http://dotclear.org/documentation/2.0/resources/themes">Themes</a>
+					<ul>
+						<li>User guide for themes</li>
+						<li>The template tags</li>
+						<li>Appendix</li>
+					</ul>
+				</li>
+				<li><a href="http://dotclear.org/documentation/2.0/resources/themes/inheritance">Themes inheritance</a>
+					<ul>
+						<li>Principle</li>
+						<li>Limitations</li>
+						<li>Set up</li>
+					</ul>
+					</li>
+				<li><a href="http://dotclear.org/documentation/2.0/resources/themes/tags">Template tags</a>
+					<ul>
+						<li>Generalities / utilities</li>
+						<li>Blog</li>
+						<li>Entries</li>
+						<li>Entries pagination</li>
+						<li>Comments</li>
+						<li>Comment preview</li>
+						<li>Pings</li>
+						<li>Attachments</li>
+						<li>Categories</li>
+						<li>Tags</li>
+						<li>Archives</li>
+						<li>Languages</li>
+						<li>System</li>
+						<li>Widgets</li>
+					</ul>
+				</li>
 			</ul>
 		</div>
@@ -181,13 +337,29 @@
 			<h4 class="pretty-title">Code &amp; Plugins</h4>
 			<ul class="from-left">
-				<li><a href="http://dotclear.org/documentation/2.0/resources/tpl">Création d’une balise tpl pour un plugin ou un thème</a>
-					<ul><li>Introduction</li><li>Les valeurs</li><li>Les blocs d’instruction</li><li>Démonstration de l&#039;influence du cache des templates</li></ul></li>
+				<li><a href="http://dotclear.org/documentation/2.0/resources/tpl">Creation of a tpl tag for a plugin or a theme</a>
+					<ul>
+						<li>Introduction</li>
+						<li>Values</li>
+						<li>Instructions blocks</li>
+						<li>Demonstration of the template cache influence</li>
+					</ul>
+				</li>
 				<li><a href="http://dotclear.org/documentation/2.0/resources/plugins">Plugins</a>
-					<ul><li>Réalisation de plugin</li><li>Documents annexes</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/resources/plugins/help">Construire l'aide contextuelle d'un plugin</a></li>
-				<li><a href="http://dotclear.org/documentation/2.0/resources/authentication">Authentification externe</a>
-					<ul><li>Préambule</li><li>Une nouvelle classe d&#039;authentification</li><li>Scénario</li><li>Application</li></ul></li>
-				<li><a href="http://dotclear.org/documentation/2.0/resources/xml-rpc">Interface XML/RPC</a></li>
-				<li><a href="http://dev.dotclear.org/code/2/">Documentation de l&#039;API</a></li>
+					<ul>
+						<li>Writing a plugin</li>
+						<li>Appendix</li>
+					</ul>
+				</li>
+				<li><a href="http://dotclear.org/documentation/2.0/resources/plugins/help">Building the plugin contextual help</a></li>
+				<li><a href="http://dotclear.org/documentation/2.0/resources/authentication">External authentication</a>
+					<ul>
+						<li>Preamble</li>
+						<li>A new authentication class</li>
+						<li>Scenario</li>
+						<li>Application</li>
+					</ul>
+				</li>
+				<li><a href="http://dotclear.org/documentation/2.0/resources/xml-rpc">XML/RPC interface</a></li>
+				<li><a href="http://dev.dotclear.org/code/2/">API documentation</a></li>
 			</ul>
 		</div>
@@ -196,29 +368,30 @@
 			<h4 class="pretty-title">Contribution &amp; Support</h4>
 			<ul class="from-left">
-				<li><a href="http://dotclear.org/documentation/2.0/resources/contribute">Contribuer</a>
-					<ul><li>Améliorer la documentation</li><li>Où envoyer vos œuvres?</li><li>Rapporter les bugs ou proposer une amélioration</li><li>Suggestions</li><li>Traduction</li></ul></li>
-				<li><a href="http://hg.dotclear.org/">Le dépôt du code source de Dotclear</a></li>
-				<li><a href="http://forum.dotclear.net">Le forum de Dotclear</a></li>
+				<li><a href="http://dotclear.org/documentation/2.0/resources/contribute">Contribute</a>
+					<ul>
+						<li>Edit this documentation</li>
+						<li>Share your creations</li>
+						<li>Report bugs or suggest new features</li>
+						<li>Localization</li>
+				</ul>
+			</li>
+				<li><a href="http://hg.dotclear.org/">Dotclear source code repository</a></li>
+				<li><a href="http://dotclear.org/forum">Dotclear forum</a></li>
 			</ul>
 
 			<div class="fieldset">
-				<h4 class="smart-title">Lectures complémentaires</h4>
-				<ul>
-					<li><a href="http://tips.dotaddict.org/meta/skills/php_skills">Tips</a>, des tutoriels pour vous aider à développer.</li>
-				</ul>
-
 				<h4 class="smart-title">Conventions</h4>
 				<ul>
-					<li><a href="http://dotclear.org/documentation/2.0/resources/coding-standards">Conventions de codage</a></li>
-					<li><a href="_charte.php">Charte des pages de l'administration</a></li>
+					<li><a href="http://dotclear.org/documentation/2.0/resources/coding-standards">Coding standards</a></li>
+					<li><a href="_charte.php">Administration pages chart</a></li>
 				</ul>
 			</div>
 		</div>
 	</div>
-	<div class="multi-part legible" id="a11y-ergo" title="Accessibilité et ergonomie">
-	<h3>Accessibilité et ergonomie</h3>
-	<p>L'interface de Dotclear répond à la quasi totalité des critères <a href="http://www.w3.org/Translations/WCAG20-fr/">WCAG 2.0</a> ; un reporting précis sera prochainement publié sur le <a href="http://dotclear.org/blog/">blog du projet</a>. À terme nous aimerions également répondre pleinement aux critères <a href="http://www.w3.org/TR/ATAG20/">ATAG 2.0</a>.</p>
-	<p>L'accessibilité et l'ergonomie sont au cœur des préoccupations de l'équipe Dotclear. Nous menons régulièrement des analyses avec l'aide d'experts et procédons continuellement à des correctifs et améliorations.</p>
-	<p>Vous pouvez nous aider dans cette tâche en ouvrant des <a href="http://dev.dotclear.org/2.0/report">tickets</a> ou en participant au <a href="http://forum.dotclear.org/">forum</a> pour nous faire part des difficultés que vous rencontrez pour utiliser l'interface. Vous pouvez également y proposer de participer à des tests utilisateurs ou de rejoindre notre équipe.</p>
+	<div class="multi-part legible" id="a11y-ergo" title="Accessibility and ergonomy">
+	<h3>Accessibility and ergonomy</h3>
+	<p>The Dotclear interface fulfills almost all the <a href="http://www.w3.org/TR/WCAG20/">WCAG 2.0</a> criterion; We are working towards making Dotclear compatible with <a href="http://www.w3.org/TR/ATAG20/">ATAG 2.0</a> guidelines.</p>
+	<p>Accessibility and ergonomy are one of our main concern. We regularly run analysis with the help of experts and continuously provide fixes and enhancements.</p>
+	<p>You can help us by opening <a href="http://dev.dotclear.org/2.0/report">tickets</a> or by participating on the <a href="http://dotclear.org/forum/">forum</a>. You can also participate in user testing or join our team!</p>
 	</div>
 
Index: plugins/aboutConfig/locales/en/help/help.html
===================================================================
--- plugins/aboutConfig/locales/en/help/help.html	(revision 2322)
+++ plugins/aboutConfig/locales/en/help/help.html	(revision 2534)
@@ -1,11 +1,17 @@
 <html>
-<head>
-  <title>About:Config</title>
-</head>
+  <head>
+    <title>About:Config</title>
+  </head>
+  
+  <body>    
+    <h4>About:Config</h4>
+    <p>This page provides technical information about the configuration of the current blog (as well as configuration common to all the blogs). These parameters are usually managed by other pages in the administration interface.<br />
+    Only modify something here if you know what you are doing!</p>
+    
+    <p>Some parameters can only be modified on this page.</p>
 
-<body>
+    <p>The page has two tabs: <strong>Settings for the current blog (blog name)</strong> and <strong>Global settings</strong> to manage the current blog settings and the global settings, respectively.</p>
 
-<h4>About:Config</h4>
-
-</body>
+    <p>You can directly access the different page sections using the <strong>Goto</strong> dropdown menu.</p>
+  </body>
 </html>
Index: plugins/antispam/filters/class.dc.filter.linkslookup.php
===================================================================
--- plugins/antispam/filters/class.dc.filter.linkslookup.php	(revision 2524)
+++ plugins/antispam/filters/class.dc.filter.linkslookup.php	(revision 1366)
@@ -15,17 +15,17 @@
 {
 	public $name = 'Links Lookup';
-
+	
 	private $server = 'multi.surbl.org';
-
+	
 	protected function setInfo()
 	{
 		$this->description = __('Checks links in comments against surbl.org');
 	}
-
+	
 	public function getStatusMessage($status,$comment_id)
 	{
 		return sprintf(__('Filtered by %1$s with server %2$s.'),$this->guiLink(),$status);
 	}
-
+	
 	public function isSpam($type,$author,$email,$site,$ip,$content,$post_id,&$status)
 	{
@@ -33,8 +33,8 @@
 			return;
 		}
-
+		
 		$urls = $this->getLinks($content);
 		array_unshift($urls,$site);
-
+		
 		foreach ($urls as $u)
 		{
@@ -48,8 +48,4 @@
 
 			$i = count($domain_elem) - 1;
-			if ($i == 0) {
-				// "domain" is 1 word long, don't check it
-				return null;
-			}
 			$host = $domain_elem[$i];
 			do
@@ -57,13 +53,13 @@
 				$host = $domain_elem[$i - 1].'.'.$host;
 				$i--;
-				if (substr(gethostbyname($host.'.'.$this->server),0,3) == "127" )
+				if (substr(gethostbyname($host.'.'.$this->server),0,3) == "127" ) 
 				{
 					$status = substr($domain,0,128);
 					return true;
-				}
+				}				
 			} while ($i > 0);
 		}
 	}
-
+	
 	private function getLinks($text)
 	{
Index: plugins/antispam/index.php
===================================================================
--- plugins/antispam/index.php	(revision 2495)
+++ plugins/antispam/index.php	(revision 2322)
@@ -117,5 +117,4 @@
 	echo
 		dcPage::jsLoad('js/jquery/jquery-ui.custom.js').
-		dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js').
 		dcPage::jsLoad('index.php?pf=antispam/antispam.js');
   }
Index: plugins/antispam/locales/en/help/comments.html
===================================================================
--- plugins/antispam/locales/en/help/comments.html	(revision 2329)
+++ plugins/antispam/locales/en/help/comments.html	(revision 2535)
@@ -1,10 +1,22 @@
 <html>
 <head>
-  <title>Antispam moderation</title>
+  <title>Moderation of junk messages</title>
 </head>
 
 <body>
 
-<h4>Antispam moderation</h4>
+<h4>Moderation of junk messages</h4>
+<p>Junk messages, commonly called spams, are usually comments posted by robots.</p>
+
+<dl>
+<dt>Show spam messages</dt>
+<dd>Allows you to control all the comments and trackbacks Dotclear identified as spams before deleting them. Sometimes, a real comment can be identified as a false positive.</dd>
+
+<dt>Delete all spams</dt>
+<dd>By clicking on this button, all the comments and trackbacks marked as spam will be deleted. This action cannot be cancelled.</dd>
+
+<dt>Scheduled moderation</dt>
+<dd>If you indicated a number of days in the Antispam section of your blog settings, all the comments and trackbacks marked as spam will be deleted after the given time.</dd>
+</dl>
 
 </body>
Index: plugins/antispam/locales/en/help/filters.html
===================================================================
--- plugins/antispam/locales/en/help/filters.html	(revision 2322)
+++ plugins/antispam/locales/en/help/filters.html	(revision 2535)
@@ -7,4 +7,10 @@
 
 <h4>Filters</h4>
+<dl>
+<dt>Fair Trackbacks</dt>
+<dd>This filter checks if entering trackbacks contain a link to your entry. If it is not the case, they will be automatically banned, which means they won't appear in the list of junk comments.</dd>
+<dt>Links Lookup</dt>
+<dd>This filter works a bit like <strong>IP Lookup</strong> except instead of checking the author's IP address, it will check the links contained in the comment (including the author's website) appear in the <a href="http://www.surbl.org/">URI reputation website SURBL</a>. This filter cannot be configured.</dd>
+</dl>
 
 </body>
Index: plugins/antispam/locales/en/help/help.html
===================================================================
--- plugins/antispam/locales/en/help/help.html	(revision 2322)
+++ plugins/antispam/locales/en/help/help.html	(revision 2535)
@@ -4,8 +4,24 @@
 </head>
 
-<body>
+	<body>
 
 <h4>Antispam</h4>
+	<p>Spam in comments and trackbacks went from an anecdotic issue to a massive problem. Nowadays, it is mandatory to have access to a set of filters to check if a comment is potentially a junk or not. This is the purpose of the Antispam plugin.</p>
 
-</body>
+<dl>
+	<dt>Information</dt>
+	<dd>The <strong>Junk comments</strong> link will take you to a list of all the junk comments (you will be able to run batch actions on junk comments in this page).</dd>
+	<dd>The <strong>Published comments</strong> link will take you to a list of all published comments (you will be able to run batch actions in this page).</dd>
+	<dd>The <strong>Delete all spams</strong> button will remove all spam messages at once.</dd>
+	
+	<dt>Available spam filters</dt>
+	<dd>By default, Dotclear comes with 6 filters, including 2 deactivated filters. You can add more later on.</dd> 
+	<dd><strong>Order:</strong> Filters are applied from top to bottom. You can modify the filters order. Note that some default filters (<strong>IP Lookup</strong>, <strong>Links Lookup</strong> and <strong>Akismet</strong>) require access to the Netowrk and therefore can take some time. It is better to leave them towards the end of the list. In addition, the <strong>IP Filter</strong> filter decides which messages are not spam, so it's better to leave it at the top of the list.</dd>
+
+	<dd><strong>Active:</strong> Check the box to activate a filter, uncheck it to deactivate it.</dd>
+	<dd><strong>Auto Del.:</strong> If this box is checked, the messages considered as junk by this filter will be automatically deleted without any chance to make sure it was not a false positive.</dd>
+	<dd><strong>Filter configuration:</strong> Some filters can (and, in some cases, must) be configured to be efficient. Click on this icon to access the configuration page of the filter.</dd> 
+	
+	</body>
+
 </html>
Index: plugins/antispam/locales/en/help/ip.html
===================================================================
--- plugins/antispam/locales/en/help/ip.html	(revision 2322)
+++ plugins/antispam/locales/en/help/ip.html	(revision 2535)
@@ -8,4 +8,16 @@
 <h4>IP Filter</h4>
 
+<p>This filter allows you to manually blacklist or whitelist IP addresses. A comment coming from an IP address listed in the Black list section will immediately be considered as junk; A comment coming from an IP address listed in the White list section will be considered as trusted and the other antispam filters won't process it.</p>
+
+<p>To add an IP, first select the tab you want (<strong>Blacklist</strong> or <strong>Whitelist</strong>) and enter the IP address. The <strong>Global IP</strong> checkbox is available if you are a super administrator and will allow you to add the IP address to all the blogs of your Dotclear installation.</p>
+
+<p>You can add IP addresses with a network mask to block or allow a range of IP addresses. For example:</p>
+<ul>
+    <li><code>127.0.0.0/255.0.0.0</code> or the abbreviated form <code>127/8</code> will recognize all the IP addresses like <code>127.xxx.xxx.xxx</code></li>
+    <li><code>127.0.0.0/255.255.0.0</code> or the abbreviated form <code>127.0/16</code> will recognize all the IP addresses like <code>127.0.xxx.xxx</code></li>
+    <li><code>127.0.0.0/255.255.255.0</code> or the abbreviated form <code>127.0.0/24</code> will recognize all the IP addresses like <code>127.0.0.xxx</code></li>
+</ul>
+
+
 </body>
 </html>
Index: plugins/antispam/locales/en/help/iplookup.html
===================================================================
--- plugins/antispam/locales/en/help/iplookup.html	(revision 2322)
+++ plugins/antispam/locales/en/help/iplookup.html	(revision 2535)
@@ -7,4 +7,7 @@
 
 <h4>IP Lookup Filter</h4>
+<p>IP Lookup is a filter that checks the IP address of a comment's author on shared lists called <a href="https://en.wikipedia.org/wiki/DNSBL">DNS-based Blackhole List (DNSBL)</a> (also known as <em>Real-time Blackhole List (RBL)</em>). By default, the filter uses the following servers: <code>sbl-xbl.spamhaus.org</code> and <code>bsb.spamlookup.net</code>. You can find a <a href="http://www.moensted.dk/spam/">list of existing servers on this page.</a></p>
+
+<p>You can add as many servers as you want, separated by commas. Don't forget to click on <strong>Save</strong> to take your modifications into account.<p>
 
 </body>
Index: plugins/antispam/locales/en/help/words.html
===================================================================
--- plugins/antispam/locales/en/help/words.html	(revision 2322)
+++ plugins/antispam/locales/en/help/words.html	(revision 2535)
@@ -1,11 +1,21 @@
 <html>
 <head>
-  <title>Words Filter</title>
+  <title>Bad Words</title>
 </head>
 
 <body>
 
-<h4>Words Filter</h4>
+<h4>Bad Words</h4>
 
+<p>This will filter comments based on the words that are used in the user name, e-mail address, website URL or the comment content.</p>
+
+<dl>
+<dt>Add a word</dt>
+	<dd>Similarly to IP addresses filtering, simply add the word you would like to filter. You can also, if you have the right permissions, define global words that will be used for all the blogs in your Dotclear installation.</dd> 
+	<dd>Hint: You can add a regular expression to your words list by adding a <code>/</code> at the beginning and the end of the word. For instance, <code>/foo/</code> will filter all the words containing <em>foo</em>.</dd>
+<dt>List of bad words</dt>
+	<dd>List of words that make the comment listed as junk.</dd>
+	<dd>To remove words from this list, select the word(s) and press <strong>Delete selected words</strong>.</dd>
+<dt>Create default wordlist</dt>
 </body>
 </html>
Index: plugins/antispam/locales/fr/help/help.html
===================================================================
--- plugins/antispam/locales/fr/help/help.html	(revision 2472)
+++ plugins/antispam/locales/fr/help/help.html	(revision 2533)
@@ -15,14 +15,14 @@
 	<dd>Cliquer sur &#171; Commentaires publiés &#187; renvoie vers la liste de tous les commentaires publiés.</dd>
 	<dd>Le bouton &#171; Supprimer tous les indésirables &#187; permet de supprimer tous les commentaires indésirables d'un seul coup.</dd>
-	
+
 	<dt>Filtres d'indésirables disponibles</dt>
-	<dd>Par défaut, Dotclear est livré avec six filtres dont deux désactivés. Vous pouvez en rajouter d'autres par la suite.</dd> 
-	<dd>Ordre : Les filtres sont appliqués à partir du premier en partant du haut. Vous pouvez changer l'ordre des filtres. 
+	<dd>Par défaut, Dotclear est livré avec six filtres dont deux désactivés. Vous pouvez en rajouter d'autres par la suite.</dd>
+	<dd>Ordre : Les filtres sont appliqués à partir du premier en partant du haut. Vous pouvez changer l'ordre des filtres.
 	Certains des filtres par défaut (IP Lookup, Links Lookup et Akismet) ont besoin du réseau ce qui peut-être un peu long. Il est conseillé de les laisser en fin de liste.
-	De même, le filtre IP Filter pouvant décider qu'un message n'est pas un spam, laissez le toujours en deuxième position.</dd>
+	De même, le filtre IP Filter pouvant décider qu'un message n'est pas un spam, laissez le toujours en début de liste.</dd>
 	<dd>Actif : Cocher ou décocher la case pour activer ou désactiver le filtre.</dd>
 	<dd>Auto suppr. : Si la case est cochée, les commentaires considérés comme indésirables par le filtre seront automatiquement et définitivement supprimés sans possibilité de repêcher les faux positifs.</dd>
-	<dd>Configuration du filtre : Certains filtres peuvent et même doivent, dans certains cas, être configuré pour être efficace. Cliquer sur l'icône pour accéder à la page de configuration du filtre.</dd> 
-</dl>	
+	<dd>Configuration du filtre : Certains filtres peuvent et même doivent, dans certains cas, être configuré pour être efficace. Cliquer sur l'icône pour accéder à la page de configuration du filtre.</dd>
+</dl>
 	</body>
 
Index: plugins/antispam/locales/fr/help/ip.html
===================================================================
--- plugins/antispam/locales/fr/help/ip.html	(revision 2458)
+++ plugins/antispam/locales/fr/help/ip.html	(revision 2533)
@@ -12,5 +12,5 @@
 <p>Pour ajouter une adresse IP, choisissez d'abord un onglet "Liste noire" ou "Liste blanche" et ajoutez l'adresse. La case à cocher "IP globale" est disponible si vous êtes super administrateur et permet d'ajouter une adresse pour tous les blogs de votre installation.</p>
 
-<p>Vous pouvez ajouter des adresses IP avec masque de réseau pour bloquer ou autoriser toute une série d'adresses. Par exemple :<p>
+<p>Vous pouvez ajouter des adresses IP avec masque de réseau pour bloquer ou autoriser toute une série d'adresses. Par exemple :</p>
 <ul>
     <li>127.0.0.0/255.0.0.0 ou la forme abrégée 127/8 reconnaitra toutes les adresses IP de type 127.xxx.xxx.xxx</li>
Index: plugins/antispam/locales/fr/help/words.html
===================================================================
--- plugins/antispam/locales/fr/help/words.html	(revision 2472)
+++ plugins/antispam/locales/fr/help/words.html	(revision 2533)
@@ -12,10 +12,11 @@
 <dl>
 <dt>Ajouter un mot</dt>
-	<dd>Comme pour le filtrage d'adresses IP, ajoutez simplement le mot que vous souhaitez bloquer dans la liste. De la même manière, vous pouvez, si vous avez les permissions suffisantes, définir des mots globaux qui activeront le filtrage pour tous les blogs de votre installation.</dd> 
+	<dd>Comme pour le filtrage d'adresses IP, ajoutez simplement le mot que vous souhaitez bloquer dans la liste. De la même manière, vous pouvez, si vous avez les permissions suffisantes, définir des mots globaux qui activeront le filtrage pour tous les blogs de votre installation.</dd>
 	<dd>Astuce : Vous pouvez ajouter une expression rationnelle à votre liste de mots en faisant commencer et finir votre mot par "/". Par exemple "/foo/" filtrera tous les mots contenant "foo".</dd>
 <dt>Liste de mots interdits</dt>
 	<dd>Liste des mots qui font que le commentaire est considéré comme un indésirable.</dd>
 	<dd>Sélectionner le(s) mot(s) pour le supprimer de la liste.</dd>
-<dt>Créer une liste de mots par défaut</dt>  
+<dt>Créer une liste de mots par défaut</dt>
+	<dd>Ce bouton vous permet de rajouter à la liste actuelle les mots par défaut proposés par ce filtre. Vos mots personnels ne seront pas supprimés par cette opération.</dd>
 </dl>
 </body>
Index: plugins/attachments/locales/en/help/help.html
===================================================================
--- plugins/attachments/locales/en/help/help.html	(revision 2359)
+++ plugins/attachments/locales/en/help/help.html	(revision 2534)
@@ -1,11 +1,13 @@
 <html>
 <head>
-  <title>Attachements</title>
+  <title>Attachments</title>
 </head>
 
 <body>
 
-<h4>Attachements</h4>
-
+<h4>Attachments</h4>
+<p>Click <strong>Add files to this entry</strong> to attach a file from the media manager to your entry. Once clicked, you will be taken to the media manager where you can browse the available files. Once you found the file you want to attach, click on the <code>+</code> <span class="hidden">(Attach this file to entry link)</span> sign.</p>
+<p>To remove an attachment, click on the trashcan icon <span class="hidden">(Remove attachment link)</span>.</p>
+<p>On your blog, attachments will appear after the entry content.</p>
 </body>
 </html>
Index: plugins/blogroll/index.php
===================================================================
--- plugins/blogroll/index.php	(revision 2495)
+++ plugins/blogroll/index.php	(revision 2256)
@@ -27,5 +27,5 @@
 {
 	$default_tab = 'import-links';
-
+	
 	try
 	{
@@ -35,5 +35,5 @@
 			throw new Exception(__('Unable to move uploaded file.'));
 		}
-
+		
 		require_once dirname(__FILE__).'/class.dc.importblogroll.php';
 		try {
@@ -44,6 +44,6 @@
 			throw $e;
 		}
-
-
+		
+		
 		if (empty($imported)) {
 			unset($imported);
@@ -69,12 +69,12 @@
 		}
 	}
-
+	
 	dcPage::addSuccessNotice(__('links have been successfully imported.'));
-	http::redirect($p_url);
+	http::redirect($p_url);	
 }
 
 if (!empty($_POST['cancel_import'])) {
 	$core->error->add(__('Import operation cancelled.'));
-	$default_tab = 'import-links';
+	$default_tab = 'import-links';	
 }
 
@@ -86,5 +86,5 @@
 	$link_desc = $_POST['link_desc'];
 	$link_lang = $_POST['link_lang'];
-
+	
 	try {
 		$blogroll->addLink($link_title,$link_href,$link_desc,$link_lang);
@@ -102,5 +102,5 @@
 {
 	$cat_title = $_POST['cat_title'];
-
+	
 	try {
 		$blogroll->addCategory($cat_title);
@@ -124,5 +124,5 @@
 		}
 	}
-
+	
 	if (!$core->error->flag()) {
 		dcPage::addSuccessNotice(__('Items have been successfully removed.'));
@@ -145,5 +145,5 @@
 	foreach ($order as $pos => $l) {
 		$pos = ((integer) $pos)+1;
-
+		
 		try {
 			$blogroll->updateOrder($l,$pos);
@@ -152,5 +152,5 @@
 		}
 	}
-
+	
 	if (!$core->error->flag()) {
 		dcPage::addSuccessNotice(__('Items order has been successfully updated'));
@@ -172,10 +172,9 @@
   <title><?php echo __('Blogroll'); ?></title>
   <?php echo dcPage::jsConfirmClose('links-form','add-link-form','add-category-form'); ?>
-  <?php
+  <?php 
 	$core->auth->user_prefs->addWorkspace('accessibility');
 	if (!$core->auth->user_prefs->accessibility->nodragdrop) {
 	echo
 		dcPage::jsLoad('js/jquery/jquery-ui.custom.js').
-		dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js').
 		dcPage::jsLoad('index.php?pf=blogroll/blogroll.js');
 	}
@@ -214,11 +213,11 @@
 {
 	$position = (string) $rs->index()+1;
-
+	
 	echo
 	'<tr class="line" id="l_'.$rs->link_id.'">'.
 	'<td class="handle minimal">'.form::field(array('order['.$rs->link_id.']'),2,5,$position,'position','',false,'title="'.__('position').'"').'</td>'.
 	'<td class="minimal">'.form::checkbox(array('remove[]'),$rs->link_id,'','','',false,'title="'.__('select this link').'"').'</td>';
-
-
+	
+	
 	if ($rs->is_cat)
 	{
@@ -236,5 +235,5 @@
 		'<td>'.html::escapeHTML($rs->link_lang).'</td>';
 	}
-
+	
 	echo '</tr>';
 }
@@ -246,5 +245,5 @@
 <p class="col">
 <?php
-	echo
+	echo 
 	form::hidden('links_order','').
 	form::hidden(array('p'),'blogroll').
@@ -253,5 +252,5 @@
 <input type="submit" name="saveorder" value="<?php echo __('Save order'); ?>" /></p>
 <p class="col right"><input type="submit" class="delete" name="removeaction"
-	 value="<?php echo __('Delete selected links'); ?>"
+	 value="<?php echo __('Delete selected links'); ?>" 
 	 onclick="return window.confirm('
 	 <?php echo html::escapeJS(__('Are you sure you want to delete selected links?')); ?>');" /></p>
@@ -331,5 +330,5 @@
 		'<th>'.__('Description').'</th>'.
 		'</tr>';
-
+		
 		$i = 0;
 		foreach ($imported as $entry) {
@@ -337,6 +336,6 @@
 			$title = html::escapeHTML($entry->title);
 			$desc  = html::escapeHTML($entry->desc);
-
-			echo
+			
+			echo 
 			'<tr><td>'.form::checkbox(array('entries[]'),$i,'','','').'</td>'.
 			'<td nowrap><a href="'.$url.'">'.$title.'</a>'.
@@ -346,5 +345,5 @@
 			'<td>'.$desc.
 			'<input type="hidden" name="desc['.$i.']" value="'.$desc.'" />'.
-			'</td></tr>'."\n";
+			'</td></tr>'."\n";			
 			$i++;
 		}
@@ -353,5 +352,5 @@
 		'<div class="two-cols">'.
 		'<p class="col checkboxes-helpers"></p>'.
-
+		
 		'<p class="col right">'.
 		form::hidden(array('p'),'blogroll').
Index: plugins/blogroll/locales/en/help/blogroll.html
===================================================================
--- plugins/blogroll/locales/en/help/blogroll.html	(revision 1573)
+++ plugins/blogroll/locales/en/help/blogroll.html	(revision 2534)
@@ -6,35 +6,30 @@
 <body>
 
-<p>Blogroll allows you to display on your blog a list of links to other blogs or websites that 
-you wish to suggest to your visitors. </p>
+<h4>Blogroll</h4>
+<p>Blogroll allows you to display on your blog a list of links to other blogs or websites that you wish to suggest to your visitors.</p>
+
 <dl>
-  <dt>Links</dt>
-  <dd>Here are displayed your links and categories. Categories are displayed in bold characters. 
-  You can reorder this list by dragging its items upwards or downwards. Once done, clic on "save order". 
-  The order chosen here will be applied to links displayed on the blog with the Blogroll widget.
-  Clic on a link or category to edit it.<br />
+  <dt>Blogroll</dt>
+  <dd>Your links and categories are displayed here. Categories are displayed in bold. You can reorder this list by dragging its items upwards or downwards. Once done, click on <strong>Save order</strong>. The order chosen here will be applied to links displayed on your blog with the Blogroll widget.<br />
+  Click on a link or category name to edit it.</dd>
   
   <dt>Delete selected links</dt>
   <dd>Allows you to delete links or categories by checking the boxes next to each of them.</dd>
+</dl>
+
+<h4>Add a link</h4>
+    <ul>
+      <li><strong>Title: </strong>Link title. E.g.: <em>Jules and Julie</em>. This field is mandatory.</li>
+      <li><strong>URL: </strong>Link URL. It must begin with <code>http://</code> or <code>https://</code>. This field is mandatory.</li>
+      <li><strong>Description: </strong>Short description for the link (will be displayed in a tooltip). E.g.: <em>Jules and Julie's World trip</em>.</li>
+      <li><strong>Language: </strong>Type here a two characters code for the website language (e.g. <code>en</code> for English).</li>
+  </ul>
+
+<h4>Add a category</h4>
+  <p>Links categories allow you to classify links displayed by the Blogroll widget.<br />
+    They are displayed in bold characters. Enter the name of the category you would like to create and press <strong>Save</strong>.</p>
   
-  <dt>Add a new link</dt>
-  <dd>
-    <ul>
-      <li><strong>Title : </strong>Type here the anchor text. For example "Jules and Julie". This field is mandatory.</li>
-      <li><strong>URL : </strong>Type here the link's destination. It must begin with http://. This field is mandatory.</li>
-      <li><strong>Description : </strong>Type here a short description for the link (will be displayed in a tooltip). For example "Jules and Julie world trip".</li>
-      <li><strong>Language : </strong>Type here a two characters code for the destination language (for example en for english).</li>
-	</ul>
-  </dd>
-
-
-  <dt>Add a category</dt>
-  <dd>Links categories allow you to classify links diplayed by the Blogroll widget. They are displayed in bold characters.
-  Type here the category's name.</dd>
-  
-  <dt>Import links</dt>
-  <dd>This option allows you to import links from an OPML or XBEL file. </dd>
-  
-</dl>
+<h4>Import links</h4>
+  <p>This option allows you to import links from an OPML (RSS feed format) or XBEL (format to share bookmarks) file.</p>
 </body>
 </html>
Index: plugins/blowupConfig/locales/en/help/help.html
===================================================================
--- plugins/blowupConfig/locales/en/help/help.html	(revision 2368)
+++ plugins/blowupConfig/locales/en/help/help.html	(revision 2534)
@@ -8,7 +8,14 @@
 <p>Modifying Blowup theme configuration allows you to customize your theme very easily. To do so, simply fill in the configuration fields or choose a predefined style.</p>
 
+<h4>Predefined styles</h4>
+
+<p>You can choose a predefined style in the <strong>Predefined styles</strong> drop-down list.
+Once you have chosen the style, you have to submit the form to apply the modifications.</p>
+
+<p>You may then modify the predefined style according to your taste and needs.</p>
+
 <h4>Colors</h4>
 
-<p>When you have to enter a color value, you should use the hexadecimal format. For example: "#FF0000" will give you red. You may also use the color picker located next to every color field.</p>
+<p>When you have to enter a color value, you should use the hexadecimal format. For example: <code>#FF0000</code> will give you red. You may also use the color picker located next to every color field.</p>
 <p>If you lack inspiration, try and visit the following pages:</p>
 <ul>
@@ -21,5 +28,5 @@
 <h4>Measurement units</h4>
 
-<p>When you have to indicate a size, it must be followed by a measurement unit. For example: "1em". If you do not include the unit, pixels will be used as default measurement unit.</p>
+<p>When you have to indicate a size, it must be followed by a measurement unit. For example: <code>1em</code>. If you do not include the unit, pixels will be used as default measurement unit.</p>
 <p>The following measurement units are available:</p>
 <ul>
@@ -35,20 +42,13 @@
 <p>You can choose a header image among the list to use in place of the default one.</p>
 
-<p>When you choose "Custom..." in the image list, you will be able to upload your own image. <strong>The image file must be in JPG or PNG format and must be precisely 800px wide.</strong>
+<p>By choosing <strong>Custom...</strong> in the image list, you will be able to upload your own image. <strong>The image file must be in JPG or PNG format and must be precisely 800px wide.</strong>
 
 <p>If you upload a JPG image, a border will be added to the image, which is not the case with PNG images (the transparency of which will also be kept).</p>
 
-<h4>Predefined styles</h4>
+<h4>Configuration import and export</h4>
 
-<p>You can choose a predefined style in the "Predefinite styles" drop-down list.
-Once you have chosen the style, you have to submit the form to apply the modifications.</p>
+<p>At the bottom of the page, you can display an area called <strong>Configuration import/export</strong>. This text area contains the configuration you are currently using. You can copy it to share it with others.</p>
 
-<p>You may then modify the predefined style according to your taste and needs.</p>
-
-<h4>Configuration import / export</h4>
-
-<p>At the end of Blowup options, you can display an area names "Configuration import/export". This text area contains the configuration you are currently using. You can copy it to share it with others.</p>
-
-<p>To apply (import) a configuration, you simply need to replace the content of the text area with the configuration you want to use. Don't forget to click on "apply code".</p>
+<p>To apply (import) a configuration, you simply need to replace the content of the text area with the configuration you want to use. Don't forget to click on <strong>Apply code</strong>.</p>
 
 </body>
Index: plugins/importExport/locales/en/help/import.html
===================================================================
--- plugins/importExport/locales/en/help/import.html	(revision 2322)
+++ plugins/importExport/locales/en/help/import.html	(revision 2534)
@@ -6,5 +6,49 @@
 <body>
 
-<h4>Import</h4>
+<h4>Flat file import</h4>
+
+<p>Imports a blog or a full Dotclear installation from a flat file.</p>
+
+<h5>Single blog</h5>
+
+<p>Select the backup file (exported from another Dotclear install) or select one from the root directory of your media manager and click on the <strong>Import</strong> button to start the import process.</p>
+
+<p>Note: The content imported during this process will be added to the existing content of the current blog, nothing will be lost.</p>
+
+<h5>Multiple blogs</h5>
+
+<p>Select the full backup file from your computer or select one from your the root folder of your media manager, enter your password and click on the <strong>Import</strong> button to start the full import process.</p>
+
+<p><strong>Warning:</strong> The whole content from the current blog will be deleted and replaced by the content of the backup file. Only current users will be kept. Additional users form the backup file will be appended to the current users list.</p>
+
+<h4>RSS or Atom feed import</h4>
+
+<p>Add a feed content to the current blog.</p>
+
+<p>Enter the URL of the RSS or Atom feed you want to import and click on <strong>Import</strong>. The content found in the feed will be added to your current blog content.</p>
+
+<h4>Dotclear 1.2 import</h4>
+
+<p>This feature allows you to import a Dotclear 1.2 installation into your current blog. This process will replace the categories, blogrolls, entries and comments of the current blog.</p>
+
+<p>Enter the server URL where the Dotclear 1.2 database to import is located, then input the database name, the user name and password to connect to the database and the database tables prefix used in the Dotclear 1.2 installation. You can find this information in the <code>conf/config.php</code> file from your Dotclear 1.2 installation.</p>
+
+<p>Click on  the <strong>Import my blog now</strong> button to start the import process.</p>
+
+<p>You can decrease or increase the amount of entries imported at once using the <strong>Number of entries to import at once</strong> field, depending on the access speed of your Dotclear 1.2 installation.</p>
+
+<h4>Wordpress import</h4>
+
+<p>This feature allows you to import a Wordpress installation into your current blog. This process will replace the categories, blogrolls, entries and comments of the current blog.</p>
+
+<p>Enter the server URL where the Wordpress database to import is located, then input the database name, the user name and password to connect to the database and the database tables prefix used in the Wordpress installation.</p>
+
+<p>You can set up a few import options regarding the categories import and the number of entries to import at once. You can also define the syntax to use for the entries and the comments content (XHTML, Wiki or others depending on the currently installed and activated syntaxes).</p>
+
+<p>Click on <strong>Import my blog now</strong> to start the import process.</p>
+
+<hr />
+
+<p>Note: The export functions are now located in the<a href="/plugin.php?p=maintenance&tab=backup#backup">Maintenance</a> page.</p>
 
 </body>
Index: plugins/maintenance/locales/en/help/maintenance.html
===================================================================
--- plugins/maintenance/locales/en/help/maintenance.html	(revision 2044)
+++ plugins/maintenance/locales/en/help/maintenance.html	(revision 2534)
@@ -6,15 +6,14 @@
 <body>
 
-<h4>Settings</h4>
+<h4>Alert settings</h4>
 
 <dl>
   <dt>Activation</dt>
-  <dd>If this options is active, on tabs of plugin maintenance, 
-  when a task has expired or has been nerver executed, a alert message is show below this task.<br />
-  Options to display maintenance related tasks on dashboard are available in user preferences.</dd>
+  <dd><p>Check this box to display alert messages under tasks that are late or that have never been executed.</p>
+  <p>Note: In <strong>My preferences</strong>, additional options allow you to display these tasks on your dashboard.</p></dd>
   
   <dt>Frequency</dt>
-  <dd>It is possible to set same recall time for all tasks at one time. <br/>
-  Otherwise this setting can be done per task and so on for exemple deactivate some of them.</dd>
+  <dd><p>Allows to schedule the alert display of tasks to be done.</p>
+  <p>This frequency can be common to all the tasks (select the <strong>Use one recall time for all tasks</strong> radio button) or can be set for each tasks.</p></dd>
 </dl>
 </body>
Index: plugins/pages/list.js
===================================================================
--- plugins/pages/list.js	(revision 2058)
+++ plugins/pages/list.js	(revision 2531)
@@ -1,54 +1,5 @@
-dotclear.postExpander = function(line) {
-	var td = line.firstChild;
-	
-	var img = document.createElement('img');
-	img.src = dotclear.img_plus_src;
-	img.alt = dotclear.img_plus_alt;
-	img.className = 'expand';
-	$(img).css('cursor','pointer');
-	img.line = line;
-	img.onclick = function() { dotclear.viewPostContent(this,this.line); };
-	
-	td.insertBefore(img,td.firstChild);
-};
-
-dotclear.postsExpander = function(line,lines) {
-	var td = line.firstChild;
-
-	var img = document.createElement('img');
-	img.src = dotclear.img_plus_src;
-	img.alt = dotclear.img_plus_alt;
-	img.className = 'expand';
-	$(img).css('cursor','pointer');
-	img.lines = lines;
-	img.onclick = function() { dotclear.viewPostsContent(this,this.lines); };
-
-	td.insertBefore(img,td.firstChild);
-};
-
-dotclear.viewPostsContent = function(img,lines) {
-	
-	action = 'toggle';
-
-	if (img.alt == dotclear.img_plus_alt) {
-		img.src = dotclear.img_minus_src;
-		img.alt = dotclear.img_minus_alt;
-		action = 'open';
-	} else {
-		img.src = dotclear.img_plus_src;
-		img.alt = dotclear.img_plus_alt;
-		action = 'close';
-	}
-	
-	lines.each(function() {
-		var td = this.firstChild;
-		dotclear.viewPostContent(td.firstChild,td.firstChild.line,action);
-	});
-};
-
-dotclear.viewPostContent = function(img,line,action) {
-	
+dotclear.viewPostContent = function(line,action) {
 	var action = action || 'toggle';
-	var postId = line.id.substr(1);
+	var postId = $(line).attr('id').substr(1);
 	var tr = document.getElementById('pe'+postId);
 	
@@ -60,7 +11,4 @@
 		td.className = 'expand';
 		tr.appendChild(td);
-		
-		img.src = dotclear.img_minus_src;
-		img.alt = dotclear.img_minus_alt;
 		
 		// Get post content
@@ -92,6 +40,4 @@
 		$(tr).css('display', 'table-row');
 		$(line).addClass('expand');
-		img.src = dotclear.img_minus_src;
-		img.alt = dotclear.img_minus_alt;
 	}
 	else if (tr && tr.style.display != 'none' && ( action == 'toggle' || action == 'close' ) )
@@ -99,32 +45,14 @@
 		$(tr).css('display', 'none');
 		$(line).removeClass('expand');
-		img.src = dotclear.img_plus_src;
-		img.alt = dotclear.img_plus_alt;
 	}
-	
-	parentTable = $(line).parents('table');
-	if( parentTable.find('tr.expand').length == parentTable.find('tr.line').length ) {
-		img = parentTable.find('tr:not(.line) th:first img');
-		img.attr('src',dotclear.img_minus_src);
-		img.attr('alt',dotclear.img_minus_alt);
-	}
-	
-	if( parentTable.find('tr.expand').length == 0 ) {
-		img = parentTable.find('tr:not(.line) th:first img');
-		img.attr('src',dotclear.img_plus_src);
-		img.attr('alt',dotclear.img_plus_alt);
-	}
-	
 };
 
 $(function() {
-
 	$('#pageslist tr.line').prepend('<td class="expander"></td>');
 	$('#form-entries tr:not(.line) th:first').attr('colspan',4);
-	$('#form-entries tr:not(.line)').each(function() {
-		dotclear.postsExpander(this,$('#form-entries tr.line'));
-	});
-	$('#pageslist tr.line').each(function() {
-		dotclear.postExpander(this);
+	$.expandContent({
+		line:$('#form-entries tr:not(.line)'),
+		lines:$('#form-entries tr.line'),
+		callback:dotclear.viewPostContent
 	});
 	$('.checkboxes-helpers').each(function() {
Index: plugins/pages/list.php
===================================================================
--- plugins/pages/list.php	(revision 2496)
+++ plugins/pages/list.php	(revision 2442)
@@ -55,7 +55,5 @@
   <title><?php echo __('Pages'); ?></title>
   <?php
-  	echo
-  		dcPage::jsLoad('js/jquery/jquery-ui.custom.js').
-		dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js').
+  	echo dcPage::jsLoad('js/jquery/jquery-ui.custom.js').
 		dcPage::jsLoad('index.php?pf=pages/list.js').
 		'<script type="text/javascript">'.
@@ -91,10 +89,10 @@
 	$post_list->display($page,$nb_per_page,
 	'<form action="plugin.php" method="post" id="form-entries">'.
-
+	
 	'%s'.
-
+	
 	'<div class="two-cols">'.
 	'<p class="col checkboxes-helpers"></p>'.
-
+	
 	'<p class="col right"><label for="action" class="classic">'.__('Selected pages action:').'</label> '.
 	form::combo('action',$pages_actions_page->getCombo()).
Index: plugins/pages/locales/en/help/page.html
===================================================================
--- plugins/pages/locales/en/help/page.html	(revision 2314)
+++ plugins/pages/locales/en/help/page.html	(revision 2534)
@@ -5,4 +5,5 @@
 
 <body>
+
 
 <h4>Editing a page</h4>
@@ -20,50 +21,56 @@
   <dt>Notes</dt>
   <dd>This text area is for personal use, for notes or memos. What you enter here
-  will never be displayed on the blog..</dd>
+  will never be displayed on the blog.</dd>
   
   <dt>Page status</dt>
-  <dd>Allows you to choose your page's status:
+  <dd>Allows you to choose your page status:
     <ul>
-      <li><strong>pending:</strong> the publication status has not yet been decided.</li>
-      <li><strong>scheduled:</strong> the page will be set online at the time and date
+      <li><strong>Pending:</strong> The publication status has not yet been decided (not published yet).</li>
+      <li><strong>Scheduled:</strong> The page will be set online at the time and date
       set in the <em>Published on</em> field.</li>
-      <li><strong>unpublished:</strong> the page is offline.</li>
-      <li><strong>published:</strong> the page is online.</li>
+      <li><strong>Unpublished:</strong> The page is offline.</li>
+      <li><strong>Published:</strong> The page is online.</li>
     </ul>
   </dd>
+
+  <dt>Publication date and hour</dt>
+  <dd>Here you can change the page publication date and time. If the page
+  status is <em>Scheduled</em>,  it will come online at the given date and time.</dd>
+
+  <dt>Page language</dt>
+  <dd>Select the language code of your entry. It defaults to your (as a
+  user) language but you can change it to whatever language code you want, e.g.
+  "en" or "es-ar". This code is used for the entry's display.</dd>
   
-  <dt>Published on</dt>
-  <dd>Here you can change the page's publication date and time. If the page's
-  status is <em>scheduled</em>,  it will come online at the said date and time.</dd>
-  
-  <dt>Text formating</dt>
-  <dd>To choose the page syntax. Wiki is a simplified syntax
-  and will be converted to valid xhtml&nbsp;; Unless you have a perfect
-  understanding of xhtml, we advise you to choose the wiki syntax.
+  <dt>Text formatting</dt>
+  <dd>Choose the page syntax. Wiki is a simplified syntax
+  and will be converted to valid XHTML. Unless you have a perfect
+  understanding of XHTML, we advise you to choose the Wiki syntax.
   See the Wiki syntax reference for more information.</dd>
-  
-  <dt>Accept comments</dt>
-  <dd>Select this box to allow your visitors to comment the page. The corresponding
-  global setting is to be found in the blog settings.</dd>
-  
-  <dt>Accept trackbacks</dt>
-  <dd>A trackback is a way to let a portion of your page as a comment on
-  another blog. Select this box to allow others to trackback your page. The
-  corresponding global setting is to be found in the blog settings.</dd>
 
   <dt>Page position</dt>
   <dd>Allows to order pages according to this number.
-  This field is used by Pages widget (<em>Order by page position</em>).</dd>
+  This field is used by the <strong>Pages</strong> widget (<em>Order by page position</em>).</dd>
+ 
+  <dt>Attachments</dt>
+  <dd>Attachments are media files added to the page. You can use the <strong>Add files to this entry</strong> button to select media files to add to the entry.<br />
+    This option will appear after you save your entry.<br />
+    Please check the Media manager help for more information.</dd>
 
-  <dt>Page language</dt>
-  <dd>The two character language code of your page. It defaults to your (as a
-  user) language but you can change it to whatever language code you want, ie.
-  "en" or "fr-qc". This code is used for the page's display, no check is made
-  on it.</dd>
+  <dt>Accept comments</dt>
+  <dd>Check this box to allow your visitors to comment on this page. The corresponding global setting can be found in the blog settings.</dd>
+
+  <dt>Accept trackbacks</dt>
+  <dd>A trackback is a way to let a portion of your page as a comment on
+  another blog. Check this box to allow others to trackback your page. The
+  corresponding global setting is to be found in the blog settings.</dd>
+
+  <dt>Hide in widget Pages</dt>
+  <dd>If this option is checked, the page will be active but will not be listed in the Pages widget.</dd>
   
-  <dt>Page password</dt>
+  <dt>Password</dt>
   <dd>You can enter a password for your page. A password protected page will
-  not be displayed on your blog, it will only be reachable to those you will
-  give the page url (see the <em>view page</em> link) and password.</dd>
+  not be displayed on your blog, it will only be accessible to those you will
+  give the entry URL to (see the <strong>Go to this page on the site</strong> link) and password.
   
   <dt>Basename</dt>
@@ -71,18 +78,5 @@
   URL for your page. If the URL you're trying to use is already used by another
   page, a number will be added to it.</dd>
-</dl>
 
-<h4>Comments</h4>
-<dl>
-  <dt>Comment list</dt>
-  <dd>On the <em>Comments</em> tab, you can read and change the status of
-  your page's comments. If you're allowed to by the blog administrator,
-  you will be able to set your comments online or offline, to delete them or
-  to mark them as junk.</dd>
-  
-  <dt>Add a comment</dt>
-  <dd>On the <em>Add a comment</em> tab, you can reply to one of your page's
-  comments without leaving your blog's backend. The syntax to be used here is
-  plain, unlimited, xhtml. Use the fields as if you were modifying a comment.</dd>
 </dl>
 
Index: plugins/pages/locales/en/help/pages.html
===================================================================
--- plugins/pages/locales/en/help/pages.html	(revision 1802)
+++ plugins/pages/locales/en/help/pages.html	(revision 2534)
@@ -1,20 +1,20 @@
 <html>
 <head>
-  <title>Managing pages</title>
+  <title>Pages management</title>
 </head>
 
 <body>
 
-<h3>Selected pages actions</h3>
-<p>If your user permission level allows it, you can perform batch operations on the
-pages you select in the list.</p>
+<h4>Selected pages actions</h4>
+<p>If your user permission level allows it, you can perform batch operations on the pages you select in the list.</p>
 
 <ul>
-  <li><strong>Publish</strong>&nbsp;: set pages online,</li>
-  <li><strong>Unpublish</strong>&nbsp;: set pages offline,</li>
-  <li><strong>Mark as pending</strong>&nbsp;: erase other publication status,</li>
-  <li><strong>Change author</strong>&nbsp;: allows you to change the pages' author by
+  <li><strong>Publish:</strong> Set pages online,</li>
+  <li><strong>Unpublish:</strong> Set pages offline,</li>
+  <li><strong>Schedule:</strong> Schedule the page to go online at the date defined in the <strong>Publication date</strong> field,</li>
+  <li><strong>Mark as pending:</strong> Erase other publication status,</li>
+  <li><strong>Change author:</strong> Allows you to change the pages' author by
   entering the new author's ID,</li>
-  <li><strong>Delete</strong>&nbsp;: suppress the pages (this operation cannot be undone).</li>
+  <li><strong>Delete:</strong> Delete the pages (this operation cannot be undone).</li>
 </ul>
 
Index: plugins/pings/locales/en/help/pings.html
===================================================================
--- plugins/pings/locales/en/help/pings.html	(revision 2322)
+++ plugins/pings/locales/en/help/pings.html	(revision 2534)
@@ -7,5 +7,7 @@
 
 <h4>Pings</h4>
-
+<p><a href="http://en.wikipedia.org/wiki/Ping_%28blogging%29">What is a "ping"?</a></p>
+<p>To add a ping service, fill the <strong>name</strong> and <strong>URI</strong> fields and click on <strong>Save</strong>.</p>
+<p>To remove a ping service, empty the fields and click <strong>Save</strong>.</p>
 </body>
 </html>
Index: plugins/pings/locales/en/help/pings_post.html
===================================================================
--- plugins/pings/locales/en/help/pings_post.html	(revision 2322)
+++ plugins/pings/locales/en/help/pings_post.html	(revision 2534)
@@ -7,5 +7,6 @@
 
 <h4>Pings</h4>
-
+<p>Check the services you want to ping when the entry is published.</p>
+<p>To add a remove a ping service, go to the <a href="plugin.php?p=pings">pings admin page</a>.</p>
 </body>
 </html>
Index: plugins/simpleMenu/index.php
===================================================================
--- plugins/simpleMenu/index.php	(revision 2496)
+++ plugins/simpleMenu/index.php	(revision 2455)
@@ -347,5 +347,4 @@
 			echo
 				dcPage::jsLoad('js/jquery/jquery-ui.custom.js').
-				dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js').
 				dcPage::jsLoad('index.php?pf=simpleMenu/simplemenu.js');
 		}
Index: plugins/simpleMenu/locales/en/help/help.html
===================================================================
--- plugins/simpleMenu/locales/en/help/help.html	(revision 2425)
+++ plugins/simpleMenu/locales/en/help/help.html	(revision 2534)
@@ -1,37 +1,38 @@
 <html>
 <head>
-  <title>Simple Menu</title>
+  <title>Simple menu</title>
 </head>
 
 <body>
 
-<p>Simple Menu allows you to display on your blog a single level menu, if 
+<h4>Simple menu</h4>
+<p>Simple menu allows you to display a single level menu on your blog if 
 your theme supports it.</p>
 <dl>
   <dt>Menu items list</dt>
-  <dd>Here are displayed your menu items. 
-  You can reorder this list by dragging its items upwards or downwards. 
-  You can also modify label, description and URL of each item.
-  Once done, clic on "Update menu".</dd>
-    
+  <dd>Here are displayed your menu items.<br />
+  You can reorder this list by dragging its items up and down.<br /> 
+  You can also modify the label, description and URL of each item.<br />
+  Once done, click on <strong>Update menu</strong>.</dd>
+  
   <dt>Delete selected menu items</dt>
   <dd>Allows you to delete menu items by checking the boxes next to each of them.</dd>
   
   <dt>Add a new menu item</dt>
-  <dd>First select the type of item. Then clic on "Continue…". Then, if 
-  necessary, you may have to define a sub-type (category, page, etc). If so, 
-  do it and clic on "Continue…". Then finally you can modify proposals done for 
+  <dd>First select the type of item. Then click on <strong>Continue…</strong>. Then, if 
+  necessary, you may have to define a sub-type (category, page, etc.). If so, 
+  do it and click on <strong>Continue…</strong>. Then finally you can modify proposals done for 
   label, description (not mandatory) and URL of the menu item. 
-  Once done, clic on "Add this item".</dd>
+  Once done, click on <strong>Add this item</strong>.</dd>
   <dd>
     <ul>
-      <li><strong>Label : </strong>type here the anchor text. For example 
+      <li><strong>Label:</strong> The anchor text. For example 
       "Archives". This field is mandatory.</li>
-      <li><strong>Description : </strong>type here a short description for the menu 
-      item (will be displayed under Label depending on theme selected). For example 
+      <li><strong>Description:</strong> A short description for the menu 
+      item (will be displayed under the label depending on the selected theme). For example: 
       "Archives from 2004 to 2011".</li>
-      <li><strong>URL : </strong>type here the item's destination. This field is 
+      <li><strong>URL:</strong> The item URL. This field is 
       mandatory.</li>
-	</ul>
+  </ul>
   </dd>
 
Index: plugins/tags/locales/en/help/tag_post.html
===================================================================
--- plugins/tags/locales/en/help/tag_post.html	(revision 2322)
+++ plugins/tags/locales/en/help/tag_post.html	(revision 2534)
@@ -7,5 +7,10 @@
 
 <h4>Tags</h4>
-
+<p>You can assign a tag to an entry:</p>
+<ul>
+	<li>By filling the <strong>Tags</strong> field. This field has an <em>autocomplete</em> function: enter a few letters and the system will propose existing tags containing these letters;</li>
+	<li>By clicking on the <strong>Choose from list</strong>. Link to select existing tags.</li>
+</ul>
+<p>Tags have to be comma-separated.</p>
 </body>
 </html>
Index: plugins/tags/locales/en/help/tag_posts.html
===================================================================
--- plugins/tags/locales/en/help/tag_posts.html	(revision 2322)
+++ plugins/tags/locales/en/help/tag_posts.html	(revision 2534)
@@ -1,10 +1,32 @@
 <html>
 <head>
-  <title>Tag : posts</title>
+  <title>Tag details</title>
 </head>
 
 <body>
 
-<h4>Tag : posts</h4>
+<h4>Available actions on a tag</h4>
+<p>The first part of the page allows to modify or delete a tag.</p>
+<dl>
+	<dt>Rename</dt>
+	<dd>Enter a new word for the tag and click <strong>OK</strong>. This modification will be done on all the entries containing this tag.</dd>
+	<dt>Delete this tag</dt>
+	<dd>This button will remove the tag from all the entries it is affected to and will delete it from the tags list.</dd>
+</dl>
+<h4>List of entries with this tag</h4>
+<p>From this list you can perform all the batch actions your user's permissions allow you to:</p>
+<ul>
+  <li><strong>Publish:</strong> Publish the selected entries online.</li>
+  <li><strong>Unpublish:</strong> Pull the selected entries offline.</li>
+  <li><strong>Schedule:</strong> Schedule the selected entries to be set online at publication date.</li>
+  <li><strong>Mark as pending:</strong> Mark selected entries as pending.</li>
+  <li><strong>Mark as selected/unselected:</strong> Set the selected entries as Selected/Unselected./li>
+  <li><strong>Change category:</strong> Modify the category of the selected entries.</li>
+  <li><strong>Change language:</strong> Modify the language of the selected entries.</li>
+  <li><strong>Change author:</strong> Modify the selected entries' author by entering the new author's ID.</li>
+  <li><strong>Delete:</strong> Delete the selected entries (this operation cannot be cancelled).</li>
+  <li><strong>Add/Remove tags:</strong> Add or remove tags on the selected entries.</li>
+</ul>
+<p><em>The above list might contain other items if additional actions have been added by plugins active on your system.</em></p>
 
 </body>
Index: plugins/tags/locales/en/help/tags.html
===================================================================
--- plugins/tags/locales/en/help/tags.html	(revision 2322)
+++ plugins/tags/locales/en/help/tags.html	(revision 2534)
@@ -6,6 +6,8 @@
 <body>
 
-<h4>Tags</h4>
-
+<h4>Tags list</h4>
+<p>This page displays the list of tags used on the blog, alphabetically ordered.</p>
+<h5>Tag details</h5>
+<p>When clicking on a tag in this list, you will see all the entries this tag was added to and you will be able to rename or delete it.</p>
 </body>
 </html>
Index: plugins/themeEditor/locales/en/help/help.html
===================================================================
--- plugins/themeEditor/locales/en/help/help.html	(revision 2368)
+++ plugins/themeEditor/locales/en/help/help.html	(revision 2534)
@@ -6,24 +6,34 @@
 
 <body>
-<p>The Theme Editor lets you modify the template files, the stylesheets and the JavaScript files of the theme you are currently using.</p>
+<h4>Theme Editor</h4>
+<p>The Theme Editor allows you to modify the template files, the stylesheets and the Javascript files of the theme you are currently using.</p>
 
-<p>The file list is divided in three sections&nbsp;:</p>
+<p>The file list on the right is divided in four sections:</p>
 <ul>
-  <li>Template files : the templates</li>
-  <li>CSS files : the stylesheets</li>
-  <li>JavaScript files</li>
+  <li>Template files</li>
+  <li>CSS files (stylesheets)</li>
+  <li>Javascript files</li>
+  <li>Locales files (files used for translation)</li>
 </ul>
 
-<p>The yellow bullet in front of the name of a file indicates that this file is part of the theme. The red bullet means it is a part of the parent theme. The black bullet means it is a part of the "default" theme.</p>
+<p>The bullet in front of each file can have three different colors:</p>
+<ul>
+<li><strong>Black</strong> means it is in the <code>default</code> theme.</li>
+<li><strong>Yellow </strong> means it belongs to the current theme.</li> 
+<li><strong>Red </strong> means it belongs to a parent theme.</li>
+</ul>
 
-<p>If you modify a file belonging to the "default" theme, it will be copied into the theme you are currently using.</p>
+<h4>File mofidication</h4>
+<p>To modify a file, click on its name. Its content will be displayed in the editor. If the file can be overwritten you will be able to save it by pressing the <strong>Save (s)</strong> button.</p>
 
-<p>To edit a file, click on its name to display its content in the edition area. If the file can be written, you will be able to save your modifications by ckicking on "save".</p>
+<p>Be careful: Modifications are applied immediately after saving.</p>
 
-<p>The modifications are applied immediately after saving, so be careful.</p>
+<p>If you modify a file that comes from the <code>default</code> theme, the file will be copied into your current theme.</p>
 
-<p>To help modify your templates, you may consult the <a href="http://doc.dotclear.net/2.0/resources/templates">template tag list</a>.</p>
+<h4>Syntax highlighting</h4>
+<p>You can activate the syntax highlighting in <a href="preferences.php#user-options">your preferences</a> (in <strong>My options</strong> tab).</p>
 
-<p>Note: You can activate syntax coloration in your preferences (“My options” tab).</p>
+<h4>Further reading</h4>
+<p>To edit your template files, please check the <a href="http://dotclear.org/documentation/2.0/resources/themes/tags">list of template tags</a>.</p>
 
 </body>
Index: plugins/userPref/locales/en/help/help.html
===================================================================
--- plugins/userPref/locales/en/help/help.html	(revision 2322)
+++ plugins/userPref/locales/en/help/help.html	(revision 2534)
@@ -1,11 +1,17 @@
 <html>
-<head>
-  <title>User preferences</title>
-</head>
+  <head>
+    <title>User:preferences</title>
+  </head>
+  
+  <body>    
+    <h4>User:preferences</h4>
+    <p>This page provides technical informations about parameters usually managed by other pages in the administration interface.<br />
+    Only modify something here if you know what you are doing!</p>
 
-<body>
+    <p>For instance, the <code>nodragdrop</code> parameter can be configured in the <a href="preferences.php#user-options"><strong>My options</strong> tab</a> of the <strong>My preferences</strong> page.</p>
 
-<h4>User preferences</h4>
+    <p>The page has two tabs: <strong>User preferences</strong> and <strong>Global preferences</strong> to manage the current user preferences and the preferences common to every users, respectively.</p>
 
-</body>
+    <p>You can directly access the different page sections using the <strong>Goto</strong> dropdown menu.</p>
+  </body>
 </html>
Index: plugins/widgets/index.php
===================================================================
--- plugins/widgets/index.php	(revision 2520)
+++ plugins/widgets/index.php	(revision 2509)
@@ -218,5 +218,4 @@
 		echo
 			dcPage::jsLoad('js/jquery/jquery-ui.custom.js').
-			dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js').
 			dcPage::jsLoad('index.php?pf=widgets/widgets.js');
   ?>
@@ -367,5 +366,5 @@
 		$altUp = $i == 0 ? ' alt=""' : ' alt="'.__('Up the widget').'"';
 		$altDown = $i == count($widgets->elements())-1 ? ' alt=""' : ' alt="'.__('Down the widget').'"';
-		
+
 		$iname = 'w['.$pr.']['.$i.']';
 
Index: plugins/widgets/locales/en/help/help.html
===================================================================
--- plugins/widgets/locales/en/help/help.html	(revision 2375)
+++ plugins/widgets/locales/en/help/help.html	(revision 2534)
@@ -8,11 +8,15 @@
 <h4>Use of widgets</h4>
 
-<p>Widgets may be used to add various blocks of content to be displayed on your public pages. To add a widget, 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>Widgets may be used to add various blocks of content to be displayed on your public pages. To add a widget, drag it from the <strong>Available widgets</strong> 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. To apply your changes, press <strong>Update sidebars</strong>.</p>
 
 <p>Once included in a sidebar, widgets have configuration options that you can reach by clicking on the arrow next to their name.</p>
 
-<p>Reset sidebars to get back to default widgets installation</p>
+<p>To remove a widget, simply drag it to one of the dedicated zones</p>
 
-<h4>Widget templates tags</h4>
+<p>Remember to save your changes after any modification by pressing <strong>Update sidebars</strong></p>
+
+<p>Use the <strong>Reset sidebars</strong> button to reset the sidebars as they were originally set in your system (a pop-up will ask you to confirm your choice).</p>
+
+<h4>Widget Tags</h4>
 
 <div id="widgets-tpl">
@@ -29,5 +33,5 @@
 </pre>
 
-<p>Here are the following available widgets for your blog:</p><!-- the widgets and their descriptions are automatically inserted here -->
+<p>Here are the widgets available for your blog:</p><!-- the widgets and their descriptions are automatically inserted here -->
 
 </body>
Index: themes/ductile/_prepend.php
===================================================================
--- themes/ductile/_prepend.php	(revision 2495)
+++ themes/ductile/_prepend.php	(revision 1133)
@@ -26,6 +26,5 @@
 		if (!$core->auth->user_prefs->accessibility->nodragdrop) {
 			echo
-				dcPage::jsLoad('js/jquery/jquery-ui.custom.js').
-				dcPage::jsLoad('js/jquery/jquery.ui.touch-punch.js');
+				dcPage::jsLoad('js/jquery/jquery-ui.custom.js');
 				echo <<<EOT
 <script type="text/javascript">
