Index: /extensions/floOs/Copie de menubar.tpl
===================================================================
--- /extensions/floOs/Copie de menubar.tpl	(revision 3334)
+++ /extensions/floOs/Copie de menubar.tpl	(revision 3334)
@@ -0,0 +1,137 @@
+{* $Id: menubar.tpl 2409 2008-07-01 02:09:21Z rvelices $ *}
+<div id="menubar">
+  <table id="table_menu">
+    <tr id="up">
+      <td class="mb_left">&nbsp;</td>
+      <td class="mb_middle">&nbsp;</td>
+      <td class="mb_right">&nbsp;</td>
+    </tr>
+    {if not empty($links)}
+    <tr id="Links" class="middle">
+      <td class="mb_left">&nbsp;</td>
+      <td class="mb_middle"><dl id="mbLinks">
+          <dt class="titre_acordeon"><img src="{$ROOT_URL}{$themeconf.icon_dir}/menu/small_resizable.png" class="button_res" alt="[_]"><a href="#">{'Links'|@translate}</a></dt>
+          <dd>
+            <ul>
+              {foreach from=$links item=link}
+              <li> <a href="{$link.URL}"
+      {if isset($link.new_window) }onclick="window.open(this.href, '{$link.new_window.NAME|@escape:'javascript'}','{$link.new_window.FEATURES|@escape:'javascript'}'); return false;"{/if}
+    > {$link.LABEL} </a> </li>
+              {/foreach}{*links*}
+            </ul>
+          </dd>
+        </dl></td>
+      <td class="mb_right">&nbsp;</td>
+    </tr>
+    {/if}{*links*}
+    <tr id="Categories" class="middle">
+      <td class="mb_left">&nbsp;</td>
+      <td class="mb_middle"> {if isset($U_START_FILTER)} <a href="{$U_START_FILTER}" title="{'start_filter_hint'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/start_filter.png" class="button" alt="start filter"></a> {/if}
+        {if isset($U_STOP_FILTER)} <a href="{$U_STOP_FILTER}" title="{'stop_filter_hint'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/stop_filter.png" class="button" alt="stop filter"></a> {/if}
+        <dl id="mbCategories">
+          <dt class="titre_acordeon_0"><img src="{$ROOT_URL}{$themeconf.icon_dir}/menu/small_resizable.png" class="button_res" alt="[_]"><a href="#">{'Categories'|@translate}</a></dt>
+          <dd> {$MENU_CATEGORIES_CONTENT}
+            {if isset($U_UPLOAD)} <img src="{$ROOT_URL}{$themeconf.icon_dir}/menu/upload.png" alt="--"/><a href="{$U_UPLOAD}">{'upload_picture'|@translate}</a> {/if}
+            <p class="totalImages">{$pwg->l10n_dec('%d element', '%d elements', $NB_PICTURE)}</p>
+          </dd>
+        </dl></td>
+      <td class="mb_right">&nbsp;</td>
+    </tr>
+    {if not empty($related_tags)}
+    <tr id="Tags" class="middle">
+      <td class="mb_left">&nbsp;</td>
+      <td class="mb_middle"><dl id="mbTags">
+          <dt class="titre_acordeon"><img src="{$ROOT_URL}{$themeconf.icon_dir}/menu/small_resizable.png" class="button_res" alt="[_]"><a href="#">{'Related tags'|@translate}</a></dt>
+          <dd>
+            <ul id="menuTagCloud">
+              {foreach from=$related_tags item=tag}
+              <li> {if !empty($tag.U_ADD) } <a href="{$tag.U_ADD}" 
+        title="{$pwg->l10n_dec('%d element are also linked to current tags', '%d elements are also linked to current tags', $tag.counter)}"
+        rel="nofollow"> <img src="{$ROOT_URL}{$themeconf.icon_dir}/add_tag.png" alt="+" /> </a> {/if} <a href="{$tag.URL}" class="tagLevel{$tag.level}" title="{'See elements linked to this tag only'|@translate}">{$tag.name}</a> </li>
+              {/foreach}
+            </ul>
+          </dd>
+        </dl></td>
+      <td class="mb_right">&nbsp;</td>
+    </tr>
+    {/if}
+    <tr id="Special" class="middle">
+      <td class="mb_left">&nbsp;</td>
+      <td class="mb_middle"><dl id="mbSpecial">
+          <dt class="titre_acordeon"><img src="{$ROOT_URL}{$themeconf.icon_dir}/menu/small_resizable.png" class="button_res" alt="[_]"><a href="#">{'special_categories'|@translate}</a></dt>
+          <dd>
+            <ul>
+              {foreach from=$special_categories item=cat}
+              <li><a href="{$cat.URL}" title="{$cat.TITLE}" {if isset($cat.REL)}{$cat.REL}{/if}>{$cat.NAME}</a></li>
+              {/foreach}
+            </ul>
+          </dd>
+        </dl></td>
+      <td class="mb_right">&nbsp;</td>
+    </tr>
+    <tr id="Identification" class="middle">
+      <td class="mb_left">&nbsp;</td>
+      <td class="mb_middle"><dl id="mbIdentification">
+          <dt class="titre_acordeon"><img src="{$ROOT_URL}{$themeconf.icon_dir}/menu/small_resizable.png" class="button_res" alt="[_]"><a href="#">{'identification'|@translate}</a></dt>
+          <dd> {if isset($USERNAME)}
+            <p>{'hello'|@translate}&nbsp;{$USERNAME}&nbsp;!</p>
+            {/if}
+            <ul>
+              {if isset($U_REGISTER)}
+              <li><a href="{$U_REGISTER}" title="{'Create a new account'|@translate}" rel="nofollow">{'Register'|@translate}</a></li>
+              {/if}
+              
+              {if isset($U_IDENTIFY)}
+              <li><a href="{$U_IDENTIFY}" rel="nofollow">{'Connection'|@translate}</a></li>
+              {/if}
+              
+              {if isset($U_LOGOUT)}
+              <li><a href="{$U_LOGOUT}">{'logout'|@translate}</a></li>
+              {/if}
+              
+              {if isset($U_PROFILE)}
+              <li><a href="{$U_PROFILE}" title="{'hint_customize'|@translate}">{'customize'|@translate}</a></li>
+              {/if}
+              
+              {if isset($U_ADMIN)}
+              <li><a href="{$U_ADMIN}" title="{'hint_admin'|@translate}">{'admin'|@translate}</a></li>
+              {/if}
+            </ul>
+            {if isset($U_IDENTIFY)}
+            <form method="post" action="{$U_IDENTIFY}" class="filter" id="quickconnect">
+              <fieldset>
+              <legend>{'Quick connect'|@translate}</legend>
+              <label> {'Username'|@translate}
+              <input type="text" name="username" size="15" value="">
+              </label>
+              <label> {'Password'|@translate}
+              <input type="password" name="password" size="15">
+              </label>
+              {if $AUTHORIZE_REMEMBERING}
+              <label> {'remember_me'|@translate}
+              <input type="checkbox" name="remember_me" value="1">
+              </label>
+              {/if}
+              <p>
+                <input class="submit" type="submit" name="login" value="{'Submit'|@translate}">
+              </p>
+              <ul class="actions">
+                <li><a href="{$U_LOST_PASSWORD}" title="{'Forgot your password?'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/lost_password.png" class="button" alt="{'Forgot your password?'|@translate}"></a></li>
+                {if isset($U_REGISTER)}
+                <li><a href="{$U_REGISTER}" title="{'Create a new account'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/register.png" class="button" alt="{'Register'|@translate}"/></a></li>
+                {/if}
+              </ul>
+              </fieldset>
+            </form>
+            {/if} </dd>
+        </dl></td>
+      <td class="mb_right">&nbsp;</td>
+    </tr>
+    <tr id="bottom">
+      <td class="mb_left">&nbsp;</td>
+      <td class="mb_middle">&nbsp;</td>
+      <td class="mb_right">&nbsp;</td>
+    </tr>
+  </table>
+</div>
+<!-- menubar -->
Index: /extensions/floOs/Copie[2]  de menubar.tpl
===================================================================
--- /extensions/floOs/Copie[2]  de menubar.tpl	(revision 3334)
+++ /extensions/floOs/Copie[2]  de menubar.tpl	(revision 3334)
@@ -0,0 +1,137 @@
+{* $Id: menubar.tpl 2409 2008-07-01 02:09:21Z rvelices $ *}
+<div id="menubar">
+  <table id="table_menu">
+    <tr id="up">
+      <td class="mb_left">&nbsp;</td>
+      <td class="mb_middle">&nbsp;</td>
+      <td class="mb_right">&nbsp;</td>
+    </tr>
+    {if not empty($links)}
+    <tr id="Links" class="middle">
+      <td class="mb_left">&nbsp;</td>
+      <td class="mb_middle"><dl id="mbLinks">
+          <dt class="titre_acordeon"><img src="{$ROOT_URL}{$themeconf.icon_dir}/menu/small_resizable.png" class="button_res" alt="[_]"><a href="#">{'Links'|@translate}</a></dt>
+          <dd>
+            <ul>
+              {foreach from=$links item=link}
+              <li> <a href="{$link.URL}"
+      {if isset($link.new_window) }onclick="window.open(this.href, '{$link.new_window.NAME|@escape:'javascript'}','{$link.new_window.FEATURES|@escape:'javascript'}'); return false;"{/if}
+    > {$link.LABEL} </a> </li>
+              {/foreach}{*links*}
+            </ul>
+          </dd>
+        </dl></td>
+      <td class="mb_right">&nbsp;</td>
+    </tr>
+    {/if}{*links*}
+    <tr id="Categories" class="middle">
+      <td class="mb_left">&nbsp;</td>
+      <td class="mb_middle"> {if isset($U_START_FILTER)} <a href="{$U_START_FILTER}" title="{'start_filter_hint'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/start_filter.png" class="button" alt="start filter"></a> {/if}
+        {if isset($U_STOP_FILTER)} <a href="{$U_STOP_FILTER}" title="{'stop_filter_hint'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/stop_filter.png" class="button" alt="stop filter"></a> {/if}
+        <dl id="mbCategories">
+          <dt class="titre_acordeon_0"><img src="{$ROOT_URL}{$themeconf.icon_dir}/menu/small_resizable.png" class="button_res" alt="[_]"><a href="#">{'Categories'|@translate}</a></dt>
+          <dd> {$MENU_CATEGORIES_CONTENT}
+            {if isset($U_UPLOAD)} <img src="{$ROOT_URL}{$themeconf.icon_dir}/menu/upload.png" alt="--"/><a href="{$U_UPLOAD}">{'upload_picture'|@translate}</a> {/if}
+            <p class="totalImages">{$pwg->l10n_dec('%d element', '%d elements', $NB_PICTURE)}</p>
+          </dd>
+        </dl></td>
+      <td class="mb_right">&nbsp;</td>
+    </tr>
+    {if not empty($related_tags)}
+    <tr id="Tags" class="middle">
+      <td class="mb_left">&nbsp;</td>
+      <td class="mb_middle"><dl id="mbTags">
+          <dt class="titre_acordeon"><img src="{$ROOT_URL}{$themeconf.icon_dir}/menu/small_resizable.png" class="button_res" alt="[_]"><a href="#">{'Related tags'|@translate}</a></dt>
+          <dd>
+            <ul id="menuTagCloud">
+              {foreach from=$related_tags item=tag}
+              <li> {if !empty($tag.U_ADD) } <a href="{$tag.U_ADD}" 
+        title="{$pwg->l10n_dec('%d element are also linked to current tags', '%d elements are also linked to current tags', $tag.counter)}"
+        rel="nofollow"> <img src="{$ROOT_URL}{$themeconf.icon_dir}/add_tag.png" alt="+" /> </a> {/if} <a href="{$tag.URL}" class="tagLevel{$tag.level}" title="{'See elements linked to this tag only'|@translate}">{$tag.name}</a> </li>
+              {/foreach}
+            </ul>
+          </dd>
+        </dl></td>
+      <td class="mb_right">&nbsp;</td>
+    </tr>
+    {/if}
+    <tr id="Special" class="middle">
+      <td class="mb_left">&nbsp;</td>
+      <td class="mb_middle"><dl id="mbSpecial">
+          <dt class="titre_acordeon"><img src="{$ROOT_URL}{$themeconf.icon_dir}/menu/small_resizable.png" class="button_res" alt="[_]"><a href="#">{'special_categories'|@translate}</a></dt>
+          <dd>
+            <ul>
+              {foreach from=$special_categories item=cat}
+              <li><a href="{$cat.URL}" title="{$cat.TITLE}" {if isset($cat.REL)}{$cat.REL}{/if}>{$cat.NAME}</a></li>
+              {/foreach}
+            </ul>
+          </dd>
+        </dl></td>
+      <td class="mb_right">&nbsp;</td>
+    </tr>
+    <tr id="Identification" class="middle">
+      <td class="mb_left">&nbsp;</td>
+      <td class="mb_middle"><dl id="mbIdentification">
+          <dt class="titre_acordeon"><img src="{$ROOT_URL}{$themeconf.icon_dir}/menu/small_resizable.png" class="button_res" alt="[_]"><a href="#">{'identification'|@translate}</a></dt>
+          <dd> {if isset($USERNAME)}
+            <p>{'hello'|@translate}&nbsp;{$USERNAME}&nbsp;!</p>
+            {/if}
+            <ul>
+              {if isset($U_REGISTER)}
+              <li><a href="{$U_REGISTER}" title="{'Create a new account'|@translate}" rel="nofollow">{'Register'|@translate}</a></li>
+              {/if}
+              
+              {if isset($U_IDENTIFY)}
+              <li><a href="{$U_IDENTIFY}" rel="nofollow">{'Connection'|@translate}</a></li>
+              {/if}
+              
+              {if isset($U_LOGOUT)}
+              <li><a href="{$U_LOGOUT}">{'logout'|@translate}</a></li>
+              {/if}
+              
+              {if isset($U_PROFILE)}
+              <li><a href="{$U_PROFILE}" title="{'hint_customize'|@translate}">{'customize'|@translate}</a></li>
+              {/if}
+              
+              {if isset($U_ADMIN)}
+              <li><a href="{$U_ADMIN}" title="{'hint_admin'|@translate}">{'admin'|@translate}</a></li>
+              {/if}
+            </ul>
+            {if isset($U_IDENTIFY)}
+            <form method="post" action="{$U_IDENTIFY}" class="filter" id="quickconnect">
+              <fieldset>
+              <legend>{'Quick connect'|@translate}</legend>
+              <label> {'Username'|@translate}
+              <input type="text" name="username" size="15" value="">
+              </label>
+              <label> {'Password'|@translate}
+              <input type="password" name="password" size="15">
+              </label>
+              {if $AUTHORIZE_REMEMBERING}
+              <label> {'remember_me'|@translate}
+              <input type="checkbox" name="remember_me" value="1">
+              </label>
+              {/if}
+              <p>
+                <input class="submit" type="submit" name="login" value="{'Submit'|@translate}">
+              </p>
+              <ul class="actions">
+                <li><a href="{$U_LOST_PASSWORD}" title="{'Forgot your password?'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/lost_password.png" class="button" alt="{'Forgot your password?'|@translate}"></a></li>
+                {if isset($U_REGISTER)}
+                <li><a href="{$U_REGISTER}" title="{'Create a new account'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/register.png" class="button" alt="{'Register'|@translate}"/></a></li>
+                {/if}
+              </ul>
+              </fieldset>
+            </form>
+            {/if} </dd>
+        </dl></td>
+      <td class="mb_right">&nbsp;</td>
+    </tr>
+    <tr id="bottom">
+      <td class="mb_left">&nbsp;</td>
+      <td class="mb_middle">&nbsp;</td>
+      <td class="mb_right">&nbsp;</td>
+    </tr>
+  </table>
+</div>
+<!-- menubar -->
Index: /extensions/floOs/about.tpl
===================================================================
--- /extensions/floOs/about.tpl	(revision 3334)
+++ /extensions/floOs/about.tpl	(revision 3334)
@@ -0,0 +1,19 @@
+{* $Id: about.tpl 2352 2008-05-20 00:27:26Z patdenice $ *}
+<div id="content" class="content">
+  <div class="titrePage">
+    <ul class="categoryActions">
+      <li>
+        <a href="{$U_HOME}" title="{'return to homepage'|@translate}">
+          <img src="{$themeconf.icon_dir}/home.png" class="button" alt="{'home'|@translate}"/>
+        </a>
+      </li>
+    </ul>
+    <h2>{'About'|@translate}</h2>
+  </div>
+  <ul>
+  {$ABOUT_MESSAGE}
+  {if isset($THEME_ABOUT) }
+  <li>{$THEME_ABOUT}</li>
+  {/if}
+  </ul>
+</div>
Index: /extensions/floOs/calendar_navbar.tpl
===================================================================
--- /extensions/floOs/calendar_navbar.tpl	(revision 3334)
+++ /extensions/floOs/calendar_navbar.tpl	(revision 3334)
@@ -0,0 +1,13 @@
+
+{foreach from=$datas item=data}
+  <span class="{$data.classname}">
+  {if isset($data.url) and $data.url!=""}
+  <a href="{$data.url}">{$data.label}</a>
+  {else}
+  {$data.label}
+  {/if}
+  {if isset($data.nb_images) and $data.nb_images!=""}
+  ({$data.nb_images})
+  {/if}
+  </span>
+{/foreach}
Index: /extensions/floOs/comment_list.tpl
===================================================================
--- /extensions/floOs/comment_list.tpl	(revision 3334)
+++ /extensions/floOs/comment_list.tpl	(revision 3334)
@@ -0,0 +1,32 @@
+{* $Id$ *}
+{foreach from=$comments item=comment}
+	<div class="comment" >
+	  {if isset($comment.TN_SRC)}
+	  	<a class="illustration" href="{$comment.U_PICTURE}"><img src="{$comment.TN_SRC}" alt="{$comment.ALT}" /></a>
+	  {/if}
+		<div class="commentHeader">
+			{if isset($comment.U_DELETE) or isset($comment.U_VALIDATE) }
+			<ul class="actions" style="float:right">
+				{if isset($comment.U_DELETE)}
+				  <li>
+					<a href="{$comment.U_DELETE}" title="{'comments_del'|@translate}">
+						<img src="{$ROOT_URL}{$themeconf.icon_dir}/delete.png" class="button" alt="[{'delete'|@translate}]"/>
+					</a>
+					</li>{/if}
+
+				{if isset($comment.U_VALIDATE)}
+					<li>
+					<a href="{$comment.U_VALIDATE}" title="validate this comment">
+						<img src="{$ROOT_URL}{$themeconf.icon_dir}/validate_s.png" class="button" alt="[validate]"/>
+					</a>
+					</li>{/if}
+			</ul>
+			{/if}
+			<span class="author">{$comment.AUTHOR}</span> - <span class="date">{$comment.DATE}</span>
+		</div>
+
+		<blockquote>{$comment.CONTENT}</blockquote>
+	</div>
+	<hr/>
+{/foreach}
+
Index: /extensions/floOs/comments.tpl
===================================================================
--- /extensions/floOs/comments.tpl	(revision 3334)
+++ /extensions/floOs/comments.tpl	(revision 3334)
@@ -0,0 +1,76 @@
+{* $Id: comments.tpl 2352 2008-05-20 00:27:26Z patdenice $ *}
+<div id="content" class="content">
+
+  <div class="titrePage">
+    <ul class="categoryActions">
+      <li>&nbsp;-&nbsp;<a href="{$U_HOME}" title="{'return to homepage'|@translate}"><img src="{$themeconf.icon_dir}/home.png" class="button" alt="{'home'|@translate}"/></a>&nbsp;-&nbsp;</li>
+    </ul>
+    <h2>{'User comments'|@translate}</h2>
+  </div>
+
+<form class="filter" action="{$F_ACTION}" method="get">
+
+  <fieldset>
+    <legend>{'Filter'|@translate}</legend>
+
+    <label>{'Keyword'|@translate}<input type="text" name="keyword" value="{$F_KEYWORD}" /></label>
+
+    <label>{'Author'|@translate}<input type="text" name="author" value="{$F_AUTHOR}" /></label>
+
+    <label>
+      {'Category'|@translate}
+      <select name="cat">
+        <option value="0">------------</option>
+        {html_options options=$categories selected=$categories_selected}
+      </select>
+    </label>
+
+    <label>
+      {'Since'|@translate}
+      <select name="since">
+        {html_options options=$since_options selected=$since_options_selected}
+      </select>
+    </label>
+
+  </fieldset>
+
+  <fieldset>
+
+    <legend>{'Display'|@translate}</legend>
+
+    <label>
+      {'Sort by'|@translate}
+      <select name="sort_by">
+        {html_options options=$sort_by_options selected=$sort_by_options_selected}
+      </select>
+    </label>
+
+    <label>
+      {'Sort order'|@translate}
+      <select name="sort_order">
+        {html_options options=$sort_order_options selected=$sort_order_options_selected}
+      </select>
+    </label>
+
+    <label>
+      {'Number of items'|@translate}
+      <select name="items_number">
+        {html_options options=$item_number_options selected=$item_number_options_selected}
+      </select>
+    </label>
+
+  </fieldset>
+
+  <p><input class="submit" type="submit" value="{'Filter and display'|@translate}"></p>
+
+</form>
+
+<div class="navigationBar">{$NAVBAR}</div>
+
+{if isset($comments)}
+<div id="comments">
+  {include file='comment_list.tpl'}
+</div>
+{/if}
+
+</div> <!-- content -->
Index: /extensions/floOs/content.css
===================================================================
--- /extensions/floOs/content.css	(revision 3334)
+++ /extensions/floOs/content.css	(revision 3334)
@@ -0,0 +1,243 @@
+/* $Id: content.css 2352 2008-05-20 00:27:26Z patdenice $ */
+.content {
+    margin-right: 1em;
+    margin-bottom: 1em; /* when it's longer than menu bar */
+}
+
+BODY#theCommentsPage .content,
+BODY#theUploadPage .content,
+BODY#theRegisterPage .content,
+BODY#theIdentificationPage .content,
+BODY#theProfilePage .content,
+BODY#theSearchPage .content,
+BODY#theAboutPage .content,
+BODY#thePopuphelpPage .content,
+BODY#thePasswordPage .content,
+BODY#theNotificationPage .content,
+BODY#theTagsPage .content,
+BODY#theNBMPage .content
+{
+	margin: 0em;
+	width: 100%;
+	padding-bottom: 2em;
+}
+
+.content H3 {
+    margin-bottom: 1ex;
+}
+
+.content H2 { margin-bottom: 3px;} /*<- for IE otherwise calendar select is displaced to middle of page*/
+
+.content H3 {
+    text-align: center;
+}
+
+.content .navigationBar, .content .additional_info {
+    margin: 10px 0;
+    text-align: center;
+}
+
+.content .pageNumberSelected {
+	font-style: italic;
+	font-weight: bold;
+}
+
+.content .additional_info {
+    font-size: 110%;
+}
+
+.content FORM {
+    text-align: center;
+}
+
+/* content defaults */
+.content DL, DD { margin: 10px; }
+.content DT {
+  margin-bottom: 5px;
+  font-style: italic;
+  font-size: 110%;
+}
+
+/* actions */
+UL.categoryActions {
+  margin: 0 2px;
+  width: auto;
+  padding: 0;
+  text-indent: 0;
+  list-style: none;
+  text-align: center;
+}
+
+.content DIV.titrePage UL.categoryActions {
+  float: right;
+  text-align: center;
+}
+
+.content DIV.titrePage {
+  padding: 0 0 3px;
+}
+
+.content UL.categoryActions LI {
+  display: inline;
+}
+
+.content UL.categoryActions A IMG, UL.categoryActions A {
+  border: none;
+  margin-bottom: -5px;
+}
+
+/* User comments */
+
+.content DIV#comments {
+  padding-left: 5px;
+  padding-right: 5px;
+}
+.content DIV.comment {
+  margin: 0 0 0.5em 0;
+  padding: 0;
+  overflow: hidden; /* these 2 lines keep the floating child in the DIV */
+  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) */
+}
+
+/* begin chronology/calendar elements*/
+.content DIV.calendarViews {
+  display: block;
+  float: right;
+  margin: 2px 0 0;
+}
+
+.content DIV.calendarBar { margin: 8px 4px; }
+
+SPAN.calItem, SPAN.calItemEmpty {
+  font-weight: bold;
+  margin: 0 1px;
+}
+
+SPAN.calItem A { border:0 }
+
+.content DIV.calendarCalBar {
+  margin: 10px 10px;
+  text-align: left;
+}
+
+SPAN.calCalHead {
+  font-weight: bold;
+  font-size: 110%;
+  margin: 0 2px;
+}
+
+SPAN.calCal { margin: 0 2px; }
+
+/* nice looking month calendar*/
+TABLE.calMonth {
+  border: none;
+  border-collapse: collapse;
+  margin-bottom: 10px;	/*<-IE ignores this */
+}
+
+TD.calDayCellFull, TD.calDayCellEmpty, TD.calDayCellBlank {
+  text-align:left;
+  vertical-align: top;
+  font: bold 18px Arial, Helvetica, sans-serif;
+}
+
+TD.calDayHead { font: bold 12px Arial, Helvetica, sans-serif; }
+
+DIV.calImg {
+  overflow: hidden;
+  vertical-align: bottom;
+  z-index: 1;
+  position: relative; /*<- this required by IE*/
+}
+
+.calImg img {
+  position: relative;
+  border: 0;
+}
+
+.calBackDate {
+  padding-left: 4px;
+  padding-top: 0px;
+  z-index: 2;
+  position: absolute;
+  text-align: left;
+  vertical-align: top;
+  color: #000;
+}
+
+.calForeDate {
+  padding-left: 5px;
+  padding-top: 1px;
+  z-index: 3;
+  position: absolute;
+  text-align: left;
+  vertical-align: top;
+  color: #fff;
+}
+
+/* Category thumbnails on main page, CSS code inspired from MOD subcatify */
+.content UL.thumbnailCategories {
+  margin: 0;
+  padding: 0;
+  list-style: none;
+  text-align: center;
+  overflow: hidden;
+  width: 100%;
+}
+
+.content UL.thumbnailCategories LI {
+  margin:0;
+  padding:0;
+  float:left;
+}
+
+.content DIV.thumbnailCategory {
+  display:block;
+  padding: 2px 0px 0px 80px;
+  margin: 5px;
+}
+
+.content DIV.thumbnailCategory DIV.description {
+  font-size: 90%;
+  overflow: auto;
+  /*width: inherit;*/
+}
+
+.content DIV.thumbnailCategory DIV.description H3 {
+  text-align: left;
+  background: transparent;
+  margin: 0;
+  padding: 0.1em;
+  font-size: 120%;
+}
+
+.content DIV.thumbnailCategory DIV.description P {
+  margin: 0;
+}
+
+.content DIV.thumbnailCategory DIV.illustration {
+  text-align: left;
+  margin: 2px 0 0 2px;
+  float: left;
+}
Index: /extensions/floOs/default-colors.css
===================================================================
--- /extensions/floOs/default-colors.css	(revision 3334)
+++ /extensions/floOs/default-colors.css	(revision 3334)
@@ -0,0 +1,130 @@
+/* $Id: default-colors.css 2352 2008-05-20 00:27:26Z patdenice $ */
+
+/* others */
+
+#imageToolBar * {
+	background: inherit;
+}
+
+/* So that non-links are slightly greyed out */
+.content .navigationBar, SPAN.calItemEmpty, TD.calDayCellEmpty {
+	color: #b0b0b0;
+}
+
+/* Tables & forms */
+
+/* IE <= 6 is so bad with this that you can't merge with the following rule */
+INPUT[type="text"], INPUT[type="password"], INPUT[type="button"],
+INPUT[type="submit"], INPUT[type="reset"], INPUT[type="file"] {
+  color:black;
+  background-color: #d3d3d3;	/* lightgrey */
+}
+
+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;
+	float:right;
+	position: absolute;
+	top: 1px;
+	right: 1px;
+	width:20%;
+	padding-top: 5px;
+	padding-right: 0px;
+	padding-bottom: 0px;
+	padding-left: 30px;
+}
+
+/**
+ * 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;
+	float:right;
+	color:#000000;
+	position: absolute;
+	top: 1px;
+	right: 1px;
+	width:20%;
+	padding-top: 5px;
+	padding-right: 0px;
+	padding-bottom: 0px;
+	padding-left: 30px;
+}
+
+LEGEND {
+  font-style: italic;
+}
+
+/*calendar*/
+SPAN.calItem, SPAN.calItemEmpty, 
+TD.calDayCellEmpty, TD.calDayCellFull {
+	border: 1px solid gray;
+}
+
+
Index: /extensions/floOs/default-layout.css
===================================================================
--- /extensions/floOs/default-layout.css	(revision 3334)
+++ /extensions/floOs/default-layout.css	(revision 3334)
@@ -0,0 +1,324 @@
+/* $Id: default-layout.css 2396 2008-06-23 23:40:55Z rvelices $ */
+@import "admin/default-layout.css";
+
+BODY {
+  margin: 0px;
+  padding: 0;
+  font-size: 0.8em;
+  font-family:  Univers, Helvetica, Optima, "Bitstream Vera Sans", sans-serif;
+  text-align: center; /* be nice to IE5 */
+}
+
+#the_page {
+	height:100%;
+	margin: 0px;
+}
+
+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 #000;
+}
+A:hover {
+	border-bottom: 1px solid #fff;
+}
+A.button, A.button:hover { 
+	border: 0; 
+}
+IMG {
+	border:none;
+}
+.illustration A, .titre_acordeon A, .titre_acordeon_0 A{
+	border-bottom: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, LI { 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: 6em;
+  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 {
+	padding-top: 1em;
+	padding-bottom: 0.5em;
+	margin: 0px;
+}
+
+/* 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;
+}
+
+BODY#thePopuphelpPage P#pageBottomActions A {
+  border: none;
+}
+
+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;
+  font-style: normal;
+}
+
+TABLE.tagLetterContent {
+  width:100%;
+  font-size:80%;
+  border-collapse : collapse;
+}
+/*--------menu--------------*/
+#table_content, #table_menu {
+width:100%;
+height:100%;
+border:0;
+padding:0;
+margin:0;
+}
+#theHeader {
+	margin: 0px;
+	padding: 0px;
+	height:100px;
+}
Index: /extensions/floOs/fix-ie5-ie6.css
===================================================================
--- /extensions/floOs/fix-ie5-ie6.css	(revision 3334)
+++ /extensions/floOs/fix-ie5-ie6.css	(revision 3334)
@@ -0,0 +1,23 @@
+/* $Id: fix-ie5-ie6.css 2356 2008-05-23 10:15:48Z rvelices $ */
+/* 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 category thumbnails on main page */
+.content UL.thumbnailCategories {
+  width: 99%;	/* buggy IE box model */
+}
+
+
+/* fix quickconnect layout */
+FORM#quickconnect FIELDSET {
+  width: 99%;	/* correct an ugly 1 or 2 px misalignement with IE */
+}
Index: /extensions/floOs/fix-ie7.css
===================================================================
--- /extensions/floOs/fix-ie7.css	(revision 3334)
+++ /extensions/floOs/fix-ie7.css	(revision 3334)
@@ -0,0 +1,22 @@
+/* $Id: fix-ie7.css 2352 2008-05-20 00:27:26Z patdenice $ */
+/* fix IE with another layout for thumbnails */
+
+.content UL.thumbnails SPAN.wrap2 {
+  display: block;
+  position: relative;
+  text-align: left;
+}
+.content UL.thumbnails SPAN.wrap2 A,
+.content UL.thumbnails SPAN.wrap2 SPAN {
+  overflow: visible;
+  position: absolute;
+  top: 50%;
+  text-align: center;
+}
+
+.content UL.thumbnails IMG.thumbnail {
+  position: relative;
+  top: -50%;   
+  margin-top: 2%;
+}
+
Index: /extensions/floOs/fix-khtml.css
===================================================================
--- /extensions/floOs/fix-khtml.css	(revision 3334)
+++ /extensions/floOs/fix-khtml.css	(revision 3334)
@@ -0,0 +1,20 @@
+/* $Id: fix-khtml.css 2356 2008-05-23 10:15:48Z rvelices $ */
+/* Issue in Safari/Konqueror only                                                 */
+/* If H2 has a 0 margin-top categoryActions doesn't float right but overwrites H2 */
+.content>DIV.titrePage>H2 {
+    margin: 1px 0 0 0;	/* add an arbitrary margin-top */
+}
+
+.content>div.titrePage {
+    position: relative;
+    top: -1px;		/* move the container up by the same amount */
+    margin-bottom: 5px; 
+}
+
+#menubar #menuTagCloud LI
+{
+  display: inline-block;/* required for Safari 3.1 - otherwise overflows on the right */
+}
+
+/* end Safari/Konqueror */
+
Index: /extensions/floOs/footer.tpl
===================================================================
--- /extensions/floOs/footer.tpl	(revision 3334)
+++ /extensions/floOs/footer.tpl	(revision 3334)
@@ -0,0 +1,32 @@
+{* $Id: footer.tpl 2381 2008-06-01 19:19:46Z vdigital $ *}
+<div id="copyright">
+ <a name="EoP"></a> <!-- End of 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}
+</div> <!-- the_page -->
+
+{if isset($debug.QUERIES_LIST)}{$debug.QUERIES_LIST}{/if}
+</body>
+</html>
Index: /extensions/floOs/header.tpl
===================================================================
--- /extensions/floOs/header.tpl	(revision 3334)
+++ /extensions/floOs/header.tpl	(revision 3334)
@@ -0,0 +1,87 @@
+{* $Id: header.tpl 2381 2008-06-01 19:19:46Z vdigital $ *}
+<!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="start" title="{'home'|@translate}" href="{$U_HOME}" >
+<link rel="search" title="{'Search'|@translate}" href="{$ROOT_URL}search.php" >
+{if isset($first.U_IMG)   }<link rel="first" title="{'first_page'|@translate}" href="{$first.U_IMG}" >{/if}
+{if isset($previous.U_IMG)}<link rel="prev" title="{'previous_page'|@translate}" href="{$previous.U_IMG}" >{/if}
+{if isset($next.U_IMG)    }<link rel="next" title="{'next_page'|@translate}" href="{$next.U_IMG}" >{/if}
+{if isset($last.U_IMG)    }<link rel="last" title="{'last_page'|@translate}" href="{$last.U_IMG}" >{/if}
+{if isset($U_UP)          }<link rel="up" title="{'thumbnails'|@translate}" href="{$U_UP}" >{/if}
+
+<link rel="stylesheet" type="text/css" href="{$ROOT_URL}template/{$themeconf.template}/layout.css">
+{* the next css is used to fix khtml (Konqueror/Safari) issue the "text/nonsense" prevents gecko based browsers to load it *}
+<link rel="stylesheet" type="text/nonsense" href="{$ROOT_URL}template/{$themeconf.template}/fix-khtml.css">
+<!--[if lt IE 7]>
+	<link rel="stylesheet" type="text/css" href="{$ROOT_URL}template/{$themeconf.template}/fix-ie5-ie6.css">
+<![endif]-->
+<!--[if gt IE 6]>
+	<link rel="stylesheet" type="text/css" href="{$ROOT_URL}template/{$themeconf.template}/fix-ie7.css">
+<![endif]-->
+<!--[if !IE]> <-->
+	<link rel="stylesheet" href="{$ROOT_URL}template/{$themeconf.template}/not-ie.css" type="text/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}template/{$themeconf.template}/default-colors.css">
+<link rel="stylesheet" type="text/css" href="{$ROOT_URL}template/{$themeconf.template}/theme/{$themeconf.theme}/theme.css">
+{$themeconf.local_head}
+{if isset($U_PREFETCH)          }<link rel="prefetch" href="{$U_PREFETCH}">{/if}
+
+{if not empty($page_refresh)    }<meta http-equiv="refresh" content="{$page_refresh.TIME};url={$page_refresh.U_REFRESH}">{/if}
+
+<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="the_page">
+
+{if not empty($header_msgs)}
+<div class="header_msgs">
+	{foreach from=$header_msgs item=elt}
+	<p>{$elt}</p>
+	{/foreach}
+</div>
+{/if}
+
+{if not empty($PAGE_BANNER) or isset($pwgmenu) or not empty($header_notes)}
+<div id="theHeader">
+{$PAGE_BANNER}
+{if isset($pwgmenu)}
+<ul class="pwgmenu">
+  <li><a href="{$pwgmenu.WIKI}" onclick="window.open(this.href, ''); return false;"><span class="bg">{'WIKI / DOC'|@translate}</span></a></li>
+  <li><a href="{$pwgmenu.FORUM}" onclick="window.open(this.href, ''); return false;"><span class="bg">{'FORUM'|@translate}</span></a></li>
+</ul>   
+{/if}
+{if not empty($header_notes)}
+<div class="header_notes">
+	{foreach from=$header_notes item=elt}
+	<p>{$elt}</p>
+  	{/foreach}
+</div>
+{/if}
+</div>
+{/if}
Index: /extensions/floOs/icon/admin/index.php
===================================================================
--- /extensions/floOs/icon/admin/index.php	(revision 3334)
+++ /extensions/floOs/icon/admin/index.php	(revision 3334)
@@ -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: /extensions/floOs/icon/index.php
===================================================================
--- /extensions/floOs/icon/index.php	(revision 3334)
+++ /extensions/floOs/icon/index.php	(revision 3334)
@@ -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: /extensions/floOs/icon/mimetypes/index.php
===================================================================
--- /extensions/floOs/icon/mimetypes/index.php	(revision 3334)
+++ /extensions/floOs/icon/mimetypes/index.php	(revision 3334)
@@ -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: /extensions/floOs/identification.tpl
===================================================================
--- /extensions/floOs/identification.tpl	(revision 3334)
+++ /extensions/floOs/identification.tpl	(revision 3334)
@@ -0,0 +1,71 @@
+{* $Id: identification.tpl 2352 2008-05-20 00:27:26Z patdenice $ *}
+<div id="content" class="content">
+
+  <div class="titrePage">
+    <ul class="categoryActions">
+      <li><a href="{$U_LOST_PASSWORD}" title="{'Forgot your password?'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/lost_password.png" class="button" alt="{'Forgot your password?'|@translate}"></a></li>
+      {if isset($U_REGISTER) }
+      <li><a href="{$U_REGISTER}" title="{'Create a new account'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/register.png" class="button" alt="{'Register'|@translate}"/></a></li>
+      {/if}
+      <li><a href="{$U_HOME}" title="{'Go through the gallery as a visitor'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/home.png" class="button" alt="{'home'|@translate}"/></a></li>
+    </ul>
+    <h2>{'Identification'|@translate}</h2>
+  </div>
+
+  {if isset($errors) }
+  <div class="errors">
+    <ul>
+      {foreach from=$errors item=error}
+      <li>{$error}</li>
+      {/foreach}
+    </ul>
+  </div>
+  {/if}
+
+<form action="{$F_LOGIN_ACTION}" method="post" name="login_form" class="properties">
+  <fieldset>
+    <legend>{'Connection settings'|@translate}</legend>
+
+    <input type="hidden" name="redirect" value="{$U_REDIRECT}">
+
+    <ul>
+      <li>
+        <span class="property">
+          <label for="username">{'Username'|@translate}</label>
+        </span>
+        <input tabindex="1" class="login" type="text" name="username" id="username" size="25" maxlength="40" />
+      </li>
+
+      <li>
+        <span class="property">
+          <label for="password">{'Password'|@translate}</label>
+        </span>
+        <input tabindex="2" class="login" type="password" name="password" id="password" size="25" maxlength="25" />
+      </li>
+
+      {if $authorize_remembering }
+      <li>
+        <span class="property">
+          <label for="remember_me">{'remember_me'|@translate}</label>
+        </span>
+        <input tabindex="3" type="checkbox" name="remember_me" id="remember_me" value="1">
+      </li>
+      {/if}
+    </ul>
+  </fieldset>
+
+  <p><input class="submit" tabindex="4" type="submit" name="login" value="{'Submit'|@translate}"></p>
+</form>
+
+<script type="text/javascript"><!--
+document.login_form.username.focus();
+//--></script>
+
+  <p>
+    {if isset($U_REGISTER) }
+    <a href="{$U_REGISTER}" title="{'Create a new account'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/register.png" class="button" alt="{'Register'|@translate}"> {'Register'|@translate}</a>
+    {/if}
+    <a href="{$U_LOST_PASSWORD}" title="{'Forgot your password?'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/lost_password.png" class="button" alt="{'Forgot your password?'|@translate}"> {'Forgot your password?'|@translate}</a>
+  </p>
+
+</div> <!-- content -->
Index: /extensions/floOs/index.php
===================================================================
--- /extensions/floOs/index.php	(revision 3334)
+++ /extensions/floOs/index.php	(revision 3334)
@@ -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: /extensions/floOs/index.tpl
===================================================================
--- /extensions/floOs/index.tpl	(revision 3334)
+++ /extensions/floOs/index.tpl	(revision 3334)
@@ -0,0 +1,138 @@
+{* $Id: index.tpl 2352 2008-05-20 00:27:26Z patdenice $ *}
+
+{$MENUBAR}
+{if !empty($PLUGIN_INDEX_CONTENT_BEFORE)}{$PLUGIN_INDEX_CONTENT_BEFORE}{/if}
+<div id="content" class="content">
+  <table id="table_content" border="0" cellspacing="0" cellpadding="0">
+    <tr>
+      <td id="section_up_left">&nbsp;</td>
+      <td id="section_up">&nbsp;</td>
+      <td id="section_up_right">&nbsp;</td>
+    </tr>
+    <tr>
+      <td id="section_left">&nbsp;</td>
+      <td id="section_in">
+		<div class="titrePage">
+		<ul class="categoryActions">
+		  {if isset($U_CADDIE) }
+		  <li><a href="{$U_CADDIE}" title="{'add to caddie'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/caddie_add.png" class="button" alt="{'caddie'|@translate}"/></a></li>
+		  {/if}
+	
+		  {if isset($U_EDIT) }
+		  <li><a href="{$U_EDIT}" title="{'edit category informations'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/category_edit.png" class="button" alt="{'edit'|@translate}"/></a></li>
+		  {/if}
+	
+		  {if isset($U_SEARCH_RULES) }
+		  <li><a href="{$U_SEARCH_RULES}" style="border:none;" onclick="popuphelp(this.href); return false;" title="{'Search rules'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/search_rules.png" class="button" alt="(?)"></a></li>
+		  {/if}
+	
+		  <li>&nbsp;</li>
+		  {if !empty($image_orders) }
+		  <li>
+		  {'Sort order'|@translate}:
+		  <select onchange="document.location = this.options[this.selectedIndex].value;">
+			{foreach from=$image_orders item=image_order }
+			<option value="{$image_order.URL}"{if $image_order.SELECTED} selected="selected"{/if}}>{$image_order.DISPLAY}</option>
+			{/foreach}
+		  </select>
+		  </li>
+		  {/if}
+	
+		  {if isset($U_SLIDESHOW) }
+		  <li><a href="{$U_SLIDESHOW}" title="{'slideshow'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/start_slideshow.png" class="button" alt="{'slideshow'|@translate}"/></a></li>
+		  {/if}
+	
+		  {if isset($U_MODE_FLAT) }
+		  <li><a href="{$U_MODE_FLAT}" title="{'mode_flat_hint'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/flat.png" class="button" alt="{'mode_flat_hint'|@translate}"></a></li>
+		  {/if}
+	
+		  {if isset($U_MODE_NORMAL) }
+		  <li><a href="{$U_MODE_NORMAL}" title="{'mode_normal_hint'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/normal_mode.png" class="button" alt="{'mode_normal_hint'|@translate}"></a></li>
+		  {/if}
+	
+		  {if isset($U_MODE_POSTED) }
+		  <li><a href="{$U_MODE_POSTED}" title="{'mode_posted_hint'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/calendar.png" class="button" alt="{'mode_posted_hint'|@translate}"></a></li>
+		  {/if}
+		  
+		  {if isset($U_MODE_CREATED) }
+		  <li><a href="{$U_MODE_CREATED}" title="{'mode_created_hint'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/calendar_created.png" class="button" alt="{'mode_created_hint'|@translate}"></a></li>
+		  {/if}
+		  
+		  {if !empty($PLUGIN_INDEX_ACTIONS)}{$PLUGIN_INDEX_ACTIONS}{/if}
+		</ul>
+	
+		  <h2>{$TITLE}</h2>
+		
+		  {if isset($chronology_views) }
+		  <div class="calendarViews">{'calendar_view'|@translate}:
+			<select onchange="document.location = this.options[this.selectedIndex].value;">
+			  {foreach from=$chronology_views item=view}
+			  <option value="{$view.VALUE}"{if $view.SELECTED} selected="selected"{/if}>{$view.CONTENT}</option>
+			  {/foreach}
+			</select>
+		  </div>
+		  {/if}
+		
+		  {if isset($chronology.TITLE) }
+		  <h2>{$chronology.TITLE}</h2>
+		  {/if}
+		
+		  </div> <!-- titrePage -->
+		
+		{if !empty($PLUGIN_INDEX_CONTENT_BEGIN)}{$PLUGIN_INDEX_CONTENT_BEGIN}{/if}
+		
+		{if !empty($category_search_results) }
+		<div style="font-size:16px;text-align:left;margin:10px">{'Category results for'|@translate} <strong>{$QUERY_SEARCH}</strong> :
+		  <em><strong>
+		  {foreach from=$category_search_results item=res name=res_loop}
+		  {if !$smarty.foreach.res_loop.first} &mdash; {/if}
+		  {$res}
+		  {/foreach}
+		  </strong></em>
+		</div>
+		{/if}
+		
+		{if !empty($tag_search_results) }
+		<div style="font-size:16px;text-align:left;margin:10px">{'Tag results for'|@translate} <strong>{$QUERY_SEARCH}</strong> :
+		  <em><strong>
+		  {foreach from=$tag_search_results item=res name=res_loop}
+		  {if !$smarty.foreach.res_loop.first} &mdash; {/if}
+		  {$res}
+		  {/foreach}
+		  </strong></em>
+		</div>
+		{/if}
+		
+		{if isset($FILE_CHRONOLOGY_VIEW) }
+		{include file=$FILE_CHRONOLOGY_VIEW}
+		{/if}
+		
+		{if !empty($CATEGORIES) }{$CATEGORIES}{/if}
+		{if !empty($THUMBNAILS) }{$THUMBNAILS}{/if}
+		
+		
+		{if !empty($NAV_BAR) }
+		<div class="navigationBar">
+		  {$NAV_BAR}
+		</div>
+		{/if}
+		
+		{if !empty($CONTENT_DESCRIPTION) }
+		<div class="additional_info">
+		  {$CONTENT_DESCRIPTION}
+		</div>
+		{/if}
+		
+		{if !empty($PLUGIN_INDEX_CONTENT_END) }{$PLUGIN_INDEX_CONTENT_END}{/if}
+      </td>
+	  <td id="section_right">&nbsp;</td>
+    </tr>
+    <tr>
+      <td id="section_bottom_left">&nbsp;</td>
+      <td id="section_bottom" >&nbsp;</td>
+      <td id="section_bottom_right" >&nbsp;</td>
+    </tr>
+  </table>
+</div> <!-- content -->
+
+{if !empty($PLUGIN_INDEX_CONTENT_AFTER)}{$PLUGIN_INDEX_CONTENT_AFTER}{/if}
Index: /extensions/floOs/install.tpl
===================================================================
--- /extensions/floOs/install.tpl	(revision 3334)
+++ /extensions/floOs/install.tpl	(revision 3334)
@@ -0,0 +1,255 @@
+{* $Id: install.tpl 2342 2008-05-15 18:43:33Z rub $ *}
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+"http://www.w3.org/TR/html4/strict.dtd">
+<html lang="fr">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset={$T_CONTENT_ENCODING}">
+<meta http-equiv="Content-script-type" content="text/javascript">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<title>Piwigo {$RELEASE}</title>
+{literal}
+<style type="text/css">
+
+body, input, select {
+  background-color:#cde;
+}
+
+body {
+  margin: 5px;
+  padding: 0;
+  font-size: 0.8em;
+  font-family:  Univers, Helvetica, Optima, "Bitstream Vera Sans", sans-serif;
+}
+
+body, table, input, form, select {
+  color:#369;
+  text-align:left;
+}
+
+a {
+  text-decoration: none;
+  color: #c60;
+}
+
+a:hover {
+  color: #f92;
+}
+
+table {
+  border-collapse:separate;
+}
+
+.title {
+  letter-spacing: 0.2em;
+  text-align : center;
+  font-size: 150%;
+  font-weight: bold;
+  padding: 0;
+  margin: 0.5em 0 1em 0;
+}
+
+.contenucellule {
+  border-color: #69c;
+  background-color:#eee;
+  margin:12px 20px;
+  border-width: 3px;
+  border-style: solid ;
+}
+
+.error_copy {
+  color: #900;
+}
+
+th, .submit {
+  text-align: center;
+  font-weight: bold;
+  background-color: #369;
+}
+
+th {
+  font-size: 120%;
+  margin-bottom:10px;
+  color:#fff;
+}
+
+td.row {
+  font-size: 90%;
+}
+
+.submit {
+  color: #cde
+}
+
+.header {
+  font-weight: normal;
+  text-align: center;
+  margin: 20px;
+}
+
+.infos {
+  padding: 15px;
+  font-weight: normal;
+  text-align: left;
+}
+
+.infos_title {
+  font-size: 150%;
+  padding: 15px;
+  font-weight: bold;
+  text-align: left;
+}
+
+.errors {
+  text-align: left;
+  margin: 25px;
+  color: #900;
+  background-color: #ffe1e1;
+  border:1px solid red;
+}
+</style>
+{/literal}
+</head>
+<body>
+  <table style="width:100%;height:100%">
+    <tr align="center" valign="middle">
+    <td>
+    <div class="title">Piwigo {$RELEASE}</div>
+      <table class="table1">
+      {if isset($errors)}
+      <tr>
+      <td class="contenucellule" colspan="3">
+        <div class="errors">
+        <ul>
+          {foreach from=$errors item=error}
+          <li>{$error}</li>
+          {/foreach}
+        </ul>
+        </div>
+      </td>
+      </tr>
+      {/if}
+      {if isset($infos)}
+      <tr>
+      <td class="contenucellule" colspan="3">
+        <div class="infos">
+        <ul>
+          {foreach from=$infos item=info}
+          <li>{$info}</li>
+          {/foreach}
+        </ul>
+        </div>
+      </td>
+      </tr>
+      {/if}
+    <tr>
+    <td class="contenucellule">
+
+{if isset($error_copy)}
+{'step1_err_copy'|@translate} :
+<br />-----------------------------------------------------<br />
+<div class="error_copy">{$error_copy}</div>
+-----------------------------------------------------<br />
+{/if}
+
+{if isset($install)}
+<form method="POST" action="{$F_ACTION}" name="install_form">
+  <table>
+    <tr>
+      <th colspan="3">{'Initial_config'|@translate}</th>
+    </tr>
+    <tr>
+      <td style="width:30%;">{'Default_lang'|@translate}</td>
+      <td colspan="2" align="left">
+    <select name="language" onchange="document.location = 'install.php?language='+this.options[this.selectedIndex].value;">
+    {html_options options=$language_options selected=$language_selection}
+    </select>
+      </td>
+    </tr>
+    <tr>
+      <td colspan="3">&nbsp;</td>
+    </tr>
+    <tr>
+      <th colspan="3">{'step1_title'|@translate}</th>
+    </tr>
+    <tr>
+      <td>{'step1_host'|@translate}</td>
+      <td align=center><input type="text" name="dbhost" value="{$F_DB_HOST}" /></td>
+      <td class="row">{'step1_host_info'|@translate}</td>
+    </tr>
+    <tr>
+      <td>{'step1_user'|@translate}</td>
+      <td align=center><input type="text" name="dbuser" value="{$F_DB_USER}" /></td>
+      <td class="row">{'step1_user_info'|@translate}</td>
+    </tr>
+    <tr>
+      <td>{'step1_pass'|@translate}</td>
+      <td align=center><input type="password" name="dbpasswd" value="" /></td>
+      <td class="row">{'step1_pass_info'|@translate}</td>
+    </tr>
+    <tr>
+      <td>{'step1_database'|@translate}</td>
+      <td align=center><input type="text" name="dbname" value="{$F_DB_NAME}" /></td>
+      <td class="row">{'step1_database_info'|@translate}</td>
+    </tr>
+    <tr>
+      <td>{'step1_prefix'|@translate}</td>
+      <td align=center><input type="text" name="prefix" value="{$F_DB_PREFIX}" /></td>
+      <td class="row">{'step1_prefix_info'|@translate}</td>
+    </tr>
+    <tr>
+     <td colspan="3">&nbsp;</td>
+    </tr>
+    <tr>
+      <th colspan="3">{'step2_title'|@translate}</th>
+    </tr>
+    <tr>
+      <td>{'install_webmaster'|@translate}</td>
+      <td align="center"><input type="text" name="admin_name" value="{$F_ADMIN}" /></td>
+      <td class="row">{'install_webmaster_info'|@translate}</td>
+    </tr>
+    <tr>
+      <td>{'step2_pwd'|@translate}</td>
+      <td align="center"><input type="password" name="admin_pass1" value="" /></td>
+      <td class="row">{'step2_pwd_info'|@translate}</td>
+    </tr>
+    <tr>
+      <td>{'step2_pwd_conf'|@translate}</td>
+      <td align="center"><input type="password" name="admin_pass2" value="" /></td>
+      <td class="row">{'step2_pwd_conf_info'|@translate}</td>
+    </tr>
+    <tr>
+      <td>{'conf_mail_webmaster'|@translate}</td>
+      <td align="center"><input type="text" name="admin_mail" value="{$F_ADMIN_EMAIL}" /></td>
+      <td class="row">{'conf_mail_webmaster_info'|@translate}</td>
+    </tr>
+    <tr>
+      <td colspan="3">&nbsp;</td>
+    </tr>
+    <tr>
+      <td colspan="3" align="center">
+        <input class="submit" type="submit" name="install" value="{'Start_Install'|@translate}" />
+      </td>
+    </tr>
+    <tr>
+      <td colspan="3">&nbsp;</td>
+    </tr>
+  </table>
+</form>
+{else}
+<div class="infos_title">
+{'install_end_title'|@translate}
+</div>
+<div class="infos">
+{'install_end_message'|@translate}
+</div>
+{/if}
+
+              </td>
+            </tr>
+          </table>
+          <div class="header">{$L_INSTALL_HELP}</div>
+        </td>
+      </tr>
+    </table>
+  </body>
+</html>
Index: /extensions/floOs/layout.css
===================================================================
--- /extensions/floOs/layout.css	(revision 3334)
+++ /extensions/floOs/layout.css	(revision 3334)
@@ -0,0 +1,15 @@
+/* $Id: layout.css 2091 2007-09-13 23:30:46Z rvelices $ */
+
+/* template css */
+@import "menubar.css";
+@import "content.css";
+@import "thumbnails.css";
+@import "picture.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: /extensions/floOs/local-layout.css
===================================================================
--- /extensions/floOs/local-layout.css	(revision 3334)
+++ /extensions/floOs/local-layout.css	(revision 3334)
@@ -0,0 +1,1 @@
+/* You can modify this file */
Index: /extensions/floOs/mail/index.php
===================================================================
--- /extensions/floOs/mail/index.php	(revision 3334)
+++ /extensions/floOs/mail/index.php	(revision 3334)
@@ -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: /extensions/floOs/mail/text/html/admin/cat_group_info.tpl
===================================================================
--- /extensions/floOs/mail/text/html/admin/cat_group_info.tpl	(revision 3334)
+++ /extensions/floOs/mail/text/html/admin/cat_group_info.tpl	(revision 3334)
@@ -0,0 +1,9 @@
+{* $Id: cat_group_info.tpl 2278 2008-03-13 01:43:45Z rvelices $ *}
+<div id="cat_group_info">
+<h2>{'Informations'|@translate}</h2>
+<p>{$IMG_URL}</p>
+<p>{'Hello,'|@translate}</p>
+<p>{'Come to discover the category:'|@translate} <a href="{$LINK}">{$CAT_NAME}</a></p>
+<p>{$CPL_CONTENT}</p>
+<p>{'See you soon.'|@translate}</p>
+</div>
Index: /extensions/floOs/mail/text/html/admin/index.php
===================================================================
--- /extensions/floOs/mail/text/html/admin/index.php	(revision 3334)
+++ /extensions/floOs/mail/text/html/admin/index.php	(revision 3334)
@@ -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: /extensions/floOs/mail/text/html/admin/notification_by_mail.tpl
===================================================================
--- /extensions/floOs/mail/text/html/admin/notification_by_mail.tpl	(revision 3334)
+++ /extensions/floOs/mail/text/html/admin/notification_by_mail.tpl	(revision 3334)
@@ -0,0 +1,57 @@
+{* $Id: notification_by_mail.tpl 2285 2008-03-18 23:43:38Z rvelices $ *}
+<div id="nbm_message">
+<h2>{'Notification'|@translate}</h2>
+<p>{'nbm_content_hello_1'|@translate}{$USERNAME}{'nbm_content_hello_2'|@translate}</p>
+
+{if isset($subscribe_by_admin)}
+<p>{'nbm_content_subscribe_by_admin'|@translate}</p>
+{/if}
+{if isset($subscribe_by_himself)}
+<p>{'nbm_content_subscribe_by_himself'|@translate}</p>
+{/if}
+{if isset($unsubscribe_by_admin)}
+<p>{'nbm_content_unsubscribe_by_admin'|@translate}</p>
+{/if}
+{if isset($unsubscribe_by_himself)}
+<p>{'nbm_content_unsubscribe_by_himself'|@translate}</p>
+{/if}
+{if isset($content_new_elements_single)}
+<p>{'nbm_content_new_elements'|@translate}{'nbm_content_new_elements_single'|@translate}{$content_new_elements_single.DATE_SINGLE}.</p>
+{/if}
+{if isset($content_new_elements_between)}
+<p>{'nbm_content_new_elements'|@translate}{'nbm_content_new_elements_between_1'|@translate}{$content_new_elements_between.DATE_BETWEEN_1}{'nbm_content_new_elements_between_2'|@translate}{$content_new_elements_between.DATE_BETWEEN_2}.</p>
+{/if}
+
+{if not empty($global_new_lines)}
+<ul id="nbm_new_line">
+{foreach from=$global_new_lines item=line}
+  <li>{$line}</li>
+{/foreach}
+</ul>
+{/if}
+
+{if not empty($custom_mail_content)}
+<p>{$custom_mail_content}</p>
+{/if}
+
+{if not empty($GOTO_GALLERY_TITLE)}
+<p>{'nbm_content_goto_1'|@translate}<a href="{$GOTO_GALLERY_URL}">{$GOTO_GALLERY_TITLE}</a>{'nbm_content_goto_2'|@translate}</p>
+{/if}
+<p>{'nbm_content_byebye'|@translate}</p>
+<p style="text-align:center">{$SEND_AS_NAME}</p>
+<p>
+<br/><hr/>
+{'nbm_content_unsubscribe_link'|@translate}{'nbm_content_click_on'|@translate}<a href="{$UNSUBSCRIBE_LINK}">{$UNSUBSCRIBE_LINK}</a><br/>
+{'nbm_content_subscribe_link'|@translate}{'nbm_content_click_on'|@translate}<a href="{$SUBSCRIBE_LINK}">{$SUBSCRIBE_LINK}</a><br/>
+{'nbm_content_problem_contact'|@translate}<a href="mailto:{$CONTACT_EMAIL}?subject={'nbm_content_pb_contact_object'|@translate}">{$CONTACT_EMAIL}</a><br/>
+<hr/><br/>
+</p>
+{if not empty($recent_posts)}
+</div>
+<div id="nbm_recent_post">
+  {foreach from=$recent_posts item=recent_post }
+  <h2>{$recent_post.TITLE}</h2>
+  {$recent_post.HTML_DATA}
+  {/foreach}
+{/if}
+</div>
Index: /extensions/floOs/mail/text/html/footer.tpl
===================================================================
--- /extensions/floOs/mail/text/html/footer.tpl	(revision 3334)
+++ /extensions/floOs/mail/text/html/footer.tpl	(revision 3334)
@@ -0,0 +1,20 @@
+{* $Id: footer.tpl 2342 2008-05-15 18:43:33Z rub $ *}
+</div> <!-- content -->
+<div id="copyright">
+<hr/>
+ {* 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="PWG">
+  <span class="P">Pi</span><span class="W">wi</span><span class="G">go</span></a>
+  {$VERSION}
+  - {'send_mail'|@translate}
+  <a href="mailto:{$MAIL}?subject={$TITLE_MAIL}">{'Webmaster'|@translate}</a>
+
+</div> <!-- copyright -->
+</div> <!-- the_page -->
+
+</body>
+</html>
Index: /extensions/floOs/mail/text/html/global-mail-css.tpl
===================================================================
--- /extensions/floOs/mail/text/html/global-mail-css.tpl	(revision 3334)
+++ /extensions/floOs/mail/text/html/global-mail-css.tpl	(revision 3334)
@@ -0,0 +1,12 @@
+{* $Id: global-mail-css.tpl 2285 2008-03-18 23:43:38Z rvelices $ *}
+/* Global mail css */
+
+body {ldelim} font-family: Univers, Helvetica, Optima; font-size:12px; margin:0px; padding:0px; }
+#the_page {ldelim} margin:0px; padding:0px; text-align:left;}
+#content {ldelim} margin:0px; padding:82px 0px 0px 62px; width:732px;}
+hr {ldelim} width:632px; margin-left:0;}
+#copyright {ldelim} font-size:10px; margin:0px; padding:48px 0px 32px 62px;}
+.PWG {ldelim} font-family:verdana, sans-serif !important; font-size:0.9em; font-weight:normal; letter-spacing:0px;}
+h2 {ldelim} padding:7px 15px; width:617px; font-weight:bold;}
+img {ldelim} margin:16px; border:16px solid #aaa; -moz-border-radius: 4px; border-radius: 4px 4px; }
+img:hover {ldelim} padding: 15px; border: 1px solid yellow; -moz-border-radius: 4px; border-radius: 4px 4px; }
Index: /extensions/floOs/mail/text/html/header.tpl
===================================================================
--- /extensions/floOs/mail/text/html/header.tpl	(revision 3334)
+++ /extensions/floOs/mail/text/html/header.tpl	(revision 3334)
@@ -0,0 +1,19 @@
+{* $Id: header.tpl 2352 2008-05-20 00:27:26Z patdenice $ *}
+-----={$BOUNDARY_KEY}
+Content-Type: {$CONTENT_TYPE}; charset="{$CONTENT_ENCODING}";
+Content-Transfer-Encoding: 8bit
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="{$LANG}" dir="{$DIR}">
+<head>
+<title>Piwigo Mail</title>
+<meta http-equiv="Content-Type" content="text/html; charset={$CONTENT_ENCODING}">
+<style><!-- /* Mini style for mails */
+{if isset($GLOBAL_MAIL_CSS)}{$GLOBAL_MAIL_CSS}{/if}
+{if isset($MAIL_CSS)}{$MAIL_CSS}{/if}
+{if isset($LOCAL_MAIL_CSS)}{$LOCAL_MAIL_CSS}{/if}
+--></style>
+</head>
+<body>
+<div id="the_page">
+<div id="content" class="content">
Index: /extensions/floOs/mail/text/html/images/index.php
===================================================================
--- /extensions/floOs/mail/text/html/images/index.php	(revision 3334)
+++ /extensions/floOs/mail/text/html/images/index.php	(revision 3334)
@@ -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: /extensions/floOs/mail/text/html/index.php
===================================================================
--- /extensions/floOs/mail/text/html/index.php	(revision 3334)
+++ /extensions/floOs/mail/text/html/index.php	(revision 3334)
@@ -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: /extensions/floOs/mail/text/index.php
===================================================================
--- /extensions/floOs/mail/text/index.php	(revision 3334)
+++ /extensions/floOs/mail/text/index.php	(revision 3334)
@@ -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: /extensions/floOs/mail/text/plain/admin/cat_group_info.tpl
===================================================================
--- /extensions/floOs/mail/text/plain/admin/cat_group_info.tpl	(revision 3334)
+++ /extensions/floOs/mail/text/plain/admin/cat_group_info.tpl	(revision 3334)
@@ -0,0 +1,9 @@
+{* $Id: cat_group_info.tpl 2278 2008-03-13 01:43:45Z rvelices $ *}
+{'Hello,'|@translate}
+
+{'Come to discover the category:'|@translate} {$CAT_NAME}
+{$LINK}
+
+{$CPL_CONTENT}
+
+{'See you soon.'|@translate}
Index: /extensions/floOs/mail/text/plain/admin/index.php
===================================================================
--- /extensions/floOs/mail/text/plain/admin/index.php	(revision 3334)
+++ /extensions/floOs/mail/text/plain/admin/index.php	(revision 3334)
@@ -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: /extensions/floOs/mail/text/plain/admin/notification_by_mail.tpl
===================================================================
--- /extensions/floOs/mail/text/plain/admin/notification_by_mail.tpl	(revision 3334)
+++ /extensions/floOs/mail/text/plain/admin/notification_by_mail.tpl	(revision 3334)
@@ -0,0 +1,42 @@
+{* $Id: notification_by_mail.tpl 2285 2008-03-18 23:43:38Z rvelices $ *}
+{'nbm_content_hello_1'|@translate}{$USERNAME}{'nbm_content_hello_2'|@translate}
+
+{if isset($subscribe_by_admin)}
+{'nbm_content_subscribe_by_admin'|@translate}
+{/if}
+{if isset($subscribe_by_himself)}
+{'nbm_content_subscribe_by_himself'|@translate}
+{/if}
+{if isset($unsubscribe_by_admin)}
+{'nbm_content_unsubscribe_by_admin'|@translate}
+{/if}
+{if isset($unsubscribe_by_himself)}
+{'nbm_content_unsubscribe_by_himself'|@translate}
+{/if}
+{if isset($content_new_elements_single)}
+{'nbm_content_new_elements'|@translate}{'nbm_content_new_elements_single'|@translate}{$content_new_elements_single.DATE_SINGLE}.
+{/if}
+{if isset($content_new_elements_between)}
+{'nbm_content_new_elements'|@translate}{'nbm_content_new_elements_between_1'|@translate}{$content_new_elements_between.DATE_BETWEEN_1}{'nbm_content_new_elements_between_2'|@translate}{$content_new_elements_between.DATE_BETWEEN_2}.
+{/if}
+{if not empty($global_new_lines)}
+{foreach from=$global_new_lines item=line}
+  o {$line}
+{/foreach}
+{/if}
+{if not empty($custom_mail_content)}
+{$custom_mail_content}
+{/if}
+{if not empty($GOTO_GALLERY_TITLE)}
+{'nbm_content_goto_1'|@translate}{$GOTO_GALLERY_TITLE} {$GOTO_GALLERY_URL} {'nbm_content_goto_2'|@translate}
+{/if}
+
+{'nbm_content_byebye'|@translate}
+  {$SEND_AS_NAME}
+
+______________________________________________________________________________
+
+{'nbm_content_unsubscribe_link'|@translate}{'nbm_content_click_on'|@translate}{$UNSUBSCRIBE_LINK}
+{'nbm_content_subscribe_link'|@translate}{'nbm_content_click_on'|@translate}{$SUBSCRIBE_LINK}
+{'nbm_content_problem_contact'|@translate}{$CONTACT_EMAIL}
+______________________________________________________________________________
Index: /extensions/floOs/mail/text/plain/footer.tpl
===================================================================
--- /extensions/floOs/mail/text/plain/footer.tpl	(revision 3334)
+++ /extensions/floOs/mail/text/plain/footer.tpl	(revision 3334)
@@ -0,0 +1,4 @@
+{* $Id: footer.tpl 2342 2008-05-15 18:43:33Z rub $ *}
+
+------------------------
+Piwigo {$VERSION}
Index: /extensions/floOs/mail/text/plain/header.tpl
===================================================================
--- /extensions/floOs/mail/text/plain/header.tpl	(revision 3334)
+++ /extensions/floOs/mail/text/plain/header.tpl	(revision 3334)
@@ -0,0 +1,4 @@
+{* $Id: header.tpl 2278 2008-03-13 01:43:45Z rvelices $ *}
+-----={$BOUNDARY_KEY}
+Content-Type: {$CONTENT_TYPE}; charset="{$CONTENT_ENCODING}";
+Content-Transfer-Encoding: 8bit
Index: /extensions/floOs/mail/text/plain/index.php
===================================================================
--- /extensions/floOs/mail/text/plain/index.php	(revision 3334)
+++ /extensions/floOs/mail/text/plain/index.php	(revision 3334)
@@ -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: /extensions/floOs/mainpage_categories.tpl
===================================================================
--- /extensions/floOs/mainpage_categories.tpl	(revision 3334)
+++ /extensions/floOs/mainpage_categories.tpl	(revision 3334)
@@ -0,0 +1,27 @@
+{* $Id: mainpage_categories.tpl 2231 2008-03-01 13:12:07Z rvelices $ *}
+
+<ul class="thumbnailCategories">
+  {foreach from=$category_thumbnails item=cat}
+  <li>
+    <div class="thumbnailCategory">
+      <div class="illustration">
+        <a href="{$cat.URL}">
+          <img src="{$cat.TN_SRC}" alt="{$cat.ALT}" title="{'hint_category'|@translate}">
+        </a>
+      </div>
+      <div class="description">
+        <h3>
+          <a href="{$cat.URL}">{$cat.NAME}</a>
+          {$cat.ICON}
+        </h3>
+        {if isset($cat.INFO_DATES) }
+        <p>{$cat.INFO_DATES}</p>
+        {/if}
+        <p>{$cat.CAPTION_NB_IMAGES}</p>
+        <p>{$cat.DESCRIPTION}</p>
+      </div>
+    </div>
+  </li>
+  {/foreach}
+</ul>
+
Index: /extensions/floOs/menubar.css
===================================================================
--- /extensions/floOs/menubar.css	(revision 3334)
+++ /extensions/floOs/menubar.css	(revision 3334)
@@ -0,0 +1,200 @@
+#menubar {
+	float: left;
+	margin: 0 0 10px 1em;
+	padding: 0;
+	display: inline;
+	text-align: left; /* follow-up of the "be nice to IE5" rule */
+}
+
+#menubar DL, #menubar DT, #menubar DD {
+	margin: 0; padding: 0; display: block;
+}
+
+#menubar .button {
+	margin: 0 2px;
+	width: auto;
+	padding: 0;
+	text-indent: 0;
+	list-style: none;
+	text-align: center;
+	float: right;
+}
+#menubar .button_res {
+	margin: 0 2px;
+	width: auto;
+	padding: 0;
+	text-indent: 0;
+	list-style: none;
+	text-align: center;
+	float: left;
+}
+
+/* H2 properties copied here */
+#menubar DT {
+	font-weight: bold;
+	margin: 0;
+	padding: 5px 5px 5px 5px;
+	font-size: 120%;
+	text-align: center;
+}
+
+#menubar UL,
+#menubar HR,
+#menubar FORM,
+#menubar P, /* ooh, careful... */
+#menubar .totalImages {
+	font-size: 92%;
+	margin: 10px 0 10px 10px;
+}
+#menubar UL {
+	list-style-type: square;
+	list-style-position: inside;
+	padding: 0 0 0 2px;
+}
+#menubar UL UL {
+	font-size: 100%;
+	margin-top: 0;
+	margin-bottom: 0;
+}
+
+#menubar LI.selected A {
+	font-weight: bold;
+}
+
+#menubar LI.selected LI A {
+	font-weight: normal;
+}
+
+#menubar .menuInfoCatByChild {
+  font-size: 80%;
+  font-style: italic;
+}
+
+#menubar HR {
+	display: block;
+	margin: 10px auto;
+	width: 90%;
+}
+#menubar INPUT {
+	text-indent: 2px;
+}
+
+/* quickconnect form */
+FORM#quickconnect {
+	margin: 0;
+	padding: 5px;
+}
+
+FORM#quickconnect FIELDSET {
+	margin: 0;
+	padding: 0 0 0.5em 0;
+}
+
+FORM#quickconnect P {
+	margin-left: 0;
+	font-size: 100%;
+	float: left;
+	clear: left;
+}
+
+FORM#quickconnect P INPUT {
+	margin: 0;
+}
+
+FORM#quickconnect UL.actions {
+	display: inline;
+	float: right;
+	padding: 0;
+	text-align: right;	/* Opera 7.5 */
+}
+FORM#quickconnect FIELDSET>UL.actions {
+	width: 40%;		/* Opera 7.5 cannot find why width:auto fails :-( */
+}
+
+FORM#quickconnect UL.actions,
+FORM#quickconnect P,
+FORM#quickconnect LABEL {
+	padding: 0 0.5em 0 0.5em;
+}
+
+FORM#quickconnect LABEL {
+	margin:0;
+	width: 100%;
+	box-sizing: border-box; /* CSS3 */
+}
+
+FORM#quickconnect INPUT[type=text],
+FORM#quickconnect INPUT[type=password] {
+	width: 100%;	/* mozilla can handle 100% */
+}
+/* same as above for IE with inputfix.htc
+unfortunately IE doesn't handle that correctly
+ so you should set a width in em in local_layout.css */
+/*FORM#quickconnect INPUT.text,
+FORM#quickconnect INPUT.password {
+  width: 95%;
+}*/
+
+FORM#quicksearch {
+	margin-top: 4px;
+	margin-bottom: 1px;
+}
+INPUT#qsearchInput {
+	width: 90%;
+}
+#menubar #mbMenu p { margin: 0px; padding: 0px; }
+
+#menubar #menuTagCloud {
+	text-align: center;
+	margin: 5px 0;
+}
+
+#menubar #menuTagCloud LI
+{
+	display: inline;
+	white-space: nowrap;	/* No line break in the LI but Opera set nowrap to */
+}
+
+
+/* menu en haut */
+
+#div_Menu
+{
+	padding: 0px;
+	clear:both;
+	margin-right: 0px;
+	margin-bottom: 10px;
+	margin-left: 0px;
+	height:25px;
+}
+
+ul#Menu
+{
+	height:22px;
+	margin: 0;
+	list-style-type: none;
+	padding-top: 0;
+	padding-right: 0;
+	padding-bottom: 0;
+	padding-left: 8px;
+}
+ul#Menu li
+{
+	float: left;
+	text-align: center;
+	display: block;
+	margin:0 10px;
+	height:22px;
+}
+ul#Menu li a
+{
+	width: auto;
+	line-height: 30px;
+	font-size: 1em;
+	text-decoration: none;
+}
+
+input#qsearchInput {
+width: 150px;
+text-align:left;
+}
Index: /extensions/floOs/menubar.tpl
===================================================================
--- /extensions/floOs/menubar.tpl	(revision 3334)
+++ /extensions/floOs/menubar.tpl	(revision 3334)
@@ -0,0 +1,38 @@
+{if !empty($blocks) }
+
+{if isset($blocks.mbMenu)}
+{assign var='block' value=$blocks.mbMenu}
+{assign var='myblock' value=$blocks.mbCategories } 
+{include file=$block->template|@get_extent:'mbMenu' }
+{/if}
+<div id="menubar">
+  <table id="table_menu">
+    <tr id="up">
+      <td class="mb_left">&nbsp;</td>
+      <td class="mb_middle">&nbsp;</td>
+      <td class="mb_right">&nbsp;</td>
+    </tr>
+    {foreach from=$blocks key=id item=block}
+    {if ( not empty($block->template) or not empty($block->raw_content) ) and $id != 'mbMenu'}
+    <tr id="tr_{$id}" class="middle">
+      <td class="mb_left">&nbsp;</td>
+      <td class="mb_middle">
+        <dl id="{$id}">
+          {if not empty($block->template)}
+          {include file=$block->template|@get_extent:$id }
+          {else}
+          {$block->raw_content|@default}
+          {/if}
+        </dl></td>
+      <td class="mb_right">&nbsp;</td>
+    </tr>
+    {/if}
+    {/foreach}
+    <tr id="bottom">
+      <td class="mb_left">&nbsp;</td>
+      <td class="mb_middle">&nbsp;</td>
+      <td class="mb_right">&nbsp;</td>
+    </tr>
+  </table>
+</div>
+{/if} 
Index: /extensions/floOs/menubar_categories.tpl
===================================================================
--- /extensions/floOs/menubar_categories.tpl	(revision 3334)
+++ /extensions/floOs/menubar_categories.tpl	(revision 3334)
@@ -0,0 +1,20 @@
+{if isset($U_START_FILTER)} 
+	<a href="{$U_START_FILTER}" title="{'start_filter_hint'|@translate}" rel="nofollow">
+	<img src="{$ROOT_URL}{$themeconf.icon_dir}/start_filter.png" class="button" alt="start filter"></a>
+{/if}
+{if isset($U_STOP_FILTER)}
+	<a href="{$U_STOP_FILTER}" title="{'stop_filter_hint'|@translate}">	
+	<img src="{$ROOT_URL}{$themeconf.icon_dir}/stop_filter.png" class="button" alt="stop filter"></a>
+{/if}
+<dt class="titre_acordeon_0">
+	<a href="#"><img src="{$ROOT_URL}{$themeconf.icon_dir}/menu/small_resizable.png" class="button_res" alt="[_]">{'Categories'|@translate}</a>
+</dt>
+<dd>
+{$block->data.MENU_CATEGORIES_CONTENT}
+	{if isset($block->data.U_UPLOAD)}
+		<ul>
+			<li> <a href="{$block->data.U_UPLOAD}">{'upload_picture'|@translate}</a> </li>
+		</ul>
+	{/if}
+	<p class="totalImages">{$pwg->l10n_dec('%d element', '%d elements', $block->data.NB_PICTURE)}</p>
+</dd>
Index: /extensions/floOs/menubar_identification.tpl
===================================================================
--- /extensions/floOs/menubar_identification.tpl	(revision 3334)
+++ /extensions/floOs/menubar_identification.tpl	(revision 3334)
@@ -0,0 +1,59 @@
+
+<dt class="titre_acordeon"><a href="#"><img src="{$ROOT_URL}{$themeconf.icon_dir}/menu/small_resizable.png" class="button_res" alt="[_]">{$block->get_title()|@translate}</a></dt>
+<dd> {if isset($USERNAME)}
+  <p>{'hello'|@translate}&nbsp;{$USERNAME}&nbsp;!</p>
+  {/if}
+  <ul>
+    {if isset($U_REGISTER)}
+    <li><a href="{$U_REGISTER}" title="{'Create a new account'|@translate}" rel="nofollow">{'Register'|@translate}</a></li>
+    {/if}
+    
+    {if isset($U_LOGIN)}
+    <li><a href="{$U_LOGIN}" rel="nofollow">{'Connection'|@translate}</a></li>
+    {/if}
+    
+    {if isset($U_LOGOUT)}
+    <li><a href="{$U_LOGOUT}">{'logout'|@translate}</a></li>
+    {/if}
+    
+    {if isset($U_PROFILE)}
+    <li><a href="{$U_PROFILE}" title="{'hint_customize'|@translate}">{'customize'|@translate}</a></li>
+    {/if}
+    
+    {if isset($U_ADMIN)}
+    <li><a href="{$U_ADMIN}" title="{'hint_admin'|@translate}">{'admin'|@translate}</a></li>
+    {/if}
+  </ul>
+  {if isset($U_LOGIN)}
+  <form method="post" action="{$U_LOGIN}" id="quickconnect">
+    <fieldset>
+    <legend>{'Quick connect'|@translate}</legend>
+    <div>
+      <label for="username">{'Username'|@translate}</label>
+      <br/>
+      <input type="text" name="username" id="username" value="" style="width:99%">
+    </div>
+    <div>
+      <label for="password">{'Password'|@translate}</label>
+      <br/>
+      <input type="password" name="password" id="password" style="width:99%">
+    </div>
+    {if $AUTHORIZE_REMEMBERING}
+    <div>
+      <label> {'remember_me'|@translate}
+      <input type="checkbox" name="remember_me" value="1">
+      </label>
+    </div>
+    {/if}
+    <div>
+      <ul class="actions">
+        <li><a href="{$U_LOST_PASSWORD}" title="{'Forgot your password?'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/lost_password.png" class="button" alt="{'Forgot your password?'|@translate}"></a></li>
+        {if isset($U_REGISTER)}
+        <li><a href="{$U_REGISTER}" title="{'Create a new account'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/register.png" class="button" alt="{'Register'|@translate}"/></a></li>
+        {/if}
+      </ul>
+      <input class="submit" type="submit" name="login" value="{'Submit'|@translate}">
+    </div>
+    </fieldset>
+  </form>
+  {/if} </dd>
Index: /extensions/floOs/menubar_links.tpl
===================================================================
--- /extensions/floOs/menubar_links.tpl	(revision 3334)
+++ /extensions/floOs/menubar_links.tpl	(revision 3334)
@@ -0,0 +1,10 @@
+<dt class="titre_acordeon"><a href="#"><img src="{$ROOT_URL}{$themeconf.icon_dir}/menu/small_resizable.png" class="button_res" alt="[_]">{$block->get_title()|@translate}</a></dt>
+<dd>
+  <ul>
+    {foreach from=$block->data item=link}
+    <li> <a href="{$link.URL}"
+					{if isset($link.new_window) }onclick="window.open(this.href, '{$link.new_window.NAME|@escape:'javascript'}','{$link.new_window.FEATURES|@escape:'javascript'}'); return false;"{/if}
+				> {$link.LABEL} </a> </li>
+    {/foreach}
+  </ul>
+</dd>
Index: /extensions/floOs/menubar_menu.tpl
===================================================================
--- /extensions/floOs/menubar_menu.tpl	(revision 3334)
+++ /extensions/floOs/menubar_menu.tpl	(revision 3334)
@@ -0,0 +1,20 @@
+<div id="div_Menu">
+    <ul id="Menu">
+	{foreach from=$block->data item=link}
+		{if is_array($link)}
+      <li><a href="{$link.URL}" title="{$link.TITLE}" {if isset($link.REL)}{$link.REL}{/if}><img src="{$ROOT_URL}{$themeconf.icon_dir}/menu/{cycle values="tag.png,search.png,chat.png,apropos.png,rss.png"}" alt="[*]"/>{$link.NAME}</a></li>
+		{/if}
+    {/foreach}
+      <li>
+	<form action="{$ROOT_URL}qsearch.php" method="get" id="quicksearch">
+		<p style="margin:0;padding:0">
+			<input type="text" name="q" id="qsearchInput" onfocus="if (value==qsearch_prompt) value='';" onblur="if (value=='') value=qsearch_prompt;" style="width:90%"/>
+		</p>
+	</form>
+	<script type="text/javascript">var qsearch_prompt="{'qsearch'|@translate|@escape:'javascript'}"; document.getElementById('qsearchInput').value=qsearch_prompt;</script>
+	</li>
+      <li><a href="{$myblock->data.U_CATEGORIES}" title="{'return to homepage'|@translate}"><img src="{$themeconf.icon_dir}/home.png" class="button" alt="{'home'|@translate}"/></a></li>
+
+	</ul>
+</div>
+
Index: /extensions/floOs/menubar_specials.tpl
===================================================================
--- /extensions/floOs/menubar_specials.tpl	(revision 3334)
+++ /extensions/floOs/menubar_specials.tpl	(revision 3334)
@@ -0,0 +1,10 @@
+
+<dt class="titre_acordeon"><a href="#"><img src="{$ROOT_URL}{$themeconf.icon_dir}/menu/small_resizable.png" class="button_res" alt="[_]">{$block->get_title()|@translate}</a></dt>
+<dd>
+  <ul>
+    {foreach from=$block->data item=link}
+    <li><a href="{$link.URL}" title="{$link.TITLE}" {if isset($link.REL)}{$link.REL}{/if}>{$link.NAME}</a></li>
+    {/foreach}
+  </ul>
+</dd>
+</dl>
Index: /extensions/floOs/menubar_tags.tpl
===================================================================
--- /extensions/floOs/menubar_tags.tpl	(revision 3334)
+++ /extensions/floOs/menubar_tags.tpl	(revision 3334)
@@ -0,0 +1,10 @@
+<dt class="titre_acordeon"><a href="#"><img src="{$ROOT_URL}{$themeconf.icon_dir}/menu/small_resizable.png" class="button_res" alt="[_]">{$block->get_title()|@translate}</a></dt>
+<dd>
+  <ul id="menuTagCloud">
+    {foreach from=$block->data item=tag}
+    <li> {if !empty($tag.U_ADD) } <a href="{$tag.U_ADD}"
+					title="{$pwg->l10n_dec('%d element are also linked to current tags', '%d elements are also linked to current tags', $tag.counter)}"
+					rel="nofollow"> <img src="{$ROOT_URL}{$themeconf.icon_dir}/add_tag.png" alt="+" /> </a> {/if} <a href="{$tag.URL}" class="tagLevel{$tag.level}" title="{'See elements linked to this tag only'|@translate}">{$tag.name}</a> </li>
+    {/foreach}
+  </ul>
+</dd>
Index: /extensions/floOs/month_calendar.tpl
===================================================================
--- /extensions/floOs/month_calendar.tpl	(revision 3334)
+++ /extensions/floOs/month_calendar.tpl	(revision 3334)
@@ -0,0 +1,70 @@
+{* $Id: month_calendar.tpl 2334 2008-05-08 01:13:13Z rvelices $ *}
+
+{if !empty($chronology_navigation_bars) }
+{foreach from=$chronology_navigation_bars item=bar}
+<div class="calendarBar">
+  {if isset($bar.previous)}
+    <div style="float:left">&laquo; <a href="{$bar.previous.URL}">{$bar.previous.LABEL}</a></div>
+  {/if}
+  {if isset($bar.next)}
+    <div style="float:right"><a href="{$bar.next.URL}">{$bar.next.LABEL}</a> &raquo;</div>
+  {/if}
+  {if isset($bar.CONTENT)}
+  {$bar.CONTENT}
+  {else}
+  &nbsp;
+  {/if}
+</div>
+{/foreach}
+{/if}
+
+{if !empty($chronology_calendar.calendar_bars) }
+{foreach from=$chronology_calendar.calendar_bars item=bar}
+<div class="calendarCalBar">
+  <span class="calCalHead"><a href="{$bar.U_HEAD}">{$bar.HEAD_LABEL}</a>  ({$bar.NB_IMAGES})</span><br/>
+  {$bar.NAV_BAR}
+</div>
+{/foreach}
+{/if}
+
+{if isset($chronology_calendar.month_view) }
+<table class="calMonth">
+ <thead>
+ <tr>
+ {foreach from=$chronology_calendar.month_view.wday_labels item=wday}
+	<td class="calDayHead">{$wday}</td>
+ {/foreach}
+ </tr>
+ </thead>
+{html_head} {*add the style to html head for strict standard compliance*}
+<style type="text/css">
+TABLE.calMonth TBODY TD, TABLE.calMonth TBODY TD DIV.calImg {ldelim}
+  width:{$chronology_calendar.month_view.CELL_WIDTH}px;height:{$chronology_calendar.month_view.CELL_HEIGHT}px;
+}
+</style>
+{/html_head}
+ {foreach from=$chronology_calendar.month_view.weeks item=week}
+ <tr>
+ 	{foreach from=$week item=day}
+ 	{if !empty($day)}
+ 		{if isset($day.IMAGE)}
+ 			<td class="calDayCellFull">
+	 			<div class="calBackDate">{$day.DAY}</div><div class="calForeDate">{$day.DAY}</div>
+	 			<div class="calImg">
+					<a href="{$day.U_IMG_LINK}">
+			  			<img style="{$day.IMAGE_STYLE}" src="{$day.IMAGE}" alt="{$day.IMAGE_ALT}" title="{$pwg->l10n_dec('%d element','%d elements', $day.NB_ELEMENTS)}" />
+					</a>
+				</div>
+ 		{else}
+ 			<td class="calDayCellEmpty">{$day.DAY}
+ 		{/if}
+ 	{else}
+ 		<td class="calDayCellBlank">
+ 	{/if}
+ 	</td>
+ 	{/foreach} {*day in week*}
+ </tr>
+ {/foreach}  {*week in month*}
+</table>
+{/if}
+
Index: /extensions/floOs/nbm.tpl
===================================================================
--- /extensions/floOs/nbm.tpl	(revision 3334)
+++ /extensions/floOs/nbm.tpl	(revision 3334)
@@ -0,0 +1,31 @@
+{* $Id: nbm.tpl 2352 2008-05-20 00:27:26Z patdenice $ *}
+
+<div id="content" class="content">
+  <div class="titrePage">
+    <ul class="categoryActions">
+      <li><a href="{$U_HOME}" title="{'Go through the gallery as a visitor'|@translate}"><img src="{$themeconf.icon_dir}/home.png" class="button" alt="{'home'|@translate}"/></a></li>
+    </ul>
+    <h2>{'nbm_item_notification'|@translate}</h2>
+  </div>
+
+  {if not empty($errors)}
+  <div class="errors">
+    <ul>
+      {foreach from=$errors item=error}
+      <li>{$error}</li>
+      {/foreach}
+    </ul>
+  </div>
+  {/if}
+
+  {if not empty($infos)}
+  <div class="infos">
+    <ul>
+      {foreach from=$infos item=info}
+      <li>{$info}</li>
+      {/foreach}
+    </ul>
+  </div>
+  {/if}
+
+</div>
Index: /extensions/floOs/not-ie.css
===================================================================
--- /extensions/floOs/not-ie.css	(revision 3334)
+++ /extensions/floOs/not-ie.css	(revision 3334)
@@ -0,0 +1,24 @@
+/* $Id: not-ie.css 2352 2008-05-20 00:27:26Z patdenice $ */
+
+/* All directives not supported by IE */
+/* can be overiden in any theme but not hidden to IE */
+
+.content UL.thumbnails SPAN.wrap2 {
+  -moz-border-radius: 4px;	/* round corners with Geko */
+  -webkit-border-radius: 4px; /* Safari webkit project */
+}
+.content DIV#comments {
+  padding-left: 5px;
+  padding-right: 5px;
+  -moz-box-sizing: padding-box !important;
+}
+FORM#quickconnect LABEL {
+  margin:0;
+  width: 100%;
+ -moz-box-sizing: padding-box !important;
+  box-sizing: border-box; /* CSS3 */
+}
+ul.tabsheet li {
+  -moz-border-radius: 6px 6px 0px 0px;	/* round corners with Geko */
+  -webkit-border-radius: 6px 6px 0px 0px; /* Safari webkit project */
+}
Index: /extensions/floOs/notification.tpl
===================================================================
--- /extensions/floOs/notification.tpl	(revision 3334)
+++ /extensions/floOs/notification.tpl	(revision 3334)
@@ -0,0 +1,15 @@
+{* $Id: notification.tpl 2352 2008-05-20 00:27:26Z patdenice $ *}
+<div id="content" class="content">
+
+  <div class="titrePage">
+    <ul class="categoryActions">
+      <li><a href="{$U_HOME}" title="{'return to homepage'|@translate}"><img src="{$themeconf.icon_dir}/home.png" class="button" alt="{'home'|@translate}"/></a></li>
+    </ul>
+    <h2>{'Notification'|@translate}</h2>
+  </div>
+
+  <p>{'The RSS notification feed provides notification on news from this website : new pictures, updated categories, new comments. Use a RSS feed reader.'|@translate}</p>
+
+  <p><a href="{$U_FEED_IMAGE_ONLY}">{'Image only RSS feed'|@translate}</a></p>
+  <p><a href="{$U_FEED}">{'Complete RSS feed'|@translate}</a></p>
+</div>
Index: /extensions/floOs/password.tpl
===================================================================
--- /extensions/floOs/password.tpl	(revision 3334)
+++ /extensions/floOs/password.tpl	(revision 3334)
@@ -0,0 +1,54 @@
+{* $Id: password.tpl 2352 2008-05-20 00:27:26Z patdenice $ *}
+<div id="content" class="content">
+
+  <div class="titrePage">
+    <ul class="categoryActions">
+      <li><a href="{$U_HOME}" title="{'Go through the gallery as a visitor'|@translate}"><img src="{$themeconf.icon_dir}/home.png" class="button" alt="{'home'|@translate}"/></a></li>
+    </ul>
+    <h2>{'Password forgotten'|@translate}</h2>
+  </div>
+
+  {if count($errors)}
+  <div class="errors">
+    <ul>
+      {foreach from=$errors item=error}
+      <li>{$error}</li>
+      {/foreach}
+    </ul>
+  </div>
+  {/if}
+
+  {if count($infos)}
+  <div class="infos">
+    <ul>
+      {foreach from=$infos item=info}
+      <li>{$info}</li>
+      {/foreach}
+    </ul>
+  </div>
+  {/if}
+
+<form action="{$F_ACTION}" method="post" class="properties">
+  <fieldset>
+    <legend>{'Retrieve password'|@translate}</legend>
+
+    <ul>
+      <li>
+        <span class="property">
+          <label for="mail_address">{'Email address'|@translate}</label>
+        </span>
+        <input class="login" type="text" name="mail_address" id="mail_address" size="40" maxlength="40" >
+      </li>
+      <li>
+        <span class="property">
+          <label for="no_mail_address">{'No email address'|@translate}</label>
+        </span>
+        <input type="checkbox" id="no_mail_address" name="no_mail_address" value="1">
+      </li>
+    </ul>
+  </fieldset>
+
+  <p><input class="submit" type="submit" name="submit" value="{'Send new password'|@translate}"></p>
+</form>
+
+</div> <!-- content -->
Index: /extensions/floOs/picture.css
===================================================================
--- /extensions/floOs/picture.css	(revision 3334)
+++ /extensions/floOs/picture.css	(revision 3334)
@@ -0,0 +1,169 @@
+/* $Id: picture.css 2295 2008-04-02 00:51:08Z rvelices $ */
+#imageHeaderBar {
+  padding-top: 2px;
+  padding-bottom: 2px;
+  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: 50px;
+}
+#imageToolBar A, #imageToolBar IMG {
+    display: block;
+    margin: 0; padding: 0;
+}
+#imageToolBar A {
+width: auto; 
+margin: auto 10px;
+}
+#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;
+}
+
+/**               les miniatures */
+.thumbLink {
+height:45px;
+width:auto;
+}
+.navThumb {
+    margin-top: 2px;
+}
+#thumbPrev {
+    float: right;
+	margin-right:0px;
+}
+
+#thumbNext {
+    float: right;
+	margin-left:0px;
+}
+#thumbCurrent {
+    float: right;
+	border:1px solid #FF0000;
+}
+#linkPrev {
+    margin-right: 10px;
+    margin-left: 5px;
+}
+
+#linkNext {
+    margin-right: 5px;
+    margin-left: 10px;
+}
+#action_pict {
+	float:left;
+	position: absolute;
+	left: 5px;
+	top: 300px;
+    width:150px;
+}
+#action_pict A, #action_pict IMG{
+	border: none;
+	margin-right: 2px;
+	margin-left: 2px;	
+}
+
+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;
+	margin:20px 30px 2em;
+}
+
+#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: /extensions/floOs/picture.tpl
===================================================================
--- /extensions/floOs/picture.tpl	(revision 3334)
+++ /extensions/floOs/picture.tpl	(revision 3334)
@@ -0,0 +1,266 @@
+{* $Id: picture.tpl 2435 2008-07-15 01:29:23Z rvelices $ *}
+{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}
+
+<div id="imageHeaderBar">
+  <div class="browsePath">
+    <a href="{$U_HOME}" rel="home">{'home'|@translate}</a>
+    {if !$IS_HOME}{$LEVEL_SEPARATOR}{$SECTION_TITLE}{/if}
+    {$LEVEL_SEPARATOR}{$current.TITLE}
+  </div>
+  <div class="imageNumber">{$PHOTO}</div>
+  {if $SHOW_PICTURE_NAME_ON_TITLE }
+  <h2>{$current.TITLE}</h2>
+  {/if}
+</div>
+
+{if !empty($PLUGIN_PICTURE_BEFORE)}{$PLUGIN_PICTURE_BEFORE}{/if}
+<div id="imageToolBar">
+  <div class="randomButtons">
+    {if !empty($U_SET_AS_REPRESENTATIVE) }
+      <a href="{$U_SET_AS_REPRESENTATIVE}" title="{'set as category representative'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/representative.png" class="button" alt="{'representative'|@translate}"></a>
+    {/if}
+    {if isset($U_ADMIN) }
+      <a href="{$U_ADMIN}" title="{'link_info_image'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/preferences.png" class="button" alt="{'edit'|@translate}"></a>
+    {/if}
+    {if isset($U_CADDIE) }{*caddie management BEGIN*}
+<script type="text/javascript">
+{literal}function addToCadie(aElement, rootUrl, id)
+{
+if (aElement.disabled) return;
+aElement.disabled=true; 
+var y = new PwgWS(rootUrl);
+
+y.callService(
+  "pwg.caddie.add", {image_id: id} ,
+  {
+    onFailure: function(num, text) { alert(num + " " + text); document.location=aElement.href; },
+    onSuccess: function(result) { aElement.disabled = false; }
+  }
+  );
+}{/literal}
+</script>
+      <a href="{$U_CADDIE}" onclick="addToCadie(this, '{$ROOT_URL|@escape:'javascript'}', {$current.id}); return false;" title="{'add to caddie'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/caddie_add.png" class="button" alt="{'caddie'|@translate}"></a>
+    {/if}{*caddie management END*}
+  </div>
+  {include file='picture_nav_buttons.tpl'|@get_extent:'picture_nav_buttons'}
+</div> <!-- imageToolBar -->
+
+<div id="theImage">
+{$ELEMENT_CONTENT}
+<div id="action_pict">
+    {if isset($U_SLIDESHOW_START) }
+      <a href="{$U_SLIDESHOW_START}" title="{'slideshow'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/start_slideshow.png" class="button" alt="{'slideshow'|@translate}"></a>
+    {/if}
+    {if isset($U_SLIDESHOW_STOP) }
+      <a href="{$U_SLIDESHOW_STOP}" title="{'slideshow_stop'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/stop_slideshow.png" class="button" alt="{'slideshow_stop'|@translate}"></a>
+    {/if}
+      <a href="{$U_METADATA}" title="{'picture_show_metadata'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/metadata.png" class="button" alt="metadata" /></a>
+    {if isset($current.U_DOWNLOAD) }
+      <a href="{$current.U_DOWNLOAD}" title="{'download_hint'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/save.png" class="button" alt="{'download'|@translate}"></a>
+    {/if}
+    {if isset($PLUGIN_PICTURE_ACTIONS)}{$PLUGIN_PICTURE_ACTIONS}{/if}
+    {if isset($favorite) }
+      <a href="{$favorite.U_FAVORITE}" title="{$favorite.FAVORITE_HINT}"><img src="{$favorite.FAVORITE_IMG}" class="button" alt="favorite" title="{$favorite.FAVORITE_HINT}"></a>
+    {/if}
+    {if isset($COMMENT_COUNT)}
+      <a href="#comments" title="{'comment'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/menu/comments.png" class="button" alt="{'comment'|@translate}"></a>
+    {/if}
+
+
+	{if isset($rating)}
+
+			<span id="updateRate">{if isset($rating.USER_RATE)}{'update_rate'|@translate}{else}{'new_rate'|@translate}{/if}</span>
+
+			<form action="{$rating.F_ACTION}" method="post" id="rateForm" style="margin:0;">
+			<div>&nbsp;
+			{foreach from=$rating.marks item=mark name=rate_loop}
+			{if !$smarty.foreach.rate_loop.first} | {/if}
+			{if isset($rating.USER_RATE) && $mark==$rating.USER_RATE}
+			  <input type="button" name="rate" value="{$mark}" class="rateButtonSelected" />
+			{else}
+			  <input type="submit" name="rate" value="{$mark}" class="rateButton" />
+			{/if}
+			{/foreach}
+			<script type="text/javascript" src="{$ROOT_URL}{$themeconf.template_dir}/rating.js"></script>
+			<script type="text/javascript">
+			makeNiceRatingForm( {ldelim}rootUrl: '{$ROOT_URL|@escape:"javascript"}', image_id: {$current.id},
+			updateRateText: "{'update_rate'|@translate|@escape:'javascript'}", updateRateElement: document.getElementById("updateRate"),
+			ratingSummaryText: "{'%.2f (rated %d times, standard deviation = %.2f)'|@translate|@escape:'javascript'}", ratingSummaryElement: document.getElementById("ratingSummary") {rdelim} );
+			</script>
+			</div>
+			</form>
+{/if}
+
+</div>
+{if isset($COMMENT_IMG)}
+<p>{$COMMENT_IMG}</p>
+{/if}
+
+{if isset($U_SLIDESHOW_STOP) }
+<p>
+  [ <a href="{$U_SLIDESHOW_STOP}">{'slideshow_stop'|@translate}</a> ]
+</p>
+{/if}
+
+</div>
+
+<table class="infoTable" summary="Some info about this picture">
+  <tr>
+    <td class="label">{'Author'|@translate}</td>
+    <td class="value">{if isset($INFO_AUTHOR)}{$INFO_AUTHOR}{else}{'N/A'|@translate}{/if}</td>
+  </tr>
+  <tr>
+    <td class="label">{'Created on'|@translate}</td>
+    <td class="value">{if isset($INFO_CREATION_DATE)}{$INFO_CREATION_DATE}{else}{'N/A'|@translate}{/if}</td>
+  </tr>
+  <tr>
+    <td class="label">{'Posted on'|@translate}</td>
+    <td class="value">{$INFO_POSTED_DATE}</td>
+  </tr>
+  <tr>
+    <td class="label">{'Dimensions'|@translate}</td>
+    <td class="value">{if isset($INFO_DIMENSIONS)}{$INFO_DIMENSIONS}{else}{'N/A'|@translate}{/if}</td>
+  </tr>
+  <tr>
+    <td class="label">{'File'|@translate}</td>
+    <td class="value">{$INFO_FILE}</td>
+  </tr>
+  <tr>
+    <td class="label">{'Filesize'|@translate}</td>
+    <td class="value">{if isset($INFO_FILESIZE)}{$INFO_FILESIZE}{else}{'N/A'|@translate}{/if}</td>
+  </tr>
+  <tr>
+    <td class="label">{'Tags'|@translate}</td>
+    <td class="value">
+      {if isset($related_tags)}
+        {foreach from=$related_tags item=tag name=tag_loop}{if !$smarty.foreach.tag_loop.first}, {/if}
+        <a href="{$tag.URL}">{$tag.name}</a>{/foreach}
+      {/if}
+    </td>
+  </tr>
+  <tr>
+    <td class="label">{'Categories'|@translate}</td>
+    <td class="value">
+      {if isset($related_categories)}
+      <ul>
+        {foreach from=$related_categories item=cat}
+        <li>{$cat}</li>
+        {/foreach}
+      </ul>
+      {/if}
+    </td>
+  </tr>
+  <tr>
+    <td class="label">{'Visits'|@translate}</td>
+    <td class="value">{$INFO_VISITS}</td>
+  </tr>
+  {if isset($available_permission_levels) }
+  <tr>
+    <td class="label">{'Privacy level'|@translate}:</td>
+    <td class="value"> 
+<script type="text/javascript">
+{literal}function setPrivacyLevel(selectElement, rootUrl, id, level)
+{
+selectElement.disabled = true;
+var y = new PwgWS(rootUrl);
+y.callService(
+  "pwg.images.setPrivacyLevel", {image_id: id, level:level} ,
+  {
+    onFailure: function(num, text) { selectElement.disabled = false; alert(num + " " + text); },
+    onSuccess: function(result) { selectElement.disabled = false; }
+  }
+  );
+}{/literal}
+</script>
+    <select onchange="setPrivacyLevel(this, '{$ROOT_URL|@escape:'javascript'}', {$current.id}, this.options[selectedIndex].value)">
+    {foreach from=$available_permission_levels item=level}
+        <option value="{$level}"{if $current.level==$level} selected="selected"{/if}>{$pwg->l10n($pwg->sprintf('Level %d',$level))}</option>
+    {/foreach}
+    </select>
+  </td></tr>
+  {/if}
+  {if isset($rate_summary) }
+  <tr>
+    <td class="label">{'Average rate'|@translate}</td>
+    <td class="value" id="ratingSummary">
+    {if $rate_summary.count}
+      {assign var='rate_text' value='%.2f (rated %d times, standard deviation = %.2f)'|@translate }
+      {$pwg->sprintf($rate_text, $rate_summary.average, $rate_summary.count, $rate_summary.std) }
+    {else}
+      {'no_rate'|@translate}
+    {/if}
+    </td>
+  </tr>
+  {/if}
+
+
+</table>
+
+{if isset($metadata)}
+<table class="infoTable" summary="Some more (technical) info about this picture">
+{foreach from=$metadata item=meta}
+  <tr>
+    <th colspan="2">{$meta.TITLE}</th>
+  </tr>
+  {foreach from=$meta.lines item=value key=label}
+  <tr>
+    <td class="label">{$label}</td>
+    <td class="value">{$value}</td>
+  </tr>
+  {/foreach}
+{/foreach}
+</table>
+{/if}
+
+<hr class="separation">
+
+{if isset($COMMENT_COUNT)}
+<div id="comments">
+  {if $COMMENT_COUNT > 0}
+		<h3>{$pwg->l10n_dec('%d comment', '%d comments',$COMMENT_COUNT)}</h3>
+  {/if}
+	{if !empty($COMMENT_NAV_BAR)}
+	<div class="navigationBar">{$COMMENT_NAV_BAR}</div>
+	{/if}
+
+	{if isset($comments)}
+		{include file='comment_list.tpl' comment_separator=true}
+	{/if}
+
+	{if isset($comment_add)}
+	<form  method="post" action="{$comment_add.F_ACTION}" class="filter" id="addComment">
+	<fieldset>
+		<legend>{'comments_add'|@translate}</legend>
+		{if $comment_add.SHOW_AUTHOR}
+		<label>{'upload_author'|@translate}<input type="text" name="author"></label>
+		{/if}
+		<label>{'comment'|@translate}<textarea name="content" id="contentid" rows="5" cols="80">{$comment_add.CONTENT}</textarea></label>
+		<input type="hidden" name="key" value="{$comment_add.KEY}" />
+		<input class="submit" type="submit" value="{'Submit'|@translate}">
+	</fieldset>
+	</form>
+	{/if}
+</div>
+{/if} {*comments*}
+
+
+
+{if !empty($PLUGIN_PICTURE_AFTER)}{$PLUGIN_PICTURE_AFTER}{/if}
Index: /extensions/floOs/picture_content.tpl
===================================================================
--- /extensions/floOs/picture_content.tpl	(revision 3334)
+++ /extensions/floOs/picture_content.tpl	(revision 3334)
@@ -0,0 +1,9 @@
+{* $Id: picture_content.tpl 2225 2008-02-28 12:07:00Z rvelices $ *}
+{if isset($high) }
+<a href="javascript:phpWGOpenWindow('{$high.U_HIGH}','{$high.UUID}','scrollbars=yes,toolbar=no,status=no,resizable=yes')">
+{/if}
+  <img src="{$SRC_IMG}" style="width:{$WIDTH_IMG}px;height:{$HEIGHT_IMG}px;" alt="{$ALT_IMG}">
+{if isset($high) }
+</a>
+  <p>{'picture_high'|@translate}</p>
+{/if}
Index: /extensions/floOs/picture_nav_buttons.tpl
===================================================================
--- /extensions/floOs/picture_nav_buttons.tpl	(revision 3334)
+++ /extensions/floOs/picture_nav_buttons.tpl	(revision 3334)
@@ -0,0 +1,114 @@
+{* $Id: picture_nav_buttons.tpl 2270 2008-03-09 07:53:02Z rub $ *}
+  <div class="navButtons">
+  
+{if isset($last)}
+  <a class="navButton prev" href="{$last.U_IMG}" title="{'last_page'|@translate} : {$last.TITLE}" rel="last"><img src="{$ROOT_URL}{$themeconf.icon_dir}/last.png" class="button" alt="{'last_page'|@translate}"></a>
+{else}
+  <a class="navButton prev"><img src="{$ROOT_URL}{$themeconf.icon_dir}/last_unactive.png" class="button" alt=""></a>
+{/if}
+  
+{if isset($next)}
+  <a class="navButton next" href="{$next.U_IMG}" title="{'next_page'|@translate} : {$next.TITLE}" rel="next"><img src="{$ROOT_URL}{$themeconf.icon_dir}/right.png" class="button" alt="{'next_page'|@translate}"></a>
+{else}
+  <a class="navButton next"><img src="{$ROOT_URL}{$themeconf.icon_dir}/right_unactive.png" class="button" alt=""></a>
+{/if}
+{if isset($next) }
+<a class="navThumb" id="thumbNext" href="{$next.U_IMG}" title="{'next_page'|@translate} : {$next.TITLE}" rel="next">
+  <img src="{$next.THUMB_SRC}" class="thumbLink" id="linkNext" alt="{$next.TITLE}">
+</a>
+{/if}
+    <img src="{$current.THUMB_SRC}" class="thumbLink" id="thumbCurrent" alt="{$ALT_IMG}">
+{if isset($previous) }
+<a class="navThumb" id="thumbPrev" href="{$previous.U_IMG}" title="{'previous_page'|@translate} : {$previous.TITLE}" rel="prev">
+  <img src="{$previous.THUMB_SRC}" class="thumbLink" id="linkPrev" alt="{$previous.TITLE}">
+</a>
+{/if}
+
+{if isset($slideshow.U_START_PLAY)}
+  <a class="navButton play" href="{$slideshow.U_START_PLAY}" title="{'start_play'|@translate}" rel="play"><img src="{$ROOT_URL}{$themeconf.icon_dir}/play.png" class="button" alt="{'start_play'|@translate}"></a>
+{/if}
+
+{if isset($slideshow.U_STOP_PLAY)}
+  <a class="navButton play" href="{$slideshow.U_STOP_PLAY}" title="{'stop_play'|@translate}" rel="play"><img src="{$ROOT_URL}{$themeconf.icon_dir}/pause.png" class="button" alt="{'stop_play'|@translate}"></a>
+{/if}
+
+  
+{if isset($previous)}
+  <a class="navButton prev" href="{$previous.U_IMG}" title="{'previous_page'|@translate} : {$previous.TITLE}" rel="prev"><img src="{$ROOT_URL}{$themeconf.icon_dir}/left.png" class="button" alt="{'previous_page'|@translate}"></a>
+{else}
+  <a class="navButton prev"><img src="{$ROOT_URL}{$themeconf.icon_dir}/left_unactive.png" class="button" alt=""></a>
+{/if}
+  
+{if isset($first)}
+  <a class="navButton prev" href="{$first.U_IMG}" title="{'first_page'|@translate} : {$first.TITLE}" rel="first"><img src="{$ROOT_URL}{$themeconf.icon_dir}/first.png" class="button" alt="{'first_page'|@translate}"></a>
+{else}
+  <a class="navButton prev"><img src="{$ROOT_URL}{$themeconf.icon_dir}/first_unactive.png" class="button" alt=""></a>
+{/if}
+
+
+{if isset($slideshow.U_START_REPEAT)}
+  <a class="navButton repeat" href="{$slideshow.U_START_REPEAT}" title="{'start_repeat'|@translate}" rel="repeat"><img src="{$ROOT_URL}{$themeconf.icon_dir}/start_repeat.png" class="button" alt="{'start_repeat'|@translate}"></a>
+{/if}
+
+{if isset($slideshow.U_STOP_REPEAT)}
+  <a class="navButton repeat" href="{$slideshow.U_STOP_REPEAT}" title="{'stop_repeat'|@translate}" rel="repeat"><img src="{$ROOT_URL}{$themeconf.icon_dir}/stop_repeat.png" class="button" alt="{'stop_repeat'|@translate}"></a>
+{/if}
+
+{if isset($slideshow)}
+  {if isset($slideshow.U_DEC_PERIOD)}
+    <a class="navButton dec_period" href="{$slideshow.U_DEC_PERIOD}" title="{'dec_period'|@translate}" rel="repeat"><img src="{$ROOT_URL}{$themeconf.icon_dir}/dec_period.png" class="button" alt="{'dec_period'|@translate}"></a>
+  {else}
+    <a class="navButton dec_period"> <img src="{$ROOT_URL}{$themeconf.icon_dir}/dec_period_unactive.png" class="button" alt=""></a>
+  {/if}
+
+  {if isset($slideshow.U_INC_PERIOD)}
+    <a class="navButton inc_period" href="{$slideshow.U_INC_PERIOD}" title="{'inc_period'|@translate}" rel="repeat"><img src="{$ROOT_URL}{$themeconf.icon_dir}/inc_period.png" class="button" alt="{'inc_period'|@translate}"></a>
+  {else}
+    <a class="navButton inc_period"> <img src="{$ROOT_URL}{$themeconf.icon_dir}/inc_period_unactive.png" class="button" alt=""></a>
+  {/if}
+{/if}
+{if isset($U_UP) and !isset($slideshow)}
+  <a class="navButton up" href="{$U_UP}" title="{'thumbnails'|@translate}" rel="up"><img src="{$ROOT_URL}{$themeconf.icon_dir}/up.png" class="button" alt="{'thumbnails'|@translate}"></a>
+{/if}
+
+  </div>
+
+<script type="text/javascript">
+{literal}
+function keyboardNavigation(e)
+{
+  if(!e) var e=window.event;
+  if (e.altKey) return true;
+  var target = e.target || e.srcElement;
+  if (target && target.type) return true; //an input editable element
+  var keyCode=e.keyCode || e.which;
+  var docElem = document.documentElement;
+  switch(keyCode) {
+{/literal}
+{if isset($next)}
+  case 63235: case 39: if (e.ctrlKey || docElem.scrollLeft==docElem.scrollWidth-docElem.clientWidth ){ldelim}window.location="{$next.U_IMG}".replace( "&amp;", "&" ); return false; } break;
+{/if}
+{if isset($previous)}
+  case 63234: case 37: if (e.ctrlKey || docElem.scrollLeft==0){ldelim}window.location="{$previous.U_IMG|@escape:jasvascript}".replace("&amp;","&"); return false; } break;
+{/if}
+{if isset($first)}
+  /*Home*/case 36: if (e.ctrlKey){ldelim}window.location="{$first.U_IMG|@escape:jasvascript}".replace("&amp;","&"); return false; } break;
+{/if}
+{if isset($last)}
+  /*End*/case 35: if (e.ctrlKey){ldelim}window.location="{$last.U_IMG|@escape:jasvascript}".replace("&amp;","&"); return false; } break;
+{/if}
+{if isset($U_UP) and !isset($slideshow)}
+  /*Up*/case 38: if (e.ctrlKey){ldelim}window.location="{$U_UP|@escape:jasvascript}".replace("&amp;","&"); return false; } break;
+{/if}
+
+{if isset($slideshow.U_START_PLAY)}
+  /*Pause*/case 32: {ldelim}window.location="{$slideshow.U_START_PLAY|@escape:jasvascript}".replace("&amp;","&"); return false; } break;
+{/if}
+{if isset($slideshow.U_STOP_PLAY)}
+  /*Play*/case 32: {ldelim}window.location="{$slideshow.U_STOP_PLAY|@escape:jasvascript}".replace("&amp;","&"); return false; } break;
+{/if}
+  }
+  return true;
+}
+document.onkeydown=keyboardNavigation;
+</script>
Index: /extensions/floOs/popuphelp.tpl
===================================================================
--- /extensions/floOs/popuphelp.tpl	(revision 3334)
+++ /extensions/floOs/popuphelp.tpl	(revision 3334)
@@ -0,0 +1,6 @@
+{* $Id: popuphelp.tpl 2352 2008-05-20 00:27:26Z patdenice $ *}
+<div id="content" class="content">
+{$HELP_CONTENT}
+</div> <!-- content -->
+
+<p id="pageBottomActions"><a href="#" onclick="window.close();" title="{'Close this window'|@translate}"><img src="{$themeconf.icon_dir}/exit.png" class="button" alt="close"></a></p>
Index: /extensions/floOs/print.css
===================================================================
--- /extensions/floOs/print.css	(revision 3334)
+++ /extensions/floOs/print.css	(revision 3334)
@@ -0,0 +1,14 @@
+#menubar, .content .navigationBar, UL.categoryActions, .content DIV.calendarViews, .calendarBar,
+#imageToolBar, .navThumb, #addComment {
+    display: none;
+}
+
+BODY {
+    margin: 0;
+    color: #000000;
+    background: #ffffff;
+}
+
+.content {
+    margin: 0;
+}
Index: /extensions/floOs/profile.tpl
===================================================================
--- /extensions/floOs/profile.tpl	(revision 3334)
+++ /extensions/floOs/profile.tpl	(revision 3334)
@@ -0,0 +1,22 @@
+{* $Id: profile.tpl 2352 2008-05-20 00:27:26Z patdenice $ *}
+<div id="content" class="content">
+
+{if isset($errors)}
+<div class="errors">
+  <ul>
+    {foreach from=$errors item=error}
+    <li>{$error}</li>
+    {/foreach}
+  </ul>
+</div>
+{/if}
+
+  <div class="titrePage">
+    <ul class="categoryActions">
+      <li><a href="{$U_HOME}" title="{'return to homepage'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/home.png" class="button" alt="{'home'|@translate}"/></a></li>
+    </ul>
+    <h2>{'Profile'|@translate}</h2>
+  </div>
+
+{$PROFILE_CONTENT}
+</div> <!-- content -->
Index: /extensions/floOs/profile_content.tpl
===================================================================
--- /extensions/floOs/profile_content.tpl	(revision 3334)
+++ /extensions/floOs/profile_content.tpl	(revision 3334)
@@ -0,0 +1,109 @@
+{* $Id: profile_content.tpl 2268 2008-03-08 12:38:09Z rvelices $ *}
+<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: /extensions/floOs/rating.js
===================================================================
--- /extensions/floOs/rating.js	(revision 3334)
+++ /extensions/floOs/rating.js	(revision 3334)
@@ -0,0 +1,100 @@
+var gRatingOptions, gRatingButtons, gUserRating;
+
+function makeNiceRatingForm(options)
+{
+	gRatingOptions = options || {};
+	var form = document.getElementById('rateForm');
+	if (!form) return; //? template changed
+
+	gRatingButtons = form.getElementsByTagName('input');
+	gUserRating = "";
+	for (var i=0; i<gRatingButtons.length; i++)
+	{
+		if ( gRatingButtons[i].type=="button" )
+		{
+			gUserRating = gRatingButtons[i].value;
+			break;
+		}
+	}
+
+	for (var i=0; i<gRatingButtons.length; i++)
+	{
+		var rateButton = gRatingButtons[i];
+		rateButton.initialRateValue = rateButton.value; // save it as a property
+		try { rateButton.type = "button"; } catch (e){}// avoid normal submit (use ajax); not working in IE6
+
+		if (navigator.userAgent.indexOf('AppleWebKit/') == -1 ) rateButton.value = ""; //hide the text IE/Opera - breaks safari
+		with (rateButton.style)
+		{
+			textIndent = "-50px"; //hide the text FF
+			marginLeft = marginRight = 0;
+		}
+
+		if (i!=gRatingButtons.length-1 && rateButton.nextSibling.nodeType == 3 /*TEXT_NODE*/)
+			rateButton.parentNode.removeChild(rateButton.nextSibling);
+		if (i>0 && rateButton.previousSibling.nodeType == 3 /*TEXT_NODE*/)
+			rateButton.parentNode.removeChild(rateButton.previousSibling);
+
+		if(window.addEventListener){ // Mozilla, Netscape, Firefox
+			rateButton.addEventListener("click", updateRating, false );
+			rateButton.addEventListener("mouseout", resetRatingStarDisplay, false );
+			rateButton.addEventListener("mouseover", updateRatingStarDisplayEvt, false );
+		}
+		else if(window.attachEvent) { // IE
+			rateButton.attachEvent("onclick", updateRating);
+			rateButton.attachEvent("onmouseout", resetRatingStarDisplay);
+			rateButton.attachEvent("onmouseover", updateRatingStarDisplayEvt);
+		}
+	}
+	resetRatingStarDisplay();
+}
+
+function resetRatingStarDisplay()
+{
+	updateRatingStarDisplay( gUserRating );
+}
+
+function updateRatingStarDisplay(userRating)
+{
+	for (var i=0; i<gRatingButtons.length; i++)
+		gRatingButtons[i].className = (userRating!=="" && userRating>=gRatingButtons[i].initialRateValue ) ? "rateButtonStarFull" : "rateButtonStarEmpty";
+}
+
+function updateRatingStarDisplayEvt(e)
+{
+	updateRatingStarDisplay(
+		e.target ? e.target.initialRateValue : e.srcElement.initialRateValue);
+}
+
+function updateRating(e)
+{
+	var rateButton = e.target || e.srcElement;
+	if (rateButton.initialRateValue == gUserRating)
+		return false; //nothing to do
+
+	for (var i=0; i<gRatingButtons.length; i++) gRatingButtons[i].disabled=true;
+	var y = new PwgWS(gRatingOptions.rootUrl);
+	y.callService(
+		"pwg.images.rate", {image_id: gRatingOptions.image_id, rate: rateButton.initialRateValue } ,
+		{
+			onFailure: function(num, text) {
+				alert(num + " " + text);
+				document.location = rateButton.form.action + "&rate="+rateButton.initialRateValue;
+			},
+			onSuccess: function(result) {
+				gUserRating = rateButton.initialRateValue;
+				for (var i=0; i<gRatingButtons.length; i++) gRatingButtons[i].disabled=false;
+				if (gRatingOptions.updateRateElement) gRatingOptions.updateRateElement.innerHTML = gRatingOptions.updateRateText;
+				if (gRatingOptions.ratingSummaryElement)
+				{
+					var t = gRatingOptions.ratingSummaryText;
+					var args =[result.average, result.count, result.stdev], idx = 0, rexp = new RegExp( /%\.?\d*[sdf]/ );
+					_xxx = t.match( rexp );
+					while (idx<args.length) t=t.replace(rexp, args[idx++]);
+					gRatingOptions.ratingSummaryElement.innerHTML = t;
+				}
+			}
+		}
+	);
+	return false;
+}
Index: /extensions/floOs/redirect.tpl
===================================================================
--- /extensions/floOs/redirect.tpl	(revision 3334)
+++ /extensions/floOs/redirect.tpl	(revision 3334)
@@ -0,0 +1,3 @@
+{* $Id: redirect.tpl 2249 2008-03-05 01:50:08Z rvelices $ *}
+<p>{$REDIRECT_MSG}</p>
+<p><a href="{$page_refresh.U_REFRESH}">{'click_to_redirect'|@translate}</a></p>
Index: /extensions/floOs/register.tpl
===================================================================
--- /extensions/floOs/register.tpl	(revision 3334)
+++ /extensions/floOs/register.tpl	(revision 3334)
@@ -0,0 +1,69 @@
+{* $Id: register.tpl 2352 2008-05-20 00:27:26Z patdenice $ *}
+<div id="registerPage">
+
+<div id="content" class="content">
+
+  <div class="titrePage">
+    <ul class="categoryActions">
+      <li><a href="{$U_HOME}" title="{'return to homepage'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/home.png" class="button" alt="{'home'|@translate}"/></a></li>
+    </ul>
+    <h2>{'Registration'|@translate}</h2>
+  </div>
+
+{if isset($errors)}
+  <div class="errors">
+    <ul>
+      {foreach from=$errors item=error}
+      <li>{$error}</li>
+      {/foreach}
+    </ul>
+  </div>
+{/if}
+
+<form method="post" action="{$F_ACTION}" class="properties" name="register_form">
+  <fieldset>
+    <legend>{'Enter your personnal informations'|@translate}</legend>
+
+    <ul>
+      <li>
+        <span class="property">
+          <label for="login">* {'Username'|@translate}</label>
+        </span>
+        <input type="text" name="login" id="login" value="{$F_LOGIN}" >
+      </li>
+      <li>
+        <span class="property">
+          <label for="password">* {'Password'|@translate}</label>
+        </span>
+        <input type="password" name="password" id="password" >
+      </li>
+      <li>
+        <span class="property">
+          <label for="password_conf">* {'Confirm Password'|@translate}</label>
+        </span>
+        <input type="password" name="password_conf" id="password_conf" >
+      </li>
+      <li>
+        <span class="property">
+          <label for="mail_address">{'Mail address'|@translate}</label>
+        </span>
+        <input type="text" name="mail_address" id="mail_address" value="{$F_EMAIL}" >
+        ({'useful when password forgotten'|@translate})
+      </li>
+    </ul>
+
+  </fieldset>
+
+  <p class="bottomButtons">
+    <input class="submit" type="submit" name="submit" value="{'Register'|@translate}">
+    <input class="submit" type="reset" value="{'Reset'|@translate}">
+  </p>
+
+</form>
+
+<script type="text/javascript"><!--
+document.register_form.login.focus();
+//--></script>
+
+</div> <!-- content -->
+</div> <!-- registerPage -->
Index: /extensions/floOs/search.tpl
===================================================================
--- /extensions/floOs/search.tpl	(revision 3334)
+++ /extensions/floOs/search.tpl	(revision 3334)
@@ -0,0 +1,126 @@
+{* $Id: search.tpl 2352 2008-05-20 00:27:26Z patdenice $ *}
+<div id="content" class="content">
+
+  <div class="titrePage">
+    <ul class="categoryActions">
+      <li><a href="{$U_HELP}" onclick="popuphelp(this.href); return false;" title="{'Help'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/help.png" class="button" alt="(?)"></a></li>
+      <li><a href="{$U_HOME}" title="{'return to homepage'|@translate}" rel="home"><img src="{$ROOT_URL}{$themeconf.icon_dir}/home.png" class="button" alt="{'home'|@translate}"/></a></li>
+    </ul>
+    <h2>{'Search'|@translate}</h2>
+  </div>
+
+{if isset($errors) }
+<div class="errors">
+  <ul>
+    {foreach from=$errors item=error}
+    <li>{$error}</li>
+    {/foreach}
+  </ul>
+</div>
+{/if}
+
+<form class="filter" method="post" name="search" action="{$F_SEARCH_ACTION}">
+<fieldset>
+  <legend>{'Filter'|@translate}</legend>
+  <label>{'search_keywords'|@translate}
+    <input type="text" style="width: 300px" name="search_allwords" size="30"  />
+  </label>
+  <ul>
+    <li><label>
+      <input type="radio" name="mode" value="AND" checked="checked" />{'search_mode_and'|@translate}
+    </label></li>
+    <li><label>
+      <input type="radio" name="mode" value="OR" />{'search_mode_or'|@translate}
+    </label></li>
+  </ul>
+  <label>{'search_author'|@translate}
+    <input type="text" style="width: 300px" name="search_author" size="30"  />
+  </label>
+</fieldset>
+
+{if isset($TAG_SELECTION)}
+<fieldset>
+  <legend>{'Search tags'|@translate}</legend>
+  {$TAG_SELECTION}
+  <label><span><input type="radio" name="tag_mode" value="AND" checked="checked" /> {'All tags'|@translate}</span></label>
+  <label><span><input type="radio" name="tag_mode" value="OR" /> {'Any tag'|@translate}</span></label>
+</fieldset>
+{/if}
+
+<fieldset>
+  <legend>{'search_date'|@translate}</legend>
+  <ul>
+    <li><label>{'search_date_type'|@translate}</label></li>
+    <li><label>
+      <input type="radio" name="date_type" value="date_creation" checked="checked" />{'Creation date'|@translate}
+    </label></li>
+    <li><label>
+      <input type="radio" name="date_type" value="date_available" />{'Post date'|@translate}
+    </label></li>
+  </ul>
+  <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" type="text" size="4" maxlength="4" >
+    </li>
+    <li>
+      <a href="#" onClick="document.search.start_day.value={$smarty.now|date_format:"%d"};document.search.start_month.value={$smarty.now|date_format:"%m"};document.search.start_year.value={$smarty.now|date_format:"%Y"};return false;">{'today'|@translate}</a>
+    </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" type="text" size="4" maxlength="4" >
+    </li>
+    <li>
+      <a href="#" onClick="document.search.end_day.value={$smarty.now|date_format:"%d"};document.search.end_month.value={$smarty.now|date_format:"%m"};document.search.end_year.value={$smarty.now|date_format:"%Y"};return false;">{'today'|@translate}</a>
+    </li>
+  </ul>
+</fieldset>
+
+<fieldset>
+  <legend>{'search_options'|@translate}</legend>
+  <label>{'search_categories'|@translate}
+    <select class="categoryList" name="cat[]" multiple="multiple" >
+      {html_options options=$category_options selected=$category_options_selected}
+    </select>
+  </label>
+  <ul>
+    <li><label>{'search_subcats_included'|@translate}</label></li>
+    <li><label>
+      <input type="radio" name="subcats-included" value="1" checked="checked" />{'Yes'|@translate}
+    </label></li>
+    <li><label>
+      <input type="radio" name="subcats-included" value="0" />{'No'|@translate}
+    </label></li>
+  </ul>
+</fieldset>
+<p>
+  <input class="submit" type="submit" name="submit" value="{'Submit'|@translate}" />
+  <input class="submit" type="reset" value="{'Reset'|@translate}" />
+</p>
+</form>
+
+<script type="text/javascript"><!--
+document.search.search_allwords.focus();
+//--></script>
+
+</div> <!-- content -->
Index: /extensions/floOs/search_rules.tpl
===================================================================
--- /extensions/floOs/search_rules.tpl	(revision 3334)
+++ /extensions/floOs/search_rules.tpl	(revision 3334)
@@ -0,0 +1,56 @@
+{* $Id: search_rules.tpl 2352 2008-05-20 00:27:26Z patdenice $ *}
+<div id="content" class="content">
+<h2>{'Search rules'|@translate}</h2>
+
+{if isset($INTRODUCTION) }
+<p>{$INTRODUCTION}</p>
+{/if}
+
+<ul>
+
+  {if isset($search_words) }
+  {foreach from=$search_words item=v}
+  <li>{$v}</li>
+  {/foreach}
+  {/if}
+
+  {if isset($SEARCH_TAGS_MODE) }
+  <li>
+    <p>{if 'AND'==$SEARCH_TAGS_MODE}{'All tags must match'|@translate}{else}{'At least one tag must match'|@translate}{/if}</p>
+    <ul>
+      {foreach from=$search_tags item=v}
+      <li>{$v}</li>
+      {/foreach}
+    </ul>
+  </li>
+  {/if}
+  
+  {if isset($DATE_CREATION) }
+  <li>{$DATE_CREATION}</li>
+  {/if}
+
+  {if isset($DATE_AVAILABLE) }
+  <li>{$DATE_AVAILABLE}</li>
+  {/if}
+
+  {if isset($search_categories) }
+  <li>
+    <p>{'Categories'|@translate}</p>
+
+    <ul>
+      {foreach from=$search_categories item=v}
+      <li>{$v}</li>
+      {/foreach}
+    </ul>
+  </li>
+  {/if}
+  
+</ul>
+
+</div> <!-- content -->
+
+<p id="pageBottomActions">
+  <a href="#" onclick="window.close();" title="{'Close this window'|@translate}">
+    <img src="{$themeconf.icon_dir}/exit.png" class="button" alt="close">
+  </a>
+</p>
Index: /extensions/floOs/slideshow.tpl
===================================================================
--- /extensions/floOs/slideshow.tpl	(revision 3334)
+++ /extensions/floOs/slideshow.tpl	(revision 3334)
@@ -0,0 +1,23 @@
+{* $Id: slideshow.tpl 2227 2008-02-29 01:25:13Z rvelices $ *}
+<div id="imageHeaderBar">
+  <div class="browsePath">
+    {if isset($U_SLIDESHOW_STOP) }
+    [ <a href="{$U_SLIDESHOW_STOP}">{'slideshow_stop'|@translate}</a> ]
+    {/if}
+  </div>
+  <div class="imageNumber">{$PHOTO}</div>
+  {if $SHOW_PICTURE_NAME_ON_TITLE }
+  <h2 class="showtitle">{$current.TITLE}</h2>
+  {/if}
+</div>
+
+<div id="imageToolBar">
+  {include file=$FILE_PICTURE_NAV_BUTTONS}
+</div>
+
+<div id="theImage">
+  {$ELEMENT_CONTENT}
+  {if isset($COMMENT_IMG)}
+  <p class="showlegend">{$COMMENT_IMG}</p>
+  {/if}
+</div>
Index: /extensions/floOs/tags.tpl
===================================================================
--- /extensions/floOs/tags.tpl	(revision 3334)
+++ /extensions/floOs/tags.tpl	(revision 3334)
@@ -0,0 +1,55 @@
+{* $Id: tags.tpl 2409 2008-07-01 02:09:21Z rvelices $ *}
+<div id="content" class="content">
+
+  <div class="titrePage">
+    <ul class="categoryActions">
+{if $display_mode == 'letters'}
+      <li><a href="{$U_CLOUD}" title="{'show tag cloud'|@translate}"><img src="{$themeconf.icon_dir}/tag_cloud.png" class="button" alt="{'cloud'|@translate}"/></a></li>
+{/if}
+
+{if $display_mode == 'cloud'}
+      <li><a href="{$U_LETTERS}" title="{'group by letters'|@translate}"><img src="{$themeconf.icon_dir}/tag_letters.png" class="button" alt="{'letters'|@translate}"/></a></li>
+{/if}
+
+      <li><a href="{$U_HOME}" title="{'return to homepage'|@translate}"><img src="{$themeconf.icon_dir}/home.png" class="button" alt="{'home'|@translate}"/></a></li>
+    </ul>
+    <h2><img src="{$ROOT_URL}{$themeconf.icon_dir}/menu/tag.png"/>{'Tags'|@translate}</h2>
+  </div>
+
+{if isset($tags)}
+  {if $display_mode == 'cloud'}
+  <ul id="fullTagCloud">
+    {foreach from=$tags item=tag}
+    <li><a href="{$tag.URL}" class="tagLevel{$tag.level}" title="{$tag.counter}">{$tag.name}</a></li>
+    {/foreach}
+  </ul>
+  {/if}
+
+  {if $display_mode == 'letters'}
+  <table>
+    <tr>
+      <td valign="top">
+    {foreach from=$letters item=letter}
+  <fieldset class="tagLetter">
+    <legend class="tagLetterLegend">{$letter.TITLE}</legend>
+    <table class="tagLetterContent">
+      {foreach from=$letter.tags item=tag}
+      <tr class="tagLine">
+        <td><a href="{$tag.URL}">{$tag.name}</a></td>
+        <td class="nbEntries">{$pwg->l10n_dec('%d element', '%d elements', $tag.counter)}</td>
+      </tr>
+      {/foreach}
+    </table>
+  </fieldset>
+      {if $letter.CHANGE_COLUMN|@default:false}
+      </td>
+      <td valign="top">
+      {/if}
+    {/foreach}
+      </td>
+    </tr>
+  </table>
+  {/if}
+{/if}
+
+</div> <!-- content -->
Index: /extensions/floOs/theme/clear/index.php
===================================================================
--- /extensions/floOs/theme/clear/index.php	(revision 3334)
+++ /extensions/floOs/theme/clear/index.php	(revision 3334)
@@ -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: /extensions/floOs/theme/clear/mail-css.tpl
===================================================================
--- /extensions/floOs/theme/clear/mail-css.tpl	(revision 3334)
+++ /extensions/floOs/theme/clear/mail-css.tpl	(revision 3334)
@@ -0,0 +1,13 @@
+{* $Id: mail-css.tpl 2285 2008-03-18 23:43:38Z rvelices $ *}
+/* Theme clear mail css */
+
+body {ldelim} background-color:#fff; color:#696969;}
+#the_page {ldelim} background: #fff 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: #333;}
+h2 {ldelim} background-color: #ddd;}
+img {ldelim} margin: 16px; border: 16px solid #aaa; -moz-border-radius: 4px; border-radius: 4px 4px; }
+img:hover {ldelim} padding: 15px; border: 1px solid yellow;background-color:#faebd7; -moz-border-radius: 4px; border-radius: 4px 4px; }
+a {ldelim} color: #369; background: transparent; }
+a:hover {ldelim} color: #ddd; }
Index: /extensions/floOs/theme/clear/theme.css
===================================================================
--- /extensions/floOs/theme/clear/theme.css	(revision 3334)
+++ /extensions/floOs/theme/clear/theme.css	(revision 3334)
@@ -0,0 +1,107 @@
+
+
+/* text color */
+BODY, H1, H2, H3, DT,
+INPUT.rateButtonSelected /* <= why IE doesn't inherit this ? */ {
+  color:#696969;	/* dimgray */
+}
+
+/* backgrounds */
+BODY, H3, .throw {
+  background-color: #ffffff;	/* white */
+}
+
+H2, #menubar DT, #imageHeaderBar, #imageToolBar A:hover, .row1 {
+  background-color: #d3d3d3;
+}
+
+#menubar DL, .content, #imageToolBar, .header_notes {
+  background-color: #eeeeee;
+}
+#theHeader {
+  background-color: #d3d3d3;
+}
+/* borders */
+#menubar DL, .content, #imageToolBar, 
+#comments DIV.comment BLOCKQUOTE {
+  border: 1px solid #d3d3d3;
+}
+
+#theImage IMG {
+  border-color: #d3d3d3;
+}
+
+.content UL.thumbnail IMG {
+    border: 1px solid #a0a0a0;
+}
+
+FIELDSET, INPUT, SELECT, TEXTAREA,
+.content DIV.comment  A.illustration IMG,
+.content DIV.thumbnailCategory {
+  border: 1px solid gray;
+}
+
+#comments DIV.comment BLOCKQUOTE {
+  border-left: 2px solid #696969;
+  background-color: #eee;
+}
+
+.content UL.thumbnails SPAN.wrap2 {
+  border: 1px solid #aaaaaa;	/* thumbnails border color and style */
+  border-radius: 4px 4px;	/* round corners with CSS3 compliant browsers */
+}
+
+.content UL.thumbnails SPAN.wrap2:hover,
+.content UL.thumbnailCategories DIV.thumbnailCategory:hover,
+.content UL.thumbnailCategories DIV.thumbnailCategory:hover A {
+  background-color: #faebd7;
+  border-color: yellow;		/* thumbnails border color when mouse cursor is over it */
+  color: black;
+}
+
+/* links */
+A, INPUT.rateButton {
+    color: #005e89;
+    background: transparent;
+}
+
+A:hover, INPUT.rateButton:hover {
+    color: #858460;
+}
+
+#imageToolBar A, #imageToolBar A:hover {
+    border-bottom: none;
+}
+
+A.navThumb, A.navThumb:hover {
+    border-bottom: none;
+}
+
+/*calendar elements*/
+SPAN.calItem, SPAN.calItemEmpty
+{
+  border: 1px solid silver;
+}
+
+.virtual_cat { background: #fff !important; }
+#mbMenu #quicksearch > p { text-align: left; }
+form p { text-align: left; }
+#qsearchInput { color: #d3d3d3; }
+#qsearchInput:focus { color: #005e89; }
+
+UL.tabsheet LI.normal_tab { background-color: #d3d3d3; }
+UL.tabsheet LI.selected_tab { background-color: #eeeeee; }
+
+UL.tabsheet, UL.tabsheet LI {border-color: gray;}
+UL.tabsheet LI.normal_tab:hover { border-color: black; }
+
+/* menu */
+
+ul#Menu
+{
+	background-color: #D0D0D0;
+}
+ul#Menu li:hover
+{
+	background-color: #CCCCCC;
+}
Index: /extensions/floOs/theme/clear/themeconf.inc.php
===================================================================
--- /extensions/floOs/theme/clear/themeconf.inc.php	(revision 3334)
+++ /extensions/floOs/theme/clear/themeconf.inc.php	(revision 3334)
@@ -0,0 +1,36 @@
+<?php
+$themeconf = array(
+  'template' => 'floOS',
+  'theme' => 'clear',
+  'template_dir' => 'template/floOS',
+  'icon_dir' => 'template/floOS/icon',
+  'admin_icon_dir' => 'template/floOS/icon/admin',
+  'mime_icon_dir' => 'template/floOS/icon/mimetypes/',
+  'local_head' => '  <script type="text/javascript" src="template-common/lib/jquery.js"></script>
+  <script type="text/javascript">
+jQuery(document).ready(function(){
+	$(".titre_acordeon").click(function() {
+		$(this).next().toggle("medium");
+	}).next().hide();
+});
+jQuery(document).ready(function(){
+	$(".titre_acordeon_0").click(function() {
+		$(this).next().toggle("medium");
+	}).next().show();
+});
+  
+  </script>',
+);
+/*
+  jQuery().ready(function(){
+    jQuery(\'#menubar\').accordion({
+      header: ".titre_acordeon",
+      event: "mouseover",
+      navigation: true, 
+     active: 0, 
+     alwaysOpen: false, 
+     autoHeight: false 
+	    });
+  });
+*/
+?>
Index: /extensions/floOs/theme/glass/_notes/dwsync.xml
===================================================================
--- /extensions/floOs/theme/glass/_notes/dwsync.xml	(revision 3334)
+++ /extensions/floOs/theme/glass/_notes/dwsync.xml	(revision 3334)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<dwsync>
+<file name="theme.css" local="128603398560468750" remote="128603326200000000" testing="0" />
+</dwsync>
Index: /extensions/floOs/theme/glass/index.php
===================================================================
--- /extensions/floOs/theme/glass/index.php	(revision 3334)
+++ /extensions/floOs/theme/glass/index.php	(revision 3334)
@@ -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: /extensions/floOs/theme/glass/mail-css.tpl
===================================================================
--- /extensions/floOs/theme/glass/mail-css.tpl	(revision 3334)
+++ /extensions/floOs/theme/glass/mail-css.tpl	(revision 3334)
@@ -0,0 +1,13 @@
+{* $Id: mail-css.tpl 2285 2008-03-18 23:43:38Z rvelices $ *}
+/* Theme clear mail css */
+
+body {ldelim} background-color:#fff; color:#696969;}
+#the_page {ldelim} background: #fff 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: #333;}
+h2 {ldelim} background-color: #ddd;}
+img {ldelim} margin: 16px; border: 16px solid #aaa; -moz-border-radius: 4px; border-radius: 4px 4px; }
+img:hover {ldelim} padding: 15px; border: 1px solid yellow;background-color:#faebd7; -moz-border-radius: 4px; border-radius: 4px 4px; }
+a {ldelim} color: #369; background: transparent; }
+a:hover {ldelim} color: #ddd; }
Index: /extensions/floOs/theme/glass/theme.css
===================================================================
--- /extensions/floOs/theme/glass/theme.css	(revision 3334)
+++ /extensions/floOs/theme/glass/theme.css	(revision 3334)
@@ -0,0 +1,279 @@
+/* ---------------------------------------------------------------------------
+Thème glass 
+
+pour le template floOS
+
+by flop25(.free.fr)
+------------------------------------------------------------------------------ */
+
+
+/* text color */
+BODY, H1, H2, H3, DT,
+INPUT.rateButtonSelected  {
+  color:#000033;
+}
+
+/* backgrounds */
+H3, .throw {
+  background-color: #ffffff;	/* white */
+}
+body {
+	background-image: url(images/bg.jpg);
+	background-repeat: no-repeat;
+	background-position: center center;
+	background-attachment:fixed;
+	font-size:0.7em;
+	font-family: Verdana,Arial,Helvetica,sans-serif;
+	background-color: #104088;
+}
+BODY#theCommentsPage .content,
+BODY#theUploadPage .content,
+BODY#theRegisterPage .content,
+BODY#theIdentificationPage .content,
+BODY#theProfilePage .content,
+BODY#theSearchPage .content,
+BODY#theAboutPage .content,
+BODY#thePopuphelpPage .content,
+BODY#thePasswordPage .content,
+BODY#theNotificationPage .content,
+BODY#theTagsPage .content,
+BODY#theNBMPage .content
+{
+background: transparent url(images/section_in.png) repeat top center;
+}
+H2, .row1 {
+  background-color: #d3d3d3;
+}
+
+.header_notes {
+  background-color: #eeeeee;
+}
+#comments {
+background: transparent url(images/section_in.png) repeat top center;
+}
+#comments H3, .titrePage h2 {
+	background-image: url(images/boutton.png);
+	background-repeat:repeat-x;
+	background-color:#FFFFFF;
+	color: #000000;
+	border: 1px solid #FFFFFF;
+}
+
+.content DIV.thumbnailCategory {
+	background-image: url(../../icon/menu/folder.png);
+	background-position: left bottom;
+	background-repeat:no-repeat;
+}
+/* header */
+#theHeader {
+	background-image: url(images/header3.jpg);
+	background-position:center top;
+	background-repeat:no-repeat;
+	background-color: #000000;
+	color:#FFFFFF;
+	font-size:1.2em;
+	font-weight:bold;
+}
+#theHeader H1 {
+	color:#FFFFFF;
+	font-weight:bold;
+}
+
+/* contenu "section" */
+#section_up_left{
+	background-image: url(images/section_up_left.png);
+	background-position:right bottom;
+	background-repeat:no-repeat;
+}
+#section_up {
+ background-image: url(images/section_up.png);
+ background-position:bottom;
+ background-repeat:repeat-x;
+}
+#section_up_right{
+ background-image: url(images/section_up_right.png);
+ background-position:left bottom;
+ background-repeat:no-repeat;
+}
+#section_left{
+ background-image: url(images/section_left.png);
+ background-position:right;
+ background-repeat:repeat-y;
+}
+#section_bottom_left{
+ background-image: url(images/section_bottom_left.png);
+ background-position:top right;
+ background-repeat:no-repeat;
+}
+#section_bottom {
+ background-image: url(images/section_bottom.png);
+ background-position:top;
+ background-repeat:repeat-x;
+}
+#section_bottom_right{
+ background-image: url(images/section_bottom_right.png);
+ background-position:left top;
+ background-repeat:no-repeat;
+}
+#section_right{
+ background-image: url(images/section_right.png);
+ background-repeat:repeat-y;
+ background-position:left;
+}
+
+
+/* menu Haut*/
+#div_Menu {
+	background-image: url(images/fondMenu2.gif);
+	background-repeat:repeat-x;
+}
+
+ul#Menu, ul#Menu li
+{
+	background:transparent;
+}
+ul#Menu li:hover
+{
+color: #fff;
+background-image: url(images/fondMenuSurvol.gif);
+background-repeat:repeat-x;
+background-position:center;
+background-color:transparent;
+	text-decoration: none;
+    border-bottom: none;
+}
+/* menubar */
+#menubar DL, #section_in{
+background: transparent url(images/section_in.png) repeat top center;
+}
+#menubar DT{
+	background-image: url(images/boutton.png);
+	background-repeat:repeat-x;
+	background-color:#FFFFFF;
+	}
+
+/* borders */
+#menubar DL, #comments DIV.comment BLOCKQUOTE {
+  border: 1px solid #fff;
+}
+
+#theImage IMG {
+  border-color: #fff;
+}
+#linkNext, #linkPrev {
+  border: 2px solid #fff;
+}
+
+.content UL.thumbnail IMG {
+    border: 1px solid #a0a0a0;
+}
+
+FIELDSET, INPUT, SELECT, TEXTAREA,
+.content DIV.comment  A.illustration IMG,
+.content DIV.thumbnailCategory {
+  border: 1px solid #fff;
+}
+
+#comments DIV.comment BLOCKQUOTE {
+  border-left: 2px solid #696969;
+  background-color: #eee;
+}
+
+.content UL.thumbnails SPAN.wrap2 {
+  border: 1px solid #fff;	/* thumbnails border color and style */
+  border-radius: 4px 4px;	/* round corners with CSS3 compliant browsers */
+}
+
+.content UL.thumbnails SPAN.wrap2:hover,
+.content UL.thumbnailCategories DIV.thumbnailCategory:hover,
+.content UL.thumbnailCategories DIV.thumbnailCategory:hover A {
+  background-color: #FFFFFF;
+  border-color: #0066CC;		/* thumbnails border color when mouse cursor is over it */
+  color: #0066CC;
+}
+.thumbnailCategory IMG {
+	border: 2px solid #FFFFFF;
+}
+/* links */
+A, INPUT.rateButton {
+    color: #000033;
+    background: transparent;
+}
+
+A:hover, INPUT.rateButton:hover {
+    color: #000000;
+}
+
+#imageToolBar A, #imageToolBar A:hover {
+    border-bottom: none;
+}
+
+A.navThumb, A.navThumb:hover {
+    border-bottom: none;
+}
+#div_Menu A {
+	color:#FFFFFF;
+	text-decoration: none;
+}
+#div_Menu A:hover {
+	text-decoration: none;
+    border-bottom: none;
+}
+/* Picture */
+#imageHeaderBar {
+	background-image: url(images/fondblack2.png);
+	background-repeat:repeat-x;
+	background-position: center top;
+	background-color: #000000;
+}
+#imageHeaderBar h2 {
+background:transparent;
+color:#FFFFFF
+}
+#imageHeaderBar, #imageHeaderBar A {
+color:#FFFFFF;
+}
+#imageToolBar .randomButtons, #imageToolBar .navButtons {
+background:transparent;
+}
+#imageToolBar .navButtons {
+background:transparent;
+
+}
+#imageToolBar {
+	background-image: url(images/fondblack_bas.png);
+	background-repeat:repeat-x;
+	background-position: center bottom;
+	background-color: #000000;
+}
+#imageToolBar A:hover {
+background-image: url(images/fondMenuSurvol.gif);
+background-repeat:repeat-x;
+background-position:center;
+background-color:transparent;
+}
+#action_pict {
+	border: 2px solid #FFFFFF;
+    background: transparent url(images/section_in.png) repeat top center;
+    color:#000;
+    font-weight:bold;
+}
+/*calendar elements*/
+SPAN.calItem, SPAN.calItemEmpty
+{
+  border: 1px solid silver;
+}
+
+.virtual_cat { background: #fff !important; }
+#mbMenu #quicksearch > p { text-align: left; }
+form p { text-align:center; }
+#qsearchInput { color: #d3d3d3; }
+#qsearchInput:focus { color: #005e89; }
+
+UL.tabsheet LI.normal_tab { background-color: #d3d3d3; }
+UL.tabsheet LI.selected_tab { background-color: #eeeeee; }
+
+UL.tabsheet, UL.tabsheet LI {border-color: gray;}
+UL.tabsheet LI.normal_tab:hover { border-color: black; }
+
+/*______________-------------------___________________________---------*/
Index: /extensions/floOs/theme/glass/themeconf.inc.php
===================================================================
--- /extensions/floOs/theme/glass/themeconf.inc.php	(revision 3334)
+++ /extensions/floOs/theme/glass/themeconf.inc.php	(revision 3334)
@@ -0,0 +1,24 @@
+<?php
+$themeconf = array(
+  'template' => 'floOS',
+  'theme' => 'glass',
+  'template_dir' => 'template/floOS',
+  'icon_dir' => 'template/floOS/icon',
+  'admin_icon_dir' => 'template/floOS/icon/admin',
+  'mime_icon_dir' => 'template/floOS/icon/mimetypes/',
+  'local_head' => '  <script type="text/javascript" src="template-common/lib/jquery.js"></script>
+  <script type="text/javascript">
+jQuery(document).ready(function(){
+	$(".titre_acordeon").click(function() {
+		$(this).next().toggle("medium");
+	}).next().hide();
+});
+jQuery(document).ready(function(){
+	$(".titre_acordeon_0").click(function() {
+		$(this).next().toggle("medium");
+	}).next().show();
+});
+  
+  </script>',
+);
+?>
Index: /extensions/floOs/theme/glass_clear/index.php
===================================================================
--- /extensions/floOs/theme/glass_clear/index.php	(revision 3334)
+++ /extensions/floOs/theme/glass_clear/index.php	(revision 3334)
@@ -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: /extensions/floOs/theme/glass_clear/mail-css.tpl
===================================================================
--- /extensions/floOs/theme/glass_clear/mail-css.tpl	(revision 3334)
+++ /extensions/floOs/theme/glass_clear/mail-css.tpl	(revision 3334)
@@ -0,0 +1,13 @@
+{* $Id: mail-css.tpl 2285 2008-03-18 23:43:38Z rvelices $ *}
+/* Theme clear mail css */
+
+body {ldelim} background-color:#fff; color:#696969;}
+#the_page {ldelim} background: #fff 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: #333;}
+h2 {ldelim} background-color: #ddd;}
+img {ldelim} margin: 16px; border: 16px solid #aaa; -moz-border-radius: 4px; border-radius: 4px 4px; }
+img:hover {ldelim} padding: 15px; border: 1px solid yellow;background-color:#faebd7; -moz-border-radius: 4px; border-radius: 4px 4px; }
+a {ldelim} color: #369; background: transparent; }
+a:hover {ldelim} color: #ddd; }
Index: /extensions/floOs/theme/glass_clear/theme.css
===================================================================
--- /extensions/floOs/theme/glass_clear/theme.css	(revision 3334)
+++ /extensions/floOs/theme/glass_clear/theme.css	(revision 3334)
@@ -0,0 +1,296 @@
+/* ---------------------------------------------------------------------------
+Thème glass 
+
+pour le template floOS
+
+by flop25(.free.fr)
+------------------------------------------------------------------------------ */
+
+
+/* text color */
+BODY, H1, H2, H3, DT,
+INPUT.rateButtonSelected  {
+  color:#000033;
+}
+
+/* backgrounds */
+H3, .throw {
+  background-color: #ffffff;	/* white */
+}
+body {
+	background-image: url(images/back_v3.jpg);
+	background-repeat: repeat-x;
+	background-position: top center;
+	background-attachment:fixed;
+	font-size:0.7em;
+	font-family: Verdana,Arial,Helvetica,sans-serif;
+	background-color: #6eacf9;
+}
+BODY#theCommentsPage .content,
+BODY#theUploadPage .content,
+BODY#theRegisterPage .content,
+BODY#theIdentificationPage .content,
+BODY#theProfilePage .content,
+BODY#theSearchPage .content,
+BODY#theAboutPage .content,
+BODY#thePopuphelpPage .content,
+BODY#thePasswordPage .content,
+BODY#theNotificationPage .content,
+BODY#theTagsPage .content,
+BODY#theNBMPage .content
+{
+background: transparent url(images/section_in.png) repeat top center;
+}
+H2, .row1 {
+  background-color: #d3d3d3;
+}
+
+.header_notes {
+  background-color: #eeeeee;
+}
+#comments {
+background: transparent url(images/section_in.png) repeat top center;
+}
+#comments H3, .titrePage h2 {
+	background-image: url(images/boutton.png);
+	background-repeat:repeat-x;
+	background-color:#FFFFFF;
+	color: #000000;
+	border: 1px solid #FFFFFF;
+}
+
+.content DIV.thumbnailCategory {
+	background-image: url(../../icon/menu/folder.png);
+	background-position: left bottom;
+	background-repeat:no-repeat;
+}
+.content ul.thumbnails span.wrap2 {
+background: transparent url(images/vignette.png) no-repeat top left;
+width:144px;
+height:144px;
+}
+.content ul.thumbnails span.wrap1 {
+	width:144px;
+	margin: 5px;
+}
+/* header */
+#theHeader {
+	background-image: url(images/header3.jpg);
+	background-position:center top;
+	background-repeat:no-repeat;
+	background-color: #000000;
+	color:#FFFFFF;
+	font-size:1.2em;
+	font-weight:bold;
+}
+#theHeader H1 {
+	color:#FFFFFF;
+	font-weight:bold;
+}
+
+/* contenu "section" */
+#section_up_left{
+	background-image: url(images/section_up_left.png);
+	background-position:right bottom;
+	background-repeat:no-repeat;
+	height:18px;
+	width:18px;
+}
+#section_up {
+ background-image: url(images/section_up.png);
+ background-position:bottom;
+ background-repeat:repeat-x;
+ height:18px;
+}
+#section_up_right{
+ background-image: url(images/section_up_right.png);
+ background-position:left bottom;
+ background-repeat:no-repeat;
+ height:18px;
+ width:20px;
+}
+#section_left{
+ background-image: url(images/section_left.png);
+ background-position:right;
+ background-repeat:repeat-y;
+ width:18px;
+}
+#section_bottom_left{
+ background-image: url(images/section_bottom_left.png);
+ background-position:top right;
+ background-repeat:no-repeat;
+ height:20px;
+ width:18px;
+}
+#section_bottom {
+ background-image: url(images/section_bottom.png);
+ background-position:top;
+ background-repeat:repeat-x;
+ height:20px;
+}
+#section_bottom_right{
+ background-image: url(images/section_bottom_right.png);
+ background-position:left top;
+ background-repeat:no-repeat;
+ height:20px;
+ width:20px;
+}
+#section_right{
+ background-image: url(images/section_right.png);
+ background-repeat:repeat-y;
+ background-position:left;
+ width:18px;
+}
+
+
+/* menu Haut*/
+#div_Menu {
+	background-image: url(images/fondMenu2.gif);
+	background-repeat:repeat-x;
+}
+
+ul#Menu, ul#Menu li
+{
+	background:transparent;
+}
+ul#Menu li:hover
+{
+color: #fff;
+background-image: url(images/fondMenuSurvol.gif);
+background-repeat:repeat-x;
+background-position:center;
+background-color:transparent;
+	text-decoration: none;
+    border-bottom: none;
+}
+/* menubar */
+#menubar DL, #section_in{
+background: transparent url(images/section_in.png) repeat top center;
+}
+#menubar DT{
+	background-image: url(images/boutton.png);
+	background-repeat:repeat-x;
+	background-color:#FFFFFF;
+	}
+
+/* borders */
+#menubar DL, #comments DIV.comment BLOCKQUOTE {
+  border: 1px solid #fff;
+}
+
+#theImage IMG {
+  border-color: #fff;
+}
+#linkNext, #linkPrev {
+  border: 2px solid #fff;
+}
+
+.content UL.thumbnail IMG {
+    border: 1px solid #a0a0a0;
+}
+
+FIELDSET, INPUT, SELECT, TEXTAREA,
+.content DIV.comment  A.illustration IMG,
+.content DIV.thumbnailCategory {
+  border: 1px solid #fff;
+}
+
+#comments DIV.comment BLOCKQUOTE {
+  border-left: 2px solid #696969;
+  background-color: #eee;
+}
+
+/*
+.content UL.thumbnails SPAN.wrap2:hover,*/
+.content UL.thumbnailCategories DIV.thumbnailCategory:hover,
+.content UL.thumbnailCategories DIV.thumbnailCategory:hover A {
+  background-color: #FFFFFF;
+  border-color: #0066CC;		 thumbnails border color when mouse cursor is over it 
+  color: #0066CC;
+}
+.thumbnailCategory IMG {
+	border: 2px solid #FFFFFF;
+}
+/* links */
+A, INPUT.rateButton {
+    color: #000033;
+    background: transparent;
+}
+
+A:hover, INPUT.rateButton:hover {
+    color: #000000;
+}
+
+#imageToolBar A, #imageToolBar A:hover {
+    border-bottom: none;
+}
+
+A.navThumb, A.navThumb:hover {
+    border-bottom: none;
+}
+#div_Menu A {
+	color:#FFFFFF;
+	text-decoration: none;
+}
+#div_Menu A:hover {
+	text-decoration: none;
+    border-bottom: none;
+}
+/* Picture */
+#imageHeaderBar {
+	background-image: url(images/fondblack2.png);
+	background-repeat:repeat-x;
+	background-position: center top;
+	background-color: #000000;
+}
+#imageHeaderBar h2 {
+background:transparent;
+color:#FFFFFF
+}
+#imageHeaderBar, #imageHeaderBar A {
+color:#FFFFFF;
+}
+#imageToolBar .randomButtons, #imageToolBar .navButtons {
+background:transparent;
+}
+#imageToolBar .navButtons {
+background:transparent;
+
+}
+#imageToolBar {
+	background-image: url(images/fondblack_bas.png);
+	background-repeat:repeat-x;
+	background-position: center bottom;
+	background-color: #000000;
+}
+#imageToolBar A:hover {
+background-image: url(images/fondMenuSurvol.gif);
+background-repeat:repeat-x;
+background-position:center;
+background-color:transparent;
+}
+#action_pict {
+	border: 2px solid #FFFFFF;
+    background: transparent url(images/section_in.png) repeat top center;
+    color:#000;
+    font-weight:bold;
+}
+/*calendar elements*/
+SPAN.calItem, SPAN.calItemEmpty
+{
+  border: 1px solid silver;
+}
+
+.virtual_cat { background: #fff !important; }
+#mbMenu #quicksearch > p { text-align: left; }
+form p { text-align:center; }
+#qsearchInput { color: #d3d3d3; }
+#qsearchInput:focus { color: #005e89; }
+
+UL.tabsheet LI.normal_tab { background-color: #d3d3d3; }
+UL.tabsheet LI.selected_tab { background-color: #eeeeee; }
+
+UL.tabsheet, UL.tabsheet LI {border-color: gray;}
+UL.tabsheet LI.normal_tab:hover { border-color: black; }
+
+/*______________-------------------___________________________---------*/
Index: /extensions/floOs/theme/glass_clear/themeconf.inc.php
===================================================================
--- /extensions/floOs/theme/glass_clear/themeconf.inc.php	(revision 3334)
+++ /extensions/floOs/theme/glass_clear/themeconf.inc.php	(revision 3334)
@@ -0,0 +1,24 @@
+<?php
+$themeconf = array(
+  'template' => 'floOS',
+  'theme' => 'glass_clear',
+  'template_dir' => 'template/floOS',
+  'icon_dir' => 'template/floOS/icon',
+  'admin_icon_dir' => 'template/floOS/icon/admin',
+  'mime_icon_dir' => 'template/floOS/icon/mimetypes/',
+  'local_head' => '  <script type="text/javascript" src="template-common/lib/jquery.js"></script>
+  <script type="text/javascript">
+jQuery(document).ready(function(){
+	$(".titre_acordeon").click(function() {
+		$(this).next().toggle("medium");
+	}).next().hide();
+});
+jQuery(document).ready(function(){
+	$(".titre_acordeon_0").click(function() {
+		$(this).next().toggle("medium");
+	}).next().show();
+});
+  
+  </script>',
+);
+?>
Index: /extensions/floOs/theme/glass_dark/index.php
===================================================================
--- /extensions/floOs/theme/glass_dark/index.php	(revision 3334)
+++ /extensions/floOs/theme/glass_dark/index.php	(revision 3334)
@@ -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: /extensions/floOs/theme/glass_dark/mail-css.tpl
===================================================================
--- /extensions/floOs/theme/glass_dark/mail-css.tpl	(revision 3334)
+++ /extensions/floOs/theme/glass_dark/mail-css.tpl	(revision 3334)
@@ -0,0 +1,13 @@
+{* $Id: mail-css.tpl 2285 2008-03-18 23:43:38Z rvelices $ *}
+/* Theme clear mail css */
+
+body {ldelim} background-color:#fff; color:#696969;}
+#the_page {ldelim} background: #fff 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: #333;}
+h2 {ldelim} background-color: #ddd;}
+img {ldelim} margin: 16px; border: 16px solid #aaa; -moz-border-radius: 4px; border-radius: 4px 4px; }
+img:hover {ldelim} padding: 15px; border: 1px solid yellow;background-color:#faebd7; -moz-border-radius: 4px; border-radius: 4px 4px; }
+a {ldelim} color: #369; background: transparent; }
+a:hover {ldelim} color: #ddd; }
Index: /extensions/floOs/theme/glass_dark/theme.css
===================================================================
--- /extensions/floOs/theme/glass_dark/theme.css	(revision 3334)
+++ /extensions/floOs/theme/glass_dark/theme.css	(revision 3334)
@@ -0,0 +1,295 @@
+/* ---------------------------------------------------------------------------
+Thème glass 
+
+pour le template floOS
+
+by flop25(.free.fr)
+------------------------------------------------------------------------------ */
+
+
+/* text color */
+BODY, H1, H2, H3, DT,
+INPUT.rateButtonSelected  {
+  color:#fff;
+}
+
+/* backgrounds */
+H3, .throw {
+  background-color: #ffffff;	/* white */
+}
+body {
+	background-image: url(images/back1.jpg);
+	background-repeat: no-repeat;
+	background-position: bottom center;
+	background-attachment:fixed;
+	font-size:0.7em;
+	font-family: Verdana,Arial,Helvetica,sans-serif;
+	background-color: #000;
+}
+BODY#theCommentsPage .content,
+BODY#theUploadPage .content,
+BODY#theRegisterPage .content,
+BODY#theIdentificationPage .content,
+BODY#theProfilePage .content,
+BODY#theSearchPage .content,
+BODY#theAboutPage .content,
+BODY#thePopuphelpPage .content,
+BODY#thePasswordPage .content,
+BODY#theNotificationPage .content,
+BODY#theTagsPage .content,
+BODY#theNBMPage .content
+{
+background: transparent url(images/section_in.png) repeat top center;
+}
+H2, .row1 {
+  background-color: #d3d3d3;
+}
+
+.header_notes {
+  background-color: #eeeeee;
+}
+#the_page > #comments {
+background: transparent url(images/section_in.png) repeat top center;
+}
+#comments H3, .titrePage h2 {
+	background-image: url(images/fondMenu2.gif);
+	background-repeat:repeat-x;
+	background-color:#000;
+	color: #fff;
+}
+
+.content DIV.thumbnailCategory {
+	background-image: url(../../icon/menu/folder.png);
+	background-position: left bottom;
+	background-repeat:no-repeat;
+}
+.content ul.thumbnails span.wrap2 {
+background: transparent url(images/vignette.png) no-repeat top left;
+width:144px;
+height:144px;
+}
+.content ul.thumbnails span.wrap1 {
+	width:144px;
+	margin: 5px;
+}
+/* header */
+#theHeader {
+	background-image: url(images/header3.jpg);
+	background-position:center top;
+	background-repeat:no-repeat;
+	background-color: #000000;
+	color:#FFFFFF;
+	font-size:1.2em;
+	font-weight:bold;
+	height:105px;
+}
+#theHeader H1 {
+	color:#FFFFFF;
+	font-weight:bold;
+}
+
+/* contenu "section" */
+#section_up_left{
+	background-image: url(images/section_up_left.png);
+	background-position:right bottom;
+	background-repeat:no-repeat;
+	height:18px;
+	width:18px;
+}
+#section_up {
+ background-image: url(images/section_up.png);
+ background-position:bottom;
+ background-repeat:repeat-x;
+ height:18px;
+}
+#section_up_right{
+ background-image: url(images/section_up_right.png);
+ background-position:left bottom;
+ background-repeat:no-repeat;
+ height:18px;
+ width:20px;
+}
+#section_left{
+ background-image: url(images/section_left.png);
+ background-position:right;
+ background-repeat:repeat-y;
+ width:18px;
+}
+#section_bottom_left{
+ background-image: url(images/section_bottom_left.png);
+ background-position:top right;
+ background-repeat:no-repeat;
+ height:20px;
+ width:18px;
+}
+#section_bottom {
+ background-image: url(images/section_bottom.png);
+ background-position:top;
+ background-repeat:repeat-x;
+ height:20px;
+}
+#section_bottom_right{
+ background-image: url(images/section_bottom_right.png);
+ background-position:left top;
+ background-repeat:no-repeat;
+ height:20px;
+ width:20px;
+}
+#section_right{
+ background-image: url(images/section_right.png);
+ background-repeat:repeat-y;
+ background-position:left;
+ width:18px;
+}
+
+
+/* menu Haut*/
+#div_Menu {
+	background-image: url(images/fondMenu2.gif);
+	background-repeat:repeat-x;
+}
+
+ul#Menu, ul#Menu li
+{
+	background:transparent;
+}
+ul#Menu li:hover
+{
+color: #fff;
+background-image: url(images/fondMenuSurvol.gif);
+background-repeat:repeat-x;
+background-position:center;
+background-color:transparent;
+	text-decoration: none;
+    border-bottom: none;
+}
+/* menubar */
+#menubar DL, #section_in{
+background: transparent url(images/section_in.png) repeat top center;
+}
+#menubar DT{
+	background-image: url(images/fondMenu2.gif);
+	background-repeat:repeat-x;
+	background-color:#002024;
+	}
+
+/* borders */
+#menubar DL {
+  border: 2px solid #002024;
+}
+
+#theImage IMG {
+  border-color: #fff;
+}
+#linkNext, #linkPrev {
+  border: 2px solid #fff;
+}
+
+.content UL.thumbnail IMG {
+    border: 1px solid #a0a0a0;
+}
+
+FIELDSET, INPUT, SELECT, TEXTAREA,
+.content DIV.comment  A.illustration IMG {
+  border: 1px solid #fff;
+}
+
+#comments DIV.comment BLOCKQUOTE {
+  border-left: 2px solid #696969;
+}
+
+/*
+.content UL.thumbnails SPAN.wrap2:hover,*/
+.content UL.thumbnailCategories DIV.thumbnailCategory:hover,
+.content UL.thumbnailCategories DIV.thumbnailCategory:hover A {
+  border-color: #002024;
+  color: #0066CC;
+}
+.thumbnailCategory IMG {
+	border: 2px solid #FFFFFF;
+}
+/* links */
+A, INPUT.rateButton {
+    color: #fff;
+    background: transparent;
+}
+
+A:hover, INPUT.rateButton:hover {
+    color: #0066CC;
+    border-bottom: none;
+	font-weight:bold;
+}
+
+#imageToolBar A, #imageToolBar A:hover {
+    border-bottom: none;
+}
+
+A.navThumb, A.navThumb:hover {
+    border-bottom: none;
+}
+#div_Menu A {
+	color:#FFFFFF;
+	text-decoration: none;
+}
+#div_Menu A:hover {
+	text-decoration: none;
+    border-bottom: none;
+}
+/* Picture */
+#imageHeaderBar {
+	background-image: url(images/fondblack2.png);
+	background-repeat:repeat-x;
+	background-position: center top;
+	background-color: #000000;
+}
+#imageHeaderBar h2 {
+background:transparent;
+color:#FFFFFF
+}
+#imageHeaderBar, #imageHeaderBar A {
+color:#FFFFFF;
+}
+#imageToolBar .randomButtons, #imageToolBar .navButtons {
+background:transparent;
+}
+#imageToolBar .navButtons {
+background:transparent;
+
+}
+#imageToolBar {
+	background-image: url(images/fondblack_bas.png);
+	background-repeat:repeat-x;
+	background-position: center bottom;
+	background-color: #000000;
+}
+#imageToolBar A:hover {
+background-image: url(images/fondMenuSurvol.gif);
+background-repeat:repeat-x;
+background-position:center;
+background-color:transparent;
+}
+#action_pict {
+	border: 2px solid #FFFFFF;
+    background: transparent url(images/section_in.png) repeat top center;
+    color:#fff;
+    font-weight:bold;
+}
+/*calendar elements*/
+SPAN.calItem, SPAN.calItemEmpty
+{
+  border: 1px solid silver;
+}
+
+.virtual_cat { background: #fff !important; }
+#mbMenu #quicksearch > p { text-align: left; }
+form p { text-align:center; }
+#qsearchInput { color: #d3d3d3; }
+#qsearchInput:focus { color: #005e89; }
+
+UL.tabsheet LI.normal_tab { background-color: #d3d3d3; }
+UL.tabsheet LI.selected_tab { background-color: #eeeeee; }
+
+UL.tabsheet, UL.tabsheet LI {border-color: gray;}
+UL.tabsheet LI.normal_tab:hover { border-color: black; }
+
+/*______________-------------------___________________________---------*/
Index: /extensions/floOs/theme/glass_dark/themeconf.inc.php
===================================================================
--- /extensions/floOs/theme/glass_dark/themeconf.inc.php	(revision 3334)
+++ /extensions/floOs/theme/glass_dark/themeconf.inc.php	(revision 3334)
@@ -0,0 +1,24 @@
+<?php
+$themeconf = array(
+  'template' => 'floOS',
+  'theme' => 'glass_dark',
+  'template_dir' => 'template/floOS',
+  'icon_dir' => 'template/floOS/icon',
+  'admin_icon_dir' => 'template/floOS/icon/admin',
+  'mime_icon_dir' => 'template/floOS/icon/mimetypes/',
+  'local_head' => '  <script type="text/javascript" src="template-common/lib/jquery.js"></script>
+  <script type="text/javascript">
+jQuery(document).ready(function(){
+	$(".titre_acordeon").click(function() {
+		$(this).next().toggle("medium");
+	}).next().hide();
+});
+jQuery(document).ready(function(){
+	$(".titre_acordeon_0").click(function() {
+		$(this).next().toggle("medium");
+	}).next().show();
+});
+  
+  </script>',
+);
+?>
Index: /extensions/floOs/theme/index.php
===================================================================
--- /extensions/floOs/theme/index.php	(revision 3334)
+++ /extensions/floOs/theme/index.php	(revision 3334)
@@ -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: /extensions/floOs/thumbnails-fix-ie5-ie6.css
===================================================================
--- /extensions/floOs/thumbnails-fix-ie5-ie6.css	(revision 3334)
+++ /extensions/floOs/thumbnails-fix-ie5-ie6.css	(revision 3334)
@@ -0,0 +1,27 @@
+/* $Id: thumbnails-fix-ie5-ie6.css 2352 2008-05-20 00:27:26Z patdenice $ */
+/* fix IE with another layout for thumbnails */
+.content UL.thumbnails SPAN.wrap2 {
+  display: block;
+  position: relative;
+  text-align: left;
+}
+.content UL.thumbnails SPAN.wrap2 A,
+.content UL.thumbnails SPAN.wrap2 SPAN {
+  overflow: visible;
+  position: absolute;
+  top: 50%;
+  text-align: center;
+}
+
+.content UL.thumbnails IMG.thumbnail {
+  position: relative;
+  top: -50%;
+  /*\*//*/
+    margin-top: -40%;
+  /**/
+}
+.content UL.thumbnails INPUT {
+  position: absolute;
+  left: 2px;
+  top: 2px;  /* same as other browsers but not so pretty */
+}
Index: /extensions/floOs/thumbnails.css
===================================================================
--- /extensions/floOs/thumbnails.css	(revision 3334)
+++ /extensions/floOs/thumbnails.css	(revision 3334)
@@ -0,0 +1,60 @@
+/* $Id: thumbnails.css 2352 2008-05-20 00:27:26Z patdenice $ */
+
+/* Thumbnails customization */
+.content UL.thumbnails SPAN.thumbLegend {
+  font-size: 80%;		/* font size */
+  overflow: hidden;		/* oversized legend is clipped */
+}
+
+/* Thumbnail "elastic" layout */
+.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 SPAN.wrap2 A,
+.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*/
+}
+
+/* label and input used for caddie in admin section */
+.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; fontsize:120%;
+}
+
+UL.thumbnails .levelIndicatorF {
+display:block; position:absolute; z-index:101;padding:1px 0 0 15px; color:white; font-weight:bold; fontsize:120%;
+}
Index: /extensions/floOs/thumbnails.tpl
===================================================================
--- /extensions/floOs/thumbnails.tpl	(revision 3334)
+++ /extensions/floOs/thumbnails.tpl	(revision 3334)
@@ -0,0 +1,33 @@
+{* $Id: thumbnails.tpl 2274 2008-03-11 02:04:27Z rvelices $ *}
+{if !empty($thumbnails)}
+<ul class="thumbnails">
+{foreach from=$thumbnails item=thumbnail}
+	<li class="thumb_{"1"|mt_rand:5}" >
+	<span class="wrap1">
+		<span class="wrap2">
+		<a href="{$thumbnail.URL}">
+			<img class="thumbnail" src="{$thumbnail.TN_SRC}" alt="{$thumbnail.TN_ALT}" title="{$thumbnail.TN_TITLE}" />
+		</a>
+		</span>
+		<span class="thumbLegend">
+		{$thumbnail.NAME|@default}
+		{$thumbnail.ICON_TS}
+		{if isset($thumbnail.NB_COMMENTS)}
+		<span class="{if 0==$thumbnail.NB_COMMENTS}zero {/if}nb-comments">
+		<br />
+		{$pwg->l10n_dec('%d comment', '%d comments',$thumbnail.NB_COMMENTS)}
+		</span>
+		{/if}
+
+		{if isset($thumbnail.NB_HITS)}
+		<span class="{if 0==$thumbnail.NB_HITS}zero {/if}nb-hits">
+		<br />
+		{$pwg->l10n_dec('%d hit', '%d hits',$thumbnail.NB_HITS)}
+		</span>
+		{/if}
+		</span>
+	</span>
+	</li>
+{/foreach}
+</ul>
+{/if}
Index: /extensions/floOs/upgrade.tpl
===================================================================
--- /extensions/floOs/upgrade.tpl	(revision 3334)
+++ /extensions/floOs/upgrade.tpl	(revision 3334)
@@ -0,0 +1,44 @@
+{* $Id: upgrade.tpl 2342 2008-05-15 18:43:33Z rub $ *}
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"  />
+    <title>Piwigo : Upgrade to {$RELEASE}</title>
+  </head>
+
+  <body>
+    {if isset($introduction)}
+    <h1>Welcome to Piwigo upgrade page.</h1>
+
+    <p>This page proposes to upgrade your database corresponding to your old
+version of Piwigo to the current version. The upgrade assistant
+thinks you are currently running a
+<strong>release {$introduction.CURRENT_RELEASE}</strong> (or equivalent).</p>
+
+    <p><a href="{$introduction.RUN_UPGRADE_URL}">Upgrade from release
+{$introduction.CURRENT_RELEASE} to {$RELEASE}</a></p>
+    {/if}
+
+    {if isset($upgrade)}
+    <h1>Upgrade from version {$upgrade.VERSION} to {$RELEASE}</h1>
+
+    <p>Statistics</p>
+    <ul>
+      <li>total upgrade time : {$upgrade.TOTAL_TIME}</li>
+      <li>total SQL time : {$upgrade.SQL_TIME}</li>
+      <li>SQL queries : {$upgrade.NB_QUERIES}</li>
+    </ul>
+
+    <p>Upgrade informations</p>
+
+    <ul>
+      {foreach from=$infos item=info}
+      <li>{$info}</li>
+      {/foreach}
+    </ul>
+
+    {/if}
+  </body>
+
+</html>
Index: /extensions/floOs/upload.tpl
===================================================================
--- /extensions/floOs/upload.tpl	(revision 3334)
+++ /extensions/floOs/upload.tpl	(revision 3334)
@@ -0,0 +1,110 @@
+{* $Id: upload.tpl 2352 2008-05-20 00:27:26Z patdenice $ *}
+
+<div id="content" class="content">
+
+  <div class="titrePage">
+    <ul class="categoryActions">
+      <li><a href="{$U_HOME}" title="{'return to homepage'|@translate}"><img src="{$themeconf.icon_dir}/home.png" class="button" alt="{'home'|@translate}"/></a></li>
+    </ul>
+    <h2>{'upload_title'|@translate}</h2>
+  </div>
+
+  {if !empty($errors)}
+  <div class="errors">
+    <ul>
+      {foreach from=$errors item=error}
+      <li>{$error}</li>
+      {/foreach}
+    </ul>
+  </div>
+  {/if}
+
+  {if not $UPLOAD_SUCCESSFUL }
+  <form enctype="multipart/form-data" method="post" action="{$F_ACTION}">
+    <table style="width:80%;margin-left:auto;margin-right:auto;">
+    <tr>
+      <td colspan="2" class="menu">
+      <div style="text-align:center;">{$ADVISE_TITLE}</div>
+      {if not empty($advises)}
+      <ul>
+        {foreach from=$advises item=advise}
+        <li>{$advise}</li>
+        {/foreach}
+      </ul>
+      {/if}
+      </td>
+    </tr>
+    <tr>
+      <td colspan="2" align="center">
+      <input name="picture" type="file" value="" />
+      </td>
+    </tr>
+    {if isset($SHOW_FORM_FIELDS) and $SHOW_FORM_FIELDS}
+    <!-- category -->
+    <tr>
+      <td>{'Category'|@translate}</td>
+      <td>
+        {html_options name="category" options=$categories selected=$categories_selected}
+      </td>
+    </tr>
+    <!-- username -->
+    <tr>
+      <td>{'Username'|@translate} <span style="color:red;">*</span></td>
+      <td>
+      <input name="username" type="text" value="{$NAME}" />
+      </td>
+    </tr>
+    <!-- mail address -->
+    <tr>
+      <td>{'mail_address'|@translate} <span style="color:red;">*</span></td>
+      <td>
+      <input name="mail_address" type="text" value="{$EMAIL}" />
+      </td>
+    </tr>
+    <!-- name of the picture -->
+    <tr>
+      <td>{'upload_name'|@translate}</td>
+      <td>
+      <input name="name" type="text" value="{$NAME_IMG}" />
+      </td>
+    </tr>
+    <!-- author -->
+    <tr>
+      <td>{'upload_author'|@translate}</td>
+      <td>
+      <input name="author" type="text" value="{$AUTHOR_IMG}" />
+      </td>
+    </tr>
+    <!-- date of creation -->
+    <tr>
+      <td>{'Creation date'|@translate} (DD/MM/YYYY)</td>
+      <td>
+      <input name="date_creation" type="text" value="{$DATE_IMG}" />
+      </td>
+    </tr>
+    <!-- comment -->
+    <tr>
+      <td>{'comment'|@translate}</td>
+      <td>
+       <textarea name="comment" rows="3" cols="40" style="overflow:auto">{$COMMENT_IMG}</textarea>
+      </td>
+    </tr>
+    {/if}
+    <tr>
+      <td colspan="2" align="center">
+      <input class="submit" name="submit" type="submit" value="{'Submit'|@translate}" />
+      </td>
+    </tr>
+    </table>
+  </form>
+  {else}
+  {'upload_successful'|@translate}<br />
+  <div style="text-align:center;">
+    <a href="{$U_RETURN}">[ {'home'|@translate} ]</a>
+  </div>
+  {/if}
+  
+  {if isset($SHOW_FORM_FIELDS) and $SHOW_FORM_FIELDS}
+  <div style="text-align:left;"><span style="color:red;">*</span> : {'mandatory'|@translate}</div>
+  {/if}
+</div> <!-- content -->
