Index: admin/post.php
===================================================================
--- admin/post.php	(revision 1497)
+++ admin/post.php	(revision 1498)
@@ -302,5 +302,5 @@
 		
 	
-	$form_comment = new dcForm($core,'add-comment','post.php');
+	$form_comment = new dcForm($core,'add-comment','comment.php');
 	$form_comment
 		->addField(
@@ -322,4 +322,6 @@
 				'required'	=> true,
 				'label'		=> __('Comment:'))))
+		->addField(
+			new dcFieldHidden('post_id',$post_id))
 		->addField(
 			new dcFieldSubmit('add',__('Save'),array(
Index: admin/posts.php
===================================================================
--- admin/posts.php	(revision 1492)
+++ admin/posts.php	(revision 1498)
@@ -158,5 +158,6 @@
 			'multiple' => true)))
 	->addFilter(new dcFilterRichCombo(
-		'category',__('Category'), __('Category'), 'cat_id', $categories_combo))
+		'category',__('Category'), __('Category'), 'cat_id', $categories_combo,array(
+			'multiple' => true)))
 	->addFilter(new dcFilterRichCombo(
 		'post_status',__('Status'), __('Status'), 'post_status', $status_combo))
@@ -172,5 +173,6 @@
 
 $lfetcher = new PostsFetcher($core);
-$lposts = new dcItemList ($core,array('lposts','form-entries'),$filterSet,$lfetcher,'posts_actions.php');
+$lposts = new dcItemList ($core,array('lposts','form-entries'),$lfetcher,'posts_actions.php');
+$lposts->setFilterSet($filterSet);
 $lposts->addTemplate('posts_cols.html.twig');
 
Index: inc/admin/class.dc.filter.php
===================================================================
--- inc/admin/class.dc.filter.php	(revision 1491)
+++ inc/admin/class.dc.filter.php	(revision 1498)
@@ -382,4 +382,5 @@
 		$fcontext = new ArrayObject();
 		$sfcontext = new ArrayObject();
+		$afcontext = new ArrayObject();
 		foreach ($this->filters as $f) {
 			if($f->isEnabled()) {
@@ -390,7 +391,13 @@
 			$f->appendFilterContext($sfcontext);
 		}
+		foreach ($this->filters as $f) {
+			if ($f->isApplied()) {
+				$afcontext[] = $f->getAppliedFilterText();
+			}
+		}
 		return array(
 			'active_filters' => $fcontext,
 			'static_filters' => $sfcontext,
+			'applied_filters' => $afcontext,
 			'hide_filters'	 => $this->hide_filterset,
 			'prefix'		 => $this->form_prefix);
@@ -635,5 +642,6 @@
 
 	protected abstract function addValue($value=NULL);
-
+	protected abstract function getAppliedFilterText();
+	
     /**
      * add -- adds a value for the filter
@@ -832,4 +840,10 @@
 		$params[$this->request_param]=$this->avalues['values'][0];
 	}
+	
+	public function getAppliedFilterText() {
+		if ($this->isApplied()) {
+			return sprintf(__('%s contains : "%s"'),$this->desc,$this->avalues['values'][0]);
+		}
+	}
 }
 
@@ -860,8 +874,10 @@
      */
 	public function init() {
+		echo $this->name.":".($this->multiple?"MULTIPLE":"SIMPLE");
 		$this->field = new dcFieldCombo(
 			$this->filter_id,
 			NULL,
-			$this->combo);
+			$this->combo,array(
+				'multiple' => $this->multiple));
 		$this->filterset->addField($this->field);
 	}
@@ -913,5 +929,13 @@
 			$params[$attr]=$this->avalues['values'][0];
 	}
-
+	public function getAppliedFilterText() {
+		if ($this->isApplied()) {
+			if (count($this->avalues['values'])) {
+				return sprintf(__("%s is %s"),$this->desc,join(__(' OR '), $this->avalues['values']));
+			} else {
+				return sprintf(__('%s is %s'),$this->desc,$this->avalues['values'][0]);
+			}
+		}
+	}
 }
 
@@ -1001,4 +1025,24 @@
 		}
 	}
