aboutsummaryrefslogtreecommitdiffstats
path: root/themes/default/template
diff options
context:
space:
mode:
authorplegall <plg@piwigo.org>2010-03-13 00:00:52 +0000
committerplegall <plg@piwigo.org>2010-03-13 00:00:52 +0000
commit14778ce673277f2df41f963aa70df1cbed427294 (patch)
tree8c723d4d9827876dbf19d2bd581405fc50910860 /themes/default/template
parentc396f08708d431c6f7e8656eaca4fd8e440fdd39 (diff)
feature 1502: based on Dotclear model, P@t has reorganized the way Piwigo
manages template/theme in a simpler "theme only level" architecture. It supports multiple level inheritance. git-svn-id: http://piwigo.org/svn/trunk@5123 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'themes/default/template')
-rw-r--r--themes/default/template/about.tpl18
-rw-r--r--themes/default/template/comment_list.tpl58
-rw-r--r--themes/default/template/comments.tpl76
-rw-r--r--themes/default/template/footer.tpl35
-rw-r--r--themes/default/template/header.tpl73
-rw-r--r--themes/default/template/identification.tpl71
-rw-r--r--themes/default/template/include/autosize.inc.tpl13
-rw-r--r--themes/default/template/include/datepicker.inc.tpl24
-rw-r--r--themes/default/template/include/resize.inc.tpl22
-rw-r--r--themes/default/template/index.tpl116
-rw-r--r--themes/default/template/mail/index.php30
-rw-r--r--themes/default/template/mail/text/html/cat_group_info.tpl8
-rw-r--r--themes/default/template/mail/text/html/footer.tpl22
-rw-r--r--themes/default/template/mail/text/html/global-mail-css.tpl11
-rw-r--r--themes/default/template/mail/text/html/header.tpl18
-rw-r--r--themes/default/template/mail/text/html/index.php30
-rw-r--r--themes/default/template/mail/text/html/notification_by_mail.tpl56
-rw-r--r--themes/default/template/mail/text/index.php30
-rw-r--r--themes/default/template/mail/text/plain/cat_group_info.tpl8
-rw-r--r--themes/default/template/mail/text/plain/footer.tpl3
-rw-r--r--themes/default/template/mail/text/plain/header.tpl5
-rw-r--r--themes/default/template/mail/text/plain/index.php30
-rw-r--r--themes/default/template/mail/text/plain/notification_by_mail.tpl41
-rw-r--r--themes/default/template/mainpage_categories.tpl31
-rw-r--r--themes/default/template/menubar.tpl13
-rw-r--r--themes/default/template/menubar_categories.tpl39
-rw-r--r--themes/default/template/menubar_identification.tpl64
-rw-r--r--themes/default/template/menubar_links.tpl15
-rw-r--r--themes/default/template/menubar_menu.tpl20
-rw-r--r--themes/default/template/menubar_specials.tpl9
-rw-r--r--themes/default/template/menubar_tags.tpl17
-rw-r--r--themes/default/template/month_calendar.tpl86
-rw-r--r--themes/default/template/navigation_bar.tpl28
-rw-r--r--themes/default/template/nbm.tpl30
-rw-r--r--themes/default/template/notification.tpl24
-rw-r--r--themes/default/template/password.tpl53
-rw-r--r--themes/default/template/picture.tpl280
-rw-r--r--themes/default/template/picture_content.tpl11
-rw-r--r--themes/default/template/picture_nav_buttons.tpl102
-rw-r--r--themes/default/template/profile.tpl21
-rw-r--r--themes/default/template/profile_content.tpl109
-rw-r--r--themes/default/template/redirect.tpl13
-rw-r--r--themes/default/template/register.tpl68
-rw-r--r--themes/default/template/search.tpl146
-rw-r--r--themes/default/template/search_rules.tpl57
-rw-r--r--themes/default/template/slideshow.tpl22
-rw-r--r--themes/default/template/tags.tpl54
-rw-r--r--themes/default/template/thumbnails.tpl37
-rw-r--r--themes/default/template/upload.tpl114
49 files changed, 2261 insertions, 0 deletions
diff --git a/themes/default/template/about.tpl b/themes/default/template/about.tpl
new file mode 100644
index 000000000..370e3ccc3
--- /dev/null
+++ b/themes/default/template/about.tpl
@@ -0,0 +1,18 @@
+<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>
diff --git a/themes/default/template/comment_list.tpl b/themes/default/template/comment_list.tpl
new file mode 100644
index 000000000..f431a1cd5
--- /dev/null
+++ b/themes/default/template/comment_list.tpl
@@ -0,0 +1,58 @@
+{* $Id$ *}
+<ul class="thumbnailCategories">
+{foreach from=$comments item=comment name=comment_loop}
+<li>
+ <div class="thumbnailCategory {if $smarty.foreach.comment_loop.index is odd}odd{else}even{/if}">
+ {if isset($comment.TN_SRC)}
+ <div class="illustration">
+ <a href="{$comment.U_PICTURE}">
+ <img src="{$comment.TN_SRC}" alt="{$comment.ALT}">
+ </a>
+ </div>
+ {/if}
+ <div class="description" style="height:{if isset($comment.IN_EDIT)}200{/if}px">
+ {if isset($comment.U_DELETE) or isset($comment.U_VALIDATE) or isset($comment.U_EDIT) }
+ <ul class="actions" style="float:right">
+ {if isset($comment.U_DELETE)}
+ <li>
+ <a href="{$comment.U_DELETE}" title="{'delete this comment'|@translate}" onclick="return confirm('{'Are you sure?'|@translate|@escape:javascript}');">
+ <img src="{$ROOT_URL}{$themeconf.icon_dir}/delete.png" class="button" alt="[delete]">
+ </a>
+ </li>
+ {/if}
+ {if isset($comment.U_EDIT) and !isset($comment.IN_EDIT)}
+ <li>
+ <a class="editComment" href="{$comment.U_EDIT}#edit_comment" title="{'edit this comment'|@translate}">
+ <img src="{$ROOT_URL}{$themeconf.icon_dir}/edit.png" class="button" alt="[edit]">
+ </a>
+ </li>
+ {/if}
+ {if isset($comment.U_VALIDATE)}
+ <li>
+ <a href="{$comment.U_VALIDATE}" title="{'validate this comment'|@translate}">
+ <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>
+ {if isset($comment.IN_EDIT)}
+ <a name="edit_comment"></a>
+ <form method="post" action="{$comment.U_EDIT}" class="filter" id="editComment">
+ <fieldset>
+ <legend>{'Edit a comment'|@translate}</legend>
+ <label>{'Comment'|@translate}<textarea name="content" id="contenteditid" rows="5" cols="80">{$Comment.CONTENT|@escape}</textarea></label>
+ <input type="hidden" name="key" value="{$comment.KEY}">
+ <input type="hidden" name="image_id" value="{$comment.IMAGE_ID|@default:$current.id}">
+ <input class="submit" type="submit" value="{'Submit'|@translate}">
+ </fieldset>
+ </form>
+ {else}
+ <blockquote>{$comment.CONTENT}</blockquote>
+ {/if}
+ </div>
+ </div>
+</li>
+{/foreach}
+</ul>
diff --git a/themes/default/template/comments.tpl b/themes/default/template/comments.tpl
new file mode 100644
index 000000000..68941e03d
--- /dev/null
+++ b/themes/default/template/comments.tpl
@@ -0,0 +1,76 @@
+<div id="content" class="content">
+
+ <div class="titrePage">
+ <ul class="categoryActions">
+ <li><a href="{$U_HOME}" title="{'Home'|@translate}"><img src="{$themeconf.icon_dir}/Home.png" class="button" alt="{'Home'|@translate}"></a></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>
+
+{if !empty($navbar) }{include file='navigation_bar.tpl'|@get_extent:'navbar'}{/if}
+
+{if isset($comments)}
+<div id="comments">
+ {include file='comment_list.tpl'}
+</div>
+{/if}
+
+</div> <!-- content -->
+
diff --git a/themes/default/template/footer.tpl b/themes/default/template/footer.tpl
new file mode 100644
index 000000000..89c034965
--- /dev/null
+++ b/themes/default/template/footer.tpl
@@ -0,0 +1,35 @@
+<div id="copyright">
+ <a name="EoP"></a> <!-- End of Page -->
+ {if isset($debug.TIME) }
+ {'SQL queries in'|@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="{$PHPWG_URL}" class="Piwigo">
+ <span class="Piwigo">Piwigo</span></a>
+ {$VERSION}
+ {if isset($CONTACT_MAIL)}
+ - {'Contact'|@translate}
+ <a href="mailto:{$CONTACT_MAIL}?subject={'title_send_mail'|@translate|@escape:url}">{'Webmaster'|@translate}</a>
+ {/if}
+
+
+{if isset($footer_elements)}
+{foreach from=$footer_elements item=v}
+{$v}
+{/foreach}
+{/if}
+</div> <!-- the_page -->
+{if isset($debug.QUERIES_LIST)}
+<div id="debug">
+{$debug.QUERIES_LIST}
+</div>
+{/if}
+</div> <!-- copyright -->
+</body>
+</html> \ No newline at end of file
diff --git a/themes/default/template/header.tpl b/themes/default/template/header.tpl
new file mode 100644
index 000000000..07c020405
--- /dev/null
+++ b/themes/default/template/header.tpl
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="{$lang_info.code}" dir="{$lang_info.direction}">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset={$CONTENT_ENCODING}">
+<meta name="generator" content="Piwigo (aka PWG), see piwigo.org">
+{if isset($meta_ref) }
+{if isset($INFO_AUTHOR)}
+<meta name="author" content="{$INFO_AUTHOR|@replace:'"':' '}">
+{/if}
+{if isset($related_tags)}
+<meta name="keywords" content="{foreach from=$related_tags item=tag name=tag_loop}{if !$smarty.foreach.tag_loop.first}, {/if}{$tag.name}{/foreach}">
+{/if}
+{if isset($COMMENT_IMG)}
+<meta name="description" content="{$COMMENT_IMG|@strip_tags:false|@replace:'"':' '}{if isset($INFO_FILE)} - {$INFO_FILE}{/if}">
+{else}
+<meta name="description" content="{$PAGE_TITLE}{if isset($INFO_FILE)} - {$INFO_FILE}{/if}">
+{/if}
+{/if}
+
+{if (isset($REVERSE) and $REVERSE and $PAGE_TITLE == l10n('home'))}
+<title>{$GALLERY_TITLE} | {$PAGE_TITLE}</title>{else}
+<title>{$PAGE_TITLE} | {$GALLERY_TITLE}</title>{/if}
+<link rel="shortcut icon" type="image/x-icon" href="{$ROOT_URL}{$themeconf.icon_dir}/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'|@translate}" href="{$first.U_IMG}" >{/if}
+{if isset($previous.U_IMG)}<link rel="prev" title="{'Previous'|@translate}" href="{$previous.U_IMG}" >{/if}
+{if isset($next.U_IMG) }<link rel="next" title="{'Next'|@translate}" href="{$next.U_IMG}" >{/if}
+{if isset($last.U_IMG) }<link rel="last" title="{'Last'|@translate}" href="{$last.U_IMG}" >{/if}
+{if isset($U_UP) }<link rel="up" title="{'Thumbnails'|@translate}" href="{$U_UP}" >{/if}
+
+{foreach from=$themes item=theme}
+{if isset($theme.local_head)}{include file=$theme.local_head}{/if}
+<link rel="stylesheet" type="text/css" href="{$ROOT_URL}themes/{$theme.name}/theme.css">
+{/foreach}
+
+{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}{$themeconf.js_dir}/scripts.js"></script>
+<!--[if lt IE 7]>
+<script type="text/javascript" src="{$ROOT_URL}{$themeconf.js_dir}/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}
+ {$elt}<br>
+ {/foreach}
+</div>
+{/if}
+
+<div id="theHeader">{$PAGE_BANNER}</div>
+{if isset($theSwiftHeader)}{$theSwiftHeader}{/if}
+{if not empty($header_notes)}
+<div class="header_notes">
+ {foreach from=$header_notes item=elt}
+ <p>{$elt}</p>
+ {/foreach}
+</div>
+{/if}
diff --git a/themes/default/template/identification.tpl b/themes/default/template/identification.tpl
new file mode 100644
index 000000000..b63415e7b
--- /dev/null
+++ b/themes/default/template/identification.tpl
@@ -0,0 +1,71 @@
+<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="{'Register'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/register.png" class="button" alt="{'Register'|@translate}"></a></li>
+ {/if}
+ <li><a href="{$U_HOME}" title="{'Home'|@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="Auto login">{'Auto login'|@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>
+
+ <p>
+ {if isset($U_REGISTER) }
+ <a href="{$U_REGISTER}" title="{'Register'|@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>
+
+</form>
+
+<script type="text/javascript"><!--
+document.login_form.username.focus();
+//--></script>
+
+</div> <!-- content -->
diff --git a/themes/default/template/include/autosize.inc.tpl b/themes/default/template/include/autosize.inc.tpl
new file mode 100644
index 000000000..8f5c78c70
--- /dev/null
+++ b/themes/default/template/include/autosize.inc.tpl
@@ -0,0 +1,13 @@
+{known_script id="jquery" src=$ROOT_URL|@cat:"themes/default/js/jquery.packed.js"}
+{known_script id="jquery.autogrow" src=$ROOT_URL|@cat:"themes/default/js/plugins/jquery.autogrow-textarea.js"}
+
+{* Auto size and auto grow textarea *}
+{literal}
+<script type="text/javascript">
+ jQuery().ready(function(){
+ jQuery('textarea').css('overflow-y', 'hidden');
+ // Auto size and auto grow for all text area
+ jQuery('textarea').autogrow();
+ });
+</script>
+{/literal}
diff --git a/themes/default/template/include/datepicker.inc.tpl b/themes/default/template/include/datepicker.inc.tpl
new file mode 100644
index 000000000..92cb8cbcd
--- /dev/null
+++ b/themes/default/template/include/datepicker.inc.tpl
@@ -0,0 +1,24 @@
+
+{known_script id="jquery" src=$ROOT_URL|@cat:"themes/default/js/jquery.packed.js"}
+{known_script id="jquery.ui" src=$ROOT_URL|@cat:"themes/default/js/ui/packed/ui.core.packed.js"}
+{known_script id="jquery.ui.datepicker" src=$ROOT_URL|@cat:"themes/default/js/ui/packed/ui.datepicker.packed.js"}
+{known_script id="datepicker.js" src=$ROOT_URL|@cat:"themes/default/js/datepicker.js"}
+
+{assign var="datepicker_language" value="themes/default/js/ui/i18n/ui.datepicker-"|@cat:$lang_info.code|@cat:".js"}
+
+{if "PHPWG_ROOT_PATH"|@constant|@cat:$datepicker_language|@file_exists}
+{known_script id="jquery.ui.datepicker-$lang_info.code" src=$ROOT_URL|@cat:$datepicker_language}
+{/if}
+
+{html_head}
+<link rel="stylesheet" type="text/css" href="{$ROOT_URL}themes/default/js/ui/themes/ui.datepicker.css">
+{/html_head}
+
+<script type="text/javascript">
+function pwg_initialization_datepicker(day, month, year, linked_date, checked_on_change, min_linked_date, max_linked_date)
+{ldelim}
+ return pwg_common_initialization_datepicker(
+ "{$ROOT_URL}{$themeconf.icon_dir}/datepicker.png",
+ day, month, year, linked_date, checked_on_change, min_linked_date, max_linked_date);
+}
+</script>
diff --git a/themes/default/template/include/resize.inc.tpl b/themes/default/template/include/resize.inc.tpl
new file mode 100644
index 000000000..30a637563
--- /dev/null
+++ b/themes/default/template/include/resize.inc.tpl
@@ -0,0 +1,22 @@
+{known_script id="jquery" src=$ROOT_URL|@cat:"themes/default/js/jquery.packed.js"}
+{known_script id="jquery.ui" src=$ROOT_URL|@cat:"themes/default/js/ui/packed/ui.core.packed.js"}
+{known_script id="jquery.ui.resizable" src=$ROOT_URL|@cat:"themes/default/js/ui/packed/ui.resizable.packed.js"}
+
+{* Resize possible *}
+{literal}
+<script type="text/javascript">
+ jQuery().ready(function(){
+ // Resize possible for list
+ jQuery(".categoryList").resizable({
+ handles: "all",
+ animate: true,
+ animateDuration: "slow",
+ animateEasing: "swing",
+ preventDefault: true,
+ preserveCursor: true,
+ autoHide: true,
+ ghost: true
+ });
+ });
+</script>
+{/literal}
diff --git a/themes/default/template/index.tpl b/themes/default/template/index.tpl
new file mode 100644
index 000000000..6bad8e319
--- /dev/null
+++ b/themes/default/template/index.tpl
@@ -0,0 +1,116 @@
+{$MENUBAR}
+{if !empty($PLUGIN_INDEX_CONTENT_BEFORE)}{$PLUGIN_INDEX_CONTENT_BEFORE}{/if}
+<div id="content" class="content">
+ <div class="titrePage">
+ <ul class="categoryActions">
+ {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($favorite) }
+ <li><a href="{$favorite.U_FAVORITE}" title="{'delete all images from your favorites'|@translate}"><img src="{$favorite.FAVORITE_IMG}" class="button" alt="favorite" title="{'delete all images from your favorites'|@translate}"></a></li>
+ {/if}
+
+ {if isset($U_CADDIE) }
+ <li><a href="{$U_CADDIE}" title="{'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'|@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}" 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}
+
+ {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="{'display all elements in all sub-categories'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/flat.png" class="button" alt="{'display all elements in all sub-categories'|@translate}"></a></li>
+ {/if}
+
+ {if isset($U_MODE_NORMAL) }
+ <li><a href="{$U_MODE_NORMAL}" title="{'return to normal view mode'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/normal_mode.png" class="button" alt="{'return to normal view mode'|@translate}"></a></li>
+ {/if}
+
+ {if isset($U_MODE_POSTED) }
+ <li><a href="{$U_MODE_POSTED}" title="{'display a calendar by posted date'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/calendar.png" class="button" alt="{'display a calendar by posted date'|@translate}"></a></li>
+ {/if}
+
+ {if isset($U_MODE_CREATED) }
+ <li><a href="{$U_MODE_CREATED}" title="{'display a calendar by creation date'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/calendar_created.png" class="button" alt="{'display a calendar by creation date'|@translate}"></a></li>
+ {/if}
+
+ {if !empty($PLUGIN_INDEX_ACTIONS)}{$PLUGIN_INDEX_ACTIONS}{/if}
+ </ul>
+
+ <h2>{$TITLE}</h2>
+
+ {if isset($chronology_views) }
+ <div class="calendarViews">{'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;margin:10px 16px">{'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;margin:10px 16px">{'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($navbar) }{include file='navigation_bar.tpl'|@get_extent:'navbar'}{/if}
+
+{if !empty($CONTENT_DESCRIPTION) }
+<div class="additional_info">
+ {$CONTENT_DESCRIPTION}
+</div>
+{/if}
+
+{if !empty($PLUGIN_INDEX_CONTENT_END) }{$PLUGIN_INDEX_CONTENT_END}{/if}
+</div> <!-- content -->
+
+{if !empty($PLUGIN_INDEX_CONTENT_AFTER)}{$PLUGIN_INDEX_CONTENT_AFTER}{/if}
diff --git a/themes/default/template/mail/index.php b/themes/default/template/mail/index.php
new file mode 100644
index 000000000..871b52b6a
--- /dev/null
+++ b/themes/default/template/mail/index.php
@@ -0,0 +1,30 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008-2009 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();
+?>
diff --git a/themes/default/template/mail/text/html/cat_group_info.tpl b/themes/default/template/mail/text/html/cat_group_info.tpl
new file mode 100644
index 000000000..a0c703bb0
--- /dev/null
+++ b/themes/default/template/mail/text/html/cat_group_info.tpl
@@ -0,0 +1,8 @@
+<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>
diff --git a/themes/default/template/mail/text/html/footer.tpl b/themes/default/template/mail/text/html/footer.tpl
new file mode 100644
index 000000000..92e69b089
--- /dev/null
+++ b/themes/default/template/mail/text/html/footer.tpl
@@ -0,0 +1,22 @@
+</div> <!-- content -->
+<div id="copyright">
+<hr>
+ {'Sent by'|@translate}
+ <a href="{$GALLERY_URL}">{$GALLERY_TITLE}</a>
+
+ {* 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}
+
+ - {'send_mail'|@translate}
+ <a href="mailto:{$MAIL}?subject={$TITLE_MAIL}">{'Webmaster'|@translate}</a>
+
+</div> <!-- copyright -->
+</div> <!-- the_page -->
+
+</body>
+</html>
diff --git a/themes/default/template/mail/text/html/global-mail-css.tpl b/themes/default/template/mail/text/html/global-mail-css.tpl
new file mode 100644
index 000000000..5c8e87a54
--- /dev/null
+++ b/themes/default/template/mail/text/html/global-mail-css.tpl
@@ -0,0 +1,11 @@
+/* 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; }
diff --git a/themes/default/template/mail/text/html/header.tpl b/themes/default/template/mail/text/html/header.tpl
new file mode 100644
index 000000000..9ab46693c
--- /dev/null
+++ b/themes/default/template/mail/text/html/header.tpl
@@ -0,0 +1,18 @@
+-----={$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_info.code}" dir="{$lang_info.direction}">
+<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">
diff --git a/themes/default/template/mail/text/html/index.php b/themes/default/template/mail/text/html/index.php
new file mode 100644
index 000000000..871b52b6a
--- /dev/null
+++ b/themes/default/template/mail/text/html/index.php
@@ -0,0 +1,30 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008-2009 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();
+?>
diff --git a/themes/default/template/mail/text/html/notification_by_mail.tpl b/themes/default/template/mail/text/html/notification_by_mail.tpl
new file mode 100644
index 000000000..5a0115e2f
--- /dev/null
+++ b/themes/default/template/mail/text/html/notification_by_mail.tpl
@@ -0,0 +1,56 @@
+<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>
diff --git a/themes/default/template/mail/text/index.php b/themes/default/template/mail/text/index.php
new file mode 100644
index 000000000..871b52b6a
--- /dev/null
+++ b/themes/default/template/mail/text/index.php
@@ -0,0 +1,30 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008-2009 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();
+?>
diff --git a/themes/default/template/mail/text/plain/cat_group_info.tpl b/themes/default/template/mail/text/plain/cat_group_info.tpl
new file mode 100644
index 000000000..59604846e
--- /dev/null
+++ b/themes/default/template/mail/text/plain/cat_group_info.tpl
@@ -0,0 +1,8 @@
+{'Hello,'|@translate}
+
+{'Come to discover the category:'|@translate} {$CAT_NAME}
+{$LINK}
+
+{$CPL_CONTENT}
+
+{'See you soon.'|@translate}
diff --git a/themes/default/template/mail/text/plain/footer.tpl b/themes/default/template/mail/text/plain/footer.tpl
new file mode 100644
index 000000000..c386f0962
--- /dev/null
+++ b/themes/default/template/mail/text/plain/footer.tpl
@@ -0,0 +1,3 @@
+
+------------------------------------------------------------------------------
+{'Sent by'|@translate} {$GALLERY_URL} - {'powered_by'|@translate} Piwigo {$VERSION} - {'send_mail'|@translate} {$MAIL}
diff --git a/themes/default/template/mail/text/plain/header.tpl b/themes/default/template/mail/text/plain/header.tpl
new file mode 100644
index 000000000..6fcc863d2
--- /dev/null
+++ b/themes/default/template/mail/text/plain/header.tpl
@@ -0,0 +1,5 @@
+-----={$BOUNDARY_KEY}
+Content-Type: {$CONTENT_TYPE}; charset="{$CONTENT_ENCODING}";
+Content-Transfer-Encoding: 8bit{literal}
+
+{/literal}{*note that there must be an empty line to separate the mime headers*}
diff --git a/themes/default/template/mail/text/plain/index.php b/themes/default/template/mail/text/plain/index.php
new file mode 100644
index 000000000..871b52b6a
--- /dev/null
+++ b/themes/default/template/mail/text/plain/index.php
@@ -0,0 +1,30 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008-2009 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();
+?>
diff --git a/themes/default/template/mail/text/plain/notification_by_mail.tpl b/themes/default/template/mail/text/plain/notification_by_mail.tpl
new file mode 100644
index 000000000..b1928853f
--- /dev/null
+++ b/themes/default/template/mail/text/plain/notification_by_mail.tpl
@@ -0,0 +1,41 @@
+{'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}
+______________________________________________________________________________
diff --git a/themes/default/template/mainpage_categories.tpl b/themes/default/template/mainpage_categories.tpl
new file mode 100644
index 000000000..0a88d3534
--- /dev/null
+++ b/themes/default/template/mainpage_categories.tpl
@@ -0,0 +1,31 @@
+
+<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.TN_ALT}" title="{$cat.NAME|@replace:'"':' '} - {'shows images at the root of this category'|@translate}">
+ </a>
+ </div>
+ <div class="description">
+ <h3>
+ <a href="{$cat.URL}">{$cat.NAME}</a>
+ {if !empty($cat.icon_ts)}
+ <img title="{$cat.icon_ts.TITLE}" src="{$ROOT_URL}{$themeconf.icon_dir}/recent{if $cat.icon_ts.IS_CHILD_DATE}_by_child{/if}.png" class="icon" alt="(!)">
+ {/if}
+ </h3>
+ <div class="text">
+ {if isset($cat.INFO_DATES) }
+ <p class="dates">{$cat.INFO_DATES}</p>
+ {/if}
+ <p class="Nb_images">{$cat.CAPTION_NB_IMAGES}</p>
+ {if not empty($cat.DESCRIPTION)}
+ <p>{$cat.DESCRIPTION}</p>
+ {/if}
+ </div>
+ </div>
+ </div>
+ </li>
+{/foreach}
+</ul>
diff --git a/themes/default/template/menubar.tpl b/themes/default/template/menubar.tpl
new file mode 100644
index 000000000..8b1e8f4b6
--- /dev/null
+++ b/themes/default/template/menubar.tpl
@@ -0,0 +1,13 @@
+{if !empty($blocks) }
+<div id="menubar">
+ {foreach from=$blocks key=id item=block}
+ <dl id="{$id}">
+ {if not empty($block->template)}
+ {include file=$block->template|@get_extent:$id }
+ {else}
+ {$block->raw_content}
+ {/if}
+ </dl>
+ {/foreach}
+</div>
+{/if} \ No newline at end of file
diff --git a/themes/default/template/menubar_categories.tpl b/themes/default/template/menubar_categories.tpl
new file mode 100644
index 000000000..02a9b6668
--- /dev/null
+++ b/themes/default/template/menubar_categories.tpl
@@ -0,0 +1,39 @@
+<dt>
+ {if isset($U_START_FILTER)}
+ <a href="{$U_START_FILTER}" title="{'display only recently posted images'|@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="{'return to the display of all images'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/stop_filter.png" class="button" alt="stop filter"></a>
+ {/if}
+ <a href="{$block->data.U_CATEGORIES}">{'Categories'|@translate}</a>
+</dt>
+<dd>
+{assign var='ref_level' value=0}
+{foreach from=$block->data.MENU_CATEGORIES item=cat}
+ {if $cat.LEVEL > $ref_level}
+ <ul>
+ {else}
+ </li>
+ {'</ul></li>'|@str_repeat:$ref_level-$cat.LEVEL}
+ {/if}
+ <li {if $cat.SELECTED}class="selected"{/if}>
+ <a href="{$cat.URL}" {if $cat.IS_UPPERCAT}rel="up"{/if} title="{$cat.TITLE}">{$cat.NAME}</a>
+ {if $cat.count_images > 0}
+ <span class="{if $cat.nb_images > 0}menuInfoCat{else}menuInfoCatByChild{/if}" title="{$cat.TITLE}">[{$cat.count_images}]</span>
+ {/if}
+ {if !empty($cat.icon_ts)}
+ <img title="{$cat.icon_ts.TITLE}" src="{$ROOT_URL}{$themeconf.icon_dir}/recent{if $cat.icon_ts.IS_CHILD_DATE}_by_child{/if}.png" class="icon" alt="(!)">
+ {/if}
+ {assign var='ref_level' value=$cat.LEVEL}
+{/foreach}
+{'</li></ul>'|@str_repeat:$ref_level}
+
+ {if isset($block->data.U_UPLOAD)}
+ <ul>
+ <li>
+ <a href="{$block->data.U_UPLOAD}">{'Upload a picture'|@translate}</a>
+ </li>
+ </ul>
+ {/if}
+ <p class="totalImages">{$pwg->l10n_dec('%d element', '%d elements', $block->data.NB_PICTURE)}</p>
+</dd>
diff --git a/themes/default/template/menubar_identification.tpl b/themes/default/template/menubar_identification.tpl
new file mode 100644
index 000000000..2717e1019
--- /dev/null
+++ b/themes/default/template/menubar_identification.tpl
@@ -0,0 +1,64 @@
+<dt>{'Identification'|@translate}</dt>
+<dd>
+ {if isset($USERNAME)}
+ <p>{'Hello'|@translate}&nbsp;{$USERNAME}&nbsp;!</p>
+ {/if}
+
+ <ul>
+ {if isset($U_REGISTER)}
+ <li><a href="{$U_REGISTER}" title="{'Register'|@translate}" rel="nofollow">{'Register'|@translate}</a></li>
+ {/if}
+
+ {if isset($U_LOGIN)}
+ <li><a href="{$U_LOGIN}" rel="nofollow">{'Login'|@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="{'Customize'|@translate}">{'Customize'|@translate}</a></li>
+ {/if}
+
+ {if isset($U_ADMIN)}
+ <li><a href="{$U_ADMIN}" title="{'Administration'|@translate}">{'Administration'|@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 for="remember_me">
+ {'Auto login'|@translate}
+ <input type="checkbox" name="remember_me" id="remember_me" value="1">
+ </label></div>
+ {/if}
+
+ <div>
+ <input class="submit" type="submit" name="login" value="{'Submit'|@translate}">
+ <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="{'Register'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/register.png" class="button" alt="{'Register'|@translate}"></a></li>
+ {/if}
+ </ul>
+ </div>
+
+ </fieldset>
+ </form>
+ {/if}
+</dd>
+
diff --git a/themes/default/template/menubar_links.tpl b/themes/default/template/menubar_links.tpl
new file mode 100644
index 000000000..a945bd0d6
--- /dev/null
+++ b/themes/default/template/menubar_links.tpl
@@ -0,0 +1,15 @@
+<dt>{'Links'|@translate}</dt>
+<dd>
+ <ul>
+ {foreach from=$block->data item=link}
+ <li>
+ <a href="{$link.URL}" class="external"
+ {if isset($link.new_window) } onclick="window.open(this.href, '{$link.new_window.NAME}','{$link.new_window.FEATURES}'); return false;"{/if}
+ >
+ {$link.LABEL}
+ </a>
+ </li>
+ {/foreach}
+ </ul>
+</dd>
+
diff --git a/themes/default/template/menubar_menu.tpl b/themes/default/template/menubar_menu.tpl
new file mode 100644
index 000000000..0d6541b97
--- /dev/null
+++ b/themes/default/template/menubar_menu.tpl
@@ -0,0 +1,20 @@
+<dt>{'Menu'|@translate}</dt>
+<dd>
+ {if isset($block->data.qsearch) and $block->data.qsearch==true}
+ <form action="{$ROOT_URL}qsearch.php" method="get" id="quicksearch" onsubmit="return this.q.value!='' && this.q.value!=qsearch_prompt;">
+ <p style="margin:0;padding:0"{*this <p> is for html validation only - does not affect positioning*}>
+ <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>
+ {/if}
+
+ <ul>
+ {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}>{$link.NAME}</a></li>
+ {/if}
+ {/foreach}
+ </ul>
+</dd>
+
diff --git a/themes/default/template/menubar_specials.tpl b/themes/default/template/menubar_specials.tpl
new file mode 100644
index 000000000..1f00a2dc9
--- /dev/null
+++ b/themes/default/template/menubar_specials.tpl
@@ -0,0 +1,9 @@
+<dt>{'Specials'|@translate}</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>
+
diff --git a/themes/default/template/menubar_tags.tpl b/themes/default/template/menubar_tags.tpl
new file mode 100644
index 000000000..220175008
--- /dev/null
+++ b/themes/default/template/menubar_tags.tpl
@@ -0,0 +1,17 @@
+<dt>{'Related tags'|@translate}</dt>
+<dd>
+ <div id="menuTagCloud">
+ {foreach from=$block->data item=tag}
+ <span>
+ {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 images linked to this tag only'|@translate}">{$tag.name}</a>{* there should be no space between end of a and span elements to avoid IE8 bug https://connect.microsoft.com/IE/feedback/ViewFeedback.aspx?FeedbackID=366567 *}</span>
+ {/foreach}
+ </div>
+</dd>
+
diff --git a/themes/default/template/month_calendar.tpl b/themes/default/template/month_calendar.tpl
new file mode 100644
index 000000000..45d6079e1
--- /dev/null
+++ b/themes/default/template/month_calendar.tpl
@@ -0,0 +1,86 @@
+
+{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 empty($bar.items)}
+ &nbsp;
+ {else}
+ {foreach from=$bar.items item=item}
+ <span class="calItem{if !isset($item.URL)}Empty{/if}" {if isset($item.NB_IMAGES)}title="{$pwg->l10n_dec('%d element', '%d elements', $item.NB_IMAGES)}"{/if}>
+ {if isset($item.URL)}
+ <a href="{$item.URL}">{$item.LABEL}</a>
+ {else}
+ {$item.LABEL}
+ {/if}
+ </span>
+ {/foreach}
+ {/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>
+ {foreach from=$bar.items item=item}
+ <span class="calCal{if !isset($item.URL)}Empty{/if}">
+ {if isset($item.URL)}
+ <a href="{$item.URL}">{$item.LABEL}</a>
+ {else}
+ {$item.LABEL}
+ {/if}
+ {if isset($item.NB_IMAGES)}({$item.NB_IMAGES}){/if}
+ </span>
+ {/foreach}
+</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}
+
diff --git a/themes/default/template/navigation_bar.tpl b/themes/default/template/navigation_bar.tpl
new file mode 100644
index 000000000..82c66bd15
--- /dev/null
+++ b/themes/default/template/navigation_bar.tpl
@@ -0,0 +1,28 @@
+<div class="navigationBar">
+ {if isset($navbar.URL_FIRST)}
+ <a href="{$navbar.URL_FIRST}" rel="first">{'First'|@translate}</a> |
+ <a href="{$navbar.URL_PREV}" rel="prev">{'Previous'|@translate}</a> |
+ {else}
+ {'First'|@translate} |
+ {'Previous'|@translate} |
+ {/if}
+
+ {assign var='prev_page' value=0}
+ {foreach from=$navbar.pages key=page item=url}
+ {if $page > $prev_page+1}...{/if}
+ {if $page == $navbar.CURRENT_PAGE}
+ <span class="pageNumberSelected">{$page}</span>
+ {else}
+ <a href="{$url}">{$page}</a>
+ {/if}
+ {assign var='prev_page' value=$page}
+ {/foreach}
+
+ {if isset($navbar.URL_NEXT)}
+ | <a href="{$navbar.URL_NEXT}" rel="next">{'Next'|@translate}</a>
+ | <a href="{$navbar.URL_LAST}" rel="last">{'Last'|@translate}</a>
+ {else}
+ | {'Next'|@translate}
+ | {'Last'|@translate}
+ {/if}
+</div>
diff --git a/themes/default/template/nbm.tpl b/themes/default/template/nbm.tpl
new file mode 100644
index 000000000..646335813
--- /dev/null
+++ b/themes/default/template/nbm.tpl
@@ -0,0 +1,30 @@
+
+<div id="content" class="content">
+ <div class="titrePage">
+ <ul class="categoryActions">
+ <li><a href="{$U_HOME}" title="{'Home'|@translate}"><img src="{$themeconf.icon_dir}/Home.png" class="button" alt="{'Home'|@translate}"></a></li>
+ </ul>
+ <h2>{'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>
diff --git a/themes/default/template/notification.tpl b/themes/default/template/notification.tpl
new file mode 100644
index 000000000..8f6dcb680
--- /dev/null
+++ b/themes/default/template/notification.tpl
@@ -0,0 +1,24 @@
+{html_head}
+<link rel="alternate" type="application/rss+xml" title="{'Image only RSS feed'|@translate}" href="{$U_FEED_IMAGE_ONLY}">
+<link rel="alternate" type="application/rss+xml" title="{'Complete RSS feed (images, comments)'|@translate}" href="{$U_FEED}">
+{/html_head}
+<div id="content" class="content">
+
+ <div class="titrePage">
+ <ul class="categoryActions">
+ <li><a href="{$U_HOME}" title="{'Home'|@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>
+
+ <dl>
+ <dt>
+ <a href="{$U_FEED_IMAGE_ONLY}">{'Image only RSS feed'|@translate}</a><br><br>
+ </dt>
+ <dt>
+ <a href="{$U_FEED}">{'Complete RSS feed (images, comments)'|@translate}</a>
+ </dt>
+ </dl>
+</div>
diff --git a/themes/default/template/password.tpl b/themes/default/template/password.tpl
new file mode 100644
index 000000000..1e0471bd5
--- /dev/null
+++ b/themes/default/template/password.tpl
@@ -0,0 +1,53 @@
+<div id="content" class="content">
+
+ <div class="titrePage">
+ <ul class="categoryActions">
+ <li><a href="{$U_HOME}" title="{'Home'|@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 -->
diff --git a/themes/default/template/picture.tpl b/themes/default/template/picture.tpl
new file mode 100644
index 000000000..885d31112
--- /dev/null
+++ b/themes/default/template/picture.tpl
@@ -0,0 +1,280 @@
+
+{* Example of resizeable *}
+{*
+{include file='include/autosize.inc.tpl'}
+*}
+
+{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}
+
+{if !empty($PLUGIN_PICTURE_BEFORE)}{$PLUGIN_PICTURE_BEFORE}{/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>
+
+<div id="imageToolBar">
+ <div class="randomButtons">
+ {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="{'stop the slideshow'|@translate}" rel="nofollow"><img src="{$ROOT_URL}{$themeconf.icon_dir}/stop_slideshow.png" class="button" alt="{'stop the slideshow'|@translate}"></a>
+ {/if}
+ <a href="{$U_METADATA}" title="{'Show file 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'|@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 !empty($U_SET_AS_REPRESENTATIVE) }
+ <a href="{$U_SET_AS_REPRESENTATIVE}" title="{'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="{'edit'|@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="{'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}
+
+{if isset($COMMENT_IMG)}
+<p>{$COMMENT_IMG}</p>
+{/if}
+
+{if isset($U_SLIDESHOW_STOP) }
+<p>
+ [ <a href="{$U_SLIDESHOW_STOP}">{'stop the slideshow'|@translate}</a> ]
+</p>
+{/if}
+
+</div>
+
+{if isset($previous) }
+<a class="navThumb" id="linkPrev" href="{$previous.U_IMG}" title="{'Previous'|@translate} : {$previous.TITLE}" rel="prev">
+ <img src="{$previous.THUMB_SRC}" alt="{$previous.TITLE}">
+</a>
+{/if}
+{if isset($next) }
+<a class="navThumb" id="linkNext" href="{$next.U_IMG}" title="{'Next'|@translate} : {$next.TITLE}" rel="next">
+ <img src="{$next.THUMB_SRC}" alt="{$next.TITLE}">
+</a>
+{/if}
+
+<table id="standard" class="infoTable" summary="{'Some info about this picture'|@translate}">
+ <tr id="Author">
+ <td class="label">{'Author'|@translate}</td>
+ <td class="value">{if isset($INFO_AUTHOR)}{$INFO_AUTHOR}{else}{'N/A'|@translate}{/if}</td>
+ </tr>
+ <tr id="datecreate">
+ <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 id="datepost">
+ <td class="label">{'Posted on'|@translate}</td>
+ <td class="value">{$INFO_POSTED_DATE}</td>
+ </tr>
+ <tr id="Dimensions">
+ <td class="label">{'Dimensions'|@translate}</td>
+ <td class="value">{if isset($INFO_DIMENSIONS)}{$INFO_DIMENSIONS}{else}{'N/A'|@translate}{/if}</td>
+ </tr>
+ <tr id="File">
+ <td class="label">{'File'|@translate}</td>
+ <td class="value">{$INFO_FILE}</td>
+ </tr>
+ <tr id="Filesize">
+ <td class="label">{'Filesize'|@translate}</td>
+ <td class="value">{if isset($INFO_FILESIZE)}{$INFO_FILESIZE}{else}{'N/A'|@translate}{/if}</td>
+ </tr>
+ <tr id="Tags">
+ <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 id="Categories">
+ <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 id="Visits">
+ <td class="label">{'Visits'|@translate}</td>
+ <td class="value">{$INFO_VISITS}</td>
+ </tr>
+
+{if isset($rate_summary) }
+ <tr id="Average">
+ <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}
+
+{if isset($rating)}
+ <tr id="rating">
+ <td class="label">
+ <span id="updateRate">{if isset($rating.USER_RATE)}{'Rate this picture'|@translate}{else}{'Rate this picture'|@translate}{/if}</span>
+ </td>
+ <td class="value">
+ <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" title="{$mark}">
+ {else}
+ <input type="submit" name="rate" value="{$mark}" class="rateButton" title="{$mark}">
+ {/if}
+ {/foreach}
+ <script type="text/javascript" src="{$ROOT_URL}themes/default/js/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>
+ </td>
+ </tr>
+{/if}
+
+{if isset($available_permission_levels) }
+ <tr id="Privacy">
+ <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} ,
+ {
+ method: "POST",
+ 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}
+
+</table>
+
+{if isset($metadata)}
+<table id="Metadata" class="infoTable2" summary="{'Some more (technical) info about this picture'|@translate}">
+{foreach from=$metadata item=meta}
+ <tr id="{$meta.TITLE}">
+ <th colspan="2">{$meta.TITLE}</th>
+ </tr>
+ {foreach from=$meta.lines item=value key=label}
+ <tr id="{$label}" >
+ <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($navbar) }{include file='navigation_bar.tpl'|@get_extent:'navbar'}{/if}
+
+ {if isset($comments)}
+ {include file='comment_list.tpl'}
+ {/if}
+
+ {if isset($comment_add)}
+ <form method="post" action="{$comment_add.F_ACTION}" class="filter" id="addComment">
+ <fieldset>
+ <legend>{'Add a comment'|@translate}</legend>
+ {if $comment_add.SHOW_AUTHOR}
+ <label>{'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}
diff --git a/themes/default/template/picture_content.tpl b/themes/default/template/picture_content.tpl
new file mode 100644
index 000000000..384a9ce1a
--- /dev/null
+++ b/themes/default/template/picture_content.tpl
@@ -0,0 +1,11 @@
+{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($COMMENT_IMG)}
+ title="{$COMMENT_IMG|@strip_tags:false|@replace:'"':' '}" {else} title="{$current.TITLE|@replace:'"':' '} - {$ALT_IMG}"
+ {/if}>
+{if isset($high) }
+</a>
+ <p>{'Click on the picture to see it in high definition'|@translate}</p>
+{/if}
diff --git a/themes/default/template/picture_nav_buttons.tpl b/themes/default/template/picture_nav_buttons.tpl
new file mode 100644
index 000000000..06b236a88
--- /dev/null
+++ b/themes/default/template/picture_nav_buttons.tpl
@@ -0,0 +1,102 @@
+ <div class="navButtons">
+
+{if isset($last)}
+ <a class="navButton" href="{$last.U_IMG}" title="{'Last'|@translate} : {$last.TITLE}" rel="last"><img src="{$ROOT_URL}{$themeconf.icon_dir}/last.png" class="button" alt="{'Last'|@translate}"></a>
+{else}
+ <a class="navButton"><img src="{$ROOT_URL}{$themeconf.icon_dir}/last_unactive.png" class="button" alt=""></a>
+{/if}
+
+{if isset($next)}
+ <a class="navButton" href="{$next.U_IMG}" title="{'Next'|@translate} : {$next.TITLE}" rel="next"><img src="{$ROOT_URL}{$themeconf.icon_dir}/right.png" class="button" alt="{'Next'|@translate}"></a>
+{else}
+ <a class="navButton"><img src="{$ROOT_URL}{$themeconf.icon_dir}/right_unactive.png" class="button" alt=""></a>
+{/if}
+
+{if isset($slideshow.U_START_PLAY)}
+ <a class="navButton" href="{$slideshow.U_START_PLAY}" title="{'Play of slideshow'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/play.png" class="button" alt="{'Play of slideshow'|@translate}"></a>
+{/if}
+
+{if isset($slideshow.U_STOP_PLAY)}
+ <a class="navButton" href="{$slideshow.U_STOP_PLAY}" title="{'Pause of slideshow'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/pause.png" class="button" alt="{'Pause of slideshow'|@translate}"></a>
+{/if}
+
+{if isset($U_UP) and !isset($slideshow)}
+ <a class="navButton" href="{$U_UP}" title="{'Thumbnails'|@translate}" rel="up"><img src="{$ROOT_URL}{$themeconf.icon_dir}/up.png" class="button" alt="{'Thumbnails'|@translate}"></a>
+{/if}
+
+{if isset($previous)}
+ <a class="navButton" href="{$previous.U_IMG}" title="{'Previous'|@translate} : {$previous.TITLE}" rel="prev"><img src="{$ROOT_URL}{$themeconf.icon_dir}/left.png" class="button" alt="{'Previous'|@translate}"></a>
+{else}
+ <a class="navButton"><img src="{$ROOT_URL}{$themeconf.icon_dir}/left_unactive.png" class="button" alt=""></a>
+{/if}
+
+{if isset($first)}
+ <a class="navButton" href="{$first.U_IMG}" title="{'First'|@translate} : {$first.TITLE}" rel="first"><img src="{$ROOT_URL}{$themeconf.icon_dir}/first.png" class="button" alt="{'First'|@translate}"></a>
+{else}
+ <a class="navButton"><img src="{$ROOT_URL}{$themeconf.icon_dir}/first_unactive.png" class="button" alt=""></a>
+{/if}
+
+
+{if isset($slideshow.U_START_REPEAT)}
+ <a class="navButton" href="{$slideshow.U_START_REPEAT}" title="{'Repeat the slideshow'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/start_repeat.png" class="button" alt="{'Repeat the slideshow'|@translate}"></a>
+{/if}
+
+{if isset($slideshow.U_STOP_REPEAT)}
+ <a class="navButton" href="{$slideshow.U_STOP_REPEAT}" title="{'Not repeat the slideshow'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/stop_repeat.png" class="button" alt="{'Not repeat the slideshow'|@translate}"></a>
+{/if}
+
+{if isset($slideshow)}
+ {if isset($slideshow.U_DEC_PERIOD)}
+ <a class="navButton" href="{$slideshow.U_DEC_PERIOD}" title="{'Accelerate diaporama speed'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/dec_period.png" class="button" alt="{'Accelerate diaporama speed'|@translate}"></a>
+ {else}
+ <a class="navButton"> <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" href="{$slideshow.U_INC_PERIOD}" title="{'Reduce diaporama speed'|@translate}"><img src="{$ROOT_URL}{$themeconf.icon_dir}/inc_period.png" class="button" alt="{'Reduce diaporama speed'|@translate}"></a>
+ {else}
+ <a class="navButton"> <img src="{$ROOT_URL}{$themeconf.icon_dir}/inc_period_unactive.png" class="button" alt=""></a>
+ {/if}
+{/if}
+
+ </div>
+
+<script type="text/javascript">// <![CDATA[
+{literal}
+function keyboardNavigation(e)
+{
+ if(!e) 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>
diff --git a/themes/default/template/profile.tpl b/themes/default/template/profile.tpl
new file mode 100644
index 000000000..b94c3967c
--- /dev/null
+++ b/themes/default/template/profile.tpl
@@ -0,0 +1,21 @@
+<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="{'Home'|@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 -->
diff --git a/themes/default/template/profile_content.tpl b/themes/default/template/profile_content.tpl
new file mode 100644
index 000000000..876a2a8a8
--- /dev/null
+++ b/themes/default/template/profile_content.tpl
@@ -0,0 +1,109 @@
+<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">{'Number of images 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">{'Number of rows 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">{'Interface theme'|@translate}</label>
+ </span>
+ {html_options name=theme 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">{'Expand all categories'|@translate}</span>
+ {html_radios name='expand' options=$radio_options selected=$EXPAND}
+ </li>
+ <li>
+ <span class="property">{'Show number of comments'|@translate}</span>
+ {html_radios name='show_nb_comments' options=$radio_options selected=$NB_COMMENTS}
+ </li>
+ <li>
+ <span class="property">{'Show number of hits'|@translate}</span>
+ {html_radios name='show_nb_hits' options=$radio_options selected=$NB_HITS}
+ </li>
+ <li>
+ <span class="property">
+ <label for="Maximum width of the pictures">{'Maximum width of the pictures'|@translate}</label>
+ </span>
+ <input type="text" size="4" maxlength="4" name="maxwidth" id="maxwidth" value="{$MAXWIDTH}">
+ </li>
+ <li>
+ <span class="property">
+ <label for="Maximum height of the pictures">{'Maximum height of the pictures'|@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}">
+ <input class="submit" type="submit" name="reset_to_default" value="{'Reset to default values'|@translate}">
+ </p>
+
+</form>
diff --git a/themes/default/template/redirect.tpl b/themes/default/template/redirect.tpl
new file mode 100644
index 000000000..aa90953ec
--- /dev/null
+++ b/themes/default/template/redirect.tpl
@@ -0,0 +1,13 @@
+{html_head}
+<style type="text/css">#the_page {ldelim}text-align:center;} </style>
+{/html_head}
+
+<div>
+ {$REDIRECT_MSG}
+</div>
+
+<p style="margin: 2em">
+ <a href="{$page_refresh.U_REFRESH}">
+ {'Click here if your browser does not automatically forward you'|@translate}
+ </a>
+</p>
diff --git a/themes/default/template/register.tpl b/themes/default/template/register.tpl
new file mode 100644
index 000000000..7e5a31d70
--- /dev/null
+++ b/themes/default/template/register.tpl
@@ -0,0 +1,68 @@
+<div id="registerPage">
+
+<div id="content" class="content">
+
+ <div class="titrePage">
+ <ul class="categoryActions">
+ <li><a href="{$U_HOME}" title="{'Home'|@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 -->
diff --git a/themes/default/template/search.tpl b/themes/default/template/search.tpl
new file mode 100644
index 000000000..57f799e75
--- /dev/null
+++ b/themes/default/template/search.tpl
@@ -0,0 +1,146 @@
+
+{* Example of resizeable *}
+{*
+{include file='include/resize.inc.tpl'}
+*}
+
+{* Example of datepicker *}
+{*
+{include file='include/datepicker.inc.tpl'}
+
+{literal}
+<script type="text/javascript">
+ pwg_initialization_datepicker("#start_day", "#start_month", "#start_year", "#start_linked_date", null, null, "#end_linked_date");
+ pwg_initialization_datepicker("#end_day", "#end_month", "#end_year", "#end_linked_date", null, "#start_linked_date", null);
+ jQuery().ready(function(){ $(".date_today").hide(); });
+</script>
+{/literal}
+*}
+
+<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="{'Home'|@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 for words'|@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 for all terms '|@translate}
+ </label></li>
+ <li><label>
+ <input type="radio" name="mode" value="OR">{'Search for any terms'|@translate}
+ </label></li>
+ </ul>
+ <label>{'Search for 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 by Date'|@translate}</legend>
+ <ul>
+ <li><label>{'Kind of date'|@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>{'Date'|@translate}</label></li>
+ <li>
+ <select id="start_day" 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 id="start_month" name="start_month">
+ {html_options options=$month_list selected=$START_MONTH_SELECTED}
+ </select>
+ <input id="start_year" name="start_year" type="text" size="4" maxlength="4" >
+ <input id="start_linked_date" name="start_linked_date" type="hidden" size="10" disabled="disabled">
+ </li>
+ <li>
+ <a class="date_today" 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>{'End-Date'|@translate}</label></li>
+ <li>
+ <select id="end_day" 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 id="end_month" name="end_month">
+ {html_options options=$month_list selected=$END_MONTH_SELECTED}
+ </select>
+ <input id="end_year" name="end_year" type="text" size="4" maxlength="4" >
+ <input id="end_linked_date" name="end_linked_date" type="hidden" size="10" disabled="disabled">
+ </li>
+ <li>
+ <a class="date_today" 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 in Categories'|@translate}
+ <select class="categoryList" name="cat[]" multiple="multiple" >
+ {html_options options=$category_options selected=$category_options_selected}
+ </select>
+ </label>
+ <ul>
+ <li><label>{'Search in subcategories'|@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 -->
diff --git a/themes/default/template/search_rules.tpl b/themes/default/template/search_rules.tpl
new file mode 100644
index 000000000..28b2e423f
--- /dev/null
+++ b/themes/default/template/search_rules.tpl
@@ -0,0 +1,57 @@
+<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}{'At least one tag 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 -->
+
+<ul class="categoryActions">
+ <li>
+ <a href="#" onclick="window.close();" title="{'Close this window'|@translate}">
+ <img src="{$ROOT_URL}{$themeconf.icon_dir}/exit.png" class="button" alt="exit">
+ </a>
+ </li>
+</ul>
diff --git a/themes/default/template/slideshow.tpl b/themes/default/template/slideshow.tpl
new file mode 100644
index 000000000..a310935a2
--- /dev/null
+++ b/themes/default/template/slideshow.tpl
@@ -0,0 +1,22 @@
+<div id="imageHeaderBar">
+ <div class="browsePath">
+ {if isset($U_SLIDESHOW_STOP) }
+ [ <a href="{$U_SLIDESHOW_STOP}">{'stop the slideshow'|@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='picture_nav_buttons.tpl'|@get_extent:'picture_nav_buttons'}
+</div>
+
+<div id="theImage">
+ {$ELEMENT_CONTENT}
+ {if isset($COMMENT_IMG)}
+ <p class="showlegend">{$COMMENT_IMG}</p>
+ {/if}
+</div>
diff --git a/themes/default/template/tags.tpl b/themes/default/template/tags.tpl
new file mode 100644
index 000000000..95891df0e
--- /dev/null
+++ b/themes/default/template/tags.tpl
@@ -0,0 +1,54 @@
+<div id="content" class="content">
+
+ <div class="titrePage">
+ <ul class="categoryActions">
+ {if $display_mode == 'letters'}
+ <li><a href="{$U_CLOUD}" title="{'cloud'|@translate}" rel="nofollow"><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="{'letters'|@translate}" rel="nofollow"><img src="{$themeconf.icon_dir}/tag_letters.png" class="button" alt="{'letters'|@translate}"></a></li>
+ {/if}
+
+ <li><a href="{$U_HOME}" title="{'Home'|@translate}"><img src="{$themeconf.icon_dir}/Home.png" class="button" alt="{'Home'|@translate}"></a></li>
+ </ul>
+ <h2>{'Tags'|@translate}</h2>
+ </div>
+
+{if isset($tags)}
+ {if $display_mode == 'cloud'}
+ <div id="fullTagCloud">
+ {foreach from=$tags item=tag}
+ <span><a href="{$tag.URL}" class="tagLevel{$tag.level}" title="{$tag.counter}">{$tag.name}</a></span>
+ {/foreach}
+ </div>
+ {/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 isset($letter.CHANGE_COLUMN) }
+ </td>
+ <td valign="top">
+ {/if}
+ {/foreach}
+ </td>
+ </tr>
+ </table>
+ {/if}
+{/if}
+
+</div> <!-- content -->
diff --git a/themes/default/template/thumbnails.tpl b/themes/default/template/thumbnails.tpl
new file mode 100644
index 000000000..1061f77cd
--- /dev/null
+++ b/themes/default/template/thumbnails.tpl
@@ -0,0 +1,37 @@
+
+{if !empty($thumbnails)}
+<ul class="thumbnails">
+{foreach from=$thumbnails item=thumbnail}
+ <li>
+ <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">
+ {if isset($thumbnail.NAME)}{$thumbnail.NAME}{/if}
+ {if !empty($thumbnail.icon_ts)}
+ <img title="{$thumbnail.icon_ts.TITLE}" src="{$ROOT_URL}{$themeconf.icon_dir}/recent.png" class="icon" alt="(!)">
+ {/if}
+ {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}
+
+
diff --git a/themes/default/template/upload.tpl b/themes/default/template/upload.tpl
new file mode 100644
index 000000000..00f17be89
--- /dev/null
+++ b/themes/default/template/upload.tpl
@@ -0,0 +1,114 @@
+
+{* Example of resizeable *}
+{*
+{include file='include/autosize.inc.tpl'}
+*}
+
+<div id="content" class="content">
+
+ <div class="titrePage">
+ <ul class="categoryActions">
+ <li><a href="{$U_HOME}" title="{'Home'|@translate}"><img src="{$themeconf.icon_dir}/Home.png" class="button" alt="{'Home'|@translate}"></a></li>
+ </ul>
+ <h2>{'Upload a picture'|@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 class="file" 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>{'E-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>{'Name of the picture'|@translate}</td>
+ <td>
+ <input name="name" type="text" value="{$NAME_IMG}">
+ </td>
+ </tr>
+ <!-- author -->
+ <tr>
+ <td>{'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" id="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}
+ {'Picture uploaded with success, an administrator will validate it as soon as possible'|@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; margin-left:20px;"><span style="color:red;">*</span> : {'obligatory'|@translate}</div>
+ {/if}
+</div> <!-- content -->