Index: admin/style/default.css
===================================================================
--- admin/style/default.css	(revision 432)
+++ admin/style/default.css	(revision 438)
@@ -1319,10 +1319,10 @@
 form#filters .col30 h3 {margin-left: 1em;}
 p.line, li.line { position: relative; padding: 3px 0 0 28px; margin: 0 0 1em 0;}
-p.line input[type=submit] {position: absolute; left:0;top:0; padding: 0 .1em; margin: 0;}
-p.line input[type=checkbox], li.line input[type=checkbox] {position: absolute; left: 0; top: .2em; padding: 0 .1em; margin: 0;}
-p.line select { margin-right: 2em;}
-p.line label { display: block; width: 8em; float: left;}
-p.line label img {margin-right: 8px;}
-p.line label.or {
+li.line input[type=submit] {position: absolute; left:0;top:0; padding: 0 .1em; margin: 0;}
+li.line input[type=checkbox], li.line input[type=checkbox] {position: absolute; left: 0; top: .2em; padding: 0 .1em; margin: 0;}
+li.line select { margin-right: 2em;}
+li.line label { display: block; width: 8em; float: left;}
+li.line label img {margin-right: 8px;}
+li.line span.or {
 	text-align: right;
 	margin-left: 5em;
Index: inc/admin/class.dc.filter.php
===================================================================
--- inc/admin/class.dc.filter.php	(revision 417)
+++ inc/admin/class.dc.filter.php	(revision 438)
@@ -22,13 +22,27 @@
 # ***** END LICENSE BLOCK *****
 
+/**
+@ingroup DC_CORE
+@nosubgrouping
+@brief Dotclear FilterSet class.
+
+Dotclear FilterSet handles filters and columns when displaying items lists.
+*/
 class dcFilterSet {
 
-	protected $filters;
-	protected $form_prefix;
-	protected $action;
-	protected $hideform;
-	protected $columns_form;
-	
-	public function __construct($action,$form_prefix="f_") {
+	protected $filters;			/// <b>array</b> lists of defined filters
+	protected $form_prefix;		/// <b>string</b> displayed form prefix
+	protected $action; 			/// <b>string</b> form action page
+	protected $hideform;		/// <b>boolean</b> start form display hidden by default or not
+	protected $columns_form;	/// <b>string</b> columns form
+	protected $name;			/// <b>string</b> fieldset name
+	/**
+	Inits dcFilterSet object
+	
+	@param	core		<b>dcCore</b>		Dotclear core reference
+	@param	form_prefix	<b>string</b>		form prefix to use for parameters
+	*/
+	public function __construct($name,$action,$form_prefix="f_") {
+		$this->name = $name;
 		$this->form_prefix=$form_prefix;
 		$this->filters = array();
@@ -36,4 +50,9 @@
 	}
 
+	/**
+	Adds a new filter to list
+	
+	@param	filter		<b>dcFilter</b>		the filter to add
+	*/
 	public function addFilter (Filter $filter) {
 		$filter->setFormPrefix($this->form_prefix);
@@ -41,22 +60,66 @@
 		return $this;
 	}
-
-	// Retrieves filter values from context
+	
+	/**
+	Saves user filters to preferences
+	*/
+	protected function saveFilters() {
+		$ser = array();
+		$ws = $GLOBALS['core']->auth->user_prefs->addWorkspace('filters');
+		foreach($this->filters as $filter) {
+			$ser[$filter->id]=$filter->serialize();
+		}
+		$ws->put($this->name,serialize($ser),'string');
+	}
+	
+	/**
+	Loads user filters from preferences
+	*/
+	protected function loadFilters() {
+		$ws = $GLOBALS['core']->auth->user_prefs->addWorkspace('filters');
+		
+		$settings = !is_null($ws->{$this->name}) ? unserialize($ws->{$this->name}) : array();
+		foreach($settings as $k => $v) {
+			$this->filters[$k]->unserialize($v);
+		}
+	}
+	
+	/**
+	Updates filters values according to form_data
+	To be called before any call to display() or getForm()
+	
+	@param	form_data	<b>array</b>	form values (usually $_GET or $_POST)
+	*/
 	public function setValues ($form_data) {
 		$this->hideform = true;
-		if (isset($form_data['clear_filters']))
+		if (isset($form_data['clear_filters'])) {
+			$this->saveFilters();
 			return;
+		}
+		if (!isset($form_data['apply'])) {
+			$this->loadFilters();
+		}
 		foreach ($this->filters as $filter) {
 			$filter->setValues ($form_data);
-			if ($filter->isEnabled())
+			if ($filter->isEnabled()) {
 				$this->hideform=false;
-		}
-		if (isset($form_data['apply']) && (trim($form_data['apply']) == '+')
-			&& isset($form_data['add_filter']) && isset($this->filters[$form_data['add_filter']])) {
-			$this->filters[$form_data['add_filter']]->add();
-			$this->hideform=false;
-		}
-	}
-	
+			}
+		}
+		if (isset($form_data['apply'])) {
+			if (trim($form_data['apply']) == '+'
+				&& isset($form_data['add_filter']) 
+				&& isset($this->filters[$form_data['add_filter']])) {
+				$this->filters[$form_data['add_filter']]->add();
+				$this->hideform=false;
+			}
+		}
+		$this->saveFilters();
+	}
+	
+	/**
+	Defines additional form in layout (right column)
+	
+	@param	html	<b>string</b>		the code to add
+	*/
 	public function setColumnsForm($html)
 	{
@@ -64,4 +127,9 @@
 	}
 	
+	/**
+	Returns form fields as hidden fields
+	
+	@return	<b>string</b>	the corresponding html code
+	*/
 	public function getFormFieldsAsHidden() {
 		$ret='';
@@ -72,5 +140,10 @@
 	}
 
-	public function getForm($action,$extra_content,$method="get",$nb_cols=3) {
+	/**
+	Retrieves filterset generated form
+	
+	@param	method	<b>string</b>		form method to use (default: "get")
+	*/
+	public function getForm($method="get") {
 		$ret = '';
 		
@@ -83,5 +156,5 @@
 		$ret .=
 			'<div class="two-cols">'.
-			'<form id="filters" action="'.$this->action.'" method="get" id="filters-form"'.$formclass.'>'.
+			'<form id="filters" action="'.$this->action.'" method="'.$method.'" id="filters-form"'.$formclass.'>'.
 			'<div class="col70">'.
 			'<h3>'.__('Entries filters').'</h3>';
@@ -90,10 +163,14 @@
 		$form_combo=array();
 		$form_combo['-']='';
-		foreach ($this->filters as $filter) {
-			if ($filter->isEnabled()) {
-				$ret .= $filter->getFormLine();
+		if (count($this->filters)) {
+			$ret .= '<ul>';
+			foreach ($this->filters as $filter) {
+				if ($filter->isEnabled()) {
+					$ret .= $filter->getFormLine();
+				}
+				$form_combo[$filter->desc]=$filter->id;
+				$count++;
 			}
-			$form_combo[$filter->desc]=$filter->id;
-			$count++;
+			$ret .= '</ul>';
 		}
 		$ret .= 
@@ -113,12 +190,28 @@
 		return $ret;
 	}
-
+	
+	/**
+	Displays required fieldset http header
+	To be called in page header, of course.
+	*/
 	public function header() {
 		return dcPage::jsLoad('js/filters.js');
 	}
+	
+	
+	/**
+	Displays the fieldset
+	*/
 	public function display() {
-		echo $this->getForm("#","");
-	}
-
+		echo $this->getForm();
+	}
+
+	/**
+	Applies fieldset and return resulting parameters for request
+	
+	@param	method	<b>string</b>		form method to use (default: "get")
+	@param	method	<b>string</b>		form method to use (default: "get")
+	
+	*/
 	public function applyFilters($params) {
 		$filtered = false;
@@ -135,13 +228,26 @@
 
 
+/**
+@ingroup DC_CORE
+@nosubgrouping
+@brief abstract filter class.
+
+Dotclear Filter handles administration filters for each list
+A filter fills in a parameter array, as defined in dcBlog class
+*/
 abstract class Filter {
-	public $id;
-	public $desc;
-	protected $request_param;
-	protected $enabled;
-	protected $values;
-	public $field_id;
-	
-	
+	public $id;					///< <b>string</b> field id (local to fieldset)
+	public $desc;				///< <b>string</b> field description
+	protected $request_param;	///< <b>string</b> resulting parameter array key
+	protected $enabled;			///< <b>string</b> true if filter is enabled
+	protected $values;			///< <b>array</b> possible filter values
+	public $field_id;			///< <b>string</b> field id (global to the page)
+	
+	/**
+	Inits Filter object
+	
+	@param	id		<b>string</b>	field id
+	@param	form_prefix	<b>string</b>		form prefix to use for parameters
+	*/
 	public function __construct ($id,$desc,$request_param) {
 		$this->id = $id;
@@ -153,4 +259,10 @@
 	}
 	
+	/**
+	Get a field id
+	
+	@param	pos		<b>integer</b>	position of field, in case of multiple field (0 if only 1 field set, default value)
+	@return	<b>string</b> The field ID
+	*/
 	protected function getFieldId($pos=0) {
 		if ($pos == 0) {
@@ -161,36 +273,88 @@
 	}
 	
+	/**
+	Tells whether the filter is enabled or not
+	
+	@return	<b>boolean</b> true if enabled, false otherwise
+	*/
 	public function isEnabled() {
 		return $this->enabled;
 	}
 	
+	/**
+	Adds the current filter to the list
+	*/
 	public function add() {
+		// By default here, only 1 value allowed. Simply enable the filter
 		$this->enabled = true;
 	}
 	
+	/**
+	Defines form prefix for filter
+	
+	@param	prefix		<b>string</b>	the form prefix
+	*/
 	public function setFormPrefix($prefix) {
 		$this->field_id = $prefix.$this->id;
 	}
 	
-	public abstract function getType();
-	
-	public function getFormFields() {
+	
+	/**
+	Returns HTML code for form field
+	
+	@param	pos		<b>integer</b>	position of the field to display (in case of multiple values)
+	@return <b>string</b> the html code
+	*/
+	public function getFormFields($pos=0) {
 		return '';
 	}
-
+	
+	/**
+	Returns filter values il a serialized way (array)
+	
+	@return		<b>array</b>	serialized data
+	*/
+	public function serialize() {
+		return array(
+			'values' => $this->values,
+			'enabled' => $this->enabled
+		);
+	}
+	
+	/**
+	Defines filter values from serialized data (array)
+	To be used in conjunction with serialize method
+	
+	@param	$data	<b>array</b>	serialized data to retrieve
+	*/
+	public function unserialize ($data) {
+		$this->values = $data['values'];
+		$this->enabled = $data['enabled'];
+	}
+	
+	/**
+	Set filter values from form_data (usually $_GET)	
+	@param	$form_data	<b>array</b>	form data
+	*/
 	public function setValues($form_data) {
-/*		if (isset($form_data['c_'.$this->field_id])) {
-			$this->enabled = true;
-		}*/
 		$count=0;
 		while (isset($form_data[$this->getFieldId($count)])) {
 			if (!isset($form_data['del_'.$this->getFieldId($count)])) {
-				$this->values[] = $form_data[$this->getFieldId($count)];
-				$this->enabled = true;
+				$this->values[$count] = $form_data[$this->getFieldId($count)];
+			} elseif (isset($this->values[$count])) {
+				unset($this->values[$count]);
 			}
 			$count++;
-		}
-	}
-	
+
+		}
+		$this->values = array_values($this->values);
+		$this->enabled = (count($this->values)!=0);
+	}
+	
+		/**
+	Returns form fields as hidden fields
+	
+	@return	<b>string</b>	the corresponding html code
+	*/	
 	public function getFormFieldAsHidden () {
 		$ret='';
@@ -199,16 +363,27 @@
 		}
 	}
+	/**
+	Returns HTML code for the hole filter lines
+	
+	@return <b>string</b> the html code
+	*/
+	
 	public function getFormLine() {
 		$ret="";
 		for ($cur=0; $cur < count($this->values); $cur++) {
-			$ret .= '<p id="'.$this->getFieldId($cur).'" class="line" title="'.$this->desc.'">'.
+			$ret .= '<li id="'.$this->getFieldId($cur).'" class="line" title="'.$this->desc.'">'.
 				$this->getFormFields($cur).
 				'<input id="del_'.$this->getFieldId($cur).'" class="delete" '.
-				'type="submit" title="Delete this filter" value=" - " name="del_'.$this->getFieldId($cur).'"/>'.
-				'</p>';
+				'type="submit" title="Delete the following filter : " value=" - " name="del_'.$this->getFieldId($cur).'"/>'.
+				'</li>';
 		}
 		return $ret;
 	}
 	
+	/**
+	Convert filter values into a $param filter, used for the upcoming SQL request
+	
+	@param <b>ArrayObject</b> the parameters array to enrich
+	*/
 	public function applyFilter($params) {
 	}
@@ -216,4 +391,11 @@
 }
 
+/**
+@ingroup DC_CORE
+@nosubgrouping
+@brief abstract filter class.
+
+Handle combo filter on admin side. Can be single or multi-valued
+*/
 class comboFilter extends Filter {
 	protected $options;
@@ -242,4 +424,15 @@
 		return "combo";
 	}
+
+	public function serialize() {
+		$data = parent::serialize();
+		$data['verb'] = $this->verb;
+		return $data;
+	}
+	
+	public function unserialize ($data) {
+		parent::unserialize($data);
+		$this->verb = $data['verb'];
+	}
 	
 	public function setValues($form_data) {
@@ -258,10 +451,10 @@
 		if ($pos == 0) {
 			$desc = $this->desc.' : ';
-			$labelclass="";
+			$labelclass="filter-title";
 		} else {
 			$desc = __('or');
-			$labelclass = ' class="or"';
+			$labelclass = 'or';
 		};
-		return '<span class="filter-title">'.$desc.'</span>'.
+		return '<span class="'.$labelclass.'">'.$desc.'</span>'.
 			(($pos == 0) 
 				?form::combo($this->field_id.'_v',
@@ -284,3 +477,40 @@
 	}
 }
+
+/**
+@ingroup DC_CORE
+@nosubgrouping
+@brief abstract filter class.
+
+Handle boolean filter on admin side.
+*/
+class booleanFilter extends Filter {
+	protected $options;
+	
+	public function __construct($id,$desc,$request_param,$options,$extra=array()) {
+		parent::__construct($id,$desc,$request_param);
+		$this->options = $options;
+		$this->values=array();
+	}
+	
+	
+	public function getType() {
+		return "boolean";
+	}
+	public function add() {
+		parent::add();
+		$this->values[]=$options[0];
+	}
+
+	public function getFormFields($pos=0) {
+		return '<span class="'.$labelclass.'">'.$this->desc.'</span>'.
+			form::combo($this->getFieldId($pos),$this->options,$this->values[$pos],
+				'','',false,'title="'.__('Choose an option').'"');
+	}
+	
+	public function applyFilter($params) {
+		$params[$this->request_param]=$this->values[0];
+	}
+}
+
 ?>
Index: locales/_pot/main.pot
===================================================================
--- locales/_pot/main.pot	(revision 221)
+++ locales/_pot/main.pot	(revision 438)
@@ -8,9 +8,8 @@
 "Project-Id-Version: Dotclear 2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-05-08 18:36+0200\n"
+"POT-Creation-Date: 2011-06-27 13:20+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=CHARSET\n"
@@ -280,6 +279,6 @@
 msgstr ""
 
-#: admin/blog_pref.php:92 admin/posts.php:96 inc/admin/lib.pager.php:47
-#: inc/admin/lib.pager.php:162 inc/admin/lib.pager.php:257
+#: admin/blog_pref.php:92 admin/posts.php:91 inc/admin/lib.pager.php:102
+#: inc/admin/lib.pager.php:111 inc/admin/lib.pager.php:117
 msgid "Title"
 msgstr ""
@@ -698,10 +697,10 @@
 
 #: admin/blogs.php:25 admin/comments.php:40 admin/permissions_blog.php:24
-#: admin/posts.php:104 admin/users.php:51
+#: admin/posts.php:99 admin/users.php:51
 msgid "Descending"
 msgstr ""
 
 #: admin/blogs.php:26 admin/comments.php:41 admin/permissions_blog.php:25
-#: admin/posts.php:105 admin/users.php:52
+#: admin/posts.php:100 admin/users.php:52
 msgid "Ascending"
 msgstr ""
@@ -721,16 +720,15 @@
 #: admin/blogs.php:90 admin/blogs.php:95 admin/comments.php:153
 #: admin/comments.php:158 admin/permissions_blog.php:102
-#: admin/permissions_blog.php:107 admin/posts.php:238 admin/posts.php:243
-#: admin/users.php:124 admin/users.php:129
+#: admin/permissions_blog.php:107 admin/users.php:124 admin/users.php:129
 msgid "Filters"
 msgstr ""
 
 #: admin/blogs.php:98 admin/comments.php:170 admin/permissions_blog.php:110
-#: admin/posts.php:264 admin/users.php:132
+#: admin/users.php:132
 msgid "Order by:"
 msgstr ""
 
 #: admin/blogs.php:101 admin/comments.php:173 admin/permissions_blog.php:113
-#: admin/posts.php:266 admin/users.php:135
+#: admin/users.php:135
 msgid "Sort:"
 msgstr ""
@@ -745,5 +743,5 @@
 
 #: admin/blogs.php:112 admin/comments.php:187 admin/permissions_blog.php:124
-#: admin/posts.php:270 admin/users.php:146
+#: admin/users.php:146
 msgid "Apply filters"
 msgstr ""
@@ -755,9 +753,6 @@
 #: admin/blogs.php:129 admin/blogs.php:147 admin/media.php:312
 #: admin/media.php:320 admin/permissions_blog.php:147
-#: admin/permissions_blog.php:172 inc/admin/lib.pager.php:60
-#: inc/admin/lib.pager.php:73 inc/admin/lib.pager.php:172
-#: inc/admin/lib.pager.php:185 inc/admin/lib.pager.php:269
-#: inc/admin/lib.pager.php:282 inc/admin/lib.pager.php:376
-#: inc/admin/lib.pager.php:389
+#: admin/permissions_blog.php:172 inc/admin/lib.pager.php:220
+#: inc/admin/lib.pager.php:233
 msgid "Page(s)"
 msgstr ""
@@ -765,6 +760,6 @@
 #: admin/blogs.php:135 admin/install/index.php:202
 #: admin/permissions_blog.php:154 admin/post.php:284 admin/post.php:324
-#: admin/posts.php:228 admin/posts.php:233 admin/posts_actions.php:165
-#: inc/admin/lib.pager.php:369 inc/admin/prepend.php:194
+#: admin/posts.php:182 admin/posts.php:197 admin/posts_actions.php:165
+#: inc/admin/lib.pager.php:129 inc/admin/prepend.php:194
 #: inc/admin/prepend.php:281 inc/dbschema/upgrade.php:154
 msgid "Entries"
@@ -772,7 +767,7 @@
 
 #: admin/blogs.php:138 admin/comments.php:36 admin/permissions_blog.php:155
-#: admin/post.php:614 admin/posts.php:99 admin/posts.php:113
-#: inc/admin/lib.pager.php:53 inc/admin/lib.pager.php:165
-#: inc/admin/lib.pager.php:261
+#: admin/post.php:614 admin/posts.php:94 admin/posts.php:108
+#: admin/posts.php:163 inc/admin/lib.pager.php:108 inc/admin/lib.pager.php:114
+#: inc/admin/lib.pager.php:121
 msgid "Status"
 msgstr ""
@@ -870,5 +865,5 @@
 
 #: admin/categories.php:167 admin/comments.php:218 admin/media.php:308
-#: admin/popup_posts.php:39 admin/post.php:562 admin/posts.php:288
+#: admin/popup_posts.php:39 admin/post.php:562 admin/posts.php:218
 #: admin/search.php:81 admin/search.php:129 admin/search.php:169
 #: admin/users.php:166 inc/admin/lib.dc.page.php:77
@@ -940,5 +935,5 @@
 msgstr ""
 
-#: admin/comment.php:93 admin/post.php:550 inc/admin/lib.pager.php:246
+#: admin/comment.php:93 admin/post.php:550
 msgid "No comment"
 msgstr ""
@@ -989,5 +984,5 @@
 msgstr ""
 
-#: admin/comment.php:199 admin/posts.php:246
+#: admin/comment.php:199
 msgid "Author:"
 msgstr ""
@@ -997,5 +992,5 @@
 msgstr ""
 
-#: admin/comment.php:212 admin/comments.php:164 admin/posts.php:250
+#: admin/comment.php:212 admin/comments.php:164
 msgid "Status:"
 msgstr ""
@@ -1006,20 +1001,20 @@
 
 #: admin/comment.php:228 admin/langs.php:197 admin/plugins.php:257
-#: admin/plugins.php:300 admin/post.php:480 admin/posts.php:132
+#: admin/plugins.php:300 admin/post.php:480 admin/posts.php:127
 #: admin/users.php:58
 msgid "Delete"
 msgstr ""
 
-#: admin/comments.php:28 inc/admin/lib.pager.php:337
+#: admin/comments.php:28 inc/admin/lib.pager.php:402
 msgid "comment"
 msgstr ""
 
-#: admin/comments.php:29 inc/admin/lib.pager.php:337
+#: admin/comments.php:29 inc/admin/lib.pager.php:402
 msgid "trackback"
 msgstr ""
 
-#: admin/comments.php:33 admin/post.php:612 admin/posts.php:95
-#: inc/admin/lib.pager.php:48 inc/admin/lib.pager.php:163
-#: inc/admin/lib.pager.php:258
+#: admin/comments.php:33 admin/post.php:612 admin/posts.php:90
+#: inc/admin/lib.pager.php:103 inc/admin/lib.pager.php:112
+#: inc/admin/lib.pager.php:118
 msgid "Date"
 msgstr ""
@@ -1029,7 +1024,7 @@
 msgstr ""
 
-#: admin/comments.php:35 admin/post.php:611 admin/posts.php:98
-#: inc/admin/lib.pager.php:50 inc/admin/lib.pager.php:164
-#: inc/admin/lib.pager.php:259
+#: admin/comments.php:35 admin/post.php:611 admin/posts.php:93
+#: admin/posts.php:159 inc/admin/lib.pager.php:105 inc/admin/lib.pager.php:113
+#: inc/admin/lib.pager.php:119
 msgid "Author"
 msgstr ""
@@ -1097,5 +1092,5 @@
 
 #: admin/comments_actions.php:101 admin/install/index.php:205
-#: admin/post.php:532 admin/post.php:546 inc/admin/lib.pager.php:51
+#: admin/post.php:532 admin/post.php:546 inc/admin/lib.pager.php:106
 #: inc/admin/prepend.php:197 inc/admin/prepend.php:278
 #: inc/dbschema/upgrade.php:157
@@ -1114,5 +1109,5 @@
 
 #: admin/index.php:111 admin/install/index.php:199 admin/post.php:37
-#: admin/posts.php:234 inc/admin/prepend.php:191 inc/admin/prepend.php:284
+#: admin/posts.php:203 inc/admin/prepend.php:191 inc/admin/prepend.php:284
 #: inc/admin/prepend.php:330 inc/dbschema/upgrade.php:151
 msgid "New entry"
@@ -1190,6 +1185,5 @@
 msgstr ""
 
-#: admin/index.php:312 admin/post.php:368 admin/posts.php:248
-#: admin/posts_actions.php:226
+#: admin/index.php:312 admin/post.php:368 admin/posts_actions.php:226
 msgid "Category:"
 msgstr ""
@@ -1570,5 +1564,5 @@
 
 #: admin/media.php:48 inc/admin/lib.dc.page.php:387
-#: inc/admin/lib.dc.page.php:658
+#: inc/admin/lib.dc.page.php:660
 msgid "Error:"
 msgstr ""
@@ -1735,5 +1729,5 @@
 
 #: admin/media_item.php:222 admin/media_item.php:252 admin/media_item.php:287
-#: admin/posts.php:63 inc/admin/lib.pager.php:89
+#: admin/posts.php:62 inc/admin/lib.pager.php:293
 msgid "None"
 msgstr ""
@@ -1795,5 +1789,5 @@
 msgstr ""
 
-#: admin/media_item.php:311 inc/admin/lib.dc.page.php:661
+#: admin/media_item.php:311 inc/admin/lib.dc.page.php:663
 msgid "Cancel"
 msgstr ""
@@ -1940,5 +1934,5 @@
 msgstr ""
 
-#: admin/permissions_blog.php:123 admin/posts.php:269
+#: admin/permissions_blog.php:123
 msgid "Entries per page"
 msgstr ""
@@ -2226,5 +2220,5 @@
 msgstr ""
 
-#: admin/post.php:538 inc/admin/lib.pager.php:52
+#: admin/post.php:538 inc/admin/lib.pager.php:107
 msgid "Trackbacks"
 msgstr ""
@@ -2246,23 +2240,20 @@
 msgstr ""
 
-#: admin/post.php:625 inc/admin/lib.pager.php:95 inc/admin/lib.pager.php:194
-#: inc/admin/lib.pager.php:308 inc/core/class.dc.blog.php:80
-#: inc/core/class.dc.blog.php:85
+#: admin/post.php:625 inc/admin/lib.pager.php:319 inc/admin/lib.pager.php:410
+#: inc/core/class.dc.blog.php:80 inc/core/class.dc.blog.php:85
 msgid "published"
 msgstr ""
 
-#: admin/post.php:628 inc/admin/lib.pager.php:98 inc/admin/lib.pager.php:197
-#: inc/admin/lib.pager.php:311 inc/core/class.dc.blog.php:79
-#: inc/core/class.dc.blog.php:84
+#: admin/post.php:628 inc/admin/lib.pager.php:322 inc/admin/lib.pager.php:413
+#: inc/core/class.dc.blog.php:79 inc/core/class.dc.blog.php:84
 msgid "unpublished"
 msgstr ""
 
-#: admin/post.php:631 inc/admin/lib.pager.php:104 inc/admin/lib.pager.php:203
-#: inc/admin/lib.pager.php:314 inc/core/class.dc.blog.php:77
-#: inc/core/class.dc.blog.php:83
+#: admin/post.php:631 inc/admin/lib.pager.php:328 inc/admin/lib.pager.php:416
+#: inc/core/class.dc.blog.php:77 inc/core/class.dc.blog.php:83
 msgid "pending"
 msgstr ""
 
-#: admin/post.php:634 inc/admin/lib.pager.php:317
+#: admin/post.php:634 inc/admin/lib.pager.php:419
 #: inc/core/class.dc.blog.php:82
 msgid "junk"
@@ -2277,5 +2268,5 @@
 msgstr ""
 
-#: admin/post.php:649 inc/admin/lib.pager.php:340
+#: admin/post.php:649 inc/admin/lib.pager.php:432
 msgid "Edit this comment"
 msgstr ""
@@ -2297,73 +2288,74 @@
 msgstr ""
 
-#: admin/posts.php:79 inc/admin/lib.pager.php:115 inc/admin/lib.pager.php:214
+#: admin/posts.php:76 inc/admin/lib.pager.php:339
 msgid "selected"
 msgstr ""
 
-#: admin/posts.php:80
+#: admin/posts.php:77
 msgid "not selected"
 msgstr ""
 
-#: admin/posts.php:97 inc/admin/lib.pager.php:49
+#: admin/posts.php:92 admin/posts.php:161 inc/admin/lib.pager.php:104
 msgid "Category"
 msgstr ""
 
-#: admin/posts.php:100
+#: admin/posts.php:95 admin/posts.php:165
 msgid "Selected"
 msgstr ""
 
-#: admin/posts.php:114
+#: admin/posts.php:109
 msgid "Publish"
 msgstr ""
 
+#: admin/posts.php:110
+msgid "Unpublish"
+msgstr ""
+
+#: admin/posts.php:111
+msgid "Schedule"
+msgstr ""
+
+#: admin/posts.php:112
+msgid "Mark as pending"
+msgstr ""
+
 #: admin/posts.php:115
-msgid "Unpublish"
+msgid "Mark"
 msgstr ""
 
 #: admin/posts.php:116
-msgid "Schedule"
+msgid "Mark as selected"
 msgstr ""
 
 #: admin/posts.php:117
-msgid "Mark as pending"
-msgstr ""
-
-#: admin/posts.php:120
-msgid "Mark"
-msgstr ""
-
-#: admin/posts.php:121
-msgid "Mark as selected"
-msgstr ""
-
-#: admin/posts.php:122
 msgid "Mark as unselected"
 msgstr ""
 
-#: admin/posts.php:124 admin/posts.php:127
+#: admin/posts.php:119 admin/posts.php:122
 msgid "Change"
 msgstr ""
 
-#: admin/posts.php:124
+#: admin/posts.php:119
 msgid "Change category"
 msgstr ""
 
-#: admin/posts.php:128
+#: admin/posts.php:123
 msgid "Change author"
 msgstr ""
 
-#: admin/posts.php:255
-msgid "Selected:"
-msgstr ""
-
-#: admin/posts.php:257
-msgid "Month:"
-msgstr ""
-
-#: admin/posts.php:259
-msgid "Lang:"
-msgstr ""
-
-#: admin/posts.php:286 admin/search.php:127
+#: admin/posts.php:167
+msgid "Lang"
+msgstr ""
+
+#: admin/posts.php:169
+msgid "Month"
+msgstr ""
+
+#: admin/posts.php:180
+#, php-format
+msgid "Entries / %s filtered out of %s"
+msgstr ""
+
+#: admin/posts.php:216 admin/search.php:127
 msgid "Selected entries action:"
 msgstr ""
@@ -2718,17 +2710,17 @@
 msgstr ""
 
-#: admin/users.php:43 inc/admin/lib.pager.php:365
+#: admin/users.php:43 inc/admin/lib.pager.php:125
 msgid "Username"
 msgstr ""
 
-#: admin/users.php:44 inc/admin/lib.pager.php:367
+#: admin/users.php:44
 msgid "Last Name"
 msgstr ""
 
-#: admin/users.php:45 inc/admin/lib.pager.php:366
+#: admin/users.php:45
 msgid "First Name"
 msgstr ""
 
-#: admin/users.php:46 inc/admin/lib.pager.php:368
+#: admin/users.php:46 inc/admin/lib.pager.php:128
 msgid "Display name"
 msgstr ""
@@ -2762,4 +2754,49 @@
 msgstr ""
 
+#: inc/admin/class.dc.filter.php:95
+msgid "Toggle filters and display options"
+msgstr ""
+
+#: inc/admin/class.dc.filter.php:100
+msgid "Entries filters"
+msgstr ""
+
+#: inc/admin/class.dc.filter.php:117
+msgid "Delete all filters"
+msgstr ""
+
+#: inc/admin/class.dc.filter.php:118
+msgid "Add a filter"
+msgstr ""
+
+#: inc/admin/class.dc.filter.php:121
+msgid "Add this filter"
+msgstr ""
+
+#: inc/admin/class.dc.filter.php:127
+msgid "Apply filters and display options"
+msgstr ""
+
+#: inc/admin/class.dc.filter.php:279
+msgid "or"
+msgstr ""
+
+#: inc/admin/class.dc.filter.php:285
+msgid "is"
+msgstr ""
+
+#: inc/admin/class.dc.filter.php:285
+msgid "is not"
+msgstr ""
+
+#: inc/admin/class.dc.filter.php:286
+#, php-format
+msgid "%s is or is not"
+msgstr ""
+
+#: inc/admin/class.dc.filter.php:289
+msgid "Choose an option"
+msgstr ""
+
 #: inc/admin/lib.dc.page.php:57
 msgid "Blog:"
@@ -2928,241 +2965,273 @@
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:466
+#: inc/admin/lib.dc.page.php:437
+msgid "Loading enhanced uploader, please wait."
+msgstr ""
+
+#: inc/admin/lib.dc.page.php:468
 msgid "You have unsaved changes."
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:540
+#: inc/admin/lib.dc.page.php:542
 msgid "close"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:541
+#: inc/admin/lib.dc.page.php:543
 msgid "now"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:585
+#: inc/admin/lib.dc.page.php:587
 msgid "visual"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:586
+#: inc/admin/lib.dc.page.php:588
 msgid "source"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:588
+#: inc/admin/lib.dc.page.php:590
 msgid "You can use the following shortcuts to format your text."
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:589
+#: inc/admin/lib.dc.page.php:591
 msgid "-- none --"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:590
+#: inc/admin/lib.dc.page.php:592
 msgid "-- block format --"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:591
+#: inc/admin/lib.dc.page.php:593
 msgid "Paragraph"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:592
+#: inc/admin/lib.dc.page.php:594
 msgid "Level 1 header"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:593
+#: inc/admin/lib.dc.page.php:595
 msgid "Level 2 header"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:594
+#: inc/admin/lib.dc.page.php:596
 msgid "Level 3 header"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:595
+#: inc/admin/lib.dc.page.php:597
 msgid "Level 4 header"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:596
+#: inc/admin/lib.dc.page.php:598
 msgid "Level 5 header"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:597
+#: inc/admin/lib.dc.page.php:599
 msgid "Level 6 header"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:598
+#: inc/admin/lib.dc.page.php:600
 msgid "Strong emphasis"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:599
+#: inc/admin/lib.dc.page.php:601
 msgid "Emphasis"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:600
+#: inc/admin/lib.dc.page.php:602
 msgid "Inserted"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:601
+#: inc/admin/lib.dc.page.php:603
 msgid "Deleted"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:602
+#: inc/admin/lib.dc.page.php:604
 msgid "Inline quote"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:603
+#: inc/admin/lib.dc.page.php:605
 msgid "Code"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:604
+#: inc/admin/lib.dc.page.php:606
 msgid "Line break"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:605
+#: inc/admin/lib.dc.page.php:607
 msgid "Blockquote"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:606
+#: inc/admin/lib.dc.page.php:608
 msgid "Preformated text"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:607
+#: inc/admin/lib.dc.page.php:609
 msgid "Unordered list"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:608
+#: inc/admin/lib.dc.page.php:610
 msgid "Ordered list"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:610
+#: inc/admin/lib.dc.page.php:612
 msgid "Link"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:611 inc/admin/lib.dc.page.php:615
+#: inc/admin/lib.dc.page.php:613 inc/admin/lib.dc.page.php:617
 msgid "URL?"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:612
+#: inc/admin/lib.dc.page.php:614
 msgid "Language?"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:614
+#: inc/admin/lib.dc.page.php:616
 msgid "External image"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:617
+#: inc/admin/lib.dc.page.php:619
 msgid "Media chooser"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:618
+#: inc/admin/lib.dc.page.php:620
 msgid "Link to an entry"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:650
+#: inc/admin/lib.dc.page.php:652
 msgid "Activate enhanced uploader"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:651
+#: inc/admin/lib.dc.page.php:653
 msgid "Disable enhanced uploader"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:652
+#: inc/admin/lib.dc.page.php:654
 msgid "File successfully uploaded."
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:653
+#: inc/admin/lib.dc.page.php:655
 msgid "Maximum file size allowed:"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:654
+#: inc/admin/lib.dc.page.php:656
 msgid "Limit exceeded."
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:655
+#: inc/admin/lib.dc.page.php:657
 msgid "File size exceeds allowed limit."
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:656
+#: inc/admin/lib.dc.page.php:658
 msgid "Canceled."
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:657
+#: inc/admin/lib.dc.page.php:659
 msgid "HTTP Error:"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:659
+#: inc/admin/lib.dc.page.php:661
 msgid "Choose file"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:660
+#: inc/admin/lib.dc.page.php:662
 msgid "Choose files"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:662
+#: inc/admin/lib.dc.page.php:664
 msgid "Clean"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:663
+#: inc/admin/lib.dc.page.php:665
 msgid "Upload"
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:664
+#: inc/admin/lib.dc.page.php:666
 msgid "No file in queue."
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:665
+#: inc/admin/lib.dc.page.php:667
 msgid "1 file in queue."
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:666
+#: inc/admin/lib.dc.page.php:668
 #, php-format
 msgid "%d files in queue."
 msgstr ""
 
-#: inc/admin/lib.dc.page.php:667
+#: inc/admin/lib.dc.page.php:669
 msgid "Queue error:"
 msgstr ""
 
-#: inc/admin/lib.pager.php:25
+#: inc/admin/lib.pager.php:27
+msgid "Invalid column ID"
+msgstr ""
+
+#: inc/admin/lib.pager.php:31
+msgid "Invalid column title"
+msgstr ""
+
+#: inc/admin/lib.pager.php:43
+msgid "Callback parameter should be an array"
+msgstr ""
+
+#: inc/admin/lib.pager.php:49
+msgid "Callback class should be inherited of adminGenericList class"
+msgstr ""
+
+#: inc/admin/lib.pager.php:53
+#, php-format
+msgid "Invalid column callback: %s"
+msgstr ""
+
+#: inc/admin/lib.pager.php:98
 msgid "&#171;prev."
 msgstr ""
 
-#: inc/admin/lib.pager.php:26
+#: inc/admin/lib.pager.php:99
 msgid "next&#187;"
 msgstr ""
 
-#: inc/admin/lib.pager.php:36 inc/admin/lib.pager.php:151
+#: inc/admin/lib.pager.php:120
+msgid "Type"
+msgstr ""
+
+#: inc/admin/lib.pager.php:126
+msgid "First name"
+msgstr ""
+
+#: inc/admin/lib.pager.php:127
+msgid "Last name"
+msgstr ""
+
+#: inc/admin/lib.pager.php:177
+msgid "Displayed information"
+msgstr ""
+
+#: inc/admin/lib.pager.php:197
 msgid "No entry"
 msgstr ""
 
-#: inc/admin/lib.pager.php:101 inc/admin/lib.pager.php:200
-#: inc/core/class.dc.blog.php:78
+#: inc/admin/lib.pager.php:325 inc/core/class.dc.blog.php:78
 msgid "scheduled"
 msgstr ""
 
-#: inc/admin/lib.pager.php:110 inc/admin/lib.pager.php:209
+#: inc/admin/lib.pager.php:334
 msgid "protected"
 msgstr ""
 
-#: inc/admin/lib.pager.php:121 inc/admin/lib.pager.php:220
+#: inc/admin/lib.pager.php:345
 #, php-format
 msgid "%d attachment"
 msgstr ""
 
-#: inc/admin/lib.pager.php:121 inc/admin/lib.pager.php:220
+#: inc/admin/lib.pager.php:345
 #, php-format
 msgid "%d attachments"
 msgstr ""
 
-#: inc/admin/lib.pager.php:260
-msgid "Type"
-msgstr ""
-
-#: inc/admin/lib.pager.php:354
-msgid "No user"
-msgstr ""
-
-#: inc/admin/lib.pager.php:401
+#: inc/admin/lib.pager.php:446
 msgid "admin"
 msgstr ""
 
-#: inc/admin/lib.pager.php:404
+#: inc/admin/lib.pager.php:449
 msgid "superadmin"
 msgstr ""
@@ -3260,88 +3329,88 @@
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1085
+#: inc/core/class.dc.blog.php:1090
 msgid "You are not allowed to create an entry"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1143
+#: inc/core/class.dc.blog.php:1148
 msgid "You are not allowed to update entries"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1149 inc/core/class.dc.blog.php:1330
+#: inc/core/class.dc.blog.php:1154 inc/core/class.dc.blog.php:1335
 msgid "No such entry ID"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1178
+#: inc/core/class.dc.blog.php:1183
 msgid "You are not allowed to edit this entry"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1202 inc/core/class.dc.blog.php:1220
+#: inc/core/class.dc.blog.php:1207 inc/core/class.dc.blog.php:1225
 #: inc/core/class.dc.meta.php:168 inc/core/class.dc.meta.php:182
 msgid "You are not allowed to change this entry status"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1239 inc/core/class.dc.blog.php:1282
-#: inc/core/class.dc.blog.php:1300
+#: inc/core/class.dc.blog.php:1244 inc/core/class.dc.blog.php:1287
+#: inc/core/class.dc.blog.php:1305
 msgid "You are not allowed to change this entry category"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1257
+#: inc/core/class.dc.blog.php:1262
 msgid "You are not allowed to mark this entry as selected"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1324
+#: inc/core/class.dc.blog.php:1329
 msgid "You are not allowed to delete entries"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1345
+#: inc/core/class.dc.blog.php:1350
 msgid "You are not allowed to delete this entry"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1499
+#: inc/core/class.dc.blog.php:1504
 msgid "No entry title"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1503 inc/core/class.dc.blog.php:1519
+#: inc/core/class.dc.blog.php:1508 inc/core/class.dc.blog.php:1524
 msgid "No entry content"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1681
+#: inc/core/class.dc.blog.php:1686
 msgid "Empty entry URL"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1921
+#: inc/core/class.dc.blog.php:1926
 msgid "You are not allowed to update comments"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1927 inc/core/class.dc.blog.php:1933
-#: inc/core/class.dc.blog.php:1995
+#: inc/core/class.dc.blog.php:1932 inc/core/class.dc.blog.php:1938
+#: inc/core/class.dc.blog.php:2000
 msgid "No such comment ID"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1940
+#: inc/core/class.dc.blog.php:1945
 msgid "You are not allowed to update this comment"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1973
+#: inc/core/class.dc.blog.php:1978
 msgid "You are not allowed to change this comment's status"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:1989
+#: inc/core/class.dc.blog.php:1994
 msgid "You are not allowed to delete comments"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:2011
+#: inc/core/class.dc.blog.php:2016
 msgid "You are not allowed to delete this comment"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:2026
+#: inc/core/class.dc.blog.php:2031
 msgid "You must provide a comment"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:2030
+#: inc/core/class.dc.blog.php:2035
 msgid "You must provide an author name"
 msgstr ""
 
-#: inc/core/class.dc.blog.php:2034
+#: inc/core/class.dc.blog.php:2039
 msgid "Email address is not valid."
 msgstr ""
@@ -3743,14 +3812,14 @@
 msgstr ""
 
-#: inc/prepend.php:159
+#: inc/prepend.php:163
 msgid "Unable to connect to database"
 msgstr ""
 
-#: inc/prepend.php:161
+#: inc/prepend.php:165
 #, php-format
 msgid "<p>This either means that the username and password information in your <strong>config.php</strong> file is incorrect or we can't contact the database server at \"<em>%s</em>\". This could mean your host's database server is down.</p> <ul><li>Are you sure you have the correct username and password?</li><li>Are you sure that you have typed the correct hostname?</li><li>Are you sure that the database server is running?</li></ul><p>If you're unsure what these terms mean you should probably contact your host. If you still need help you can always visit the <a href=\"http://forum.dotclear.net/\">Dotclear Support Forums</a>.</p>"
 msgstr ""
 
-#: inc/prepend.php:172
+#: inc/prepend.php:176
 msgid "The following error was encountered while trying to read the database:"
 msgstr ""
Index: locales/_pot/plugins.pot
===================================================================
--- locales/_pot/plugins.pot	(revision 221)
+++ locales/_pot/plugins.pot	(revision 438)
@@ -8,9 +8,8 @@
 "Project-Id-Version: Dotclear 2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-05-08 18:36+0200\n"
+"POT-Creation-Date: 2011-06-27 13:20+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=CHARSET\n"
@@ -113,21 +112,22 @@
 
 #: plugins/antispam/filters/class.dc.filter.ip.php:126
+#: plugins/antispam/filters/class.dc.filter.ip.php:128
 msgid "Add an IP address"
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.ip.php:132
+#: plugins/antispam/filters/class.dc.filter.ip.php:133
 msgid "Global IP"
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.ip.php:137
+#: plugins/antispam/filters/class.dc.filter.ip.php:138
 #: plugins/antispam/filters/class.dc.filter.words.php:132
 msgid "Add"
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.ip.php:144
+#: plugins/antispam/filters/class.dc.filter.ip.php:145
 msgid "No IP address in list."
 msgstr ""
 
-#: plugins/antispam/filters/class.dc.filter.ip.php:150
+#: plugins/antispam/filters/class.dc.filter.ip.php:151
 msgid "IP list"
 msgstr ""
@@ -177,4 +177,5 @@
 
 #: plugins/antispam/filters/class.dc.filter.words.php:122
+#: plugins/antispam/filters/class.dc.filter.words.php:123
 msgid "Add a word"
 msgstr ""
@@ -299,9 +300,9 @@
 msgstr ""
 
-#: plugins/antispam/index.php:170
+#: plugins/antispam/index.php:170 plugins/antispam/index.php:191
 msgid "Active"
 msgstr ""
 
-#: plugins/antispam/index.php:171
+#: plugins/antispam/index.php:171 plugins/antispam/index.php:192
 msgid "Auto Del."
 msgstr ""
@@ -313,4 +314,8 @@
 #: plugins/antispam/index.php:184 plugins/antispam/index.php:185
 msgid "Filter configuration"
+msgstr ""
+
+#: plugins/antispam/index.php:190 plugins/blogroll/index.php:260
+msgid "position"
 msgstr ""
 
@@ -529,12 +534,4 @@
 msgstr ""
 
-#: plugins/blogroll/index.php:249
-msgid "Lang"
-msgstr ""
-
-#: plugins/blogroll/index.php:260
-msgid "position"
-msgstr ""
-
 #: plugins/blogroll/index.php:261
 msgid "select this link"
@@ -949,8 +946,4 @@
 #: plugins/importExport/inc/class.dc.ieModule.php:85
 msgid "Why don't you blog this now?"
-msgstr ""
-
-#: plugins/importExport/inc/class.dc.ieModule.php:86
-msgid "or"
 msgstr ""
 
Index: locales/fr/date.po
===================================================================
--- locales/fr/date.po	(revision 0)
+++ locales/fr/date.po	(revision 438)
@@ -10,8 +10,8 @@
 "Last-Translator: Olivier Meunier <olivier@dotclear.net>\n"
 "Language-Team: \n"
-"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Language: \n"
 "X-Poedit-Language: French\n"
 
Index: locales/fr/main.po
===================================================================
--- locales/fr/main.po	(revision 222)
+++ locales/fr/main.po	(revision 438)
@@ -6,12 +6,12 @@
 "Project-Id-Version: Dotclear 2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-05-08 18:35+0200\n"
+"POT-Creation-Date: 2011-06-27 13:14+0200\n"
 "PO-Revision-Date: 2011-05-08 19:27+0100\n"
 "Last-Translator: Franck Paul <carnet.franck.paul@gmail.com>\n"
 "Language-Team: \n"
-"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Language: \n"
 "X-Poedit-Language: French\n"
 
@@ -1708,12 +1708,15 @@
 msgstr "Changer l'auteur"
 
-msgid "Selected:"
-msgstr "Sélectionné :"
-
-msgid "Month:"
+#, fuzzy
+msgid "Lang"
+msgstr "Langue :"
+
+#, fuzzy
+msgid "Month"
 msgstr "Mois :"
 
-msgid "Lang:"
-msgstr "Langue :"
+#, php-format
+msgid "Entries / %s filtered out of %s"
+msgstr ""
 
 msgid "Selected entries action:"
@@ -2016,4 +2019,37 @@
 msgstr "Action sur les utilisateurs sélectionnés :"
 
+msgid "Toggle filters and display options"
+msgstr ""
+
+msgid "Entries filters"
+msgstr "Filtres sur les billets"
+
+msgid "Delete all filters"
+msgstr "Supprimer tous les filtres"
+
+msgid "Add a filter"
+msgstr "Ajouter un filtre"
+
+msgid "Add this filter"
+msgstr "Ajouter ce filtre"
+
+msgid "Apply filters and display options"
+msgstr "Appliquer les filtres et les options d'affichage"
+
+msgid "or"
+msgstr "ou"
+
+msgid "is"
+msgstr "est"
+
+msgid "is not"
+msgstr "n'est pas"
+
+msgid "%s is or is not"
+msgstr "%s est ou n'est pas"
+
+msgid "Choose an option"
+msgstr "Choisissez une option un blog"
+
 msgid "Blog:"
 msgstr "Blog :"
@@ -2143,4 +2179,7 @@
 msgstr "Vous avez des modifications non sauvegardées. Changer de format vous fera perdre ces modifications. Continuer ?"
 
+msgid "Loading enhanced uploader, please wait."
+msgstr ""
+
 msgid "You have unsaved changes."
 msgstr "Vous n'avez pas enregistré vos modifications."
@@ -2288,4 +2327,21 @@
 msgstr "Erreur de file d'attente :"
 
+msgid "Invalid column ID"
+msgstr ""
+
+#, fuzzy
+msgid "Invalid column title"
+msgstr "URL de fichier de langue invalide."
+
+msgid "Callback parameter should be an array"
+msgstr ""
+
+msgid "Callback class should be inherited of adminGenericList class"
+msgstr ""
+
+#, fuzzy, php-format
+msgid "Invalid column callback: %s"
+msgstr "Espace de travail de la préférence invalide : %s"
+
 msgid "&#171;prev."
 msgstr "&#171;préc."
@@ -2294,4 +2350,19 @@
 msgstr "suiv.&#187;"
 
+msgid "Type"
+msgstr "Type"
+
+#, fuzzy
+msgid "First name"
+msgstr "Prénom"
+
+#, fuzzy
+msgid "Last name"
+msgstr "Nom"
+
+#, fuzzy
+msgid "Displayed information"
+msgstr "Informations utilisateur"
+
 msgid "No entry"
 msgstr "Pas de billet"
@@ -2310,10 +2381,4 @@
 msgid "%d attachments"
 msgstr "%d annexes"
-
-msgid "Type"
-msgstr "Type"
-
-msgid "No user"
-msgstr "Pas d'utilisateur"
 
 msgid "admin"
@@ -2757,4 +2822,10 @@
 msgstr "L'erreur suivante a été rencontrée lors de la tentative d'accès à la base de données :"
 
+#~ msgid "Selected:"
+#~ msgstr "Sélectionné :"
+
+#~ msgid "No user"
+#~ msgstr "Pas d'utilisateur"
+
 #~ msgid "login"
 #~ msgstr "login"
Index: locales/fr/plugins.po
===================================================================
--- locales/fr/plugins.po	(revision 222)
+++ locales/fr/plugins.po	(revision 438)
@@ -6,12 +6,12 @@
 "Project-Id-Version: Dotclear 2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-05-08 18:35+0200\n"
+"POT-Creation-Date: 2011-06-27 13:14+0200\n"
 "PO-Revision-Date: \n"
 "Last-Translator: Franck Paul <carnet.franck.paul@gmail.com>\n"
 "Language-Team: \n"
-"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Language: \n"
 "X-Poedit-Language: French\n"
 
@@ -235,4 +235,7 @@
 msgstr "Configuration du filtre"
 
+msgid "position"
+msgstr "position"
+
 msgid "Syndication"
 msgstr "Syndication"
@@ -388,10 +391,4 @@
 msgstr "URL"
 
-msgid "Lang"
-msgstr "Langue"
-
-msgid "position"
-msgstr "position"
-
 msgid "select this link"
 msgstr "sélectionner ce lien"
@@ -699,7 +696,4 @@
 msgid "Why don't you blog this now?"
 msgstr "Pourquoi ne pas le bloguer maintenant ?"
-
-msgid "or"
-msgstr "ou"
 
 msgid "visit your dashboard"
@@ -1409,4 +1403,10 @@
 msgstr "Supprimer le widget"
 
+#~ msgid "Lang"
+#~ msgstr "Langue"
+
+#~ msgid "or"
+#~ msgstr "ou"
+
 #~ msgid "Blogroll"
 #~ msgstr "Liens / Blogroll"
Index: locales/fr/public.po
===================================================================
--- locales/fr/public.po	(revision 221)
+++ locales/fr/public.po	(revision 438)
@@ -10,8 +10,8 @@
 "Last-Translator: xave <xave@dotclear.net>\n"
 "Language-Team: \n"
-"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Language: \n"
 "X-Poedit-Language: French\n"
 
