Index: admin/posts.php
===================================================================
--- admin/posts.php	(revision 3031)
+++ admin/posts.php	(revision 3033)
@@ -82,4 +82,10 @@
 	);
 
+	$password_combo = array(
+	'-' => '',
+	__('With password') => '1',
+	__('Without password') => '0'
+	);
+
 	# Months array
 	$dt_m_combo = array_merge(
@@ -91,4 +97,17 @@
 		array('-' => ''),
 		dcAdminCombos::getLangsCombo($langs,false)
+	);
+
+	# Post formats
+	$core_formaters = $core->getFormaters();
+	$available_formats = array();
+	foreach ($core_formaters as $editor => $formats) {
+		foreach ($formats as $format) {
+			$available_formats[$format] = $format;
+		}
+	}
+	$format_combo = array_merge(
+		array('-' => ''),
+		$available_formats
 	);
 
@@ -101,6 +120,5 @@
 	__('Selected') => 'post_selected',
 	__('Number of comments') => 'nb_comment',
-	__('Number of trackbacks') => 'nb_trackback',
-	__('Password') => 'post_password'
+	__('Number of trackbacks') => 'nb_trackback'
 	);
 
@@ -121,13 +139,15 @@
 /* Get posts
 -------------------------------------------------------- */
-$user_id = !empty($_GET['user_id']) ?	$_GET['user_id'] : '';
-$cat_id = !empty($_GET['cat_id']) ?	$_GET['cat_id'] : '';
-$status = isset($_GET['status']) ?	$_GET['status'] : '';
-$selected = isset($_GET['selected']) ?	$_GET['selected'] : '';
-$attachment = isset($_GET['attachment']) ?	$_GET['attachment'] : '';
-$month = !empty($_GET['month']) ?		$_GET['month'] : '';
-$lang = !empty($_GET['lang']) ?		$_GET['lang'] : '';
+$user_id = !empty($_GET['user_id']) ? $_GET['user_id'] : '';
+$cat_id = !empty($_GET['cat_id']) ? $_GET['cat_id'] : '';
+$status = isset($_GET['status']) ? $_GET['status'] : '';
+$password = isset($_GET['password']) ? $_GET['password'] : '';
+$selected = isset($_GET['selected']) ? $_GET['selected'] : '';
+$attachment = isset($_GET['attachment']) ? $_GET['attachment'] : '';
+$month = !empty($_GET['month']) ? $_GET['month'] : '';
+$lang = !empty($_GET['lang']) ?	$_GET['lang'] : '';
+$format = !empty($_GET['format']) ? $_GET['format'] : '';
 $sortby = !empty($_GET['sortby']) ?	$_GET['sortby'] : 'post_dt';
-$order = !empty($_GET['order']) ?		$_GET['order'] : 'desc';
+$order = !empty($_GET['order']) ? $_GET['order'] : 'desc';
 
 $show_filters = false;
@@ -145,4 +165,5 @@
 $params['limit'] = array((($page-1)*$nb_per_page),$nb_per_page);
 $params['no_content'] = true;
+$params['where'] = '';
 
 # - User filter
@@ -170,4 +191,12 @@
 }
 
+# - Password filter
+if ($password !== '' && in_array($password,$password_combo)) {
+	$params['where'] .= ' AND post_password IS '.($password ? 'NOT ' : '').'NULL ';
+	$show_filters = true;
+} else {
+	$password='';
+}
+
 # - Selected filter
 if ($selected !== '' && in_array($selected,$selected_combo)) {
@@ -178,5 +207,5 @@
 }
 
-# - Selected filter
+# - Attachment filter
 if ($attachment !== '' && in_array($attachment,$attachment_combo)) {
 	$params['media'] = $attachment;
@@ -202,4 +231,12 @@
 } else {
 	$lang='';
+}
+
+# - Format filter
+if ($format !== '' && in_array($format,$format_combo)) {
+	$params['where'] .= " AND post_format = '".$format."' ";
+	$show_filters = true;
+} else {
+	$format='';
 }
 
@@ -272,4 +309,8 @@
 	'<p><label for="status" class="ib">'.__('Status:').'</label> ' .
 	form::combo('status',$status_combo,$status).'</p> '.
+	'<p><label for="format" class="ib">'.__('Format:').'</label> '.
+	form::combo('format',$format_combo,$format).'</p>'.
+	'<p><label for="password" class="ib">'.__('Password:').'</label> '.
+	form::combo('password',$password_combo,$password).'</p>'.
 	'</div>'.
 
@@ -316,4 +357,5 @@
 	form::hidden(array('cat_id'),$cat_id).
 	form::hidden(array('status'),$status).
+	form::hidden(array('password'),$password).
 	form::hidden(array('selected'),$selected).
 	form::hidden(array('attachment'),$attachment).
Index: inc/core/class.dc.blog.php
===================================================================
--- inc/core/class.dc.blog.php	(revision 2800)
+++ inc/core/class.dc.blog.php	(revision 3033)
@@ -964,4 +964,8 @@
 		}
 
+		if (!empty($params['where'])) {
+			$strReq .= $params['where'].' ';
+		}
+
 		if (!empty($params['sql'])) {
 			$strReq .= $params['sql'].' ';
Index: locales/fr/main.po
===================================================================
--- locales/fr/main.po	(revision 3030)
+++ locales/fr/main.po	(revision 3033)
@@ -3651,4 +3651,13 @@
 msgstr "L'erreur suivante a été rencontrée lors de la tentative d'accès à la base de données :"
 
+msgid "With password"
+msgstr "Avec mot de passe"
+
+msgid "Without password"
+msgstr "Sans mot de passe"
+
+msgid "Format:"
+msgstr "Format :"
+
 #~ msgid "visual"
 #~ msgstr "visuel"
