Index: /trunk/admin/template/wigo/admin.tpl
===================================================================
--- /trunk/admin/template/wigo/admin.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin.tpl	(revision 2526)
@@ -0,0 +1,132 @@
+{* $Id$ *}
+{known_script id="jquery" src=$ROOT_URL|@cat:"template-common/lib/jquery.packed.js"}
+{known_script id="jquery.ui" src=$ROOT_URL|@cat:"template-common/lib/ui/ui.core.packed.js" }
+{known_script id="jquery.ui.accordion" src=$ROOT_URL|@cat:"template-common/lib/ui/ui.accordion.packed.js" }
+
+<script type="text/javascript">
+jQuery().ready(function(){ldelim}
+  jQuery('#menubar').accordion({ldelim}
+    header: "dt.rdion",
+    event: "click",
+    active: {$themeconf.selected_admin_menu}
+  });
+});
+</script>
+
+<div id="menubar">
+  <dl class="first">
+    <dt class="rdion"><span>{'Links'|@translate}&nbsp;</span></dt>
+    <dd>
+      <ul>
+        <li><a href="{$U_RETURN}">{'home'|@translate}</a></li>
+        <li><a href="{$U_FAQ}">{'instructions'|@translate}</a></li>
+        <li><a href="{$U_ADMIN}" title="{'hint_admin'|@translate}">{'admin'|@translate}</a></li>
+{if isset($pwgmenu)}
+        <li class="external"><a href="{$pwgmenu.WIKI}" onclick="window.open(this.href, ''); 
+          return false;">{'WIKI / DOC'|@translate}</a></li>
+        <li class="external"><a href="{$pwgmenu.FORUM}" onclick="window.open(this.href, '');
+          return false;">{'FORUM'|@translate}</a></li>
+{/if}
+        
+      </ul>
+    </dd>
+  </dl>
+  <dl>
+    <dt class="rdion"><span>{'config'|@translate}&nbsp;</span></dt>
+    <dd>
+      <ul>
+        <li><a href="{$U_CONFIG_GENERAL}">{'conf_general'|@translate}</a></li>
+        <li><a href="{$U_CONFIG_DISPLAY}">{'conf_display'|@translate}</a></li>
+        <li><a href="{$U_CONFIG_MENUBAR}">{'title_menu'|@translate}</a></li>
+        <li><a href="{$U_CONFIG_EXTENTS}">{'conf_extents'|@translate}</a></li>
+      </ul>
+    </dd>
+  </dl>
+  <dl>
+    <dt class="rdion"><span>{'Categories'|@translate}&nbsp;</span></dt>
+    <dd>
+      <ul>
+        <li><a href="{$U_SITE_MANAGER}">{'Site manager'|@translate}</a></li>
+        <li><a href="{$U_CAT_UPDATE}">{'update'|@translate}</a><br />&nbsp;</li>
+        <li><a href="{$U_CATEGORIES}">{'manage'|@translate}</a></li>
+        <li><a href="{$U_MOVE}">{'Move'|@translate}</a></li>
+        <li><a href="{$U_CAT_OPTIONS}">{'cat_options_title'|@translate}</a></li>
+        <li><a href="{$U_PERMALINKS}">{'Permalinks'|@translate}</a></li>
+      </ul>
+    </dd>
+  </dl>
+  <dl>
+    <dt class="rdion"><span>{'Pictures'|@translate}&nbsp;</span></dt>
+    <dd>
+      <ul>
+        <li><a href="{$U_WAITING}">{'waiting'|@translate}</a></li>
+        <li><a href="{$U_THUMBNAILS}">{'thumbnails'|@translate}</a></li>
+        <li><a href="{$U_RATING}">{'Rating'|@translate}</a></li>
+        <li><a href="{$U_TAGS}">{'Tags'|@translate}</a></li>
+        <li><a href="{$U_CADDIE}">{'Caddie'|@translate}</a></li>
+      </ul>
+    </dd>
+  </dl>
+  <dl>
+    <dt class="rdion"><span>{'identification'|@translate}&nbsp;</span></dt>
+    <dd>
+      <ul>
+        <li><a href="{$U_USERS}">{'users'|@translate}</a></li>
+        <li><a href="{$U_GROUPS}">{'groups'|@translate}</a></li>
+        <li><a href="{$U_NOTIFICATION_BY_MAIL}">{'nbm_item_notification'|@translate}</a></li>
+      </ul>
+    </dd>
+  </dl>
+  <dl>
+    <dt class="rdion"><span>{'special_admin_menu'|@translate}&nbsp;</span></dt>
+    <dd>
+      <ul>
+        <li><a href="{$U_HISTORY_STAT}">{'History'|@translate}</a></li>
+        <li><a href="{$U_MAINTENANCE}">{'Maintenance'|@translate}</a></li>
+        <li><a href="{$U_ADVANCED_FEATURE}">{'Advanced_features'|@translate}</a></li>
+        <li>
+          {'Plugins'|@translate}
+          <ul {* TODO conditional class="scroll" *}>
+{foreach from=$plugin_menu_items item=menu_item}
+      <li><a href="{$menu_item.URL}">{$menu_item.NAME}</a></li>
+{/foreach}
+          </ul>
+        </li>
+      </ul>
+    </dd>
+  </dl>
+</div> <!-- menubar -->
+
+<div id="content" class="content">
+
+  {if isset($TABSHEET)}
+  {$TABSHEET}
+  {/if}
+  {if isset($U_HELP)}
+  <ul class="HelpActions">
+    <li><a href="{$U_HELP}" onclick="popuphelp(this.href); return false;" title="{'Help'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/help.png" class="button" alt="(?)"></a></li>
+  </ul>
+  {/if}
+  
+  {if isset($errors)}
+  <div class="errors">
+    <ul>
+      {foreach from=$errors item=error}
+      <li>{$error}</li>
+      {/foreach}
+    </ul>
+  </div>
+  {/if}
+
+  {if isset($infos)}
+  <div class="infos">
+    <ul>
+      {foreach from=$infos item=info}
+      <li>{$info}</li>
+      {/foreach}
+    </ul>
+  </div>
+  {/if}
+
+  {$ADMIN_CONTENT}
+</div>
Index: /trunk/admin/template/wigo/admin/advanced_feature.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/advanced_feature.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/advanced_feature.tpl	(revision 2526)
@@ -0,0 +1,10 @@
+{* $Id$ *}
+<div class="titrePage">
+  <h2>{'Advanced_features'|@translate}</h2>
+</div>
+
+<ul>
+  {foreach from=$advanced_features item=feature}
+    <li><a href="{$feature.URL}" {$TAG_INPUT_ENABLED}>{$feature.CAPTION}</a></li>
+  {/foreach}
+</ul>
Index: /trunk/admin/template/wigo/admin/cat_list.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/cat_list.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/cat_list.tpl	(revision 2526)
@@ -0,0 +1,65 @@
+{* $Id$ *}
+<h2>{'title_categories'|@translate}</h2>
+
+<h3>{$CATEGORIES_NAV}</h3>
+
+<form id="addVirtual" action="{$F_ACTION}" method="post">
+  <p>
+    {'cat_add'|@translate} : <input type="text" name="virtual_name" />
+    <input class="submit" type="submit" value="{'Submit'|@translate}" name="submitAdd" {$TAG_INPUT_ENABLED} />
+    {if count($categories)>9 }
+    <a href="#EoP" class="button"><img src="{$themeconf.icon_dir}/page_end.png" class="button" alt="page_end" /></a>
+    {/if}
+  </p>
+</form>
+
+{if count($categories) }
+<form id="categoryOrdering" action="{$F_ACTION}" method="post">
+  <p>
+    <input class="submit" name="submitOrder" type="submit" value="{'Save order'|@translate}" {$TAG_INPUT_ENABLED} />
+    <input class="submit" name="submitOrderAlphaNum" type="submit" value="{'Order alphanumerically'|@translate}" {$TAG_INPUT_ENABLED} />
+  </p>
+  <ul class="categoryUl">
+
+    {foreach from=$categories item=category}
+    <li class="categoryLi{if $category.IS_VIRTUAL} virtual_cat{/if}">
+      <!-- category {$category.ID} -->
+      <ul class="categoryActions">
+        <li><a href="{$category.U_JUMPTO}" title="{'jump to category'|@translate}"><img src="{$themeconf.icon_dir}/category_jump-to.png" class="button" alt="{'jump to category'|@translate}" /></a></li>
+        <li><a href="{$category.U_EDIT}" title="{'edit category informations'|@translate}"><img src="{$themeconf.icon_dir}/category_edit.png" class="button" alt="{'edit'|@translate}"/></a></li>
+        {if isset($category.U_MANAGE_ELEMENTS) }
+        <li><a href="{$category.U_MANAGE_ELEMENTS}" title="{'manage category elements'|@translate}"><img src="{$themeconf.icon_dir}/category_elements.png" class="button" alt="{'elements'|@translate}" /></a></li>
+        {/if}
+        <li><a href="{$category.U_CHILDREN}" title="{'manage sub-categories'|@translate}"><img src="{$themeconf.icon_dir}/category_children.png" class="button" alt="{'sub-categories'|@translate}" /></a></li>
+        {if isset($category.U_MANAGE_PERMISSIONS) }
+        <li><a href="{$category.U_MANAGE_PERMISSIONS}" title="{'edit category permissions'|@translate}" ><img src="{$themeconf.icon_dir}/category_permissions.png" class="button" alt="{'permissions'|@translate}" /></a></li>
+        {/if}
+        {if isset($category.U_DELETE) }
+        <li><a href="{$category.U_DELETE}" title="{'delete category'|@translate}" onclick="return confirm('{'Are you sure?'|@translate|@escape:javascript}');"><img src="{$themeconf.icon_dir}/category_delete.png" class="button" alt="{'delete'|@translate}" /></a></li>
+        {/if}
+      </ul>
+
+      <p>
+      <strong><a href="{$category.U_CHILDREN}" title="{'manage sub-categories'|@translate}">{$category.NAME}</a></strong>
+      {if $category.IS_VIRTUAL}
+      <img src="{$themeconf.icon_dir}/virt_category.png" class="button" alt="{'virtual_category'|@translate}" />
+      {/if}
+      </p>
+
+      <p>
+        <label>
+          {'Position'|@translate} :
+          <input type="text" size="4" name="catOrd[{$category.ID}]" maxlength="4" value="{$category.RANK}" />
+        </label>
+      </p>
+
+    </li>
+    {/foreach}
+  </ul>
+  <p>
+    <input class="submit" name="submitOrder" type="submit" value="{'Save order'|@translate}" {$TAG_INPUT_ENABLED} />
+    <input class="submit" name="submitOrderAlphaNum" type="submit" value="{'Order alphanumerically'|@translate}" {$TAG_INPUT_ENABLED} />
+  </p>
+
+</form>
+{/if}
Index: /trunk/admin/template/wigo/admin/cat_modify.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/cat_modify.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/cat_modify.tpl	(revision 2526)
@@ -0,0 +1,227 @@
+{* $Id$ *}
+<div class="titrePage">
+  <h2>{'title_edit_cat'|@translate}</h2>
+</div>
+
+<h3>{$CATEGORIES_NAV}</h3>
+
+<ul class="categoryActions">
+  <li><a href="{$U_JUMPTO}" title="{'jump to category'|@translate}"><img src="{$themeconf.icon_dir}/category_jump-to.png" class="button" alt="{'jump to category'|@translate}" /></a></li>
+  {if isset($U_MANAGE_ELEMENTS) }
+  <li><a href="{$U_MANAGE_ELEMENTS}" title="{'manage category elements'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/category_elements.png" class="button" alt="{'elements'|@translate}" /></a></li>
+  <li><a href="{$U_MANAGE_RANKS}" title="{'manage image ranks'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/ranks.png" class="button" alt="{'ranks'|@translate}" /></a></li>
+  {/if}
+  <li><a href="{$U_CHILDREN}" title="{'manage sub-categories'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/category_children.png" class="button" alt="{'sub-categories'|@translate}" /></a></li>
+  {if isset($U_MANAGE_PERMISSIONS) }
+  <li><a href="{$U_MANAGE_PERMISSIONS}" title="{'edit category permissions'|@translate}" ><img src="{$ROOT_URL}{$themeconf.icon_dir}/category_permissions.png" class="button" alt="{'permissions'|@translate}" /></a></li>
+  {/if}
+  {if isset($U_DELETE) }
+  <li><a href="{$U_DELETE}" title="{'delete category'|@translate}" onclick="return confirm('{'Are you sure?'|@translate|@escape:'javascript'}');"><img src="{$ROOT_URL}{$themeconf.icon_dir}/category_delete.png" class="button" alt="{'delete'|@translate}" /></a></li>
+  {/if}
+</ul>
+
+<form action="{$F_ACTION}" method="POST" id="catModify">
+
+<fieldset>
+  <legend>{'Informations'|@translate}</legend>
+  <table>
+
+    {if isset($CAT_FULL_DIR) }
+    <tr>
+      <td><strong>{'storage'|@translate}</strong></td>
+      <td class="row1">{$CAT_FULL_DIR}</td>
+    </tr>
+    {/if}
+    
+    <tr>
+      <td><strong>{'Name'|@translate}</strong></td>
+      <td>
+        <input type="text" name="name" value="{$CAT_NAME}" maxlength="60"/>
+      </td>
+    </tr>
+    <tr>
+      <td><strong>{'Description'|@translate}</strong></td>
+      <td>
+        <textarea cols="50" rows="5" name="comment" class="description">{$CAT_COMMENT}</textarea>
+      </td>
+    </tr>
+  </table>
+</fieldset>
+
+{if isset($move_cat_options) }
+<fieldset id="move">
+  <legend>{'Move'|@translate}</legend>
+  {'Parent category'|@translate}
+  <select class="categoryDropDown" name="parent">
+    <option value="0">------------</option>
+    {html_options options=$move_cat_options selected=$move_cat_options_selected }
+  </select>
+</fieldset>
+{/if}
+
+<fieldset id="options">
+  <legend>{'Options'|@translate}</legend>
+  <table>
+    <tr>
+      <td><strong>{'conf_access'|@translate}</strong>
+      <td>
+        {html_radios name='status' values=$status_values output=$status_values|translate selected=$CAT_STATUS}
+      </td>
+    </tr>
+    <tr>
+      <td><strong>{'lock'|@translate}</strong>
+      <td>
+        {html_radios name='visible' values='true,false'|@explode output='No,Yes'|@explode|translate selected=$CAT_VISIBLE}
+      </td>
+    </tr>
+    <tr>
+      <td><strong>{'comments'|@translate}</strong>
+      <td>
+        {html_radios name='commentable' values='false,true'|@explode output='No,Yes'|@explode|translate selected=$CAT_COMMENTABLE}
+      </td>
+    </tr>
+    {if isset($SHOW_UPLOADABLE) }
+    <tr>
+      <td><strong>{'editcat_uploadable'|@translate}</strong>
+      <td>
+        {html_radios name='uploadable' values='false,true'|@explode output='No,Yes'|@explode|translate selected=$CAT_UPLOADABLE}
+      </td>
+    </tr>
+    {/if}
+  </table>
+</fieldset>
+
+<fieldset id="image_order">
+  <legend>{'Sort order'|@translate}</legend>
+  <input type="checkbox" name="image_order_default" id="image_order_default" {$IMG_ORDER_DEFAULT} />
+  <label for="image_order_default">{'Use default sort order'|@translate}</label>
+  <br/>
+  <input type="checkbox" name="image_order_subcats" id="image_order_subcats" />
+  <label for="image_order_subcats">{'Apply to subcategories'|@translate}</label>
+  <br/>
+  
+  {foreach from=$image_orders item=order}
+    <select name="order_field_{$order.ID}">
+      {html_options options=$image_order_field_options selected=$order.FIELD }}
+    </select>
+    <select name="order_direction_{$order.ID}">
+      {html_options options=$image_order_direction_options selected=$order.DIRECTION }}
+    </select><br/>
+  {/foreach}
+  
+</fieldset>
+
+<p style="text-align:center;">
+  <input class="submit" type="submit" value="{'Submit'|@translate}" name="submit" {$TAG_INPUT_ENABLED}/>
+  <input class="submit" type="reset" value="{'Reset'|@translate}" name="reset" />
+</p>
+
+{if isset($representant) }
+<fieldset id="representant">
+  <legend>{'Representant'|@translate}</legend>
+  <table>
+    <tr>
+      <td align="center">
+        {if isset($representant.picture) }
+        <a href="{$representant.picture.URL}"><img src="{$representant.picture.SRC}" alt="" class="miniature" /></a>
+        {else}
+        <img src="{$ROOT_URL}{$themeconf.icon_dir}/category_representant_random.png" class="button" alt="{'Random picture'|@translate}" class="miniature" />
+        {/if}
+      </td>
+      <td>
+        {if $representant.ALLOW_SET_RANDOM }
+        <p><input class="submit" type="submit" name="set_random_representant" value="{'cat_representant'|@translate}" {$TAG_INPUT_ENABLED}/></p>
+        {/if}
+
+        {if isset($representant.ALLOW_DELETE) }
+        <p><input class="submit" type="submit" name="delete_representant" value="{'Delete Representant'|@translate}" /></p>
+        {/if}
+      </td>
+    </tr>
+  </table>
+</fieldset>
+{/if}
+
+</form>
+
+<form action="{$F_ACTION}" method="POST" id="links">
+
+<fieldset id="linkAllNew">
+  <legend>{'Link all category elements to a new category'|@translate}</legend>
+
+  <table>
+    <tr>
+      <td>{'Virtual category name'|@translate}</td>
+      <td><input type="text" name="virtual_name"></td>
+    </tr>
+
+    <tr>
+      <td>{'Parent category'|@translate}</td>
+      <td>
+        <select class="categoryDropDown" name="parent">
+          <option value="0">------------</option>
+          {html_options options=$create_new_parent_options }
+        </select>
+      </td>
+    </tr>
+  </table>
+
+  <p>
+    <input class="submit" type="submit" value="{'Submit'|@translate}" name="submitAdd" {$TAG_INPUT_ENABLED}/>
+    <input class="submit" type="reset" value="{'Reset'|@translate}" name="reset" />
+  </p>
+
+</fieldset>
+
+<fieldset id="linkAllExist">
+  <legend>{'Link all category elements to some existing categories'|@translate}</legend>
+
+  <table>
+    <tr>
+      <td>{'Categories'|@translate}</td>
+      <td>
+        <select class="categoryList" name="destinations[]" multiple="multiple" size="5">
+          {html_options options=$category_destination_options }
+        </select>
+      </td>
+    </tr>
+  </table>
+
+  <p>
+    <input class="submit" type="submit" value="{'Submit'|@translate}" name="submitDestinations" {$TAG_INPUT_ENABLED}/>
+    <input class="submit" type="reset" value="{'Reset'|@translate}" name="reset" />
+  </p>
+
+</fieldset>
+
+{if isset($group_mail_options)}
+<fieldset id="emailCatInfo">
+  <legend>{'Send an information email to group members'|@translate}</legend>
+
+  <table>
+    <tr>
+      <td><strong>{'Group'|@translate}</strong></td>
+      <td>
+        <select name="group">
+          {html_options options=$group_mail_options}
+        </select>
+      </td>
+    </tr>
+    <tr>
+      <td><strong>{'mail_content'|@translate}</strong></td>
+      <td>
+        <textarea cols="50" rows="5" name="mail_content" class="description">{$MAIL_CONTENT}</textarea>
+      </td>
+    </tr>
+
+  </table>
+
+  <p>
+    <input class="submit" type="submit" value="{'Submit'|@translate}" name="submitEmail" {$TAG_INPUT_ENABLED}/>
+    <input class="submit" type="reset" value="{'Reset'|@translate}" name="reset" />
+  </p>
+
+</fieldset>
+{/if}
+
+</form>
Index: /trunk/admin/template/wigo/admin/cat_move.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/cat_move.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/cat_move.tpl	(revision 2526)
@@ -0,0 +1,35 @@
+{* $Id$ *}
+
+<div class="titrePage">
+  <h2>{'Move categories'|@translate}</h2>
+</div>
+
+<form method="post" action="{$F_ACTION}" class="filter" id="catMove">
+  <fieldset>
+    <legend>{'Virtual categories movement'|@translate}</legend>
+
+    <label>
+      {'Virtual categories to move'|@translate}
+
+      <select class="categoryList" name="selection[]" multiple="multiple">
+        {html_options options=$category_to_move_options}
+      </select>
+    </label>
+
+    <label>
+      {'New parent category'|@translate}
+
+      <select class="categoryDropDown" name="parent">
+        <option value="0">------------</option>
+        {html_options options=$category_parent_options}
+      </select>
+    </label>
+
+  </fieldset>
+
+  <p>
+    <input class="submit" type="submit" name="submit" value="{'Submit'|@translate}" {$TAG_INPUT_ENABLED}>
+    <input class="submit" type="reset" name="reset" value="{'Reset'|@translate}">
+  </p>
+
+</form>
Index: /trunk/admin/template/wigo/admin/cat_options.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/cat_options.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/cat_options.tpl	(revision 2526)
@@ -0,0 +1,12 @@
+{* $Id$ *}
+<div class="titrePage">
+  <h2>{'cat_options_title'|@translate} {$TABSHEET_TITLE}</h2>
+</div>
+
+<form method="post" action="{$F_ACTION}" id="cat_options">
+  <fieldset>
+    <legend>{$L_SECTION}</legend>
+    {$DOUBLE_SELECT}
+  </fieldset>
+</form>
+
Index: /trunk/admin/template/wigo/admin/cat_perm.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/cat_perm.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/cat_perm.tpl	(revision 2526)
@@ -0,0 +1,65 @@
+{* $Id$ *}
+<div class="titrePage">
+  <h2>{'Manage permissions for a category'|@translate}</h2>
+</div>
+
+<h3>{$CATEGORIES_NAV}</h3>
+
+<form action="{$F_ACTION}" method="post" id="categoryPermissions">
+
+  <h4>{'Groups'|@translate}</h4>
+
+  <fieldset>
+    <legend>{'Permission granted'|@translate}</legend>
+    <ul>
+      {foreach from=$group_granted_ids item=id}
+      <li><label><input type="checkbox" name="deny_groups[]" value="{$id}" /> {$all_groups[$id]}</label></li>
+      {/foreach}
+    </ul>
+    <input class="submit" type="submit" name="deny_groups_submit" value="{'Deny selected groups'|@translate}" {$TAG_INPUT_ENABLED}/>
+  </fieldset>
+
+  <fieldset>
+    <legend>{'Permission denied'|@translate}</legend>
+    <ul>
+      {foreach from=$group_denied_ids item=id}
+      <li><label><input type="checkbox" name="grant_groups[]" value="{$id}"> {$all_groups[$id]}</label></li>
+      {/foreach}
+    </ul>
+    <input class="submit" type="submit" name="grant_groups_submit" value="{'Grant selected groups'|@translate}" {$TAG_INPUT_ENABLED}/>
+  </fieldset>
+
+  <h4>{'Users'|@translate}</h4>
+
+  <fieldset>
+    <legend>{'Permission granted'|@translate}</legend>
+    <ul>
+      {foreach from=$user_granted_direct_ids item=id}
+      <li><label><input type="checkbox" name="deny_users[]" value="{$id}" /> {$all_users[$id]}</label></li>
+      {/foreach}
+    </ul>
+    <input class="submit" type="submit" name="deny_users_submit" value="{'Deny selected users'|@translate}" {$TAG_INPUT_ENABLED}/>
+  </fieldset>
+
+  <fieldset>
+    <legend>{'Permission granted thanks to a group'|@translate}</legend>
+    {if isset($user_granted_indirects) }
+    <ul>
+      {foreach from=$user_granted_indirects item=user_group}
+      <li>{$user_group.USER} ({$user_group.GROUP})</li>
+      {/foreach}
+    </ul>
+    {/if}
+  </fieldset>
+
+  <fieldset>
+    <legend>{'Permission denied'|@translate}</legend>
+    <ul>
+      {foreach from=$user_denied_ids item=id}
+      <li><label><input type="checkbox" name="grant_users[]" value="{$id}"> {$all_users[$id]}</label></li>
+      {/foreach}
+    </ul>
+    <input class="submit" type="submit" name="grant_users_submit" value="{'Grant selected users'|@translate}" {$TAG_INPUT_ENABLED}/>
+  </fieldset>
+
+</form>
Index: /trunk/admin/template/wigo/admin/check_integrity.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/check_integrity.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/check_integrity.tpl	(revision 2526)
@@ -0,0 +1,84 @@
+{* $Id$ *}
+<dl>
+  <dt>{'c13y_title'|@translate}</dt>
+  <dd>
+    <ul>
+      <form method="post" name="c13y" id="c13y" action="">
+      <fieldset>
+        <table class="table2">
+          <tr class="throw">
+            <th></th>
+            <th>{'c13y_Anomaly'|@translate}</th>
+            <th>{'c13y_Correction'|@translate}</th>
+          </tr>
+          {if isset($c13y_list)}
+            {foreach from=$c13y_list item=c13y name=c13y_loop}
+              <tr class="{if $smarty.foreach.c13y_loop.index is odd}row1{else}row2{/if}">
+                <td>
+                  {if $c13y.can_select}
+                    <input type="checkbox" name="c13y_selection[]" value="{$c13y.id}" id="c13y_selection-{$c13y.id}" /><label for="c13y_selection-{$c13y.id}"></label>
+                  {/if}
+                </td>
+                <td><label for="c13y_selection-{$c13y.id}">{$c13y.anomaly}</label></td>
+                <td>
+                  <label for="c13y_selection-{$c13y.id}">
+                    {if $c13y.show_ignore_msg}
+                      {'c13y_ignore_msg1'|@translate}
+                      <br />
+                      {'c13y_ignore_msg2'|@translate}
+                    {/if}
+                    {if $c13y.show_correction_fct}
+                      {'c13y_Automatic_correction'|@translate}
+                    {/if}
+                    {if $c13y.show_correction_bad_fct}
+                      {'c13y_Impossible_automatic_correction'|@translate}
+                    {/if}
+                    {if $c13y.show_correction_success_fct}
+                      {'c13y_Correction_applied_success'|@translate}
+                    {/if}
+                    {if !empty($c13y.correction_error_fct)}
+                      {'c13y_Correction_applied_error'|@translate}
+                      <br />
+                      {$c13y.c13y.correction_error_fct}
+                    {/if}
+                    {if !empty($c13y.correction_msg)}
+                      {if $c13y.show_correction_success_fct or !empty($c13y.correction_error_fct) or $c13y.show_correction_fct or $c13y.show_correction_bad_fct }
+                        <br />
+                      {/if}
+                      {$c13y.correction_msg|@nl2br}
+                    {/if}
+                  </label>
+                </td>
+              </tr>
+            {/foreach}
+          {/if}
+        </table>
+
+        <p>
+          {if $c13y_show_submit_ignore}
+              <a href="#" onclick="SelectAll(document.getElementById('c13y')); return false;">{'Check all'|@translate}</a>
+            / <a href="#" onclick="DeselectAll(document.getElementById('c13y')); return false;">{'Uncheck all'|@translate}</a>
+          {/if}
+          {if isset($c13y_do_check)}
+            / <a href="#" onclick="DeselectAll(document.getElementById('c13y'));
+            {foreach from=$c13y_do_check item=ID}
+              document.getElementById('c13y_selection-{$ID}').checked = true;
+            {/foreach}
+            return false;">{'c13y_check_auto'|@translate}</a>
+          {/if}
+        </p>
+
+        <p>
+          {if $c13y_show_submit_automatic_correction}
+            <input class="submit" type="submit" value="{'c13y_submit_correction'|@translate}" name="c13y_submit_correction" {$TAG_INPUT_ENABLED} />
+          {/if}
+          {if $c13y_show_submit_ignore}
+            <input class="submit" type="submit" value="{'c13y_submit_ignore'|@translate}" name="c13y_submit_ignore" {$TAG_INPUT_ENABLED} />
+          {/if}
+          <input class="submit" type="submit" value="{'c13y_submit_refresh'|@translate}" name="c13y_submit_refresh" />
+          </p>
+
+      </fieldset>
+      </form>
+    </ul>
+  </dd>
Index: /trunk/admin/template/wigo/admin/comments.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/comments.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/comments.tpl	(revision 2526)
@@ -0,0 +1,32 @@
+{* $Id$ *}
+<div class="titrePage">
+  <h2>{'waiting'|@translate} {$TABSHEET_TITLE}</h2>
+</div>
+
+<h3>{'User comments validation'|@translate}</h3>
+
+{if !empty($comments) }
+<form method="post" action="{$F_ACTION}">
+  
+  {foreach from=$comments item=comment}
+  <div class="comment">
+    <a class="illustration" href="{$comment.U_PICTURE}"><img src="{$comment.TN_SRC}" /></a>
+    <p class="commentHeader"><strong>{$comment.AUTHOR}</strong> - <em>{$comment.DATE}</em></p>
+    <blockquote>{$comment.CONTENT}</blockquote>
+    <ul class="actions">
+      <li><label><input type="radio" name="action-{$comment.ID}" value="reject" />{'Reject'|@translate}</label></li>
+      <li><label><input type="radio" name="action-{$comment.ID}" value="validate" />{'Validate'|@translate}</label></li>
+    </ul>
+  </div>
+  {/foreach}
+
+  <p class="bottomButtons">
+    <input type="hidden" name="list" value="{$LIST}" />
+    <input class="submit" type="submit" name="submit" value="{'Submit'|@translate}" {$TAG_INPUT_ENABLED}/>
+    <input class="submit" type="submit" name="validate-all" value="{'Validate All'|@translate}" {$TAG_INPUT_ENABLED}/>
+    <input class="submit" type="submit" name="reject-all" value="{'Reject All'|@translate}" {$TAG_INPUT_ENABLED}/>
+    <input class="submit" type="reset" value="{'Reset'|@translate}" />
+  </p>
+
+</form>
+{/if}
Index: /trunk/admin/template/wigo/admin/configuration.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/configuration.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/configuration.tpl	(revision 2526)
@@ -0,0 +1,175 @@
+{* $Id$ *}
+<div class="titrePage">
+  <h2>{'title_configuration'|@translate} {$TABSHEET_TITLE}</h2>
+</div>
+
+<form method="post" action="{$F_ACTION}" class="properties">
+
+{if isset($main)}
+<fieldset id="mainConf">
+  <ul>
+    <li>
+      <span class="property">
+        <label for="gallery_title">{'Gallery title'|@translate}</label>
+      </span>
+      <input type="text" maxlength="255" size="50" name="gallery_title" id="gallery_title" value="{$main.CONF_GALLERY_TITLE}" />
+    </li>
+
+    <li>
+      <span class="property">
+        <label for="page_banner">{'Page banner'|@translate}</label>
+      </span>
+      <textarea class="description" name="page_banner" id="page_banner">{$main.CONF_PAGE_BANNER}</textarea>
+    </li>
+
+    <li>
+      <span class="property">
+        <label for="gallery_url">{'Gallery URL'|@translate}</label>
+      </span>
+      <input type="text" maxlength="255" size="50" name="gallery_url" id="gallery_url" value="{$main.CONF_GALLERY_URL}" />
+    </li>
+  </ul>
+</fieldset>
+
+<fieldset id="mainConfCheck">
+  <ul>
+
+    <li>
+      <label>
+        <span class="property">{'Lock gallery'|@translate}</span>
+        <input type="checkbox" name="gallery_locked" {if ($main.gallery_locked)}checked="checked"{/if} />
+      </label>
+    </li>
+
+    <li>
+      <label>
+        <span class="property">{'Rating'|@translate}</span>
+        <input type="checkbox" name="rate" {if ($main.rate)}checked="checked"{/if} />
+      </label>
+    </li>
+
+    <li>
+      <label>
+        <span class="property">{'Rating by guests'|@translate}</span>
+        <input type="checkbox" name="rate_anonymous" {if ($main.rate_anonymous)}checked="checked"{/if} />
+      </label>
+    </li>
+
+    <li>
+      <label>
+        <span class="property">{'Allow user registration'|@translate}</span>
+        <input type="checkbox" name="allow_user_registration" {if ($main.allow_user_registration)}checked="checked"{/if} />
+      </label>
+    </li>
+
+    <li>
+      <label>
+        <span class="property">{'obligatory_user_mail_address'|@translate}</span>
+        <input type="checkbox" name="obligatory_user_mail_address" {if ($main.obligatory_user_mail_address)}checked="checked"{/if} />
+      </label>
+    </li>
+
+    <li>
+      <label>
+        <span class="property">{'Email administrators when a new user registers'|@translate}</span>
+        <input type="checkbox" name="email_admin_on_new_user" {if ($main.email_admin_on_new_user)}checked="checked"{/if} />
+      </label>
+    </li>
+  </ul>
+</fieldset>
+{/if}
+
+{if isset($history)}
+<fieldset id="historyConf">
+  <ul>
+      <li>
+        <label><span class="property">{'conf_history_guest'|@translate}</span><input type="checkbox" name="history_guest" {if ($history.history_guest)}checked="checked"{/if} /></label>
+      </li>
+
+      <li>
+        <label><span class="property">{'conf_history_user'|@translate}</span><input type="checkbox" name="log" {if ($history.log)}checked="checked"{/if} /></label>
+      </li>
+
+      <li>
+        <label><span class="property">{'conf_history_admin'|@translate}</span><input type="checkbox" name="history_admin" {if ($history.history_admin)}checked="checked"{/if} /></label>
+      </li>
+  </ul>
+</fieldset>
+{/if}
+
+
+{if isset($comments)}
+<fieldset id="commentsConf">
+  <ul>
+    <li>
+      <label>
+        <span class="property">{'Comments for all'|@translate}</span>
+        <input type="checkbox" name="comments_forall" {if ($comments.comments_forall)}checked="checked"{/if} />
+      </label>
+    </li>
+
+    <li>
+      <span class="property">
+        <label for="nb_comment_page">{'Number of comments per page'|@translate}</label>
+      </span>
+      <input type="text" size="3" maxlength="4" name="nb_comment_page" id="nb_comment_page" value="{$comments.NB_COMMENTS_PAGE}" />
+    </li>
+
+    <li>
+      <label>
+        <span class="property">{'Validation'|@translate}</span>
+        <input type="checkbox" name="comments_validation" {if ($comments.comments_validation)}checked="checked"{/if} />
+      </label>
+    </li>
+
+
+    <li>
+      <label>
+        <span class="property">{'Email administrators when a valid comment is entered'|@translate}</span>
+        <input type="checkbox" name="email_admin_on_comment" {if ($comments.email_admin_on_comment)}checked="checked"{/if} />
+      </label>
+    </li>
+
+    <li>
+      <label>
+        <span class="property">{'Email administrators when a comment requires validation'|@translate}</span>
+        <input type="checkbox" name="email_admin_on_comment_validation" {if ($comments.email_admin_on_comment_validation)}checked="checked"{/if} />
+      </label>
+    </li>
+
+  </ul>
+</fieldset>
+{/if}
+
+{if isset($upload)}
+<fieldset id="uploadConf">
+  <ul>
+    <li>
+      <label><span class="property">{'Show upload link every time'|@translate}</span>
+      <input type="checkbox" name="upload_link_everytime" {if ($upload.upload_link_everytime)}checked="checked"{/if} /></label>
+    </li>
+    <li>
+      <label><span class="property">{'User access level to upload'|@translate}</span>
+      {html_options name="upload_user_access" options=$upload.upload_user_access_options selected=$upload.upload_user_access_options_selected}
+    </li>
+    <li>
+      <label>
+        <span class="property">{'Email administrators when a picture is uploaded'|@translate}</span>
+        <input type="checkbox" name="email_admin_on_picture_uploaded" {if ($upload.email_admin_on_picture_uploaded)}checked="checked"{/if} />
+      </label>
+    </li>
+  </ul>
+</fieldset>
+{/if}
+
+{if isset($default)}
+{$PROFILE_CONTENT}
+{/if}
+
+{if !isset($default)}
+  <p>
+    <input class="submit" type="submit" name="submit" value="{'Submit'|@translate}" {$TAG_INPUT_ENABLED}>
+    <input class="submit" type="reset" name="reset" value="{'Reset'|@translate}">
+  </p>
+{/if}
+</form>
Index: /trunk/admin/template/wigo/admin/double_select.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/double_select.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/double_select.tpl	(revision 2526)
@@ -0,0 +1,20 @@
+{* $Id$ *}
+<table class="doubleSelect">
+  <tr>
+    <td>
+      <h3>{$L_CAT_OPTIONS_TRUE}</h3>
+      <select class="categoryList" name="cat_true[]" multiple="multiple" size="30">
+        {html_options options=$category_option_true selected=$category_option_true_selected}
+      </select>
+      <p><input class="submit" type="submit" value="&raquo;" name="falsify" style="font-size:15px;" {$TAG_INPUT_ENABLED}/></p>
+    </td>
+
+    <td>
+      <h3>{$L_CAT_OPTIONS_FALSE}</h3>
+      <select class="categoryList" name="cat_false[]" multiple="multiple" size="30">
+        {html_options options=$category_option_false selected=$category_option_false_selected}
+      </select>
+      <p><input class="submit" type="submit" value="&laquo;" name="trueify" style="font-size:15px;" {$TAG_INPUT_ENABLED}/></p>
+    </td>
+  </tr>
+</table>
Index: /trunk/admin/template/wigo/admin/element_set_global.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/element_set_global.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/element_set_global.tpl	(revision 2526)
@@ -0,0 +1,190 @@
+{* $Id$ *}
+
+<h2>{'Batch management'|@translate}</h2>
+
+<h3>{$CATEGORIES_NAV}</h3>
+
+{if !empty($thumbnails)}
+  <p style="text-align:center;">
+    {'global mode'|@translate}
+    | <a href="{$U_UNIT_MODE}">{'unit mode'|@translate}</a>
+  </p>
+
+  <fieldset>
+
+    <legend>{'Display options'|@translate}</legend>
+
+    <p>{'elements per page'|@translate}:
+        <a href="{$U_DISPLAY}&amp;display=20">20</a>
+      | <a href="{$U_DISPLAY}&amp;display=50">50</a>
+      | <a href="{$U_DISPLAY}&amp;display=100">100</a>
+      | <a href="{$U_DISPLAY}&amp;display=all">{'all'|@translate}</a>
+    </p>
+
+  </fieldset>
+
+  <form action="{$F_ACTION}" method="post">
+
+  <fieldset>
+
+    <legend>{'Elements'|@translate}</legend>
+
+    {if !empty($NAV_BAR)}<div class="navigationBar">{$NAV_BAR}</div>{/if}
+
+  {if !empty($thumbnails)}
+    <ul class="thumbnails">
+      {foreach from=$thumbnails item=thumbnail}
+      <li><span class="wrap1">
+          <label>
+            <span class="wrap2">
+        {if $thumbnail.LEVEL > 0}
+        <em class="levelIndicatorB">{$thumbnail.LEVEL}</em>
+        <em class="levelIndicatorF" title="{$pwg->l10n($pwg->sprintf('Level %d',$thumbnail.LEVEL))}">{$thumbnail.LEVEL}</em>
+        {/if}
+            <span>
+              <img src="{$thumbnail.TN_SRC}"
+                 alt="{$thumbnail.FILE}"
+                 title="{$thumbnail.TITLE}"
+                 class="thumbnail" />
+            </span></span>
+            <input type="checkbox" name="selection[]" value="{$thumbnail.ID}" />
+          </label>
+          </span>
+      </li>
+      {/foreach}
+    </ul>
+  {/if}
+
+  </fieldset>
+
+  <fieldset>
+
+    <legend>{'Form'|@translate}</legend>
+
+    <table>
+
+      <tr>
+        <td>{'associate to category'|@translate}</td>
+        <td>
+          <select style="width:400px" name="associate" size="1">
+            <option value="0">------------</option>
+            {html_options options=$associate_options }
+         </select>
+        </td>
+      </tr>
+
+      <tr>
+        <td>{'dissociate from category'|@translate}</td>
+        <td>
+          <select style="width:400px" name="dissociate" size="1">
+            <option value="0">------------</option>
+            {if !empty($dissociate_options)}{html_options options=$dissociate_options }{/if}
+          </select>
+        </td>
+      </tr>
+
+      <tr>
+        <td>{'add tags'|@translate}</td>
+        <td>{if !empty($ADD_TAG_SELECTION)}{$ADD_TAG_SELECTION}{else}<p>{'No tag defined. Use Administration>Pictures>Tags'|@translate}</p>{/if}</td>
+      </tr>
+
+      {if !empty($DEL_TAG_SELECTION)}
+      <tr>
+        <td>{'remove tags'|@translate}</td>
+        <td>{$DEL_TAG_SELECTION}</td>
+      </tr>
+      {/if}
+
+      <tr>
+        <td>{'Author'|@translate}</td>
+        <td>
+          <label><input type="radio" name="author_action" value="leave" checked="checked" /> {'leave'|@translate}</label>
+          <label><input type="radio" name="author_action" value="unset" /> {'unset'|@translate}</label>
+          <label><input type="radio" name="author_action" value="set" id="author_action_set" /> {'set to'|@translate}</label>
+          <input onchange="document.getElementById('author_action_set').checked = true;" type="text" name="author" value="" />
+        </td>
+      </tr>
+
+      <tr>
+        <td>{'title'|@translate}</td>
+        <td>
+          <label><input type="radio" name="name_action" value="leave" checked="checked" /> {'leave'|@translate}</label>
+          <label><input type="radio" name="name_action" value="unset" /> {'unset'|@translate}</label>
+          <label><input type="radio" name="name_action" value="set" id="name_action_set" /> {'set to'|@translate}</label>
+          <input onchange="document.getElementById('name_action_set').checked = true;" type="text" name="name" value="" />
+        </td>
+      </tr>
+
+      <tr>
+        <td>{'Creation date'|@translate}</td>
+        <td>
+          <label><input type="radio" name="date_creation_action" value="leave" checked="checked" /> {'leave'|@translate}</label>
+          <label><input type="radio" name="date_creation_action" value="unset" /> {'unset'|@translate}</label>
+          <label><input type="radio" name="date_creation_action" value="set" id="date_creation_action_set" /> {'set to'|@translate}</label>
+          <select onchange="document.getElementById('date_creation_action_set').checked = true;" name="date_creation_day">
+             <option value="0">--</option>
+            {section name=day start=1 loop=32}
+              <option value="{$smarty.section.day.index}" {if $smarty.section.day.index==$DATE_CREATION_DAY}selected="selected"{/if}>{$smarty.section.day.index}</option>
+            {/section}
+          </select>
+          <select onchange="document.getElementById('date_creation_action_set').checked = true;" name="date_creation_month">
+            {html_options options=$month_list selected=$DATE_CREATION_MONTH}
+          </select>
+          <input onchange="document.getElementById('date_creation_action_set').checked = true;"
+                 name="date_creation_year"
+                 type="text"
+                 size="4"
+                 maxlength="4"
+                 value="{$DATE_CREATION_YEAR}" />
+        </td>
+      </tr>
+
+    <tr>
+      <td>{'Minimum privacy level'|@translate}</td>
+      <td>
+        <label><input type="radio" name="level_action" value="leave" checked="checked" />{'leave'|@translate}</label>
+        <label><input type="radio" name="level_action" value="set" id="level_action_set" />{'set to'|@translate}</label>
+        <select onchange="document.getElementById('level_action_set').checked = true;" name="level" size="1">
+          {html_options options=$level_options}
+        </select>
+      </td>
+    </tr>
+
+    </table>
+
+    <p>
+      {'target'|@translate}
+      <label><input type="radio" name="target" value="all" /> {'all'|@translate}</label>
+      <label><input type="radio" name="target" value="selection" checked="checked" /> {'selection'|@translate}</label>
+    </p>
+
+
+    <p><input class="submit" type="submit" value="{'Submit'|@translate}" name="submit" {$TAG_INPUT_ENABLED}/></p>
+
+  </fieldset>
+
+  <fieldset>
+
+    <legend>{'Caddie management'|@translate}</legend>
+
+    <ul style="list-style-type:none;">
+      {if ($IN_CADDIE)}
+      <li><label><input type="radio" name="caddie_action" value="empty_all" /> {'Empty caddie'|@translate}</label></li>
+      <li><label><input type="radio" name="caddie_action" value="empty_selected" /> {'Take selected elements out of caddie'|@translate}</label></li>
+      {else}
+      <li><label><input type="radio" name="caddie_action" value="add_selected" /> {'Add selected elements to caddie'|@translate}</label></li>
+      {/if}
+
+      <li><label><input type="radio" name="caddie_action" value="export" /> {'Export data'|@translate}</label></li>
+
+    </ul>
+
+    <p><input class="submit" type="submit" value="{'Submit'|@translate}" name="submit_caddie" /></p>
+
+  </fieldset>
+
+  </form>
+
+{else}
+  <div class="infos"><p>{'Caddie is currently empty'|@translate}</p></div>
+{/if}
Index: /trunk/admin/template/wigo/admin/element_set_ranks.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/element_set_ranks.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/element_set_ranks.tpl	(revision 2526)
@@ -0,0 +1,41 @@
+<h2>{'Manage image ranks'|@translate}</h2>
+
+<h3>{$CATEGORIES_NAV}</h3>
+
+{if !empty($thumbnails)}
+  <form action="{$F_ACTION}" method="post">
+
+  <fieldset>
+
+    <legend>{'Edit ranks'|@translate}</legend>
+
+  {if !empty($thumbnails)}
+    <ul class="thumbnails">
+      {foreach from=$thumbnails item=thumbnail}
+      <li><span class="wrap1">
+          <label>
+            <span class="wrap2">
+        {if $thumbnail.LEVEL > 0}
+        <em class="levelIndicatorB">{$thumbnail.LEVEL}</em>
+        <em class="levelIndicatorF" title="{$pwg->l10n($pwg->sprintf('Level %d',$thumbnail.LEVEL))}">{$thumbnail.LEVEL}</em>
+        {/if}
+            <span>
+              <img src="{$thumbnail.TN_SRC}" class="thumbnail" />
+            </span></span>
+            <input style="height:12px; width:50px;" type="text" name="rank_of_image[{$thumbnail.ID}]" value="{$thumbnail.RANK}" />
+          </label>
+          </span>
+      </li>
+      {/foreach}
+    </ul>
+  {/if}
+
+    <p><input class="submit" type="submit" value="{'Submit'|@translate}" name="submit" {$TAG_INPUT_ENABLED}/></p>
+
+  </fieldset>
+
+  </form>
+
+{else}
+  <div class="infos"><p>{'No element in this category'|@translate}</p></div>
+{/if}
Index: /trunk/admin/template/wigo/admin/element_set_unit.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/element_set_unit.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/element_set_unit.tpl	(revision 2526)
@@ -0,0 +1,105 @@
+{* $Id$ *}
+
+<h2>{'Batch management'|@translate}</h2>
+
+<h3>{$CATEGORIES_NAV}</h3>
+
+<p style="text-align:center;">
+  <a href="{$U_GLOBAL_MODE}">{'global mode'|@translate}</a>
+  | {'unit mode'|@translate}
+</p>
+
+<form action="{$F_ACTION}" method="POST">
+<fieldset>
+  <legend>{'Display options'|@translate}</legend>
+  <p>{'elements per page'|@translate} :
+      <a href="{$U_ELEMENTS_PAGE}&amp;display=5">5</a>
+    | <a href="{$U_ELEMENTS_PAGE}&amp;display=10">10</a>
+    | <a href="{$U_ELEMENTS_PAGE}&amp;display=50">50</a>
+    | <a href="{$U_ELEMENTS_PAGE}&amp;display=all">{'all'|@translate}</a>
+  </p>
+
+</fieldset>
+
+{if !empty($NAV_BAR) }
+<div class="navigationBar">{$NAV_BAR}</div>
+{/if}
+
+{if !empty($elements) }
+<input type="hidden" name="element_ids" value="{$ELEMENT_IDS}" />
+{foreach from=$elements item=element}
+<fieldset class="elementEdit">
+  <legend>{$element.LEGEND}</legend>
+
+  <a href="{$element.U_EDIT}"><img src="{$element.TN_SRC}" alt="" title="{'Edit all picture informations'|@translate}" /></a>
+
+  <table>
+
+    <tr>
+      <td><strong>{'Name'|@translate}</strong></td>
+      <td><input type="text" name="name-{$element.ID}" value="{$element.NAME}" /></td>
+    </tr>
+
+    <tr>
+      <td><strong>{'Author'|@translate}</strong></td>
+      <td><input type="text" name="author-{$element.ID}" value="{$element.AUTHOR}" /></td>
+    </tr>
+
+    <tr>
+      <td><strong>{'Creation date'|@translate}</strong></td>
+      <td>
+        <label><input type="radio" name="date_creation_action-{$element.ID}" value="unset" /> {'unset'|@translate}</label>
+        <label><input type="radio" name="date_creation_action-{$element.ID}" value="set" id="date_creation_action_set-{$element.ID}" /> {'set to'|@translate}</label>
+
+        <select onmousedown="document.getElementById('date_creation_action_set-{$element.ID}').checked = true;" name="date_creation_day-{$element.ID}">
+         	<option value="0">--</option>
+           {section name=day start=1 loop=32}
+             <option value="{$smarty.section.day.index}" {if $smarty.section.day.index==$element.DATE_CREATION_DAY}selected="selected"{/if}>{$smarty.section.day.index}</option>
+           {/section}
+        </select>
+        <select onmousedown="document.getElementById('date_creation_action_set-{$element.ID}').checked = true;" name="date_creation_month-{$element.ID}">
+          {html_options options=$month_list selected=$element.DATE_CREATION_MONTH}
+        </select>
+        <input onmousedown="document.getElementById('date_creation_action_set-{$element.ID}').checked = true;"
+               name="date_creation_year-{$element.ID}"
+               type="text"
+               size="4"
+               maxlength="4"
+               value="{$element.DATE_CREATION_YEAR}" />
+      </td>
+    </tr>
+
+    <tr>
+      <td><strong>{'Tags'|@translate}</strong></td>
+      <td>{$element.TAG_SELECTION}</td>
+    </tr>
+
+    <tr>
+      <td><strong>{'Description'|@translate}</strong></td>
+      <td><textarea name="description-{$element.ID}" class="description">{$element.DESCRIPTION}</textarea></td>
+    </tr>
+
+  </table>
+
+</fieldset>
+{/foreach}
+
+<p>
+  <input class="submit" type="submit" value="{'Submit'|@translate}" name="submit" {$TAG_INPUT_ENABLED}/>
+  <input class="submit" type="reset" value="{'Reset'|@translate}" />
+</p>
+{/if}
+
+</form>
+
+<script type="text/javascript">// <![CDATA[
+{literal}$(document).ready(function() {
+	$(".elementEdit img").fadeTo("slow", 0.6); // Opacity on page load
+	$(".elementEdit img").hover(function(){
+		$(this).fadeTo("slow", 1.0); // Opacity on hover
+	},function(){
+   		$(this).fadeTo("slow", 0.6); // Opacity on mouseout
+	});
+});{/literal}
+// ]]>
+</script>
Index: /trunk/admin/template/wigo/admin/extend_for_templates.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/extend_for_templates.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/extend_for_templates.tpl	(revision 2526)
@@ -0,0 +1,34 @@
+{* $Id$ *}
+<div class="titrePage"><h2>{'extend_for_templates'|@translate}</h2>
+</div>
+{if isset($extents)}
+<h4>{'Replacement of original templates'|@translate}</h4>
+<form method="post" name="extend_for_templates" id="extend_for_templates" action="">
+  <table class="table2">
+    <tr class="throw">
+      <th>{'Replacers'|@translate}</th>
+      <th>{'Original templates'|@translate}</th>
+      <th>{'Optional URL keyword'|@translate}</th>
+    </tr>
+    {foreach from=$extents item=tpl name=extent_loop}
+    <tr class="{if $smarty.foreach.extent_loop.index is odd}row1{else}row2{/if}">
+      <td>
+        <input type="hidden" name=reptpl[] value="{$tpl.replacer}" />
+        {$tpl.replacer}
+      </td>
+      <td>
+        {html_options name=original[] output=$tpl.original_tpl values=$tpl.original_tpl selected=$tpl.selected_tpl}
+      </td>
+      <td>
+        {html_options name=url[] output=$tpl.url_parameter values=$tpl.url_parameter selected=$tpl.selected_url}
+      </td>
+    </tr>
+    {/foreach}
+  </table>
+  {if !is_adviser()}
+  <p>
+    <input class="submit" type="submit" value="{'Submit'|@translate}" name="submit" />
+  </p>
+  {/if}
+</form>
+{/if}
Index: /trunk/admin/template/wigo/admin/group_list.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/group_list.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/group_list.tpl	(revision 2526)
@@ -0,0 +1,43 @@
+{* $Id$ *}
+<div class="titrePage">
+  <h2>{'title_groups'|@translate}</h2>
+</div>
+
+<form method="post" name="add_user" action="{$F_ADD_ACTION}" class="properties">
+  <fieldset>
+    <legend>{'Add group'|@translate}</legend>
+
+    <span class="property">
+      <label for="groupname">{'Group name'|@translate}</label>
+    </span>
+    <input type="text" id="groupname" name="groupname" maxlength="50" size="20" />
+
+    <p>
+      <input class="submit" type="submit" name="submit_add" value="{'Add'|@translate}" {$TAG_INPUT_ENABLED}/>
+    </p>
+  </fieldset>
+</form>
+
+<table class="table2">
+  <tr class="throw">
+    <th>{'Group name'|@translate}</th>
+    <th>{'Members'|@translate}</th>
+    <th>{'Actions'|@translate}</th>
+  </tr>
+  {if not empty($groups)}
+  {foreach from=$groups item=group name=group_loop}
+  <tr class="{if $smarty.foreach.group_loop.index is odd}row1{else}row2{/if}">
+    <td>{$group.NAME}<i><small>{$group.IS_DEFAULT}</small></i></td>
+    <td><a href="{$group.U_MEMBERS}">{$group.MEMBERS}</a></td>
+    <td style="text-align:center;">
+      <a href="{$group.U_PERM}">
+        <img src="{$ROOT_URL}{$themeconf.icon_dir}/permissions.png" class="button" style="border:none" id="btn_permissions" alt="{'permissions'|@translate}" title="{'permissions'|@translate}" /></a>
+      <a href="{$group.U_DELETE}" onclick="return confirm( document.getElementById('btn_delete').title + '\n\n' + '{'Are you sure?'|@translate|@escape:'javascript'}');">
+        <img src="{$ROOT_URL}{$themeconf.icon_dir}/delete.png" class="button" style="border:none" id="btn_delete" alt="{'delete'|@translate}" title="{'delete'|@translate}" {$TAG_INPUT_ENABLED}/></a>
+      <a href="{$group.U_ISDEFAULT}" onclick="return confirm( document.getElementById('btn_toggle_is_default_group').title + '\n\n' + '{'Are you sure?'|@translate|@escape:'javascript'}');">
+        <img src="{$ROOT_URL}{$themeconf.icon_dir}/toggle_is_default_group.png" class="button" style="border:none" id="btn_toggle_is_default_group" alt="{'toggle_is_default_group'|@translate}" title="{'toggle_is_default_group'|@translate}" {$TAG_INPUT_ENABLED}/></a>
+    </td>
+  </tr>
+  {/foreach}
+  {/if}
+</table>
Index: /trunk/admin/template/wigo/admin/group_perm.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/group_perm.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/group_perm.tpl	(revision 2526)
@@ -0,0 +1,8 @@
+{* $Id *}
+<h2>{$TITLE}</h2>
+
+<form method="post" action="{$F_ACTION}">
+  {$DOUBLE_SELECT}
+</form>
+
+<p>{'Only private categories are listed'|@translate}</p>
Index: /trunk/admin/template/wigo/admin/history.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/history.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/history.tpl	(revision 2526)
@@ -0,0 +1,135 @@
+{* $Id$ *}
+<div class="titrePage">
+  <h2>{'History'|@translate} {$TABSHEET_TITLE}</h2>
+</div>
+
+<form class="filter" method="post" name="filter" action="{$F_ACTION}">
+<fieldset>
+  <legend>{'Filter'|@translate}</legend>
+  <ul>
+    <li><label>{'search_date_from'|@translate}</label></li>
+    <li>
+      <select name="start_day">
+        <option value="0">--</option>
+        {section name=day start=1 loop=32}
+        <option value="{$smarty.section.day.index}" {if $smarty.section.day.index==$START_DAY_SELECTED}selected="selected"{/if}>{$smarty.section.day.index}</option>
+        {/section}
+      </select>
+      <select name="start_month">
+      {html_options options=$month_list selected=$START_MONTH_SELECTED}
+      </select>
+      <input name="start_year" value="{$START_YEAR}" type="text" size="4" maxlength="4" >
+    </li>
+  </ul>
+  <ul>
+    <li><label>{'search_date_to'|@translate}</label></li>
+    <li>
+      <select name="end_day">
+        <option value="0">--</option>
+        {section name=day start=1 loop=32}
+        <option value="{$smarty.section.day.index}" {if $smarty.section.day.index==$END_DAY_SELECTED}selected="selected"{/if}>{$smarty.section.day.index}</option>
+        {/section}
+      </select>
+      <select name="end_month">
+      {html_options options=$month_list selected=$END_MONTH_SELECTED}
+      </select>
+      <input name="end_year" value="{$END_YEAR}" type="text" size="4" maxlength="4" >
+    </li>
+  </ul>
+
+  <label>
+    {'Element type'|@translate}
+    <select name="types[]" multiple="multiple" size="4">
+      {html_options values=$type_option_values output=$type_option_values|translate selected=$type_option_selected}
+    </select>
+  </label>
+
+  <label>
+    {'User'|@translate}
+    <select name="user">
+      <option value="-1">------------</option>
+      {html_options options=$user_options selected=$user_options_selected}
+    </select>
+  </label>
+
+  <label>
+    {'Image id'|@translate}
+    <input name="image_id" value="{$IMAGE_ID}" type="text" size="5">
+  </label>
+
+  <label>
+    {'File name'|@translate}
+    <input name="filename" value="{$FILENAME}" type="text">
+  </label>
+
+  <label>
+    {'Thumbnails'|@translate}
+    <select name="display_thumbnail">
+      {html_options values=$display_thumbnail_values output=$display_thumbnail_values|translate selected=$display_thumbnail_selected}
+    </select>
+  </label>
+
+  <input class="submit" type="submit" name="submit" value="{'Submit'|@translate}" />
+</fieldset>
+</form>
+
+{if isset($search_summary)}
+<fieldset>
+  <legend>{'Summary'|@translate}</legend>
+
+  <ul>
+    <li>{$search_summary.NB_LINES}, {$search_summary.FILESIZE}</li>
+    <li>
+      {$search_summary.USERS}
+      <ul>
+        <li>{$search_summary.MEMBERS}</li>
+        <li>{$search_summary.GUESTS}</li>
+      </ul>
+    </li>
+  </ul>
+</fieldset>
+{/if}
+
+
+{if !empty($NAV_BAR)}
+<div class="navigationBar">
+  {$NAV_BAR}
+</div>
+{/if}
+
+
+<table class="table2" id="detailedStats">
+<tr class="throw">
+  <th>{'Date'|@translate}</th>
+  <th>{'time'|@translate}</th>
+  <th>{'user'|@translate}</th>
+  <th>{'IP'|@translate}</th>
+  <th>{'image'|@translate}</th>
+  <th>{'Element type'|@translate}</th>
+  <th>{'section'|@translate}</th>
+  <th>{'category'|@translate}</th>
+  <th>{'tags'|@translate}</th>
+</tr>
+{if !empty($search_results) }
+{foreach from=$search_results item=detail name=res_loop}
+<tr class="{if $smarty.foreach.res_loop.index is odd}row1{else}row2{/if}">
+  <td class="hour">{$detail.DATE}</td>
+  <td class="hour">{$detail.TIME}</td>
+  <td>{$detail.USER}</td>
+  <td>{$detail.IP}</td>
+  <td>{$detail.IMAGE}</td>
+  <td>{$detail.TYPE}</td>
+  <td>{$detail.SECTION}</td>
+  <td>{$detail.CATEGORY}</td>
+  <td>{$detail.TAGS}</td>
+</tr>
+{/foreach}
+{/if}
+</table>
+
+
+{if !empty($NAV_BAR)}
+<div class="navigationBar">
+  {$NAV_BAR}
+</div>
+{/if}
Index: /trunk/admin/template/wigo/admin/index.php
===================================================================
--- /trunk/admin/template/wigo/admin/index.php	(revision 2526)
+++ /trunk/admin/template/wigo/admin/index.php	(revision 2526)
@@ -0,0 +1,30 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery                                  |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008      Piwigo Team                  http://piwigo.org |
+// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify  |
+// | it under the terms of the GNU General Public License as published by  |
+// | the Free Software Foundation                                          |
+// |                                                                       |
+// | This program is distributed in the hope that it will be useful, but   |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
+// | General Public License for more details.                              |
+// |                                                                       |
+// | You should have received a copy of the GNU General Public License     |
+// | along with this program; if not, write to the Free Software           |
+// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /trunk/admin/template/wigo/admin/maintenance.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/maintenance.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/maintenance.tpl	(revision 2526)
@@ -0,0 +1,22 @@
+{* $Id$ *}
+<div class="titrePage">
+  <h2>{'Maintenance'|@translate}</h2>
+</div>
+
+<ul>
+  <li><a href="{$U_MAINT_CATEGORIES}" {$TAG_INPUT_ENABLED}>{'update categories informations'|@translate}</a></li>
+  <li><a href="{$U_MAINT_IMAGES}" {$TAG_INPUT_ENABLED}>{'update images informations'|@translate}</a></li>
+  <li><a href="{$U_MAINT_DATABASE}" {$TAG_INPUT_ENABLED}>{'repair and optimize database'|@translate}</a></li>
+</ul>
+
+<ul>
+  <li><a href="{$U_MAINT_HISTORY_DETAIL}" onclick="return confirm('{'Are you sure?'|@translate}');" {$TAG_INPUT_ENABLED}>{'purge history detail'|@translate}</a></li>
+  <li><a href="{$U_MAINT_HISTORY_SUMMARY}" onclick="return confirm('{'Are you sure?'|@translate}');" {$TAG_INPUT_ENABLED}>{'purge history summary'|@translate}</a></li>
+  <li><a href="{$U_MAINT_SESSIONS}" {$TAG_INPUT_ENABLED}>{'purge sessions'|@translate}</a></li>
+  <li><a href="{$U_MAINT_FEEDS}" {$TAG_INPUT_ENABLED}>{'purge never used notification feeds'|@translate}</a></li>
+  <li><a href="{$U_MAINT_COMPILED_TEMPLATES}" {$TAG_INPUT_ENABLED}>{'Purge compiled templates'|@translate}</a></li>
+</ul>
+
+<ul>
+  <li><a href="{$U_MAINT_C13Y}" {$TAG_INPUT_ENABLED}>{'c13y_maintenance'|@translate}</a></li>
+</ul>
Index: /trunk/admin/template/wigo/admin/menubar.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/menubar.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/menubar.tpl	(revision 2526)
@@ -0,0 +1,30 @@
+{* $Id$ *}
+
+<div class="titrePage">
+	<h2>Menubar</h2>
+</div>
+
+<form method="post" class="properties">
+<table class="table2">
+	<tr class="throw">
+		<td>Id</td>
+		<td>{'Author'|@translate}</td>
+		<td>{'Name'|@translate}</td>
+		<td>{'Position'|@translate}</td>
+		<td>Hide</td>
+	</tr>
+	{foreach from=$blocks item=block name="block_loop"}
+	<tr class="{if $smarty.foreach.block_loop.index is odd}row1{else}row2{/if}">
+		<td>{$block.reg->get_id()}</td>
+		<td>{$block.reg->get_owner()}</td>
+		<td>{$block.reg->get_name()|@translate}</td>
+		<td><input type="input" name="pos_{$block.reg->get_id()}" value={math equation="abs(pos)" pos=$block.pos} size="2"></td>
+		<td><input type="checkbox" name="hide_{$block.reg->get_id()}" {if $block.pos<0}checked="checked"{/if} ></td>
+	</tr>
+	{/foreach}
+</table>
+<p>
+	<input type="submit" name="submit" value="{'Submit'|@translate}" >
+	<input type="submit" name="reset" value="{'Reset'|@translate}" >
+</p>
+</form>
Index: /trunk/admin/template/wigo/admin/notification_by_mail.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/notification_by_mail.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/notification_by_mail.tpl	(revision 2526)
@@ -0,0 +1,120 @@
+{* $Id$ *}
+
+<div class="titrePage">
+  <h2>{'nbm_send_mail_to_users'|@translate} {$TABSHEET_TITLE}</h2>
+</div>
+
+<form method="post" name="notification_by_mail" id="notification_by_mail" action="{$F_ACTION}">
+  {if isset($REPOST_SUBMIT_NAME)}
+  <fieldset>
+    <div class="infos">
+      <input class="submit" type="submit" value="{'nbm_repost_submit'|@translate}" name="{$REPOST_SUBMIT_NAME}" {$TAG_INPUT_ENABLED}/>
+    </div>
+  </fieldset>
+  {/if}
+
+  {if isset($param)}
+  <fieldset>
+    <legend>{'nbm_title_param'|@translate}</legend>
+    <table>
+      <tr>
+        <td><label>{'nbm_send_html_mail'|@translate}</label></td>
+        <td>
+          <label><input type="radio" name="nbm_send_html_mail" value="true"  {if $param.SEND_HTML_MAIL}checked="checked"{/if}/>{'Yes'|@translate}</label>
+          <label><input type="radio" name="nbm_send_html_mail" value="false" {if not $param.SEND_HTML_MAIL}checked="checked"{/if}/>{'No'|@translate}</label>
+        </td>
+      </tr>
+      <tr>
+        <td>
+          <label for="send_mail_as">{'nbm_send_mail_as'|@translate}</label>
+          <br/><i><small>{'nbm_info_send_mail_as'|@translate}</small></i>
+        </td>
+        <td><input type="text" maxlength="35" size="35" name="nbm_send_mail_as" id="send_mail_as" value="{$param.SEND_MAIL_AS}"/></td>
+      </tr>
+      <tr>
+        <td><label>{'nbm_send_detailed_content'|@translate}</label></td>
+        <td>
+          <label><input type="radio" name="nbm_send_detailed_content" value="true"  {if $param.SEND_DETAILED_CONTENT}checked="checked"{/if}/>{'Yes'|@translate}</label>
+          <label><input type="radio" name="nbm_send_detailed_content" value="false" {if not $param.SEND_DETAILED_CONTENT}checked="checked"{/if}/>{'No'|@translate}</label>
+        </td>
+      </tr>
+     <tr>
+        <td><label for="complementary_mail_content">{'nbm_complementary_mail_content'|@translate}</label></td>
+        <td><textarea cols="50" rows="5" name="nbm_complementary_mail_content" id="complementary_mail_content">{$param.COMPLEMENTARY_MAIL_CONTENT}</textarea></td>
+      </tr>
+      <tr>
+        <td>
+          <label>{'nbm_send_recent_post_dates'|@translate}</label>
+          <br/><i><small>{'nbm_info_send_recent_post_dates'|@translate}</small></i>
+        </td>
+        <td>
+          <label><input type="radio" name="nbm_send_recent_post_dates" value="true" {if $param.SEND_RECENT_POST_DATES}checked="checked"{/if}/>{'Yes'|@translate}</label>
+          <label><input type="radio" name="nbm_send_recent_post_dates" value="false" {if not $param.SEND_RECENT_POST_DATES}checked="checked"{/if}/>{'No'|@translate}</label>
+        </td>
+      </tr>
+    </table>
+  </fieldset>
+
+  <p>
+    <input class="submit" type="submit" value="{'Submit'|@translate}" name="param_submit" {$TAG_INPUT_ENABLED}/>
+    <input class="submit" type="reset" value="{'Reset'|@translate}" name="param_reset"/>
+  </p>
+  {/if}{* isset $param*}
+
+  {if isset($subscribe)}
+  <fieldset>
+    <legend>{'nbm_title_subscribe'|@translate}</legend>
+    <p><i>{'nbm_warning_subscribe_unsubscribe'|@translate}</i></p>
+    {$DOUBLE_SELECT}
+  </fieldset>
+  {/if}{* isset $subscribe*}
+
+  {if isset($send)}
+    {if empty($send.users)}
+    <p>{'nbm_no_user_available_to_send_L1'|@translate}</p>
+    <p>
+    {'nbm_no_user_available_to_send_L2'|@translate}<br>
+    {'nbm_no_user_available_to_send_L3'|@translate}
+    </p>
+    {else}
+    <fieldset>
+      <legend>{'nbm_title_send'|@translate}</legend>
+      <table class="table2">
+        <tr class="throw">
+          <th>{'nbm_col_user'|@translate}</th>
+          <th>{'nbm_col_mail'|@translate}</th>
+          <th>{'nbm_col_last_send'|@translate}</th>
+          <th>{'nbm_col_check_user_send_mail'|@translate}</th>
+        </tr>
+        {foreach from=$send.users item=u name=user_loop}
+        <tr class="{if $smarty.foreach.user_loop.index is odd}row1{else}row2{/if}">
+          <td><label for="send_selection-{$u.ID}">{$u.USERNAME}</label></td>
+          <td><label for="send_selection-{$u.ID}">{$u.EMAIL}</label></td>
+          <td><label for="send_selection-{$u.ID}">{$u.LAST_SEND}</label></td>
+          <td><input type="checkbox" name="send_selection[]" value="{$u.ID}" {$u.CHECKED} id="send_selection-{$u.ID}"/></td>
+        </tr>
+        {/foreach}
+      </table>
+      <p>
+          <a href="#" onclick="SelectAll(document.getElementById('notification_by_mail')); return false;">{'Check all'|@translate}</a>
+        / <a href="#" onclick="DeselectAll(document.getElementById('notification_by_mail')); return false;">{'Uncheck all'|@translate}</a>
+      </p>
+    </fieldset>
+
+    <fieldset>
+      <legend>{'nbm_send_options'|@translate}</legend>
+      <table>
+       <tr>
+          <td><label for="send_customize_mail_content">{'nbm_send_complementary_mail_content'|@translate}</label></td>
+          <td><textarea cols="50" rows="5" name="send_customize_mail_content" id="send_customize_mail_content">{$send.CUSTOMIZE_MAIL_CONTENT}</textarea></td>
+        </tr>
+      </table>
+    </fieldset>
+
+    <p>
+      <input class="submit" type="submit" value="{'nbm_send_submit'|@translate}" name="send_submit" {$TAG_INPUT_ENABLED}/>
+    </p>
+    {/if}
+  {/if}{* isset $send*}
+
+</form>
Index: /trunk/admin/template/wigo/admin/permalinks.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/permalinks.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/permalinks.tpl	(revision 2526)
@@ -0,0 +1,67 @@
+{* $Id$ *}
+<div class="titrePage">
+  <h2>{'Permalinks'|@translate}</h2>
+</div>
+
+<form method="post" action="{$F_ACTION}">
+<fieldset><legend>{'Add/delete a permalink'|@translate}</legend>
+  <label>{'Category'|@translate}:
+    <select name="cat_id">
+      <option value="0">------</option>
+      {html_options options=$categories selected=$categories_selected}
+    </select>
+  </label>
+
+  <label>{'Permalink'|@translate}:
+    <input name="permalink" />
+  </label>
+
+  <label>{'Save to permalink history'|@translate}:
+    <input type="checkbox" name="save" checked="checked" />
+  </label>
+
+  <p>
+    <input type="submit" class="submit" name="set_permalink" value="{'Submit'|@translate}" {$TAG_INPUT_ENABLED}/>
+  </p>
+  </fieldset>
+</form>
+
+<h3>{'Permalinks'|@translate}</h3>
+<table class="table2">
+  <tr class="throw">
+    <td>Id {$SORT_ID}</td>
+    <td>{'Category'|@translate} {$SORT_NAME}</td>
+    <td>{'Permalink'|@translate} {$SORT_PERMALINK}</td>
+  </tr>
+{foreach from=$permalinks item=permalink name="permalink_loop"}
+  <tr class="{if $smarty.foreach.permalink_loop.index is odd}row1{else}row2{/if}">
+    <td>{$permalink.id}</td>
+    <td>{$permalink.name}</td>
+    <td>{$permalink.permalink}</td>
+  </tr>
+{/foreach}
+</table>
+
+<h3>{'Permalink history'|@translate} <a name="old_permalinks"></a></h3>
+<table class="table2">
+  <tr class="throw">
+    <td>Id {$SORT_OLD_CAT_ID}</td>
+    <td>{'Category'|@translate}</td>
+    <td>{'Permalink'|@translate} {$SORT_OLD_PERMALINK}</td>
+    <td>Deleted on {$SORT_OLD_DATE_DELETED}</td>
+    <td>Last hit {$SORT_OLD_LAST_HIT}</td>
+    <td>Hit {$SORT_OLD_HIT}</td>
+    <td></td>
+  </tr>
+{foreach from=$deleted_permalinks item=permalink}
+  <tr>
+    <td>{$permalink.cat_id}</td>
+    <td>{$permalink.name}</td>
+    <td>{$permalink.permalink}</td>
+    <td>{$permalink.date_deleted}</td>
+    <td>{$permalink.last_hit}</td>
+    <td>{$permalink.hit}</td>
+    <td><a href="{$permalink.U_DELETE}" {$TAG_INPUT_ENABLED}><img src="{$ROOT_URL}{$themeconf.icon_dir}/delete.png" alt="[{'delete'|@translate}]" class="button"></a></td>
+  </tr>
+{/foreach}
+</table>
Index: /trunk/admin/template/wigo/admin/picture_modify.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/picture_modify.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/picture_modify.tpl	(revision 2526)
@@ -0,0 +1,190 @@
+{* $Id$ *}
+<h2>{'title_picmod'|@translate}</h2>
+
+<img src="{$TN_SRC}" alt="{'thumbnail'|@translate}" class="thumbnail" />
+
+<ul class="categoryActions">
+  {if isset($U_JUMPTO) }
+  <li><a href="{$U_JUMPTO}" title="{'jump to image'|@translate}"><img src="{$themeconf.icon_dir}/category_jump-to.png" class="button" alt="{'jump to image'|@translate}" /></a></li>
+  {/if}
+  <li><a href="{$U_SYNC}" title="{'synchronize metadata'|@translate}" {$TAG_INPUT_ENABLED}><img src="{$themeconf.icon_dir}/sync_metadata.png" class="button" alt="{'synchronize'|@translate}" /></a></li>
+</ul>
+
+<form action="{$F_ACTION}" method="post" id="properties">
+
+  <fieldset>
+    <legend>{'Informations'|@translate}</legend>
+
+    <table>
+
+      <tr>
+        <td><strong>{'Path'|@translate}</strong></td>
+        <td>{$PATH}</td>
+      </tr>
+
+      <tr>
+        <td><strong>{'Post date'|@translate}</strong></td>
+        <td>{$REGISTRATION_DATE}</td>
+      </tr>
+
+      <tr>
+        <td><strong>{'Dimensions'|@translate}</strong></td>
+        <td>{$DIMENSIONS}</td>
+      </tr>
+
+      <tr>
+        <td><strong>{'Filesize'|@translate}</strong></td>
+        <td>{$FILESIZE}</td>
+      </tr>
+
+{if isset($HIGH_FILESIZE) }
+      <tr>
+        <td><strong>{'High filesize'|@translate}</strong></td>
+        <td>{$HIGH_FILESIZE}</td>
+      </tr>
+{/if}
+
+      <tr>
+        <td><strong>{'Storage category'|@translate}</strong></td>
+        <td>{$STORAGE_CATEGORY}</td>
+      </tr>
+
+      {if isset($related_categories) }
+      <tr>
+        <td><strong>{'Linked categories'|@translate}</strong></td>
+        <td>
+          <ul>
+            {foreach from=$related_categories item=name}
+            <li>{$name}</li>
+            {/foreach}
+          </ul>
+        </td>
+      </tr>
+      {/if}
+
+    </table>
+
+  </fieldset>
+
+  <fieldset>
+    <legend>{'Properties'|@translate}</legend>
+
+    <table>
+
+      <tr>
+        <td><strong>{'Name'|@translate}</strong></td>
+        <td><input type="text" name="name" value="{$NAME}" /></td>
+      </tr>
+
+      <tr>
+        <td><strong>{'Author'|@translate}</strong></td>
+        <td><input type="text" name="author" value="{$AUTHOR}" /></td>
+      </tr>
+
+      <tr>
+        <td><strong>{'Creation date'|@translate}</strong></td>
+        <td>
+          <label><input type="radio" name="date_creation_action" value="unset" /> {'unset'|@translate}</label>
+          <input type="radio" name="date_creation_action" value="set" id="date_creation_action_set" /> {'set to'|@translate}
+          <select onmousedown="document.getElementById('date_creation_action_set').checked = true;" name="date_creation_day">
+            <option value="0">--</option>
+            {section name=day start=1 loop=32}
+              <option value="{$smarty.section.day.index}" {if $smarty.section.day.index==$DATE_CREATION_DAY_VALUE}selected="selected"{/if}>{$smarty.section.day.index}</option>
+            {/section}
+          </select>
+          <select onmousedown="document.getElementById('date_creation_action_set').checked = true;" name="date_creation_month">
+            {html_options options=$month_list selected=$DATE_CREATION_MONTH_VALUE}
+          </select>
+          <input onmousedown="document.getElementById('date_creation_action_set').checked = true;"
+                 name="date_creation_year"
+                 type="text"
+                 size="4"
+                 maxlength="4"
+                 value="{$DATE_CREATION_YEAR_VALUE}" />
+        </td>
+      </tr>
+
+      <tr>
+        <td><strong>{'Tags'|@translate}</strong></td>
+        <td>{$TAG_SELECTION}</td>
+      </tr>
+
+
+      <tr>
+        <td><strong>{'Description'|@translate}</strong></td>
+        <td><textarea name="description" class="description">{$DESCRIPTION}</textarea></td>
+      </tr>
+
+  <tr>
+    <td><strong>{'Minimum privacy level'|@translate}</strong></td>
+    <td>
+      <select name="level" size="1">
+        {html_options options=$level_options selected=$level_options_selected}
+      </select>
+    </td>
+  </tr>
+
+    </table>
+
+    <p style="text-align:center;">
+      <input class="submit" type="submit" value="{'Submit'|@translate}" name="submit" {$TAG_INPUT_ENABLED}/>
+      <input class="submit" type="reset" value="{'Reset'|@translate}" name="reset" />
+    </p>
+
+  </fieldset>
+
+</form>
+
+<form id="associations" method="post" action="{$F_ACTION}#associations">
+  <fieldset>
+    <legend>{'Association to categories'|@translate}</legend>
+
+    <table class="doubleSelect">
+      <tr>
+        <td>
+          <h3>{'Associated'|@translate}</h3>
+          <select class="categoryList" name="cat_associated[]" multiple="multiple" size="30">
+            {html_options options=$associated_options}
+          </select>
+          <p><input class="submit" type="submit" value="&raquo;" name="dissociate" style="font-size:15px;" {$TAG_INPUT_ENABLED}/></p>
+        </td>
+
+        <td>
+          <h3>{'Dissociated'|@translate}</h3>
+          <select class="categoryList" name="cat_dissociated[]" multiple="multiple" size="30">
+            {html_options options=$dissociated_options}
+          </select>
+          <p><input class="submit" type="submit" value="&laquo;" name="associate" style="font-size:15px;" {$TAG_INPUT_ENABLED}/></p>
+        </td>
+      </tr>
+    </table>
+
+  </fieldset>
+</form>
+
+<form id="representation" method="post" action="{$F_ACTION}#representation">
+  <fieldset>
+    <legend>{'Representation of categories'|@translate}</legend>
+
+    <table class="doubleSelect">
+      <tr>
+        <td>
+          <h3>{'Represents'|@translate}</h3>
+          <select class="categoryList" name="cat_elected[]" multiple="multiple" size="30">
+            {html_options options=$elected_options}
+          </select>
+          <p><input class="submit" type="submit" value="&raquo;" name="dismiss" style="font-size:15px;" {$TAG_INPUT_ENABLED}/></p>
+        </td>
+
+        <td>
+          <h3>{'Does not represent'|@translate}</h3>
+          <select class="categoryList" name="cat_dismissed[]" multiple="multiple" size="30">
+            {html_options options=$dismissed_options}
+          </select>
+          <p><input class="submit" type="submit" value="&laquo;" name="elect" style="font-size:15px;" {$TAG_INPUT_ENABLED}/></p>
+        </td>
+      </tr>
+    </table>
+
+  </fieldset>
+</form>
Index: /trunk/admin/template/wigo/admin/plugins_list.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/plugins_list.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/plugins_list.tpl	(revision 2526)
@@ -0,0 +1,52 @@
+<div class="titrePage">
+<span class="sort">
+{'Sort order'|@translate} : 
+  <select onchange="document.location = this.options[this.selectedIndex].value;" style="width:200px">
+        {html_options options=$order_options selected=$order_selected}
+  </select>
+</span>
+  <h2>{'Plugins'|@translate}</h2>
+</div>
+
+
+{if isset($plugins)}
+<table class="table2">
+<thead>
+  <tr class="throw">
+    <td>{'Name'|@translate}</td>
+    <td>{'Version'|@translate}</td>
+    <td>{'Description'|@translate}</td>
+    <td>{'Actions'|@translate}</td>
+  </tr>
+</thead>
+{html_head} {*add the style to html head for strict standard compliance*}
+<style type="text/css">
+TABLE.table2 TR TD.pluginState {ldelim}
+  padding-left:16px;
+}
+TABLE.table2 TR TD.active {ldelim}
+  background: url({$ROOT_URL}{$themeconf.admin_icon_dir}/plugin_active.gif) no-repeat center left
+}
+TABLE.table2 TR TD.inactive {ldelim}
+  background: url({$ROOT_URL}{$themeconf.admin_icon_dir}/plugin_inactive.gif) no-repeat center left
+}
+</style>
+{/html_head}
+{foreach from=$plugins item=plugin name=plugins_loop}
+	<tr class="{if $smarty.foreach.plugins_loop.index is odd}row1{else}row2{/if}">
+	<td class="pluginState{if not empty($plugin.STATE)} {$plugin.STATE}{/if}">
+		{$plugin.NAME}
+	</td>
+	<td>{$plugin.VERSION}</td>
+	<td>{$plugin.DESCRIPTION}</td>
+	<td>
+	{foreach from=$plugin.actions item=action}
+		<a href="{$action.U_ACTION}"
+		{if isset($action.CONFIRM)} onclick="return confirm('{$action.CONFIRM|@escape:'javascript'}');"{/if}
+		{$TAG_INPUT_ENABLED}>{$action.L_ACTION}</a>
+	{/foreach}
+	</td>
+  </tr>
+{/foreach}
+</table>
+{/if}
Index: /trunk/admin/template/wigo/admin/plugins_new.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/plugins_new.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/plugins_new.tpl	(revision 2526)
@@ -0,0 +1,36 @@
+<div class="titrePage">
+  <h2>{'Plugins'|@translate}</h2>
+</div>
+
+{'Sort order'|@translate} : 
+  <select onchange="document.location = this.options[this.selectedIndex].value;" style="width:150px">
+        {html_options options=$order_options selected=$order_selected}
+  </select>
+
+{if isset($plugins)}
+<br>
+<table class="table2">
+<thead>
+  <tr class="throw">
+    <td>{'Name'|@translate}</td>
+    <td>{'Version'|@translate}</td>
+    <td>{'Date'|@translate}</td>
+    <td>{'Author'|@translate}</td>
+    <td>{'Actions'|@translate}</td>
+  </tr>
+</thead>
+{foreach from=$plugins item=plugin name=plugins_loop}
+  <tr class="{if $smarty.foreach.plugins_loop.index is odd}row1{else}row2{/if}">
+    <td><a href="{$plugin.EXT_URL}" onclick="window.open(this.href); return false;" class="tooltip">{$plugin.EXT_NAME}
+      <span>{$plugin.EXT_DESC}</span></a></td>
+    <td style="text-align:center;"><a href="{$plugin.VERSION_URL}" onclick="window.open(this.href); return false;" class="tooltip">{$plugin.VERSION}
+      <span>{$plugin.VER_DESC}</span></a></td>
+    <td>{$plugin.DATE}</td>
+    <td>{$plugin.AUTHOR}</td>
+    <td style="text-align:center;"><a href="{$plugin.URL_INSTALL}" onclick="return confirm('{'plugins_confirm_install'|@translate|@escape:javascript}');">{'plugins_auto_install'|@translate}</a>
+      / <a href="{$plugin.URL_DOWNLOAD}">{'plugins_download'|@translate}</a>
+    </td>
+  </tr>
+{/foreach}
+</table>
+{/if}
Index: /trunk/admin/template/wigo/admin/plugins_update.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/plugins_update.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/plugins_update.tpl	(revision 2526)
@@ -0,0 +1,70 @@
+<div class="titrePage">
+  <h2>{'Plugins'|@translate}</h2>
+</div>
+
+{if isset($plugins_not_uptodate)}
+<br>
+<b>{'plugins_need_update'|@translate}</b>
+<table class="table2">
+<thead>
+  <tr class="throw">
+    <td>{'Name'|@translate}</td>
+    <td>{'plugins_actual_version'|@translate}</td>
+    <td>{'plugins_new_version'|@translate}</td>
+    <td>{'Actions'|@translate}</td>
+  </tr>
+</thead>
+{foreach from=$plugins_not_uptodate item=plugin name=plugins_loop}
+  <tr class="{if $smarty.foreach.plugins_loop.index is odd}row1{else}row2{/if}">
+    <td><a href="{$plugin.EXT_URL}" onclick="window.open(this.href); return false;" class="tooltip">{$plugin.EXT_NAME}
+        <span>{$plugin.EXT_DESC}</span></a></td>
+    <td style="text-align:center;">{$plugin.VERSION}</td>
+    <td style="text-align:center;"><a href="{$plugin.VERSION_URL}" onclick="window.open(this.href); return false;" class="tooltip">{$plugin.NEW_VERSION}
+        <span>{$plugin.NEW_VER_DESC}</span></a></td>
+    <td style="text-align:center;"><a href="{$plugin.URL_UPDATE}" onclick="return confirm('{'plugins_confirm_upgrade'|@translate|@escape:javascript}');">{'plugins_auto_update'|@translate}</a>
+      / <a href="{$plugin.URL_DOWNLOAD}">{'plugins_download'|@translate}</a></td>
+  </tr>
+{/foreach}
+</table>
+{/if}
+
+
+{if isset($plugins_uptodate)}
+<br>
+<b>{'plugins_dontneed_update'|@translate}</b>
+<table class="table2">
+<thead>
+  <tr class="throw">
+    <td>{'Name'|@translate}</td>
+    <td>{'Version'|@translate}</td>
+  </tr>
+</thead>
+{foreach from=$plugins_uptodate item=plugin name=plugins_loop}
+  <tr class="{if $smarty.foreach.plugins_loop.index is odd}row1{else}row2{/if}">
+    <td><a href="{$plugin.URL}" onclick="window.open(this.href); return false;" class="tooltip">{$plugin.NAME}
+        <span>{$plugin.EXT_DESC}</span></a></td>
+    <td style="text-align:center;">{$plugin.VERSION}</td>
+  </tr>
+{/foreach}
+</table>
+{/if}
+
+
+{if isset($plugins_cant_check)}
+<br>
+<b>{'plugins_cant_check'|@translate}</b>
+<table class="table2">
+<thead>
+  <tr class="throw">
+    <td>{'Name'|@translate}</td>
+    <td>{'Version'|@translate}</td>
+  </tr>
+</thead>
+{foreach from=$plugins_cant_check item=plugin name=plugins_loop}
+  <tr class="{if $smarty.foreach.plugins_loop.index is odd}row1{else}row2{/if}">
+    <td>{$plugin.NAME}</td>
+    <td style="text-align:center;">{$plugin.VERSION}</td>
+  </tr>
+{/foreach}
+</table>
+{/if}
Index: /trunk/admin/template/wigo/admin/profile.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/profile.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/profile.tpl	(revision 2526)
@@ -0,0 +1,6 @@
+{* $Id$ *}
+<div class="titrePage">
+  <h2>{'Profile'|@translate}</h2>
+</div>
+
+{$PROFILE_CONTENT}
Index: /trunk/admin/template/wigo/admin/rating.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/rating.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/rating.tpl	(revision 2526)
@@ -0,0 +1,64 @@
+{* $Id$ *}
+<h2>{'Rating'|@translate} [{$NB_ELEMENTS} {'elements'|@translate}]</h2>
+
+<form action="{$F_ACTION}" method="GET" id="update" class="filter">
+  <fieldset>
+    <legend>{'Filter'|@translate}</legend>
+
+    <label>
+      {'Sort by'|@translate}
+      <select name="order_by">
+        {html_options options=$order_by_options selected=$order_by_options_selected}
+      </select>
+    </label>
+
+    <label>
+      {'Users'|@translate}
+      <select name="users">
+        {html_options options=$user_options selected=$user_options_selected}
+      </select>
+    </label>
+
+    <label>
+      {'Number of items'|@translate}
+      <input type="text" name="display" size="2" value="{$DISPLAY}">
+    </label>
+
+    <input class="submit" type="submit" name="submit_filter" value="{'Submit'|@translate}" />
+    <input type="hidden" name="page" value="rating" />
+  </fieldset>
+</form>
+
+<div class="navigationBar">{$NAVBAR}</div>
+<table width="99%">
+<tr class="throw">
+  <td>{'File'|@translate}</td>
+  <td>{'Number of rates'|@translate}</td>
+  <td>{'Average rate'|@translate}</td>
+  <td>{'Controversy'|@translate}</td>
+  <td>{'Sum of rates'|@translate}</td>
+  <td>{'Rate'|@translate}</td>
+  <td>{'Username'|@translate}</td>
+  <td>{'Rate date'|@translate}</td>
+  <td></td>
+</tr>
+{foreach from=$images item=image}
+<tr valign="bottom">
+  <td rowspan="{$image.NB_RATES_TOTAL+1}"><a href="{$image.U_URL}"><img src="{$image.U_THUMB}" alt="{$image.FILE}" title="{$image.FILE}"></a></td>
+  <td rowspan="{$image.NB_RATES_TOTAL+1}"><strong>{$image.NB_RATES}/{$image.NB_RATES_TOTAL}</strong></td>
+  <td rowspan="{$image.NB_RATES_TOTAL+1}"><strong>{$image.AVG_RATE}</strong></td>
+  <td rowspan="{$image.NB_RATES_TOTAL+1}"><strong>{$image.STD_RATE}</strong></td>
+  <td rowspan="{$image.NB_RATES_TOTAL+1}" style="border-right: 1px solid;" ><strong>{$image.SUM_RATE}</strong></td>
+</tr>
+{foreach from=$image.rates item=rate}
+<tr>
+    <td>{$rate.RATE}</td>
+    <td><b>{$rate.USER}</b></td>
+    <td><span class="date">{$rate.DATE}</span></td>
+    <td><a href="{$rate.U_DELETE}" {$TAG_INPUT_ENABLED}><img src="{$themeconf.icon_dir}/delete.png" class="button" style="border:none;vertical-align:middle; margin-left:5px;" alt="[{'delete'|@translate}]"/></a></td>
+</tr>
+{/foreach} {*rates*}
+{/foreach} {*images*}
+</table>
+
+<div class="navigationBar">{$NAVBAR}</div>
Index: /trunk/admin/template/wigo/admin/site_manager.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/site_manager.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/site_manager.tpl	(revision 2526)
@@ -0,0 +1,70 @@
+{* $Id$ *}
+<div class="titrePage">
+  <h2>{'Site manager'|@translate}</h2>
+</div>
+
+{if not empty($remote_output)}
+<div class="remoteOutput">
+  <ul>
+    {foreach from=$remote_output item=remote_line}
+    <li class="{$remote_line.CLASS}">{$remote_line.CONTENT}</li>
+    {/foreach}
+  </ul>
+</div>
+{/if}
+
+{if isset($local_listing)}
+{'remote_site_local_found'|@translate} {$local_listing.URL}
+{if isset($local_listing.CREATE)}
+<form action="{$F_ACTION}" method="post">
+  <p>
+    {'remote_site_local_create'|@translate}:
+    <input type="hidden" name="no_check" value="1"/>
+    <input type="hidden" name="galleries_url" value="{$local_listing.URL}" />
+    <input type="submit" name="submit" value="{'Submit'|@translate}" {$TAG_INPUT_ENABLED} />
+  </p>
+</form>
+{/if}
+{if isset($local_listing.U_SYNCHRONIZE)}
+&nbsp;<a href="{$local_listing.U_SYNCHRONIZE}" title="{'remote_site_local_update'|@translate}">{'site_synchronize'|@translate}</a>
+<br/><br/>
+{/if}
+{/if}
+
+{if not empty($sites)}
+<table border="1" cellpadding="0" cellspacing="0">
+  {foreach from=$sites item=site}
+  <tr style="text-align:left"><td>
+    <a href="{$site.NAME}">{$site.NAME}</a><br/>({$site.TYPE}, {$site.CATEGORIES} {'Categories'|@translate}, {$pwg->l10n_dec('%d element','%d elements',$site.IMAGES)})
+  </td><td>
+    [<a href="{$site.U_SYNCHRONIZE}" title="{'site_synchronize_hint'|@translate}">{'site_synchronize'|@translate}</a>]
+    {if isset($site.U_DELETE)}
+      [<a href="{$site.U_DELETE}" onclick="return confirm('{'Are you sure?'|@translate|escape:'javascript'}');"
+                title="{'site_delete_hint'|@translate}" {$TAG_INPUT_ENABLED}>{'site_delete'|@translate}</a>]
+    {/if}
+    {if isset($site.remote)}
+      <br/>
+      [<a href="{$site.remote.U_TEST}" title="{'remote_site_test_hint'|@translate}" {$TAG_INPUT_ENABLED}>{'remote_site_test'|@translate}</a>]
+      [<a href="{$site.remote.U_GENERATE}" title="{'remote_site_generate_hint'|@translate}" {$TAG_INPUT_ENABLED}>{'remote_site_generate'|@translate}</a>]
+      [<a href="{$site.remote.U_CLEAN}" title="{'remote_site_clean_hint'|@translate}" {$TAG_INPUT_ENABLED}>{'remote_site_clean'|@translate}</a>]
+    {/if}
+    {if not empty($site.plugin_links)}
+        <br>
+      {foreach from=$site.plugin_links item=plugin_link}
+        [<a href="{$plugin_link.U_HREF}" title='{$plugin_link.U_HINT}' {$TAG_INPUT_ENABLED}>{$plugin_link.U_CAPTION}</a>]
+      {/foreach}
+    {/if}
+  </td></tr>
+  {/foreach}
+</table>
+{/if}
+
+<form action="{$F_ACTION}" method="post">
+  <p>
+    <label for="galleries_url" >{'site_create'|@translate}</label>
+    <input type="text" name="galleries_url" id="galleries_url" />
+  </p>
+  <p>
+    <input class="submit" type="submit" name="submit" value="{'Submit'|@translate}" {$TAG_INPUT_ENABLED} />
+  </p>
+</form>
Index: /trunk/admin/template/wigo/admin/site_update.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/site_update.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/site_update.tpl	(revision 2526)
@@ -0,0 +1,115 @@
+{* $Id$ *}
+
+<div class="titrePage">
+  <h2>{'title_update'|@translate}: <a href="{$SITE_URL}">{$SITE_URL}</a></h2>
+</div>
+
+{if isset($update_result)}
+<h3>{$L_RESULT_UPDATE}</h3>
+<ul>
+  <li class="update_summary_new">{$update_result.NB_NEW_CATEGORIES} {'update_nb_new_categories'|@translate}</li>
+  <li class="update_summary_new">{$update_result.NB_NEW_ELEMENTS} {'update_nb_new_elements'|@translate}</li>
+  <li class="update_summary_del">{$update_result.NB_DEL_CATEGORIES} {'update_nb_del_categories'|@translate}</li>
+  <li class="update_summary_del">{$update_result.NB_DEL_ELEMENTS} {'update_nb_del_elements'|@translate}</li>
+  <li>{$update_result.NB_UPD_ELEMENTS} {'update_nb_upd_elements'|@translate}</li>
+  <li class="update_summary_err">{$update_result.NB_ERRORS} {'update_nb_errors'|@translate}</li>
+</ul>
+{/if}
+
+{if isset($metadata_result)}
+<h3>{$L_RESULT_METADATA}</h3>
+<ul>
+  <li>{$metadata_result.NB_ELEMENTS_DONE} {'update_nb_elements_metadata_sync'|@translate}</li>
+  <li>{$metadata_result.NB_ELEMENTS_CANDIDATES} {'update_nb_elements_metadata_available'|@translate}</li>
+  <li>{'update_used_metadata'|@translate} : {$METADATA_LIST}</li>
+</ul>
+{/if}
+
+
+{if not empty($sync_errors)}
+<h3>{'update_error_list_title'|@translate}</h3>
+<div class="errors">
+<ul>
+  {foreach from=$sync_errors item=error}
+  <li>[{$error.ELEMENT}] {$error.LABEL}</li>
+  {/foreach}
+</ul>
+</div>
+<h3>{'update_errors_caption'|@translate}</h3>
+<ul>
+  {foreach from=$sync_error_captions item=caption}
+  <li><strong>{$caption.TYPE}</strong>: {$caption.LABEL}</li>
+  {/foreach}
+</ul>
+{/if}
+
+{if not empty($sync_infos)}
+<h3>{'update_infos_title'|@translate}</h3>
+<div class="infos">
+<ul>
+  {foreach from=$sync_infos item=info}
+  <li>[{$info.ELEMENT}] {$info.LABEL}</li>
+  {/foreach}
+</ul>
+</div>
+{/if}
+
+{if isset($introduction)}
+<h3>{'update_default_title'|@translate}</h3>
+<form action="" method="post" id="update">
+
+	<fieldset id="syncFiles">
+		<legend>{'update_sync_files'|@translate}</legend>
+		<ul>
+			<li><label><input type="radio" name="sync" value="" {if empty($introduction.sync)}checked="checked"{/if}/> {'nothing'|@translate}</label></li>
+			<li><label><input type="radio" name="sync" value="dirs" {if 'dirs'==$introduction.sync}checked="checked"{/if}/> {'update_sync_dirs'|@translate}</label></li>
+
+			<li><label><input type="radio" name="sync" value="files" {if 'files'==$introduction.sync}checked="checked"{/if}/> {'update_sync_all'|@translate}</label>
+				<ul style="padding-left:3em">
+					<li><label><input type="checkbox" name="display_info" value="1" {if $introduction.display_info}checked="checked"{/if}/> {'update_display_info'|@translate}</label></li>
+					<li><label><input type="checkbox" name="add_to_caddie" value="1" {if $introduction.add_to_caddie}checked="checked"{/if}/> {'add new elements to caddie'|@translate}</label></li>
+					<li><label>{'Minimum privacy level'|@translate} <select name="privacy_level">{html_options options=$introduction.privacy_level_options selected=$introduction.privacy_level_selected}</select></label></li>
+				</ul>
+			</li>
+		</ul>
+	</fieldset>
+
+	<fieldset id="syncMetadata">
+		<legend>{'update_sync_metadata'|@translate}</legend>
+		<label><input type="checkbox" name="sync_meta" {if $introduction.sync_meta}checked="checked"{/if}/> {'synchronize metadata'|@translate} ({$METADATA_LIST})</label></li>
+		<ul style="padding-left:3em">
+	  		<li>
+	  			<label><input type="checkbox" name="meta_all" {if $introduction.meta_all}checked="checked"{/if}/> {'update_sync_metadata_all'|@translate}</label>
+	  		</li>
+	  		<li>
+	  			<label><input type="checkbox" name="meta_empty_overrides" {if $introduction.meta_empty_overrides}checked="checked"{/if}/> {'overrides existing values with empty ones'|@translate}</label>
+	  		</li>
+		</ul>
+	</fieldset>
+
+  <fieldset id="syncSimulate">
+    <legend></legend>
+    <ul><li><label><input type="checkbox" name="simulate" value="1" checked="checked" {$TAG_INPUT_ENABLED} /> {'update_simulate'|@translate}</label></li></ul>
+  </fieldset>
+
+  <fieldset id="catSubset">
+    <legend>{'update_cats_subset'|@translate}</legend>
+    <ul>
+    <li>
+    <select class="categoryList" name="cat" size="10">
+      {html_options options=$category_options selected=$category_options_selected}
+    </select>
+    </li>
+
+    <li><label><input type="checkbox" name="subcats-included" value="1" {if $introduction.subcats_included}checked="checked"{/if}/> {'search_subcats_included'|@translate}</label></li>
+    </ul>
+  </fieldset>
+
+  <p class="bottomButtons">
+    <input class="submit" type="submit" value="{'Submit'|@translate}" name="submit" />
+    <input class="submit" type="reset"  value="{'Reset'|@translate}"  name="reset"  />
+  </p>
+</form>
+{/if}{*isset $introduction*}
+
+<p><a href="{$U_SITE_MANAGER}">{'Site manager'|@translate}</a></p>
Index: /trunk/admin/template/wigo/admin/stats.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/stats.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/stats.tpl	(revision 2526)
@@ -0,0 +1,26 @@
+{* $Id$ *}
+
+<div class="titrePage">
+  <h2>{'History'|@translate} {$TABSHEET_TITLE}</h2>
+</div>
+
+<h3>{$L_STAT_TITLE}</h3>
+
+<table class="table2" id="dailyStats">
+	<tr class="throw">
+		<th>{$PERIOD_LABEL}</th>
+		<th>{'Pages seen'|@translate}</th>
+		<th></th>
+	</tr>
+
+{if not empty($statrows)}
+{foreach from=$statrows item=row}
+	<tr>
+		<td style="white-space: nowrap">{$row.VALUE}</td>
+		<td class="number">{$row.PAGES}</td>
+		<td><div class="statBar" style="width:{$row.WIDTH}px"></div></td>
+	</tr>
+{/foreach}
+{/if}
+
+</table>
Index: /trunk/admin/template/wigo/admin/tabsheet.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/tabsheet.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/tabsheet.tpl	(revision 2526)
@@ -0,0 +1,10 @@
+{* $Id$ *}
+{if isset($tabsheet) and count($tabsheet)}
+<ul class="tabsheet">
+{foreach from=$tabsheet key=name item=sheet}
+  <li class="{if ($name == $tabsheet_selected)}selected_tab{else}normal_tab{/if}">
+    <a href="{$sheet.url}"><span>{$sheet.caption}</span></a>
+  </li>
+{/foreach}
+</ul>
+{/if}
Index: /trunk/admin/template/wigo/admin/tags.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/tags.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/tags.tpl	(revision 2526)
@@ -0,0 +1,54 @@
+{* $Id$ *}
+<div class="titrePage">
+  <h2>{'Manage tags'|@translate}</h2>
+</div>
+
+<form action="{$F_ACTION}" method="post">
+
+  {if isset($EDIT_TAGS_LIST)}
+  <fieldset>
+    <legend>{'Edit tags'|@translate}</legend>
+    <input type="hidden" name="edit_list" value="{$EDIT_TAGS_LIST}" />
+    <table class="table2">
+      <tr class="throw">
+        <th>{'Current name'|@translate}</th>
+        <th>{'New name'|@translate}</th>
+      </tr>
+      {foreach from=$tags item=tag}
+      <tr>
+        <td>{$tag.NAME}</td>
+        <td><input type="text" name="tag_name-{$tag.ID}" value="{$tag.NAME}" /></td>
+      </tr>
+      {/foreach}
+    </table>
+
+    <p>
+      <input class="submit" type="submit" name="submit" value="{'Submit'|@translate}" {$TAG_INPUT_ENABLED} />
+      <input class="submit" type="reset" value="{'Reset'|@translate}" />
+    </p>
+  </fieldset>
+  {/if}
+
+  <fieldset>
+    <legend>{'Add a tag'|@translate}</legend>
+
+    <label>
+      {'New tag'|@translate}
+      <input type="text" name="add_tag" />
+    </label>
+    
+    <p><input class="submit" type="submit" name="add" value="{'Submit'|@translate}" {$TAG_INPUT_ENABLED}/></p>
+  </fieldset>
+
+  <fieldset>
+    <legend>{'Tag selection'|@translate}</legend>
+    
+    {$TAG_SELECTION}
+
+    <p>
+      <input class="submit" type="submit" name="edit" value="{'Edit selected tags'|@translate}"/>
+      <input class="submit" type="submit" name="delete" value="{'Delete selected tags'|@translate}" onclick="return confirm('{'Are you sure?'|@translate}');" {$TAG_INPUT_ENABLED}/>
+    </p>
+  </fieldset>
+
+</form>
Index: /trunk/admin/template/wigo/admin/thumbnail.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/thumbnail.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/thumbnail.tpl	(revision 2526)
@@ -0,0 +1,120 @@
+{* $Id$ *}
+<div class="titrePage">
+  <h2>{'title_thumbnails'|@translate}</h2>
+</div>
+
+{if isset($results) }
+<div class="admin">{'tn_results_title'|@translate}</div>
+<table style="width:100%;">
+  <tr class="throw">
+    <td>{'path'|@translate}</td>
+    <td>{'thumbnail'|@translate}</td>
+    <td>{'tn_results_gen_time'|@translate}</td>
+    <td>{'filesize'|@translate}</td>
+    <td>{'Dimensions'|@translate}</td>
+  </tr>
+  {foreach from=$results.elements item=elt}
+  <tr>
+    <td>{$elt.PATH}</td>
+    <td><img src="{$elt.TN_FILE_IMG}" /></td>
+    <td style="text-align:right;">{$elt.GEN_TIME}</td>
+    <td style="text-align:right;">{$elt.TN_FILESIZE_IMG}</td>
+    <td style="text-align:right;">{$elt.TN_WIDTH_IMG} x {$elt.TN_HEIGHT_IMG}</td>
+  </tr>
+  {/foreach}
+</table>
+
+<table class="table2">
+  <tr class="throw">
+    <td colspan="2">{'tn_stats'|@translate}</td>
+  </tr>
+  <tr>
+    <td>{'tn_stats_nb'|@translate}</td>
+    <td style="text-align:center;">{$results.TN_NB}</td>
+  </tr>
+  <tr>
+    <td>{'tn_stats_total'|@translate}</td>
+    <td style="text-align:right;">{$results.TN_TOTAL}</td>
+  </tr>
+  <tr>
+    <td>{'tn_stats_max'|@translate}</td>
+    <td style="text-align:right;">{$results.TN_MAX}</td>
+  </tr>
+  <tr>
+    <td>{'tn_stats_min'|@translate}</td>
+    <td style="text-align:right;">{$results.TN_MIN}</td>
+  </tr>
+  <tr>
+    <td>{'tn_stats_mean'|@translate}</td>
+    <td style="text-align:right;">{$results.TN_AVERAGE}</td>
+  </tr>
+</table>
+<br />
+{/if}
+
+{if isset($params) }
+<form method="post" action="{$params.F_ACTION}" class="properties">
+
+  <fieldset>
+    <legend>{'tn_params_title'|@translate}</legend>
+
+    <ul>
+      <li>
+        <span class="property">{'tn_params_GD'|@translate}</span>
+	<label>
+          <input type="radio" name="gd" value="2" {if $params.GD_SELECTED==2}checked="checked"{/if} />2.x
+        </label>
+        <label>
+          <input type="radio" name="gd" value="1" {if $params.GD_SELECTED==1}checked="checked"{/if} />1.x
+        </label>
+      </li>
+
+      <li>
+        <span class="property">
+          <label for="width">{'maximum width'|@translate}</label>
+        </span>
+	<input type="text" id="width" name="width" value="{$params.WIDTH_TN}" />
+      </li>
+
+      <li>
+        <span class="property">
+          <label for="height">{'maximum height'|@translate}</label>
+        </span>
+	<input type="text" id="height" name="height" value="{$params.HEIGHT_TN}" />
+      </li>
+
+      <li>
+        <span class="property">{'Number of thumbnails to create'|@translate}</span>
+	<label><input type="radio" name="n" value="5"   {if $params.N_SELECTED==5}checked="checked"{/if} /> 5</label>
+	<label><input type="radio" name="n" value="10"  {if $params.N_SELECTED==10}checked="checked"{/if} /> 10</label>
+	<label><input type="radio" name="n" value="20"  {if $params.N_SELECTED==20}checked="checked"{/if} /> 20</label>
+	<label><input type="radio" name="n" value="all" {if $params.N_SELECTED=='all'}checked="checked"{/if} /> {'tn_all'|@translate}</label>
+      </li>
+    </ul>
+  </fieldset>
+
+  <p><input class="submit" type="submit" name="submit" value="{'Submit'|@translate}" {$TAG_INPUT_ENABLED}/></p>
+</form>
+{/if} {*isset params*}
+
+{if !empty($remainings) }
+<div class="admin">{$TOTAL_NB_REMAINING} {'tn_alone_title'|@translate}</div>
+<table style="width:100%;">
+  <tr class="throw">
+    <td>&nbsp;</td>
+    <td style="width:60%;">{'path'|@translate}</td>
+    <td>{'filesize'|@translate}</td>
+    <td>{'Dimensions'|@translate}</td>
+  </tr>
+  {foreach from=$remainings item=elt name=remain_loop}
+  <tr class="{if $smarty.foreach.remain_loop.index is odd}row1{else}row2{/if}">
+    <td>{$smarty.foreach.remain_loop.iteration}</td>
+    <td><div style="margin-left:10px;">{$elt.PATH}</div></td>
+    <td><div style="margin-left:10px;">{$elt.FILESIZE_IMG}</div></td>
+    <td><div style="margin-left:10px;">{$elt.WIDTH_IMG} x {$elt.HEIGHT_IMG}</div></td>
+  </tr>
+  {/foreach}
+</table>
+{else}
+<div style="text-align:center;font-weight:bold;margin:10px;"> [ {'tn_no_missing'|@translate} ]</div>
+{/if}
Index: /trunk/admin/template/wigo/admin/upload.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/upload.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/upload.tpl	(revision 2526)
@@ -0,0 +1,52 @@
+{* $Id$ *}
+<div class="titrePage">
+  <h2>{'waiting'|@translate} {$TABSHEET_TITLE}</h2>
+</div>
+
+<h3>{'title_upload'|@translate}</h3>
+
+<form action="{$F_ACTION}" method="post" id="waiting">
+  <table style="width:99%;" >
+    <tr class="throw">
+      <th style="width:20%;">{'category'|@translate}</th>
+      <th style="width:20%;">{'Date'|@translate}</th>
+      <th style="width:20%;">{'file'|@translate}</th>
+      <th style="width:20%;">{'thumbnail'|@translate}</th>
+      <th style="width:20%;">{'Author'|@translate}</th>
+      <th style="width:1px;">&nbsp;</th>
+    </tr>
+    
+    {if not empty($pictures) }
+    {foreach from=$pictures item=picture name=picture_loop}
+    <tr class="{if $smarty.foreach.picture_loop.index is odd}row1{else}row2{/if}">
+      <td style="white-space:nowrap;">{$picture.CATEGORY_IMG}</td>
+      <td style="white-space:nowrap;">{$picture.DATE_IMG}</td>
+      <td style="white-space:nowrap;">
+        <a href="{$picture.PREVIEW_URL_IMG}" title="{$picture.FILE_TITLE}">{$picture.FILE_IMG}</a>
+      </td>
+      <td style="white-space:nowrap;">
+        {if not empty($picture.thumbnail) }
+        <a href="{$picture.thumbnail.PREVIEW_URL_TN_IMG}" title="{$picture.thumbnail.FILE_TN_TITLE}">{$picture.thumbnail.FILE_TN_IMG}</a>
+        {/if}
+      </td>
+      <td style="white-space:nowrap;">
+        <a href="mailto:{$picture.UPLOAD_EMAIL}">{$picture.UPLOAD_USERNAME}</a>
+      </td>
+      <td style="white-space:nowrap;">
+        <label><input type="radio" name="action-{$picture.ID_IMG}" value="validate" /> {'Validate'|@translate}</label>
+        <label><input type="radio" name="action-{$picture.ID_IMG}" value="reject" /> {'Reject'|@translate}</label>
+      </td>
+    </tr>
+    {/foreach}
+    {/if}
+  </table>
+
+  <p class="bottomButtons">
+    <input type="hidden" name="list" value="{$LIST}" />
+    <input class="submit" type="submit" name="submit" value="{'Submit'|@translate}" {$TAG_INPUT_ENABLED}/>
+    <input class="submit" type="submit" name="validate-all" value="{'Validate All'|@translate}" {$TAG_INPUT_ENABLED}/>
+    <input class="submit" type="submit" name="reject-all" value="{'Reject All'|@translate}" {$TAG_INPUT_ENABLED}/>
+    <input class="submit" type="reset" value="{'Reset'|@translate}" />
+  </p>
+
+</form>
Index: /trunk/admin/template/wigo/admin/user_list.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/user_list.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/user_list.tpl	(revision 2526)
@@ -0,0 +1,327 @@
+{* $Id$ *}
+<div class="titrePage">
+  <h2>{'title_liste_users'|@translate}</h2>
+</div>
+
+<form class="filter" method="post" name="add_user" action="{$F_ADD_ACTION}">
+  <fieldset>
+    <legend>{'Add a user'|@translate}</legend>
+    <label>{'Username'|@translate} <input type="text" name="login" maxlength="50" size="20" /></label>
+    <label>{'Password'|@translate} <input type="text" name="password" /></label>
+    <label>{'Email address'|@translate} <input type="text" name="email" /></label>
+    <input class="submit" type="submit" name="submit_add" value="{'Submit'|@translate}" {$TAG_INPUT_ENABLED} />
+  </fieldset>
+</form>
+
+<form class="filter" method="get" name="filter" action="{$F_FILTER_ACTION}">
+<fieldset>
+  <legend>{'Filter'|@translate}</legend>
+  <input type="hidden" name="page" value="user_list" />
+
+  <label>{'Username'|@translate} <input type="text" name="username" value="{$F_USERNAME}" /></label>
+
+  <label>
+  {'status'|@translate}
+  {html_options name=status options=$status_options selected=$status_selected}
+  </label>
+
+  <label>
+  {'group'|@translate}
+  {html_options name=group options=$group_options selected=$group_selected}
+  </label>
+
+  <label>
+  {'Sort by'|@translate}
+  {html_options name=order_by options=$order_options selected=$order_selected}
+  </label>
+
+  <label>
+  {'Sort order'|@translate}
+  {html_options name=direction options=$direction_options selected=$direction_selected}
+  </label>
+
+  <input class="submit" type="submit" value="{'Submit'|@translate}" />
+
+</fieldset>
+
+</form>
+
+<form method="post" name="preferences" action="">
+
+<table class="table2" width="97%">
+  <thead>
+    <tr class="throw">
+      <td>&nbsp;</td>
+      <td>{'Username'|@translate}</td>
+      <td>{'user_status'|@translate}</td>
+      <td>{'Email address'|@translate}</td>
+      <td>{'Groups'|@translate}</td>
+      <td>{'properties'|@translate}</td>
+      {if not empty($plugin_user_list_column_titles)}
+      {foreach from=$plugin_user_list_column_titles item=title}
+      <td>{$title}</td>
+      {/foreach}
+      {/if}
+      <td>{'Actions'|@translate}</td>
+    </tr>
+  </thead>
+
+  {foreach from=$users item=user name=users_loop}
+  <tr class="{if $smarty.foreach.users_loop.index is odd}row1{else}row2{/if}">
+    <td><input type="checkbox" name="selection[]" value="{$user.ID}" {$user.CHECKED} id="selection-{$user.ID}" /></td>
+    <td><label for="selection-{$user.ID}">{$user.USERNAME}</label></td>
+    <td>{$user.STATUS}</td>
+    <td>{$user.EMAIL}</td>
+    <td>{$user.GROUPS}</td>
+    <td>{$user.PROPERTIES}</td>
+    {foreach from=$user.plugin_columns item=data}
+    <td>{$data}</td>
+    {/foreach}
+    <td style="text-align:center;">
+      <a href="{$user.U_PERM}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/permissions.png" class="button" style="border:none" alt="{'permissions'|@translate}" title="{'permissions'|@translate}" /></a>
+      <a href="{$user.U_PROFILE}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/edit_s.png" class="button" style="border:none" alt="{'Profile'|@translate}" title="{'Profile'|@translate}" /></a>
+      {foreach from=$user.plugin_actions item=data}
+      {$data}
+      {/foreach}
+      </td>
+  </tr>
+  {/foreach}
+</table>
+
+<div class="navigationBar">{$NAVBAR}</div>
+
+{* delete the selected users ? *}
+<fieldset>
+  <legend>{'Deletions'|@translate}</legend>
+  <label><input type="checkbox" name="confirm_deletion" value="1" /> {'confirm'|@translate}</label>
+  <input class="submit" type="submit" value="{'Delete selected users'|@translate}" name="delete" {$TAG_INPUT_ENABLED}/>
+</fieldset>
+
+<fieldset>
+  <legend>{'Status'|@translate}</legend>
+
+  <table>
+    <tr>
+      <td>{'Status'|@translate}</td>
+      <td>
+        <label><input type="radio" name="status_action" value="leave" checked="checked" /> {'leave'|@translate}</label>
+        <label><input type="radio" name="status_action" value="set" id="status_action_set" /> {'set to'|@translate}</label>
+        <select onchange="document.getElementById('status_action_set').checked = true;" name="status" size="1">
+          {html_options options=$pref_status_options selected=$pref_status_selected}
+        </select>
+      </td>
+    </tr>
+
+    {if isset($adviser)}
+    <tr>
+      <td>{'adviser'|@translate}</td>
+      <td>
+        <label><input type="radio" name="adviser" value="leave" checked="checked" /> {'leave'|@translate}</label>
+        / {'set to'|@translate}
+        <label><input type="radio" name="adviser" value="true"  />{'Yes'|@translate}</label>
+        <label><input type="radio" name="adviser" value="false" />{'No'|@translate}</label>
+      </td>
+    </tr>
+    {/if}
+
+  </table>
+</fieldset>
+
+{* form to set properties for many users at once *}
+<fieldset>
+  <legend>{'Groups'|@translate}</legend>
+
+<table>
+
+  <tr>
+    <td>{'associate to group'|@translate}</td>
+    <td>
+      {html_options name=associate options=$association_options selected=$associate_selected}
+    </td>
+  </tr>
+
+  <tr>
+    <td>{'dissociate from group'|@translate}</td>
+    <td>
+      {html_options name=dissociate options=$association_options selected=$dissociate_selected}
+    </td>
+  </tr>
+
+</table>
+
+</fieldset>
+
+{* Properties *}
+<fieldset>
+  <legend>{'properties'|@translate}</legend>
+
+  <table>
+
+    <tr>
+      <td>{'enabled_high'|@translate}</td>
+      <td>
+        <label><input type="radio" name="enabled_high" value="leave" checked="checked" /> {'leave'|@translate}</label>
+        / {'set to'|@translate}
+        <label><input type="radio" name="enabled_high" value="true"  />{'Yes'|@translate}</label>
+        <label><input type="radio" name="enabled_high" value="false" />{'No'|@translate}</label>
+      </td>
+    </tr>
+
+	<tr>
+		<td>{'Privacy level'|@translate}</td>
+		<td>
+			<label><input type="radio" name="level_action" value="leave" checked="checked" />{'leave'|@translate}</label>
+			<label><input type="radio" name="level_action" value="set" id="level_action_set" />{'set to'|@translate}</label>
+			<select onchange="document.getElementById('level_action_set').checked = true;" name="level" size="1">
+			  {html_options options=$level_options selected=$level_selected}
+			</select>
+	  </td>
+	</tr>
+
+  </table>
+
+</fieldset>
+
+{* preference *}
+<fieldset>
+  <legend>{'Preferences'|@translate}</legend>
+
+<table>
+
+  <tr>
+    <td>{'nb_image_per_row'|@translate}</td>
+    <td>
+      <label><input type="radio" name="nb_image_line_action" value="leave" checked="checked" /> {'leave'|@translate}</label>
+      <label><input type="radio" name="nb_image_line_action" value="set" id="nb_image_line_action_set"  /> {'set to'|@translate}</label>
+      <input onmousedown="document.getElementById('nb_image_line_action_set').checked = true;"
+             size="3" maxlength="2" type="text" name="nb_image_line" value="{$NB_IMAGE_LINE}" />
+    </td>
+  </tr>
+
+  <tr>
+    <td>{'nb_row_per_page'|@translate}</td>
+    <td>
+      <label><input type="radio" name="nb_line_page_action" value="leave" checked="checked" /> {'leave'|@translate}</label>
+      <label><input type="radio" name="nb_line_page_action" value="set" id="nb_line_page_action_set" /> {'set to'|@translate}</label>
+      <input onmousedown="document.getElementById('nb_line_page_action_set').checked = true;"
+             size="3" maxlength="2" type="text" name="nb_line_page" value="{$NB_LINE_PAGE}" />
+    <td>
+  </tr>
+
+  <tr>
+    <td>{'theme'|@translate}</td>
+    <td>
+      <label><input type="radio" name="template_action" value="leave" checked="checked" /> {'leave'|@translate}</label>
+      <label><input type="radio" name="template_action" value="set" id="template_action_set" /> {'set to'|@translate}</label>
+      <select onchange="document.getElementById('template_action_set').checked = true;" name="template" size="1">
+        {html_options values=$template_options output=$template_options selected=$template_selected}
+      </select>
+    </td>
+  </tr>
+
+  <tr>
+    <td>{'language'|@translate}</td>
+    <td>
+      <label><input type="radio" name="language_action" value="leave" checked="checked" /> {'leave'|@translate}</label>
+      <label><input type="radio" name="language_action" value="set" id="language_action_set" /> {'set to'|@translate}</label>
+      <select onchange="document.getElementById('language_action_set').checked = true;" name="language" size="1">
+        {html_options options=$language_options selected=$language_selected}
+      </select>
+    </td>
+  </tr>
+
+  <tr>
+    <td>{'recent_period'|@translate}</td>
+    <td>
+      <label><input type="radio" name="recent_period_action" value="leave" checked="checked" /> {'leave'|@translate}</label>
+      <label><input type="radio" name="recent_period_action" value="set" id="recent_period_action_set"  /> {'set to'|@translate}</label>
+      <input onmousedown="document.getElementById('recent_period_action_set').checked = true;"
+             type="text" size="3" maxlength="2" name="recent_period" value="{$RECENT_PERIOD}" />
+    </td>
+  </tr>
+
+  <tr>
+    <td>{'auto_expand'|@translate}</td>
+    <td>
+      <label><input type="radio" name="expand" value="leave" checked="checked" /> {'leave'|@translate}</label>
+      / {'set to'|@translate}
+      <label><input type="radio" name="expand" value="true"  />{'Yes'|@translate}</label>
+      <label><input type="radio" name="expand" value="false" />{'No'|@translate}</label>
+    </td>
+  </tr>
+
+  <tr>
+    <td>{'show_nb_comments'|@translate}</td>
+    <td>
+      <label><input type="radio" name="show_nb_comments" value="leave" checked="checked" /> {'leave'|@translate}</label>
+      / {'set to'|@translate}
+      <label><input type="radio" name="show_nb_comments" value="true" />{'Yes'|@translate}</label>
+      <label><input type="radio" name="show_nb_comments" value="false" />{'No'|@translate}</label>
+    </td>
+  </tr>
+
+  <tr>
+    <td>{'show_nb_hits'|@translate}</td>
+    <td>
+      <label><input type="radio" name="show_nb_hits" value="leave" checked="checked" /> {'leave'|@translate}</label>
+      / {'set to'|@translate}
+      <label><input type="radio" name="show_nb_hits" value="true" />{'Yes'|@translate}</label>
+      <label><input type="radio" name="show_nb_hits" value="false" />{'No'|@translate}</label>
+    </td>
+  </tr>
+
+  <tr>
+    <td>{'maxwidth'|@translate}</td>
+    <td>
+      <label><input type="radio" name="maxwidth_action" value="leave" checked="checked" /> {'leave'|@translate}</label>
+      <label><input type="radio" name="maxwidth_action" value="unset" /> {'unset'|@translate}</label>
+      <label><input type="radio" name="maxwidth_action" value="set" id="maxwidth_action_set" /> {'set to'|@translate}</label>
+      <input onmousedown="document.getElementById('maxwidth_action_set').checked = true;"
+             type="text" size="4" maxlength="4" name="maxwidth" value="{$MAXWIDTH}" />
+    </td>
+  </tr>
+
+
+  <tr>
+    <td>{'maxheight'|@translate}</td>
+    <td>
+      <label><input type="radio" name="maxheight_action" value="leave" checked="checked" /> {'leave'|@translate}</label>
+      <label><input type="radio" name="maxheight_action" value="unset" /> {'unset'|@translate}</label>
+      <label><input type="radio" name="maxheight_action" value="set" id="maxheight_action_set" /> {'set to'|@translate}</label>
+      <input onmousedown="document.getElementById('maxheight_action_set').checked = true;"
+             type="text" size="4" maxlength="4" name="maxheight" value="{$MAXHEIGHT}" />
+    </td>
+  </tr>
+
+
+</table>
+
+</fieldset>
+
+<p>
+  {'target'|@translate}
+  <label><input type="radio" name="target" value="all" /> {'all'|@translate}</label>
+  <label><input type="radio" name="target" value="selection" checked="checked" /> {'selection'|@translate}</label>
+</p>
+
+<p>
+  <input class="submit" type="submit" value="{'Submit'|@translate}" name="pref_submit" {$TAG_INPUT_ENABLED} />
+  <input class="submit" type="reset" value="{'Reset'|@translate}" name="pref_reset" />
+</p>
+
+</form>
+
+<script type="text/javascript">// <![CDATA[
+{literal}jQuery("form:last").submit( function() {
+	if ( jQuery("input[name=target][value=selection]:checked", this).length > 0 )
+	if ( jQuery("input[name=selection]:checked", this).length == 0)
+	{
+		alert( {/literal}"{'Select at least one user'|@translate|escape:javascript}"{literal} );
+		return false;
+	}
+	return true;
+}
+);{/literal}
+// ]]>
+</script>
+ 
Index: /trunk/admin/template/wigo/admin/user_perm.tpl
===================================================================
--- /trunk/admin/template/wigo/admin/user_perm.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/admin/user_perm.tpl	(revision 2526)
@@ -0,0 +1,23 @@
+{* $Id$ *}
+<h2>{$TITLE}</h2>
+
+{if isset($categories_because_of_groups) }
+<fieldset>
+  <legend>{'Categories authorized thanks to group associations'|@translate}</legend>
+
+  <ul>
+    {foreach from=$categories_because_of_groups item=cat }
+    <li>{$cat}</li>
+    {/foreach}
+  </ul>
+</fieldset>
+{/if}
+
+
+<fieldset>
+  <legend>{'Other private categories'|@translate}</legend>
+
+  <form method="post" action="{$F_ACTION}">
+    {$DOUBLE_SELECT}
+  </form>
+</fieldset>
Index: /trunk/admin/template/wigo/content.css
===================================================================
--- /trunk/admin/template/wigo/content.css	(revision 2526)
+++ /trunk/admin/template/wigo/content.css	(revision 2526)
@@ -0,0 +1,27 @@
+/* $Id$ */
+/* .Content  is on every pages so it is common and it will no longer be a specific css */
+.content { margin-right: 1em; margin-bottom: 1em; }
+.content h2 { margin-bottom: 3px;}
+.content .navigationBar { margin: 10px 0; text-align: center; }
+.content form { text-align: left; }
+.content dt { margin-bottom: 5px; font-style: italic;
+  font-size: 110%; }
+.content ul.categoryActions a img, ul.categoryActions a { 
+border:0; margin-bottom:-5px; }  
+ul.categoryActions { margin: 0 2px; width: auto; list-style-position:outside;
+  padding: 0; text-indent: 0; list-style: none; text-align: center; }
+.content div.titrePage ul.categoryActions { float: right; }
+.content div.titrePage { padding: 0 0 3px; }
+.content ul.categoryActions li { display: inline; }
+.content div.comment { margin: 0 0 0.5em 0; padding: 0; 
+  overflow: hidden; width: 100%;	/* don't ask why. It's a very usefull trick  */ }
+.content div.comment a.illustration {
+  display: block; float: left; margin: 0.5em 0 0 0.5em; }
+.content div.comment p.commentHeader {
+  text-align: right; margin: 0.5em 0.5em 0 0; }
+.content div.comment ul.actions { text-align: center; margin: 0.2em; }
+.content div.comment blockquote {
+  margin-right: 0.5em; overflow: visible; /*avoid a very strange margin behaviour (all browsers) */ }
+
+  /* not used but should be */
+body#thePopuphelpPage .content { margin: 1em; }
Index: /trunk/admin/template/wigo/default-colors.css
===================================================================
--- /trunk/admin/template/wigo/default-colors.css	(revision 2526)
+++ /trunk/admin/template/wigo/default-colors.css	(revision 2526)
@@ -0,0 +1,97 @@
+/* $Id$ */
+
+/* others */
+
+#imageToolBar * {
+	background: inherit;
+}
+
+/* So that non-links are slightly greyed out */
+.content .navigationBar {
+	color: #b0b0b0;
+}
+
+/* Tables & forms */
+
+INPUT.text, INPUT.password, INPUT.button,
+INPUT.submit, INPUT.reset, INPUT.file,
+SELECT, TEXTAREA {
+  color:black;
+  background-color: #d3d3d3;	/* lightgrey */
+}
+
+INPUT:focus, SELECT:focus, TEXTAREA:focus, INPUT.focus, FORM .focus {
+  background-color: #f5f5f5;	/* whitesmoke */
+}
+
+/* some theme set a border on INPUT  which is not pretty for radio/checkbox */
+INPUT[type="radio"], INPUT[type="checkbox"] {
+  border: none;	/* <= Opera needs this */
+}
+
+INPUT.radio, INPUT.checkbox {
+  border: none;	/* <= IE6 needs this */
+}
+
+/* rate buttons displayed like links */
+INPUT.rateButton, INPUT.rateButtonSelected, INPUT.rateButtonStarFull, INPUT.rateButtonStarEmpty {
+  color:inherit;
+  background-color:transparent;	/* Konqueror doesn't accept transparent here */
+}
+
+.errors { /* Errors display */
+  color: red;
+  background-color: #ffe1e1;
+  font-weight: bold;
+  text-align: left;
+  margin: 5px;
+  border: 1px solid red;
+  background-image: url(icon/admin/errors.png);
+  background-repeat: no-repeat;
+  background-position: top right;
+  padding: 10px 50px 10px 10px;
+}
+
+/**
+ * Informations box in administration
+ */
+.infos {
+  text-align: left;
+  color: #002000;
+  background-color: #98fb98; /* palegreen */
+  background-image: url(icon/admin/infos.png);
+  background-repeat: no-repeat;
+  background-position: top right;
+  margin: 5px;
+  padding: 10px 50px 10px 10px;
+}
+
+/**
+ * Header message like upgrade or adviser mode
+ */
+.header_msgs {
+  text-align:center;
+  font-weight: bold;
+  color:#696969;	/* dimgray */
+  background-color: #d3d3d3;
+  margin: 1px;
+  padding: 1px;
+}
+
+/**
+ * Header notes box in public/administration
+ */
+.header_notes {
+  border: 1px solid #aaaaaa; /* border color and style */
+  text-align: center;
+  background-image: url(icon/note.png);
+  background-repeat: no-repeat;
+  background-position: top left;
+  font-weight: bold;
+  margin: 14px;
+  padding: 5px 00px 0px 0px;
+}
+
+LEGEND {
+  font-style: italic;
+}
Index: /trunk/admin/template/wigo/default-layout.css
===================================================================
--- /trunk/admin/template/wigo/default-layout.css	(revision 2526)
+++ /trunk/admin/template/wigo/default-layout.css	(revision 2526)
@@ -0,0 +1,533 @@
+/* $Id$ */
+/* $Id: */
+BODY #theHeader P { display: none; }
+
+/* History tables */
+TABLE.table2 {
+  border: 1px solid black;
+  margin: 1em auto;
+  padding: 0;
+}
+
+TABLE.table2 TD {
+  padding: 0 20px;
+}
+
+TABLE.table2 TR {
+  text-align: left;
+}
+
+table.table2 thead td { padding:7px 20px 3px 20px; }
+table.table2 tr.throw { text-align: center; }
+table.table2 { margin:0pt auto; }
+.sort { display:block; padding:8px 5px 0px 1px; }
+
+
+.hour {
+  white-space: pre;
+}
+
+.number {
+  text-align: right;
+}
+
+TABLE#dailyStats {
+  width: 60%;
+}
+
+TABLE#detailedStats {
+  width: 99%;
+}
+
+/* categoryOrdering */
+SELECT.categoryList {
+  width: 100%;
+}
+
+FORM#categoryOrdering {
+  padding-left: 1em; /* same as FIELDSET margin (there is no fieldset in this form) */
+  padding-right: 1em; /* same as FIELDSET margin (there is no fieldset in this form) */
+}
+FORM#categoryOrdering p {
+  text-align: left;
+  margin-top: 1em;
+  margin-bottom: 1em;
+}
+UL.categoryUl {
+  list-style: none;
+  padding: 0;
+  margin: 0;
+}
+
+LI.categoryLi {
+  border: 1px solid gray;
+  padding: 0px 5px;
+  margin-bottom: 5px;
+}
+
+FORM#categoryOrdering UL.categoryActions {
+  float: right;
+  margin-top: 5px;
+}
+/* */
+
+FORM#catModify TABLE { width: auto; }
+
+FIELDSET.elementEdit A {
+  display: block;
+  float: right;
+}
+
+TABLE.doubleSelect {
+  text-align: center;
+  margin: 0 auto;
+  width: 100%;
+}
+
+TABLE.doubleSelect TD {
+  padding: 0 5px;
+  width: 50%;
+}
+
+TABLE.doubleSelect SELECT.categoryList {
+  width: 100%;
+}
+
+FORM#categoryPermissions LI {
+  display:inline;
+  white-space: nowrap;
+}
+
+FIELDSET#mainConfCheck SPAN.property,
+FIELDSET#historyConf SPAN.property,
+FIELDSET#commentsConf SPAN.property,
+FIELDSET#uploadConf SPAN.property {
+  float: right;
+  text-align: left;
+}
+FIELDSET#mainConfCheck INPUT,
+FIELDSET#historyConf INPUT,
+FIELDSET#commentsConf INPUT,
+FIELDSET#uploadConf INPUT {
+  float: none;
+}
+
+FIELDSET#mainConf SPAN.property {
+  width: 25%;
+}
+FIELDSET#mainConf TEXTAREA.description {
+  width: 70%;
+}
+
+FIELDSET#mainConfCheck SPAN.property,
+FIELDSET#historyConf SPAN.property {
+  width: 90%;
+}
+FIELDSET#mainConfCheck INPUT,
+FIELDSET#historyConf INPUT,
+FIELDSET#commentsConf INPUT,
+FIELDSET#uploadConf SELECT,
+FIELDSET#uploadConf INPUT {
+  margin-left: 5%;
+}
+
+FIELDSET#commentsConf SPAN.property {
+  width: 85%;
+}
+
+FIELDSET#uploadConf SPAN.property {
+  width: 73%;
+}
+
+.statBar {
+  height: 10px;
+  background-color: #66f;
+  border: 1px solid black;
+}
+
+/* Tabsheet */  /*
+.tabsheet {
+  list-style: none;
+  white-space: nowrap; 
+  text-decoration: none;
+  border-bottom: 1px solid #fff;
+  margin-left: 5px; margin-right: 5px;
+  padding: 3px 5px;
+}
+
+.tabsheet LI {
+  display: inline;
+ margin: 0px 6px;
+  font-size: 120%;
+  font-weight: normal;
+  border: 1px solid #fff;
+  border-bottom: none;
+  padding: 3px 2em;
+}
+
+.tabsheet LI.selected_tab {
+  font-weight: bold;
+  position: relative;
+  top: 1px;
+  padding-top: 4px;
+} */
+
+.over{
+position: relative;
+z-index: 0;
+}
+
+.over:hover{
+background-color: transparent;
+z-index: 50;
+}
+
+.over SPAN{ /*CSS for enlarged image*/
+position: absolute;
+background-color: #eee;
+padding: 5px;
+left: -1000px;
+border: 1px solid #69c;
+visibility: hidden;
+color: black;
+text-decoration: none;
+}
+
+.over SPAN IMG{ /*CSS for enlarged image*/
+border-width: 0;
+padding: 2px;
+}
+
+.over:hover SPAN{ /*CSS for enlarged image on hover*/
+visibility: visible;
+top: 0;
+left: 60px; /*position where enlarged image should offset horizontally */
+}
+
+
+/* Tooltips*/
+.tooltip {
+	position: relative;
+}
+
+.tooltip SPAN {
+	display: none;
+}
+
+.tooltip:hover {
+	cursor: pointer;
+	z-index: 500;
+}
+
+.tooltip:hover SPAN {
+	display: inline;
+	position: absolute;
+	top: 30px;
+	left: -50px;
+	width: 400px;
+
+	font-size: 11px;
+	text-decoration: none;
+	text-align: justify;
+	background-color: #FFFFCC;
+	color: #444444;
+
+	padding: 10px;
+	border: 1px solid Black;
+}
+
+BODY {
+  margin: 5px;
+  padding: 0;
+  font-size: 0.8em;
+  font-family:  Univers, Helvetica, Optima, "Bitstream Vera Sans", sans-serif;
+  text-align: center; /* be nice to IE5 */
+}
+
+H1 {
+  text-align: center;
+  font-size: 150%;
+  font-weight: bold;
+  padding: 0;
+  margin: 0.5em 0 1em 0;
+}
+
+H2 {
+	margin: 0;
+	padding: 5px 0.5em 5px 0.5em;
+	text-align: left;
+	font-size: 120%;
+}
+
+A {
+	text-decoration:none;
+	border-bottom: 1px dotted #005e89;
+}
+A:hover {
+	border-bottom: 1px solid #858460;
+}
+A.button, A.button:hover { 
+	border: 0; 
+}
+IMG {
+	border: none;
+}
+
+HR.separation {
+  visibility: hidden;
+  clear: both;
+}
+
+#copyright {
+    clear: both;
+    font-size: 83%;
+    text-align: center;
+    margin: 0 0 10px 0;
+}
+
+/** General defaults **/
+INPUT, SELECT {
+  margin: 0;
+  font-size: 1em;	/* <= some browsers don't set it correctly */
+}
+UL, DL, OL { text-align: left;}
+TABLE {			/* horizontaly centered */
+  margin-left: auto;
+  margin-right: auto;
+}
+/* for debugging purpose */
+PRE { text-align:left; }
+
+/** forms **/
+
+FORM { padding: 0em; }
+
+FORM P {
+	text-align: center;
+	margin-top: 2em;
+	margin-bottom: 2em;
+}
+
+FORM FIELDSET P {
+	margin-top: 1em;
+	margin-bottom: 0;
+}
+
+.small {
+	font-size: 80%;
+}
+
+TEXTAREA.description {
+  height: 12em;
+  width: 40em;
+  overflow: auto;
+}
+
+SELECT.categoryList {
+  height: 20em;
+  width: auto;
+}
+
+DIV.comment BLOCKQUOTE {
+  padding: 0.5em;
+  overflow: auto;	/* no solution for IE6 */
+  min-height: 2.75em;	/* fix a Gecko bug whith scrollbar and 1 line only */
+}
+
+
+/**
+ * Filter forms are displayed label by label with the input (or select...)
+ * below the label. Use an UL to make a group (radiobox for instance).
+ * Use a SPAN to group objects in line
+ */
+FIELDSET {
+  padding: 1em;
+  margin: 1em;
+  overflow: hidden; /* <- makes Opera happy */
+}
+
+FORM.filter FIELDSET UL {
+  margin: 0;
+}
+FORM.filter FIELDSET UL,
+FORM.filter FIELDSET LABEL {
+  display: block;
+  float: left;
+  margin-right: 1em;
+  padding: 0;
+}
+
+FORM.filter FIELDSET LI {
+  list-style: none;
+  margin-bottom: 0.5em;
+}
+
+FORM.filter FIELDSET LI LABEL {
+  display: inline;
+  float: none;
+}
+
+FORM.filter FIELDSET UL.tagSelection LABEL {
+  display: inline;
+  float: none;
+  margin-right:0.5em;/*reduce from above*/
+}
+
+/* cannot use FIELDSET>LABEL because of IE<=6 */
+FORM.filter FIELDSET LABEL INPUT,
+FORM.filter FIELDSET LABEL SELECT,
+FORM.filter FIELDSET LABEL SPAN,
+FORM.filter FIELDSET LABEL TEXTAREA {
+  display: block;
+  margin: 0.5em 0;
+}
+FORM.filter FIELDSET * LABEL INPUT,
+FORM.filter FIELDSET * LABEL SELECT,
+FORM.filter FIELDSET * LABEL TEXTAREA,
+FORM.filter FIELDSET LABEL SPAN INPUT,
+FORM.filter FIELDSET LABEL SPAN SELECT,
+FORM.filter FIELDSET LABEL SPAN TEXTAREA {
+  display: inline;
+  vertical-align: top;
+  margin: 0 0.5em 0 0;
+}
+
+FORM.filter FIELDSET UL.tagSelection LI LABEL INPUT {
+  margin-right:0;
+}
+
+/* following declaration is important to avoid strange FF behaviour */
+FORM.filter FIELDSET LABEL SPAN SELECT {
+  margin: 0;
+}
+
+FORM.filter FIELDSET P
+{
+  clear: left;
+  display: block;
+}
+
+FORM.filter INPUT[type="submit"] {
+  margin-top: 1em;
+}
+
+FORM.properties UL, FORM#update UL {
+  list-style-type: none;
+  margin: 0;
+  padding: 0;
+}
+
+FORM.properties LI, FORM#update UL  {
+  margin-bottom: 0.5em;
+  padding: 0;
+  line-height: 1.8em;
+  clear: left;
+}
+
+FORM.properties SPAN.property {
+  font-weight: bold;
+  float: left;
+  width: 50%;
+  text-align: right;
+  margin: 0;
+  padding: 0 0.5em 0 0;
+}
+
+#theHeader H1 {
+  margin-bottom: 0.5em;
+}
+
+/* button tools */
+UL.actions {
+  text-indent: 0;
+  list-style: none;
+}
+UL.actions  LI {
+  display: inline;
+}
+UL.actions  A {
+  border: none;
+}
+
+UL.tagSelection {
+  width: 99%;
+  margin: 1em 0 1em 0;
+  padding: 0;
+}
+
+UL.tagSelection LI {
+  display: inline;
+  white-space: nowrap;
+}
+
+#fullTagCloud {
+  font-size: 120%;
+  text-align: justify;
+  padding: 0;
+  margin: 1em 2em 1em 2em;
+}
+
+#fullTagCloud LI {
+  display: inline;
+  white-space: nowrap;
+  margin: 0 2px;
+}
+
+
+.tagLevel5 { font-size: 150%; }
+.tagLevel4 { font-size: 140%; }
+.tagLevel3 { font-size: 120%; }
+.tagLevel2 { font-size: 100%; }
+.tagLevel1 { font-size: 90%; }
+
+
+/* Popup help page */
+BODY#thePopuphelpPage #copyright {
+  display: none;
+}
+
+BODY#thePopuphelpPage .content P {
+  text-align: justify;
+  padding: 0.5em;
+}
+
+BODY#thePopuphelpPage .content OL LI,
+BODY#thePopuphelpPage .content UL LI
+{
+  margin-bottom: 0.5em;
+}
+
+
+TR.tagLine {
+  border-bottom: 1px solid #ddd;
+  text-align: left;
+}
+TR.tagLine:hover {
+  background-color: #fff;
+}
+TD.nbEntries {
+  text-align: right;
+  font-style: italic;
+  font-size: 90%;
+}
+
+FIELDSET.tagLetter {
+  border: 1px solid #d3d3d3;
+  width: 200px;
+  margin: 0.5em;
+  padding: 10px;
+}
+
+LEGEND.tagLetterLegend {
+  border: 1px solid #d3d3d3;
+  font-size:120%;
+  font-weight: bold;
+  padding: 0 5px;
+  color: #555;
+  font-style: normal;
+}
+
+TABLE.tagLetterContent {
+  width:100%;
+  font-size:80%;
+  border-collapse : collapse;
Index: /trunk/admin/template/wigo/fix-ie5-ie6.css
===================================================================
--- /trunk/admin/template/wigo/fix-ie5-ie6.css	(revision 2526)
+++ /trunk/admin/template/wigo/fix-ie5-ie6.css	(revision 2526)
@@ -0,0 +1,37 @@
+/* $Id$ */
+/* Issues in IE from 5 to 6 only not to be used with IE7                      */
+
+@import "thumbnails-fix-ie5-ie6.css";
+
+/* to avoid vanishing objects in IE6 */
+H1, #theHeader {
+  width: 100%;	/* <- useless but seems to make IE6 happy */
+}
+.content {
+  height: 1em;	/* for IE6 it's like min-height */
+}
+
+/* fix quickconnect layout */
+FORM#quickconnect FIELDSET {
+  width: 99%;	/* correct an ugly 1 or 2 px misalignement with IE */
+}
+
+/* fix IE with another layout for thumbnails */
+.content UL.thumbnails SPAN.wrap2 {
+  display: block;
+  position: relative;
+  text-align: left;
+}
+
+.content UL.thumbnails IMG.thumbnail {
+  position: relative;
+  top: -50%;  /* Is this following hacking technic required ? */
+  /*\*//*/
+    margin-top: -40%;
+  /**/
+}
+.content UL.thumbnails INPUT {
+  position: absolute;
+  left: 2px;
+  top: 2px;  /* same as other browsers but not so pretty */
+}
Index: /trunk/admin/template/wigo/footer.tpl
===================================================================
--- /trunk/admin/template/wigo/footer.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/footer.tpl	(revision 2526)
@@ -0,0 +1,42 @@
+{* $Id$ *}
+{* 
+
+
+          Warning : This is the admin pages footer only 
+          don't be confusing with the public page footer
+
+*}
+<div id="copyright">
+ <a name="EoP"></a> <!-- End of ADMIN Page -->
+ {if isset($debug.TIME) }
+ {'generation_time'|@translate} {$debug.TIME} ({$debug.NB_QUERIES} {'sql_queries_in'|@translate} {$debug.SQL_TIME}) -
+ {/if}
+
+ {* Please, do not remove this copyright. If you really want to,
+      contact us on http://piwigo.org to find a solution on how
+      to show the origin of the script...
+  *}
+
+  {'powered_by'|@translate}
+  <a href="http://piwigo.org" class="Piwigo">
+  <span class="Piwigo">Piwigo</span></a>
+  {$VERSION}
+  {if isset($CONTACT_MAIL)}
+  - {'send_mail'|@translate}
+  <a href="mailto:{$CONTACT_MAIL}?subject={'title_send_mail'|@translate|@escape:url}">{'Webmaster'|@translate}</a>
+  {/if}
+
+</div> <!-- copyright -->
+{if isset($footer_elements)}
+{foreach from=$footer_elements item=v}
+{$v}
+{/foreach}
+{/if}
+{if isset($debug.QUERIES_LIST)}
+<div id="debug">
+{$debug.QUERIES_LIST}
+</div>
+{/if}
+</div> <!-- the_page -->
+</body>
+</html>
Index: /trunk/admin/template/wigo/header.tpl
===================================================================
--- /trunk/admin/template/wigo/header.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/header.tpl	(revision 2526)
@@ -0,0 +1,65 @@
+{* $Id$ *}
+{* 
+
+
+          Warning : This is the admin pages header only 
+          don't confuse with the public page header
+
+*}
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+"http://www.w3.org/TR/html4/strict.dtd">
+<html lang="{$LANG}" dir="{$DIR}">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset={$CONTENT_ENCODING}">
+<meta name="generator" content="Piwigo (aka PWG), see piwigo.org">
+<title>{$GALLERY_TITLE} :: {$PAGE_TITLE}</title>
+<link rel="shortcut icon" type="image/x-icon" href="{$ROOT_URL}template-common/favicon.ico">
+
+<link rel="stylesheet" type="text/css" href="{$ROOT_URL}admin/template/{$themeconf.template}/layout.css">
+<!--[if lt IE 7]>
+  <link rel="stylesheet" type="text/css" href="{$ROOT_URL}admin/template/{$themeconf.template}/fix-ie5-ie6.css">
+<![endif]-->
+<link rel="stylesheet" type="text/css" media="print" href="{$ROOT_URL}template/{$themeconf.template}/print.css">
+<link rel="stylesheet" type="text/css" href="{$ROOT_URL}admin/template/{$themeconf.template}/default-colors.css">
+<link rel="stylesheet" type="text/css" href="{$ROOT_URL}admin/template/{$themeconf.template}/theme/{$themeconf.theme}/theme.css">
+{known_script id="jquery" src=$ROOT_URL|@cat:"template-common/lib/jquery.packed.js" now=1} {*jQuery is always available by default*}
+{$themeconf.local_head}
+<script type="text/javascript" src="{$ROOT_URL}template-common/scripts.js"></script>
+<!--[if lt IE 7]>
+<style>
+  {* only because we need {$ROOT_URL} otherwise use fix-ie5-ie6.css *}
+  BODY {ldelim} behavior:url("{$ROOT_URL}template-common/csshover.htc"); }
+  A IMG, .button, .icon {ldelim}
+    behavior:url("{$ROOT_URL}template-common/tooltipfix.htc");
+  }
+  FORM {ldelim} behavior: url("{$ROOT_URL}template-common/inputfix.htc"); }
+</style>
+<script type="text/javascript" src="{$ROOT_URL}template-common/pngfix.js"></script>
+<![endif]-->
+
+{if not empty($head_elements)}
+  {foreach from=$head_elements item=elt}{$elt}{/foreach}
+{/if}
+
+</head>
+
+<body id="{$BODY_ID}">
+<div id="headbranch"></div> {* Dummy block for double background management *}
+<div id="the_page">
+
+{if not empty($header_msgs)}
+<div class="header_msgs">
+  {foreach from=$header_msgs item=elt}
+  {$elt}
+  {/foreach}
+</div>
+{/if}
+
+<div id="theHeader">{*$PAGE_BANNER*}</div>
+{if not empty($header_notes)}
+<div class="header_notes">
+  {foreach from=$header_notes item=elt}
+  {$elt}
+  {/foreach}
+</div>
+{/if}
Index: /trunk/admin/template/wigo/index.php
===================================================================
--- /trunk/admin/template/wigo/index.php	(revision 2526)
+++ /trunk/admin/template/wigo/index.php	(revision 2526)
@@ -0,0 +1,30 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery                                  |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008      Piwigo Team                  http://piwigo.org |
+// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify  |
+// | it under the terms of the GNU General Public License as published by  |
+// | the Free Software Foundation                                          |
+// |                                                                       |
+// | This program is distributed in the hope that it will be useful, but   |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
+// | General Public License for more details.                              |
+// |                                                                       |
+// | You should have received a copy of the GNU General Public License     |
+// | along with this program; if not, write to the Free Software           |
+// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /trunk/admin/template/wigo/intro.tpl
===================================================================
--- /trunk/admin/template/wigo/intro.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/intro.tpl	(revision 2526)
@@ -0,0 +1,47 @@
+{* $Id$ *}
+<h2>{'title_default'|@translate}</h2>
+<dl style="padding-top: 30px;">
+  <dt>{'Piwigo version'|@translate}</dt>
+  <dd>
+    <ul>
+      <li><a href="http://piwigo.org"  onclick="window.open(this.href, ''); 
+          return false;">Piwigo</a> {$PWG_VERSION}</li>
+      <li><a href="{$U_CHECK_UPGRADE}">{'Check for upgrade'|@translate}</a></li>
+    </ul>
+  </dd>
+
+  <dt>{'Environment'|@translate}</dt>
+  <dd>
+    <ul>
+      <li>{'Operating system'|@translate}: {$OS}</li>
+      <li>PHP: {$PHP_VERSION} (<a href="{$U_PHPINFO}">{'Show info'|@translate}</a>)  [{$PHP_DATATIME}]</li>
+      <li>MySQL: {$MYSQL_VERSION} [{$DB_DATATIME}]</li>
+    </ul>
+  </dd>
+
+  <dt>{'Database'|@translate}</dt>
+  <dd>
+    <ul>
+      <li>
+        {$DB_ELEMENTS}
+        {if isset($waiting)}
+        (<a href="{$waiting.URL}">{$waiting.INFO}</a>)
+        {/if}
+
+        {if isset($first_added)}
+        ({$first_added.DB_DATE})
+        {/if}
+      </li>
+      <li>{$DB_CATEGORIES} ({$DB_IMAGE_CATEGORY})</li>
+      <li>{$DB_TAGS} ({$DB_IMAGE_TAG})</li>
+      <li>{$DB_USERS}</li>
+      <li>{$DB_GROUPS}</li>
+      <li>
+        {$DB_COMMENTS}
+        {if isset($unvalidated)}
+        (<a href="{$unvalidated.URL}">{$unvalidated.INFO}</a>)
+        {/if}
+      </li>
+    </ul>
+  </dd>
+</dl>
Index: /trunk/admin/template/wigo/layout.css
===================================================================
--- /trunk/admin/template/wigo/layout.css	(revision 2526)
+++ /trunk/admin/template/wigo/layout.css	(revision 2526)
@@ -0,0 +1,12 @@
+
+/* template css */
+/*@import "menubar.css";*/
+@import "content.css";
+@import "thumbnails.css";
+@import "default-layout.css";
+/* Override properties with import local file */
+@import "local-layout.css";
+/* common css */
+@import "../../../template-common/default-layout.css";
+/* Override properties with import local file */
+@import "../../../template-common/local-layout.css";
Index: /trunk/admin/template/wigo/local-layout.css
===================================================================
--- /trunk/admin/template/wigo/local-layout.css	(revision 2526)
+++ /trunk/admin/template/wigo/local-layout.css	(revision 2526)
@@ -0,0 +1,1 @@
+/* You can modify this file */
Index: /trunk/admin/template/wigo/menubar.css
===================================================================
--- /trunk/admin/template/wigo/menubar.css	(revision 2526)
+++ /trunk/admin/template/wigo/menubar.css	(revision 2526)
@@ -0,0 +1,1 @@
+/* menubar.css is no longer used in admin because menubar is always active in admin so it is layout */
Index: /trunk/admin/template/wigo/picture.css
===================================================================
--- /trunk/admin/template/wigo/picture.css	(revision 2526)
+++ /trunk/admin/template/wigo/picture.css	(revision 2526)
@@ -0,0 +1,143 @@
+/* $Id$ */
+#imageHeaderBar {
+  padding-top: 2px;
+  padding-bottom: 2px;
+  margin-top: 4px;
+  overflow: hidden;
+  width: 100%;
+}
+
+#imageHeaderBar .browsePath {
+  float: left;
+  margin-left: 10px;
+}
+
+#imageHeaderBar .imageNumber {
+  float: right;
+  margin-right: 10px;
+}
+
+#imageHeaderBar H2 {
+  text-align: center;
+  padding: 0;
+  clear: both;
+}
+
+#imageToolBar {
+  text-align: center;
+  position: relative;
+  clear: both;
+  margin-bottom: 4px;
+  padding: 0;
+}
+
+#imageToolBar {
+    height: 28px;
+}
+#imageToolBar A, #imageToolBar IMG {
+    display: block;
+    border: none;
+    margin: 0; padding: 0;
+}
+#imageToolBar A { width: 48px; }
+#imageToolBar IMG { margin: 2px auto; }
+#imageToolBar .randomButtons A { float: left; }
+#imageToolBar .navButtons    A { float: right; }
+
+#theImage {
+    clear: left;
+}
+
+#theImage>IMG {
+    display: block;
+    margin: 0 auto;
+}
+
+#theImage IMG {
+  border-width: 3px;
+  border-style: solid;
+}
+
+.navThumb {
+    margin-top: 2px;
+}
+#thumbPrev {
+    float: left;
+}
+
+#thumbNext {
+    float: right;
+}
+
+#linkPrev {
+    margin-right: 10px;
+    margin-left: 5px;
+}
+
+#linkNext {
+    margin-right: 5px;
+    margin-left: 10px;
+}
+
+TABLE.infoTable .value {
+    text-align: left;
+}
+
+TABLE.infoTable .label {
+    font-weight: bold;
+    text-align: right;
+    padding-right: 0.5em;
+}
+
+TABLE.infoTable TD.value UL {
+  margin: 0;
+  padding: 0 0 0 1.5em;
+  list-style-type: square;
+}
+
+.rateButton, .rateButtonSelected, .rateButtonStarFull, .rateButtonStarEmpty  {
+  padding:0;
+  border:0;
+}
+
+.rateButton, .rateButtonStarFull, .rateButtonStarEmpty {
+  cursor: pointer;
+}
+
+.rateButtonSelected {
+  font-weight:bold;
+  font-size:120%;
+}
+
+.rateButtonStarFull {
+	background: url('icon/rating-stars.gif') no-repeat scroll; background-position:-16px center; width:16px;
+}
+
+.rateButtonStarEmpty {
+	background: url('icon/rating-stars.gif') no-repeat scroll; background-position:0 center; width:16px;
+}
+
+#comments {
+  text-align: left;
+}
+
+#comments .comment {
+  margin: 1em 0;
+}
+
+#comments P {
+  margin: 0 0.5em 0 1em;
+}
+
+#comments .author {
+  font-weight: bold;
+}
+
+#thePicturePage #comments BLOCKQUOTE {
+  margin: 0.5em 1em 1em 4em;
+}
+
+#comments P.userCommentDelete {
+  float: right;
+  margin: 0 0.5em 0 0;
+}
Index: /trunk/admin/template/wigo/print.css
===================================================================
--- /trunk/admin/template/wigo/print.css	(revision 2526)
+++ /trunk/admin/template/wigo/print.css	(revision 2526)
@@ -0,0 +1,14 @@
+#menubar, .content .navigationBar, UL.categoryActions, 
+#imageToolBar, .navThumb, #addComment {
+    display: none;
+}
+
+BODY {
+    margin: 0;
+    color: #000000;
+    background: #ffffff;
+}
+
+.content {
+    margin: 0;
+}
Index: /trunk/admin/template/wigo/profile_content.tpl
===================================================================
--- /trunk/admin/template/wigo/profile_content.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/profile_content.tpl	(revision 2526)
@@ -0,0 +1,109 @@
+{* $Id$ *}
+<form method="post" name="profile" action="{$F_ACTION}" id="profile" class="properties">
+
+  <fieldset>
+    <legend>{'Registration'|@translate}</legend>
+    <input type="hidden" name="redirect" value="{$REDIRECT}" />
+    <ul>
+      <li>
+        <span class="property">{'Username'|@translate}</span>
+        {$USERNAME}
+      </li>
+{if not $SPECIAL_USER} {* can modify password + email*}
+      <li>
+        <span class="property">
+          <label for="mail_address">{'Email address'|@translate}</label>
+        </span>
+        <input type="text" name="mail_address" id="mail_address" value="{$EMAIL}">
+      </li>
+{if not $IN_ADMIN} {* admins do not need old password*}
+      <li>
+        <span class="property">
+          <label for="password">{'Password'|@translate}</label>
+        </span>
+        <input type="password" name="password" id="password" value="">
+      </li>
+{/if}
+      <li>
+        <span class="property">
+          <label for="use_new_pwd">{'new_password'|@translate}</label>
+        </span>
+        <input type="password" name="use_new_pwd" id="use_new_pwd" value="">
+      </li>
+      <li>
+        <span class="property">
+          <label for="passwordConf">{'Confirm Password'|@translate}</label>
+        </span>
+        <input type="password" name="passwordConf" id="passwordConf" value="">
+      </li>
+    </ul>
+{/if}
+  </fieldset>
+
+  <fieldset>
+    <legend>{'preferences'|@translate}</legend>
+
+    <ul>
+      <li>
+        <span class="property">
+          <label for="nb_image_line">{'nb_image_per_row'|@translate}</label>
+        </span>
+        <input type="text" size="3" maxlength="2" name="nb_image_line" id="nb_image_line" value="{$NB_IMAGE_LINE}">
+      </li>
+      <li>
+        <span class="property">
+          <label for="nb_line_page">{'nb_row_per_page'|@translate}</label>
+        </span>
+        <input type="text" size="3" maxlength="2" name="nb_line_page" id="nb_line_page" value="{$NB_ROW_PAGE}" >
+      </li>
+      <li>
+        <span class="property">
+          <label for="template">{'theme'|@translate}</label>
+        </span>
+        {html_options name=template options=$template_options selected=$template_selection}
+      </li>
+      <li>
+        <span class="property">
+          <label for="language">{'language'|@translate}</label>
+        </span>
+        {html_options name=language options=$language_options selected=$language_selection}
+      </li>
+      <li>
+        <span class="property">
+          <label for="recent_period">{'recent_period'|@translate}</label>
+        </span>
+        <input type="text" size="3" maxlength="2" name="recent_period" id="recent_period" value="{$RECENT_PERIOD}">
+      </li>
+      <li>
+        <span class="property">{'auto_expand'|@translate}</span>
+        {html_radios name='expand' options=$radio_options selected=$EXPAND}
+      </li>
+      <li>
+        <span class="property">{'show_nb_comments'|@translate}</span>
+        {html_radios name='show_nb_comments' options=$radio_options selected=$NB_COMMENTS}
+      </li>
+      <li>
+        <span class="property">{'show_nb_hits'|@translate}</span>
+        {html_radios name='show_nb_hits' options=$radio_options selected=$NB_HITS}
+      </li>
+      <li>
+        <span class="property">
+          <label for="maxwidth">{'maxwidth'|@translate}</label>
+        </span>
+        <input type="text" size="4" maxlength="4" name="maxwidth" id="maxwidth" value="{$MAXWIDTH}">
+      </li>
+      <li>
+        <span class="property">
+          <label for="maxheight">{'maxheight'|@translate}</label>
+        </span>
+        <input type="text" size="4" maxlength="4" name="maxheight" id="maxheight" value="{$MAXHEIGHT}">
+      </li>
+    </ul>
+  </fieldset>
+
+  <p class="bottomButtons">
+    <input class="submit" type="submit" name="validate" value="{'Submit'|@translate}">
+    <input class="submit" type="reset" name="reset" value="{'Reset'|@translate}">
+  </p>
+
+</form>
Index: /trunk/admin/template/wigo/theme/roma/index.php
===================================================================
--- /trunk/admin/template/wigo/theme/roma/index.php	(revision 2526)
+++ /trunk/admin/template/wigo/theme/roma/index.php	(revision 2526)
@@ -0,0 +1,54 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery                                  |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008      Piwigo Team                  http://piwigo.org |
+// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify  |
+// | it under the terms of the GNU General Public License as published by  |
+// | the Free Software Foundation                                          |
+// |                                                                       |
+// | This program is distributed in the hope that it will be useful, but   |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
+// | General Public License for more details.                              |
+// |                                                                       |
+// | You should have received a copy of the GNU General Public License     |
+// | along with this program; if not, write to the Free Software           |
+// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA.                                                                  |
+// +-----------------------------------------------------------------------+
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id$
+// | last update   : $Date$
+// | last modifier : $Author$
+// | revision      : $Revision$
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify  |
+// | it under the terms of the GNU General Public License as published by  |
+// | the Free Software Foundation                                          |
+// |                                                                       |
+// | This program is distributed in the hope that it will be useful, but   |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
+// | General Public License for more details.                              |
+// |                                                                       |
+// | You should have received a copy of the GNU General Public License     |
+// | along with this program; if not, write to the Free Software           |
+// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /trunk/admin/template/wigo/theme/roma/mail-css.tpl
===================================================================
--- /trunk/admin/template/wigo/theme/roma/mail-css.tpl	(revision 2526)
+++ /trunk/admin/template/wigo/theme/roma/mail-css.tpl	(revision 2526)
@@ -0,0 +1,19 @@
+{* $Id$ *}
+/* Theme wipi mail css */
+
+body {ldelim} background-color:#111; color:#69c;}
+#the_page {ldelim} background: #111 url({$ROOT_URL}template/{$themeconf.template}/mail/text/html/images/mailbody-bg.png) repeat-y scroll left top;}
+#content {ldelim} background: transparent url({$ROOT_URL}template/{$themeconf.template}/mail/text/html/images/header-bg.png) no-repeat scroll left top;}
+#copyright {ldelim} background: transparent url({$ROOT_URL}template/{$themeconf.template}/mail/text/html/images/footer-bg.png) no-repeat scroll left bottom;
+color: #69c;}
+h2 {ldelim} background-color: #222;color:#eee;background-image: url({$ROOT_URL}template/{$themeconf.template}/theme/{$themeconf.theme}/images/tableh1_bg.png);}
+img {ldelim} margin: 16px; padding:15px;border:1px solid #eee; -moz-border-radius: 4px; border-radius: 4px 4px; }
+img:hover {ldelim} border:1px solid #69c; -moz-border-radius: 4px; border-radius: 4px 4px; }
+a {ldelim} color: #69c; background: transparent; }
+a:hover {ldelim} color: #f92; }
+a.PWG {ldelim} border: 0px; }
+a.PWG .P {ldelim} color : #f92; }
+a.PWG .W {ldelim} color : #aaa; }
+a.PWG .G {ldelim} color : #69c; }
+a.PWG:hover .P {ldelim} color : #69c; }
+a.PWG:hover .G {ldelim} color : #f92; }
Index: /trunk/admin/template/wigo/theme/roma/theme.css
===================================================================
--- /trunk/admin/template/wigo/theme/roma/theme.css	(revision 2526)
+++ /trunk/admin/template/wigo/theme/roma/theme.css	(revision 2526)
@@ -0,0 +1,126 @@
+/* $Id$ */
+/* text color */
+body, h3, dt, h2, .throw, .content,
+input.rateButtonSelected /* <= why IE doesn't inherit this ? */ { color:#ccc; }
+INPUT[type="text"], INPUT[type="password"], INPUT[type="button"],
+INPUT[type="submit"], INPUT[type="reset"], INPUT[type="file"], select, textarea {
+color:#111; background-color: #eee; }  
+input.rateButton, legend, #theAdminPage h3 { color: #777; }
+#theAdminPage h2 { color: #333; }
+
+.content .infos { color: #3f6; border:0pt none; background-color: transparent;
+padding:5px 0px 0pt 10pt; min-height: 48px; text-align:left; }
+.content .infos li, .content .errors li { list-style-type:none; }
+.content .errors { color: #f70; border:0pt none; background-color: transparent;
+padding:5px 0px 0pt 10pt; min-height: 48px; text-align:left; font-weight:bold; }
+#copyright { color:#777; margin:60px auto 0px 240px; text-align:center; 
+padding-bottom: 15px; }
+.header_notes {
+background: transparent url(../../../../../template/yoga/icon/note.png) no-repeat right top;
+border:0; font-weight:bold; min-height: 48px;
+padding:15px 60px 0 0; position:absolute; right:0;
+text-align:right; top:90px; width:550px;  }
+
+html, body { min-height: 100%; }
+body { margin: 0; padding: 0;
+background:#111111 url(images/bottom-left-bg.png) no-repeat fixed left bottom; }
+#the_page { margin: 0; padding: 0; z-index: 1; top:0px;
+padding-top: 0; min-height: 100%; width:100%; position:absolute; left:0px; }
+#headbranch { width: 233px; height: 240px; margin: 0; padding: 0;
+position:absolute; left:0px; top:0px; z-index: 0; 
+background:transparent url(images/top-left-bg.png) no-repeat scroll left top; }
+#theHeader { min-height:105px; margin: 0; padding: 0;
+background:transparent url(images/piwigo_logo_sombre_214x100.png) no-repeat scroll 245px top; }
+h3, #imageToolBar a:hover, .row1, .content { background-color: #222; }
+.row2 { background-color:#111; }
+#content { background: #222 url(images/fillet.png) repeat-x top left; min-height: 466px; }
+.content { padding:0px 5px 5px 5px; margin: 0 10px 0 248px; z-index:99; }
+.content h3 { font-size:20px; letter-spacing:-0.4px; margin:0 20px 12px 0;
+ text-align:right; background:none; border: 0; }
+.content h4 { font-size:14px; text-align:left; padding:3px; margin: 2px;}
+.content h2:before, .content h2:after, 
+.content h2 { 
+letter-spacing:0.1em; margin-right:30px; text-align:right; color: #777; 
+text-transform:none; font-weight:bold; padding-left:20px; }
+.content dl, dd { margin:5px; }
+.content div.titrePage { height:55px; }
+.instructions { text-align: left; padding: 20px 20px 0 20px; }
+.throw, td h3 {
+ background-image: url(images/fillet.png); background-repeat: repeat-x; }
+/* borders */ /* TODO */
+INPUT, SELECT, TEXTAREA { border-left: 2px inset #696969; 
+cursor:text; text-indent:4px; }
+.content UL.thumbnails SPAN.wrap2 {
+  border: 1px solid #aaaaaa;	/* thumbnails border color and style */
+  border-radius: 4px 4px;	/* round corners with CSS3 compliant browsers */
+}
+label { cursor:pointer }
+.virtual_cat { background: #222 !important; }
+a.Piwigo {
+  font-family: verdana, arial, helvetica, sans-serif !important;
+  font-size: 11px; font-weight: normal; letter-spacing: 0;
+  color : #f36; text-decoration: none; border: 0; color: #f36; }
+
+* { outline-width: 0; }
+a { color:#f70; border-color: #FF3363; }
+a:hover { color: #f33; border-color: #FF3363; }
+
+h2 { display:block; font-size:28px; letter-spacing:-1px; 
+margin:0 20px; height:95px; overflow:hidden; padding:0; position:absolute; 
+right:0; text-align:right; top:0; width:770px; }
+.header_msgs { background-color:transparent; }
+.HelpActions a { border:0; margin:4px 14px 0 0; position:absolute; right:0; }
+.HelpActions li {list-style-image:none; list-style-position:outside; 
+list-style-type:none; text-align:center; text-indent:0pt; }
+
+/* tabsheets are often used in admin  pages => No specific css files */
+.tabsheet { 
+background-color:transparent; border:0; display:table; float:right; 
+font-family:verdana,arial,helvetica,sans-serif; font-size:8px; line-height:14px; 
+list-style-image:none; padding: 0; position:relative; text-decoration:none;
+top:-2px; white-space:nowrap; margin: 0 28px 0 0;}
+.tabsheet li { float:left; margin: 0 8px; text-align:right; overflow: hidden; 
+background:transparent url(images/inactive_tab2.png) no-repeat scroll right 5px; }
+.tabsheet a { 
+background:transparent url(images/inactive_tab.png) no-repeat scroll left 5px;
+color:#777; display:block; font-size:11px; text-transform:capitalize; border:0;
+font-weight:bold; height:28px; overflow:hidden; padding:12px 7px 5px 18px; line-height: 18px;
+text-align:right; text-decoration:none; margin: 0 4px 0 0; }
+.tabsheet li:hover, .tabsheet li.selected_tab  { 
+background:transparent url(images/active_tab2.png) no-repeat scroll right 5px; }
+.tabsheet a:hover, .tabsheet li.selected_tab  a { color: #F36; 
+background:transparent url(images/active_tab.png) no-repeat scroll left 5px; }
+.tabsheet a span { background-color: #222; }
+
+#debug { margin-left:248px; font-size:12px; }
+/* menubar is on all admin pages => No specific css file */
+#menubar {
+background:transparent url(images/menuBoxBottom_new.png) no-repeat scroll left bottom;
+border:0; display:inline; float:left; left:0; margin: 0 0 0 35px; min-height:475px; height:475px; /* should be 477 */
+padding:0; width:207px; z-index:99; text-align: left; }
+#menubar ul.scroll { overflow-y:auto; height: 148px; margin-right:8px;
+ /* Only IE family supports colored scrollbar */
+ scrollbar-face-color: #222; scrollbar-shadow-color: #444; scrollbar-highlight-color: #000;
+ scrollbar-3dlight-color: #292929; scrollbar-darkshadow-color: #333; scrollbar-track-color: #111;
+ scrollbar-arrow-color: #ff3333; }
+html>body #menubar {min-height:477px; height:477px;} /* IE 7 and modern browsers */
+#menubar .selected a { color: #f70; border-color: #f36;}
+#menubar .selected a:hover { color: #f36; border-bottom: 1px solid #f36;}
+#menubar dd { 
+background: transparent url(images/menubar-detail.png) repeat-y top left; 
+margin: 10px 0 0 0; padding: 0; height:232px; }
+#menubar dl {
+background:transparent url(images/menuBoxTop_new.png) no-repeat scroll left top; 
+width: 207px; border:0; margin: 0; padding: 0; display: block; min-height:35px; }
+#menubar dl.first { 
+background:transparent url(images/menubar-top.png) no-repeat scroll left 1px; }
+#menubar dt { margin: 0; display: block; background: none; left:10px; font-weight:bold;
+position:relative; padding: 5px 1px 4px 5px; top:-10px; font-size: 13px; color: #666; }
+#menubar dt  span { background-color: #111; cursor:pointer; }
+#menubar a { border-bottom:0; text-decoration:none; font-size: 12px;
+color: #F70; border-bottom: 1px dotted #777;}
+#menubar li { margin: 0 0 0 6px; }
+#menubar li.external { list-style-image:url(images/external_inactive.png); padding:10px 0px 0pt 10px; }
+#menubar li.external:hover { list-style-image:url(images/external_active.png); }
+#menubar ul { color: #333; margin:10px 0pt 3px 9px; 
+  list-style-type: square; list-style-position: inside; padding: 0 0 0 2px; }
Index: /trunk/admin/template/wigo/theme/roma/themeconf.inc.php
===================================================================
--- /trunk/admin/template/wigo/theme/roma/themeconf.inc.php	(revision 2526)
+++ /trunk/admin/template/wigo/theme/roma/themeconf.inc.php	(revision 2526)
@@ -0,0 +1,59 @@
+<?php
+/**
+ * Accordion menus need to be stable
+ */
+function selected_admin_menu()
+{
+  if (isset($_GET['page']))
+  {
+    switch ($_GET['page']) {
+      case 'configuration':
+      case 'extend_for_templates':
+      case 'menubar':
+        return 1;
+      case 'site_manager':
+      case 'site_update':
+      case 'cat_list':
+      case 'cat_modify':
+      case 'cat_move':
+      case 'cat_options':
+      case 'element_set':
+      case 'cat_perm':
+      case 'permalinks':
+      case 'picture_modify':
+        if (isset($_GET['cat']) and $_GET['cat']=='caddie') {
+          return 3;
+        }
+        return 2;
+      case 'comments':
+      case 'upload':
+      case 'thumbnail':
+      case 'rating':
+      case 'tags':
+        return 3;
+      case 'user_list':
+      case 'group_list':
+      case 'notification_by_mail':
+        return 4;
+      case 'stats':
+      case 'history':
+      case 'maintenance':
+      case 'advanced_feature':
+      case 'plugins_list':
+      case 'plugin':
+        return 5;
+    }
+  }
+  return 0;
+}
+
+$themeconf = array(
+  'template' => 'wigo',
+  'theme' => 'roma',
+  'icon_dir' => 'template/yoga/icon',
+  'admin_icon_dir' => 'template/yoga/icon/admin',
+  'mime_icon_dir' => 'template/yoga/icon/mimetypes/',
+  'selected_admin_menu' => selected_admin_menu(),
+  'local_head' => '',
+);
+?>
Index: /trunk/admin/template/wigo/thumbnails.css
===================================================================
--- /trunk/admin/template/wigo/thumbnails.css	(revision 2526)
+++ /trunk/admin/template/wigo/thumbnails.css	(revision 2526)
@@ -0,0 +1,37 @@
+/* $Id$ */
+.content UL.thumbnails {
+  margin: 0; padding: 0; list-style: none;
+  text-align: center;	/* to center the whole collection in .content */
+}
+.content UL.thumbnails LI { display: inline }
+.content UL.thumbnails SPAN.wrap1 {
+  margin: 0 5px 5px 5px;
+  display: table-cell; display: inline-table;
+  display: inline-block; /* Why 3 display option ??? */
+  vertical-align: top;		/* OK with Opera and IE6 not Geko */
+  text-align: center;		/* to center the thumbnail and legend in Geko/Opera */
+}
+.content UL.thumbnails SPAN.wrap2 {
+  margin: 0;			/* important reset the margins */
+  display: table-cell;		/* block prevents vertical-align here */
+  vertical-align: middle;	/* Ok with Opera and Geko not IE6 */
+}
+.content UL.thumbnails LABEL { display: block; border-bottom: none; }
+.content UL.thumbnails IMG {
+  margin-bottom: -4px;  /* why ??? something wrong with Geko and Opera ignored by IE6*/
+}
+.content UL.thumbnails LABEL { position: relative; }
+.content UL.thumbnails INPUT {
+  position: relative;	/* <= Opera can handle relative here */
+  top: -20px;
+}
+:root .content UL.thumbnails INPUT { /* hide from Opera */
+  position: absolute;	/* <= Opera hide 1 checkbox over 2 !!! */
+  left: 2px; top: 2px;
+}
+UL.thumbnails .levelIndicatorB {
+display:block; position:absolute; z-index:100;padding:0px 0 0 14px; color:black; font-weight:bold; font-size:120%;
+}
+UL.thumbnails .levelIndicatorF {
+display:block; position:absolute; z-index:101;padding:1px 0 0 15px; color:white; font-weight:bold; font-size:120%;
+}