+	public function getAppliedFilterText() {
+		if ($this->isApplied()) {
+			if ($this->avalues['verb'] == "is") {
+				$txt = __("%s is %s");
+				$or = __(' or ');
+			} else {
+				$txt = __("%s is not %s");
+				$or = __(' nor ');
+			}
+			$texts = array();
+			foreach ($this->avalues['values'] as $v) {
+				$texts[] = $this->field->getTextForValue($v);
+			}
+			if (count($texts)>=1) {
+				return sprintf($txt,$this->desc,join($or, $texts));
+			} else {
+				return sprintf($txt,$this->desc,$texts);
+			}
+		}
+	}
 
 }
Index: inc/admin/class.dc.form.php
===================================================================
--- inc/admin/class.dc.form.php	(revision 1497)
+++ inc/admin/class.dc.form.php	(revision 1498)
@@ -1064,7 +1064,11 @@
 	public function getAttributes($options=array())
 	{
-		$offset = isset($options['offset']) ? $options['offset'] : 0;
-
+		$offset = 0;
 		$attr = $this->options->getArrayCopy();
+		if (isset($options['offset'])) {
+			$offset = $options['offset'];
+			unset($attr['offset']);
+		}
+		
 		if (isset($this->values[$offset])) {
 			$attr['value'] = $this->values[$offset];
@@ -1241,9 +1245,17 @@
 	{
 		$val = array();
-		if (!is_array($values)) {
+		if (!is_array($values) && $values !== null) {
 			$values = array("1" => !empty($values));
 		}
-		$this->checked = $values;
-		parent::__construct($name,array_keys($values),$options);
+
+		if (is_array($values)) {
+			$keys = array_keys($values);
+			$this->checked = $values;
+		} else {
+			$keys = array();
+			$this->checked = array();
+		}
+		
+		parent::__construct($name,$keys,$options);
 	}
 
@@ -1381,4 +1393,11 @@
 	}
 
+	public function getTextForValue($value) {
+		if (isset($this->combo_values[$value])) {
+			return $this->combo_values[$value];
+		} else {
+			return false;
+		}
+	}
 	public function getAttributes($options=array()) {
 		$attr = parent::getAttributes($options);
Index: inc/admin/class.dc.list.php
===================================================================
--- inc/admin/class.dc.list.php	(revision 1491)
+++ inc/admin/class.dc.list.php	(revision 1498)
@@ -14,4 +14,5 @@
 
 	protected $columns;
+	protected $columns_combo;
 	protected $entries;
 	protected $filterset;
@@ -54,5 +55,5 @@
 	@param	form_prefix	<b>string</b>		form prefix to use for parameters
 	*/
-	public function __construct($core,$name,$filterset,$fetcher,$action,$form_prefix="f_") {
+	public function __construct($core,$name,$fetcher,$action,$form_prefix="f_") {
 		parent::__construct($core,$name,$action,'POST');
 		$this->entries = array();
@@ -60,21 +61,13 @@
 		$this->selection = new dcFieldCheckbox('entries',NULL,array('multiple' => true));
 		$this->addField($this->selection);
-		$this->filterset = $filterset;
 		$this->fetcher = $fetcher;
-	}
-
-	public function setup() {
-		$this
-			->addField(new dcFieldCombo('action','',array(), array(
-				'label' => __('Selected entries action:'))))
-			->addField(new dcFieldSubmit('ok',__('ok'), array()));
-		$columns_combo = array();
-		foreach ($this->columns as $c) {
-			$columns_combo[$c->getID()] = $c->getName();
-		}
+		$this->filterset = null;
+	}
+	
+	protected function setupFilterset() {
 		$this->sortby = new dcFilterCombo(
 			'sortby',
 			__('Sort By'), 
-			__('Sort by'), 'sortby', $columns_combo,array('singleval'=> true,'static' => true));
+			__('Sort by'), 'sortby', $this->columns_combo,array('singleval'=> true,'static' => true));
 		$this->filterset->addFilter($this->sortby);
 		$order_combo = array('asc' => __('Ascending'),'desc' => __('Descending'));
@@ -88,7 +81,22 @@
 		$this->filterset->addFilter($this->order);
 		$this->filterset->addFilter($limit);
-		$this->filterset->setup();
+		$this->filterset->setup();	
+		$this->nb_items_per_page = $limit->getFields()->getValue();
+
+	}
+	
+	public function setup() {
+		$this
+			->addField(new dcFieldCombo('action','',array(), array(
+				'label' => __('Selected entries action:'))))
+			->addField(new dcFieldSubmit('ok',__('ok'), array()));
+		$this->columns_combo = array();
+		foreach ($this->columns as $c) {
+			$this->columns_combo[$c->getID()] = $c->getName();
+		}
+		if ($this->filterset !== null) {
+			$this->setupFilterset();
+		}
 		parent::setup();
-		$this->nb_items_per_page = $limit->getFields()->getValue();
 		if ($this->nb_items_per_page == 0)
 			$this->nb_items_per_page = 10;
@@ -99,5 +107,7 @@
 	protected function fetchEntries() {
 		$params = new ArrayObject();
-		$this->filterset->applyFilters($params);
+		if ($this->filterset != null) {
+			$this->filterset->applyFilters($params);
+		}
 		$this->nb_items = $this->fetcher->getEntriesCount($params);
 		$this->nb_pages = round($this->nb_items / $this->nb_items_per_page) + 1;
Index: inc/admin/default-templates/forms/formfilter_layout.html.twig
===================================================================
--- inc/admin/default-templates/forms/formfilter_layout.html.twig	(revision 1491)
+++ inc/admin/default-templates/forms/formfilter_layout.html.twig	(revision 1498)
@@ -41,4 +41,10 @@
 </div>
 </div>
+<p class="applied-filters">{{__('Applied filters :') }} </p>
+<ul>
+	{% for f in fenv.applied_filters %}
+		<li>{{f}}</li>
+	{% endfor %}
+</ul>
 {%- endblock %}
 
@@ -57,8 +63,8 @@
 {% block filter_combo -%}
 	{% if f.display_inline is defined -%}
-		<p id='{{f.filter_id}}'>{{form_field(f.ffield,{},{'label':f.desc,'nestedlabel': true, 'labelclass':'classic' })}}</p>
+		<p id='{{f.filter_id}}'>{{form_field(f.ffield,{'offset':f.foffset},{'label':f.desc,'nestedlabel': true, 'labelclass':'classic' })}}</p>
 	{%- else -%}
 		<td id='{{f.filter_id}}' title='{{f.desc}}' class="filter-title" colspan="2">{{f.desc}} : </td>
-		<td >{{ form_field(f.ffield) }}</td>
+		<td >{{ form_field(f.ffield,{'offset':f.foffset}) }}</td>
 	{%- endif %}
 {%- endblock %}
@@ -66,7 +72,7 @@
 {% block filter_combo_cont -%}
 	{% if f.display_inline is defined -%}
-		<p id='{{filter_id}}'>{{form_field(f.ffield,{'label':__('or :')})}}</p>
+		<p id='{{filter_id}}'>{{form_field(f.ffield,{'offset':f.foffset,'label':__('or :')})}}</p>
 	{%- else -%}
-		<td id='{{filter_id}}' colspan="2">{{ __('or :') }} </td><td>{{ form_field(f.ffield) }}</td>
+		<td id='{{filter_id}}' colspan="2">{{ __('or :') }} </td><td>{{ form_field(f.ffield,{'offset':f.foffset}) }}</td>
 	{%- endif %}
 {%- endblock %}
@@ -76,5 +82,5 @@
 	<td id='{{filterd_id}}' title='{{f.desc}}' class="filter-title">{{f.desc}} : </td>
 	<td>{{ form_field(f.fverb)}}</td>
-	<td>{{ form_field(f.ffield) }}</td>
+	<td>{{ form_field(f.ffield,{'offset':f.foffset}) }}</td>
 {%- endblock %}
 
@@ -82,13 +88,13 @@
 {% block filter_boolean -%}
 	<td id='{{filterd_id}}' title='{{f.desc}}' class="filter-title" colspan="2">{{f.desc}}</td>
-	<td>{{ form_field(f.ffield) }}</td>
+	<td>{{ form_field(f.ffield,{'offset':f.foffset}) }}</td>
 {%- endblock %}
 
 {% block filter_text -%}
 	{% if f.display_inline is defined -%}
-		<p id='{{filter_id}}'>{{form_field(f.ffield,{},{'label':f.desc,'nestedlabel': true, 'labelclass':'classic' })}}</p>
+		<p id='{{filter_id}}'>{{form_field(f.ffield,{'offset':f.foffset},{'label':f.desc,'nestedlabel': true, 'labelclass':'classic' })}}</p>
 	{%- else -%}
 		<td id='{{filterd_id}}' title='{{f.desc}}' class="filter-title" colspan="2">{{f.desc}}</td>
-		<td>{{ form_field(f.ffield) }}</td>
+		<td>{{ form_field(f.ffield,{'offset':f.foffset}) }}</td>
 	{%- endif %}
 {%- endblock %}
Index: inc/admin/default-templates/forms/lists_layout.html.twig
===================================================================
--- inc/admin/default-templates/forms/lists_layout.html.twig	(revision 1156)
+++ inc/admin/default-templates/forms/lists_layout.html.twig	(revision 1498)
@@ -2,12 +2,14 @@
 {% set lenv = _context['list_' ~ listname] %}
 {% if lenv.entries %}
-{% block list_pagination %}
-<p>Page : {% for p in lenv.pages_links %}
-{% if p == lenv.page or p == '...' %}
-<b>{{p}}</b>
-{% else %}
-<a href="{{build_url(lenv.url,{'page':p})}}">{{p}}</a>
-{% endif %}
-{% endfor %}</p>
+{% block list_pagination -%}
+<p class="pagination">{{__('Page:')}}
+{% for p in lenv.pages_links -%}
+	{% if p == lenv.page or p == '...' %}
+		<b>{{p}}</b>
+	{% else %}
+		<a href="{{build_url(lenv.url,{'page':p})}}">{{p}}</a>
+	{% endif %}
+	{% if not loop.last %} - {% endif %}
+{%- endfor %}</p>
 {% endblock %}
 {% form listname -%}
@@ -17,9 +19,10 @@
 		<tr>
 		{% for h in lenv.cols -%}
-			<th scope="col">{{h.name}}</th>
+			<th scope="col"{% if loop.first %} colspan="2"{% endif %}>{{h.name}}</th>
 		{%- endfor %}
 		</tr>
 		{% for e in lenv.entries %}
 			{% block list_line_start %}<tr class="line">{% endblock %}
+			<td>{{widget('col_ref',{'e':e,'offset':loop.parent.loop.index0})}}</td>
 			{% for h in lenv.cols %}
 				<td>{{widget(h.widget,{'e':e,'offset':loop.parent.loop.index0})}}</td>
@@ -44,2 +47,6 @@
 {% endblock filter_checkbox %}
 
+
+{% block col_ref %}
+	{{form_field('entries',{'offset':offset})}}
+{% endblock %}
Index: inc/admin/default-templates/post.html.twig
===================================================================
--- inc/admin/default-templates/post.html.twig	(revision 1493)
+++ inc/admin/default-templates/post.html.twig	(revision 1498)
@@ -1,4 +1,5 @@
 {% extends "layout.html.twig" %}
 {% import "js_helpers.html.twig" as js %}
+
 {% macro img_status(status) -%}
 	{% if status == 1 %}
@@ -13,4 +14,5 @@
 	<img alt="{{title}}" title="{{title}}" src="images/{{src}}" />
 {%- endmacro %}
+
 {% macro post_link(id,title,link) -%}
 <a href="post.php?id={{id}}" title="{{title}}">{{link}}</a>
@@ -75,9 +77,15 @@
 {% endform %}
 </div>
+
+{# Trackbacks tab #}
 {% if post_id is defined %}
 <p><a href="trackbacks.php?id={{ post_id }}" class="multi-part">{{__('Ping blogs')}}</a></p>
+
+{# Comments list tab #}
 <div class="multi-part" id="comments" title="{{__('Comments')}}">
 <!-- to be completed -->
 </div>
+
+{# Add a comment tab #}
 <div class="multi-part" id="add-comment" title="{{__('Add a comment')}}">
 <h3>{{__('Add a comment')}}</h3>
Index: inc/admin/default-templates/posts.html.twig
===================================================================
--- inc/admin/default-templates/posts.html.twig	(revision 1491)
+++ inc/admin/default-templates/posts.html.twig	(revision 1498)
@@ -26,6 +26,4 @@
 {{ filterset('fposts') }}
 
-<p> Applied filters : {{filters}} </p>
-
 {{ listitems('lposts')}}
 
Index: inc/admin/default-templates/posts_cols.html.twig
===================================================================
--- inc/admin/default-templates/posts_cols.html.twig	(revision 1156)
+++ inc/admin/default-templates/posts_cols.html.twig	(revision 1498)
@@ -1,9 +1,5 @@
 
-{% block col_ref %}
-	{{form_field('entries',{'offset':offset})}}
-{% endblock %}
 
 {% block col_title %}
-	{{block('col_ref')}}
 	<a href="post.php?id={{e.post_id}}">{{e.post_title}}</a>
 {% endblock %}
