diff options
author | plegall <plg@piwigo.org> | 2010-03-13 00:00:52 +0000 |
---|---|---|
committer | plegall <plg@piwigo.org> | 2010-03-13 00:00:52 +0000 |
commit | 14778ce673277f2df41f963aa70df1cbed427294 (patch) | |
tree | 8c723d4d9827876dbf19d2bd581405fc50910860 /admin/themes/default/template | |
parent | c396f08708d431c6f7e8656eaca4fd8e440fdd39 (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 'admin/themes/default/template')
52 files changed, 4128 insertions, 0 deletions
diff --git a/admin/themes/default/template/admin.tpl b/admin/themes/default/template/admin.tpl new file mode 100644 index 000000000..8de4f69ea --- /dev/null +++ b/admin/themes/default/template/admin.tpl @@ -0,0 +1,118 @@ +{known_script id="jquery.ui" src=$ROOT_URL|@cat:"themes/default/js/ui/packed/ui.core.packed.js" } +{known_script id="jquery.ui.accordion" src=$ROOT_URL|@cat:"themes/default/js/ui/packed/ui.accordion.packed.js" } +{known_script id="jquery.tipTip" src=$ROOT_URL|@cat:"themes/default/js/plugins/jquery.tipTip.minified.js" } + +<script type="text/javascript"> +jQuery().ready(function(){ldelim} + jQuery('#menubar').accordion({ldelim} + header: "dt.rdion", + event: "click", + active: {$U_ACTIVE_MENU|default:$themeconf.selected_admin_menu} + }); +}); +</script> + +<div id="menubar"> + <div id="adminHome"><a href="{$U_ADMIN}">Administration Home</a></div> + <dl class="first"> + <dt class="rdion"><span>{'Configuration'|@translate} </span></dt> + <dd> + <ul> + <li><a href="{$U_CONFIG_GENERAL}">{'General'|@translate}</a></li> + <li><a href="{$U_CONFIG_DISPLAY}">{'Default display'|@translate}</a></li> + <li><a href="{$U_CONFIG_MENUBAR}">{'Menu'|@translate}</a></li> + <li><a href="{$U_CONFIG_EXTENTS}">{'Templates'|@translate}</a></li> + </ul> + </dd> + </dl> + <dl> + <dt class="rdion"><span>{'Categories'|@translate} </span></dt> + <dd> + <ul> + <li><a href="{$U_SITE_MANAGER}">{'Site manager'|@translate}</a></li> + <li><a href="{$U_CAT_UPDATE}">{'Synchronize'|@translate}</a></li> + <li><a href="{$U_CATEGORIES}">{'Manage'|@translate}</a></li> + <li><a href="{$U_MOVE}">{'Move'|@translate}</a></li> + <li><a href="{$U_CAT_OPTIONS}">{'Properties'|@translate}</a></li> + <li><a href="{$U_PERMALINKS}">{'Permalinks'|@translate}</a></li> + </ul> + </dd> + </dl> + <dl> + <dt class="rdion"><span>{'Pictures'|@translate} </span></dt> + <dd> + <ul> + <li><a href="{$U_ADD_PHOTOS}">{'Add'|@translate}</a></li> + <li><a href="{$U_WAITING}">{'Waiting'|@translate}</a></li> + <li><a href="{$U_THUMBNAILS}">{'Thumbnails'|@translate}</a></li> + <li><a href="{$U_RATING}">{'Rating'|@translate}</a></li> + <li><a href="{$U_TAGS}">{'Tags'|@translate}</a></li> + <li><a href="{$U_CADDIE}">{'Caddie'|@translate}</a></li> + <li><a href="{$U_RECENT_SET}">{'Recent pictures'|@translate}</a></li> + </ul> + </dd> + </dl> + <dl> + <dt class="rdion"><span>{'Identification'|@translate} </span></dt> + <dd> + <ul> + <li><a href="{$U_USERS}">{'Users'|@translate}</a></li> + <li><a href="{$U_GROUPS}">{'Groups'|@translate}</a></li> + <li><a href="{$U_NOTIFICATION_BY_MAIL}">{'Notification'|@translate}</a></li> + </ul> + </dd> + </dl> + <dl> + <dt class="rdion"><span>{'Specials'|@translate} </span></dt> + <dd> + <ul> + <li><a href="{$U_HISTORY_STAT}">{'History'|@translate}</a></li> + <li><a href="{$U_MAINTENANCE}">{'Maintenance'|@translate}</a></li> + <li><a href="{$U_ADVANCED_FEATURE}">{'Advanced features'|@translate}</a></li> + <li><a href="{$U_PLUGINS}">{'Plugins'|@translate}</a> + {if !empty($plugin_menu_items)} + <ul class="scroll"> + {foreach from=$plugin_menu_items item=menu_item} + <li><a href="{$menu_item.URL}">{$menu_item.NAME}</a></li> + {/foreach} + </ul> + {/if} + </li> + </ul> + </dd> + </dl> +</div> <!-- menubar --> + +<div id="content" class="content"> + + {if isset($TABSHEET)} + {$TABSHEET} + {/if} + {if isset($U_HELP)} + <ul class="HelpActions"> + <li><a href="{$U_HELP}" onclick="popuphelp(this.href); return false;" title="{'Help'|@translate}"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/help.png" class="button" alt="(?)"></a></li> + </ul> + {/if} + + {if isset($errors)} + <div class="errors"> + <ul> + {foreach from=$errors item=error} + <li>{$error}</li> + {/foreach} + </ul> + </div> + {/if} + + {if isset($infos)} + <div class="infos"> + <ul> + {foreach from=$infos item=info} + <li>{$info}</li> + {/foreach} + </ul> + </div> + {/if} + + {$ADMIN_CONTENT} +</div> diff --git a/admin/themes/default/template/advanced_feature.tpl b/admin/themes/default/template/advanced_feature.tpl new file mode 100644 index 000000000..76209387c --- /dev/null +++ b/admin/themes/default/template/advanced_feature.tpl @@ -0,0 +1,9 @@ +<div class="titrePage"> + <h2>{'Advanced features'|@translate}</h2> +</div> + +<ul> + {foreach from=$advanced_features item=feature} + <li><a href="{$feature.URL}" {$TAG_INPUT_ENABLED}>{$feature.CAPTION}</a></li> + {/foreach} +</ul> diff --git a/admin/themes/default/template/cat_list.tpl b/admin/themes/default/template/cat_list.tpl new file mode 100644 index 000000000..30b517a7b --- /dev/null +++ b/admin/themes/default/template/cat_list.tpl @@ -0,0 +1,93 @@ +{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.sortable" src=$ROOT_URL|@cat:"themes/default/js/ui/packed/ui.sortable.packed.js" } + +<script type="text/javascript"> + jQuery().ready(function(){ldelim} + jQuery(".catPos").hide(); + jQuery(".drag_button").show(); + jQuery(".categoryLi").css("cursor","move"); + jQuery(".categoryUl").sortable({ldelim} + axis: "y", + opacity: 0.8 + }); + jQuery("#categoryOrdering").submit(function(){ldelim} + ar = jQuery('.categoryUl').sortable('toArray'); + for(i=0;i<ar.length;i++) {ldelim} + cat = ar[i].split('cat_'); + document.getElementsByName('catOrd[' + cat[1] + ']')[0].value = i; + } + }); + }); +</script> + +<h2>{'Categories management'|@translate}</h2> + +<h3>{$CATEGORIES_NAV}</h3> + +<form id="addVirtual" action="{$F_ACTION}" method="post"> + <p> + {'Add a virtual category'|@translate} : <input type="text" name="virtual_name"> + <input class="submit" type="submit" value="{'Submit'|@translate}" name="submitAdd" {$TAG_INPUT_ENABLED}> + {if count($categories)>9 } + <a href="#EoP" class="button" style="border:0;"> + <img src="{$themeconf.admin_icon_dir}/page_end.png" title="{'Page end'|@translate}" class="button" alt="page_end" style="margin-bottom:-0.6em;"></a> + {/if} + </p> +</form> + +{if count($categories) } +<form id="categoryOrdering" action="{$F_ACTION}" method="post"> + <p> + <input class="submit" name="submitOrder" type="submit" value="{'Save order'|@translate}" {$TAG_INPUT_ENABLED}> + <input class="submit" name="submitOrderAlphaNum" type="submit" value="{'Order alphanumerically'|@translate}" {$TAG_INPUT_ENABLED}> + <input class="submit" name="submitOrderAlphaNumReverse" type="submit" value="{'Order alphanumerically reverse'|@translate}" {$TAG_INPUT_ENABLED}> + </p> + <ul class="categoryUl"> + + {foreach from=$categories item=category} + <li class="categoryLi{if $category.IS_VIRTUAL} virtual_cat{/if}" id="cat_{$category.ID}"> + <!-- category {$category.ID} --> + <ul class="categoryActions"> + {if cat_admin_access($category.ID)} + <li><a href="{$category.U_JUMPTO}" title="{'jump to category'|@translate}"><img src="{$themeconf.admin_icon_dir}/category_jump-to.png" class="button" alt="{'jump to category'|@translate}"></a></li> + {/if} + <li><a href="{$category.U_EDIT}" title="{'edit'|@translate}"><img src="{$themeconf.admin_icon_dir}/category_edit.png" class="button" alt="{'edit'|@translate}"></a></li> + {if isset($category.U_MANAGE_ELEMENTS) } + <li><a href="{$category.U_MANAGE_ELEMENTS}" title="{'elements'|@translate}"><img src="{$themeconf.admin_icon_dir}/category_elements.png" class="button" alt="{'elements'|@translate}"></a></li> + {/if} + <li><a href="{$category.U_CHILDREN}" title="{'sub-categories'|@translate}"><img src="{$themeconf.admin_icon_dir}/category_children.png" class="button" alt="{'sub-categories'|@translate}"></a></li> + {if isset($category.U_MANAGE_PERMISSIONS) } + <li><a href="{$category.U_MANAGE_PERMISSIONS}" title="{'Permissions'|@translate}" ><img src="{$themeconf.admin_icon_dir}/category_Permissions.png" class="button" alt="{'Permissions'|@translate}"></a></li> + {/if} + {if isset($category.U_DELETE) } + <li><a href="{$category.U_DELETE}" title="{'Are you sure?'|@translate|@escape:javascript}');"><img src="{$themeconf.admin_icon_dir}/category_delete.png" class="button" alt="{'delete'|@translate}" onclick="return confirm('{'Are you sure?'|@translate|@escape:javascript}');"><img src="{$themeconf.admin_icon_dir}/category_delete.png" class="button" alt="{'delete'|@translate}"></a></li> + {/if} + </ul> + + <p> + <img src="{$themeconf.admin_icon_dir}/cat_move.png" class="button drag_button" style="display:none;" alt="{'Drag to re-order'|@translate}" title="{'Drag to re-order'|@translate}"> + <strong><a href="{$category.U_CHILDREN}" title="{'manage sub-categories'|@translate}">{$category.NAME}</a></strong> + {if $category.IS_VIRTUAL} + <img src="{$themeconf.admin_icon_dir}/virt_category.png" class="button" alt="{'Virtual category'|@translate}"> + {/if} + </p> + + <p class="catPos"> + <label> + {'Position'|@translate} : + <input type="text" size="4" name="catOrd[{$category.ID}]" maxlength="4" value="{$category.RANK}"> + </label> + </p> + + </li> + {/foreach} + </ul> + <p> + <input class="submit" name="submitOrder" type="submit" value="{'Save order'|@translate}" {$TAG_INPUT_ENABLED}> + <input class="submit" name="submitOrderAlphaNum" type="submit" value="{'Order alphanumerically'|@translate}" {$TAG_INPUT_ENABLED}> + <input class="submit" name="submitOrderAlphaNumReverse" type="submit" value="{'Order alphanumerically reverse'|@translate}" {$TAG_INPUT_ENABLED}> + </p> + +</form> +{/if} diff --git a/admin/themes/default/template/cat_modify.tpl b/admin/themes/default/template/cat_modify.tpl new file mode 100644 index 000000000..1878da75c --- /dev/null +++ b/admin/themes/default/template/cat_modify.tpl @@ -0,0 +1,232 @@ + +{include file='include/autosize.inc.tpl'} +{include file='include/resize.inc.tpl'} + +<div class="titrePage"> + <h2>{'Edit a category'|@translate}</h2> +</div> + +<h3>{$CATEGORIES_NAV}</h3> + +<ul class="categoryActions"> + {if cat_admin_access($CAT_ID)} + <li><a href="{$U_JUMPTO}" title="{'jump to category'|@translate}"><img src="{$themeconf.admin_icon_dir}/category_jump-to.png" class="button" alt="{'jump to category'|@translate}"></a></li> + {/if} + {if isset($U_MANAGE_ELEMENTS) } + <li><a href="{$U_MANAGE_ELEMENTS}" title="{'elements'|@translate}"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/category_elements.png" class="button" alt="{'elements'|@translate}"></a></li> + <li><a href="{$U_MANAGE_RANKS}" title="{'ranks'|@translate}"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/ranks.png" class="button" alt="{'ranks'|@translate}"></a></li> + {/if} + <li><a href="{$U_CHILDREN}" title="{'sub-categories'|@translate}"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/category_children.png" class="button" alt="{'sub-categories'|@translate}"></a></li> + {if isset($U_MANAGE_PERMISSIONS) } + <li><a href="{$U_MANAGE_PERMISSIONS}" title="{'Permissions'|@translate}"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/category_Permissions.png" class="button" alt="{'Permissions'|@translate}"></a></li> + {/if} + {if isset($U_DELETE) } + <li><a href="{$U_DELETE}" title="{'Are you sure?'|@translate|@escape:'javascript'}');"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/category_delete.png" class="button" alt="{'delete'|@translate}" onclick="return confirm('{'Are you sure?'|@translate|@escape:'javascript'}');"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/category_delete.png" class="button" alt="{'delete'|@translate}"></a></li> + {/if} +</ul> + +<form action="{$F_ACTION}" method="POST" id="catModify"> + +<fieldset> + <legend>{'Informations'|@translate}</legend> + <table> + + {if isset($CAT_FULL_DIR) } + <tr> + <td><strong>{'Directory'|@translate}</strong></td> + <td class="row1">{$CAT_FULL_DIR}</td> + </tr> + {/if} + + <tr> + <td><strong>{'Name'|@translate}</strong></td> + <td> + <input type="text" class="large" name="name" value="{$CAT_NAME}" maxlength="60"> + </td> + </tr> + <tr> + <td><strong>{'Description'|@translate}</strong></td> + <td> + <textarea cols="50" rows="5" name="comment" id="comment" class="description">{$CAT_COMMENT}</textarea> + </td> + </tr> + </table> +</fieldset> + +{if isset($move_cat_options) } +<fieldset id="move"> + <legend>{'Move'|@translate}</legend> + {'Parent category'|@translate} + <select class="categoryDropDown" name="parent"> + <option value="0">------------</option> + {html_options options=$move_cat_options selected=$move_cat_options_selected } + </select> +</fieldset> +{/if} + +<fieldset id="options"> + <legend>{'Options'|@translate}</legend> + <table> + <tr> + <td><strong>{'Access type'|@translate}</strong> + <td> + {html_radios name='status' values=$status_values output=$status_values|translate selected=$CAT_STATUS} + </td> + </tr> + <tr> + <td><strong>{'Lock'|@translate}</strong> + <td> + {html_radios name='visible' values='true,false'|@explode output='No,Yes'|@explode|translate selected=$CAT_VISIBLE} + </td> + </tr> + <tr> + <td><strong>{'Comments'|@translate}</strong> + <td> + {html_radios name='commentable' values='false,true'|@explode output='No,Yes'|@explode|translate selected=$CAT_COMMENTABLE} + </td> + </tr> + {if isset($SHOW_UPLOADABLE) } + <tr> + <td><strong>{'Authorize upload'|@translate}</strong> + <td> + {html_radios name='uploadable' values='false,true'|@explode output='No,Yes'|@explode|translate selected=$CAT_UPLOADABLE} + </td> + </tr> + {/if} + </table> +</fieldset> + +<fieldset id="image_order"> + <legend>{'Sort order'|@translate}</legend> + <input type="checkbox" name="image_order_default" id="image_order_default" {$IMG_ORDER_DEFAULT}> + <label for="image_order_default">{'Use the default image sort order (defined in the configuration file)'|@translate}</label> + <br> + <input type="checkbox" name="image_order_subcats" id="image_order_subcats"> + <label for="image_order_subcats">{'Apply to subcategories'|@translate}</label> + <br> + + {foreach from=$image_orders item=order} + <select name="order_field_{$order.ID}"> + {html_options options=$image_order_field_options selected=$order.FIELD } + </select> + <select name="order_direction_{$order.ID}"> + {html_options options=$image_order_direction_options selected=$order.DIRECTION } + </select><br> + {/foreach} + +</fieldset> + +<p style="text-align:center;"> + <input class="submit" type="submit" value="{'Submit'|@translate}" name="submit" {$TAG_INPUT_ENABLED}> + <input class="submit" type="reset" value="{'Reset'|@translate}" name="reset"> +</p> + +{if isset($representant) } +<fieldset id="representant"> + <legend>{'Representant'|@translate}</legend> + <table> + <tr> + <td align="center"> + {if isset($representant.picture) } + <a href="{$representant.picture.URL}"><img src="{$representant.picture.SRC}" alt="" class="miniature"></a> + {else} + <img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/category_representant_random.png" class="button" alt="{'Random picture'|@translate}" class="miniature"> + {/if} + </td> + <td> + {if $representant.ALLOW_SET_RANDOM } + <p><input class="submit" type="submit" name="set_random_representant" value="{'Find a new representant by random'|@translate}" {$TAG_INPUT_ENABLED}></p> + {/if} + + {if isset($representant.ALLOW_DELETE) } + <p><input class="submit" type="submit" name="delete_representant" value="{'Delete Representant'|@translate}"></p> + {/if} + </td> + </tr> + </table> +</fieldset> +{/if} + +</form> + +<form action="{$F_ACTION}" method="POST" id="links"> + +<fieldset id="linkAllNew"> + <legend>{'Link all category elements to a new category'|@translate}</legend> + + <table> + <tr> + <td>{'Virtual category name'|@translate}</td> + <td><input type="text" class="large" name="virtual_name"></td> + </tr> + + <tr> + <td>{'Parent category'|@translate}</td> + <td> + <select class="categoryDropDown" name="parent"> + <option value="0">------------</option> + {html_options options=$create_new_parent_options } + </select> + </td> + </tr> + </table> + + <p> + <input class="submit" type="submit" value="{'Submit'|@translate}" name="submitAdd" {$TAG_INPUT_ENABLED}> + <input class="submit" type="reset" value="{'Reset'|@translate}" name="reset"> + </p> + +</fieldset> + +<fieldset id="linkAllExist"> + <legend>{'Link all category elements to some existing categories'|@translate}</legend> + + <table> + <tr> + <td>{'Categories'|@translate}</td> + <td> + <select class="categoryList" name="destinations[]" multiple="multiple" size="5"> + {html_options options=$category_destination_options } + </select> + </td> + </tr> + </table> + + <p> + <input class="submit" type="submit" value="{'Submit'|@translate}" name="submitDestinations" {$TAG_INPUT_ENABLED}> + <input class="submit" type="reset" value="{'Reset'|@translate}" name="reset"> + </p> + +</fieldset> + +{if isset($group_mail_options)} +<fieldset id="emailCatInfo"> + <legend>{'Send an information email to group members'|@translate}</legend> + + <table> + <tr> + <td><strong>{'Group'|@translate}</strong></td> + <td> + <select name="group"> + {html_options options=$group_mail_options} + </select> + </td> + </tr> + <tr> + <td><strong>{'Mail content'|@translate}</strong></td> + <td> + <textarea cols="50" rows="5" name="mail_content" id="mail_content" class="description">{$MAIL_CONTENT}</textarea> + </td> + </tr> + + </table> + + <p> + <input class="submit" type="submit" value="{'Submit'|@translate}" name="submitEmail" {$TAG_INPUT_ENABLED}> + <input class="submit" type="reset" value="{'Reset'|@translate}" name="reset"> + </p> + +</fieldset> +{/if} + +</form> diff --git a/admin/themes/default/template/cat_move.tpl b/admin/themes/default/template/cat_move.tpl new file mode 100644 index 000000000..f8a83c584 --- /dev/null +++ b/admin/themes/default/template/cat_move.tpl @@ -0,0 +1,36 @@ + +{include file='include/resize.inc.tpl'} + +<div class="titrePage"> + <h2>{'Move categories'|@translate}</h2> +</div> + +<form method="post" action="{$F_ACTION}" class="filter" id="catMove"> + <fieldset> + <legend>{'Virtual categories movement'|@translate}</legend> + + <label> + {'Virtual categories to move'|@translate} + + <select class="categoryList" name="selection[]" multiple="multiple"> + {html_options options=$category_to_move_options} + </select> + </label> + + <label> + {'New parent category'|@translate} + + <select class="categoryDropDown" name="parent"> + <option value="0">------------</option> + {html_options options=$category_parent_options} + </select> + </label> + + </fieldset> + + <p> + <input class="submit" type="submit" name="submit" value="{'Submit'|@translate}" {$TAG_INPUT_ENABLED}> + <input class="submit" type="reset" name="reset" value="{'Reset'|@translate}"> + </p> + +</form> diff --git a/admin/themes/default/template/cat_options.tpl b/admin/themes/default/template/cat_options.tpl new file mode 100644 index 000000000..9c25c1ef0 --- /dev/null +++ b/admin/themes/default/template/cat_options.tpl @@ -0,0 +1,11 @@ +<div class="titrePage"> + <h2>{'Properties'|@translate} {$TABSHEET_TITLE}</h2> +</div> + +<form method="post" action="{$F_ACTION}" id="cat_options"> + <fieldset> + <legend>{$L_SECTION}</legend> + {$DOUBLE_SELECT} + </fieldset> +</form> + diff --git a/admin/themes/default/template/cat_perm.tpl b/admin/themes/default/template/cat_perm.tpl new file mode 100644 index 000000000..fb239e79f --- /dev/null +++ b/admin/themes/default/template/cat_perm.tpl @@ -0,0 +1,64 @@ +<div class="titrePage"> + <h2>{'Manage permissions for a category'|@translate}</h2> +</div> + +<h3>{$CATEGORIES_NAV}</h3> + +<form action="{$F_ACTION}" method="post" id="categoryPermissions"> + + <h4>{'Groups'|@translate}</h4> + + <fieldset> + <legend>{'Permission granted'|@translate}</legend> + <ul> + {foreach from=$group_granted_ids item=id} + <li><label><input type="checkbox" name="deny_groups[]" value="{$id}"> {$all_groups[$id]}</label></li> + {/foreach} + </ul> + <input class="submit" type="submit" name="deny_groups_submit" value="{'Deny selected groups'|@translate}" {$TAG_INPUT_ENABLED}> + </fieldset> + + <fieldset> + <legend>{'Permission denied'|@translate}</legend> + <ul> + {foreach from=$group_denied_ids item=id} + <li><label><input type="checkbox" name="grant_groups[]" value="{$id}"> {$all_groups[$id]}</label></li> + {/foreach} + </ul> + <input class="submit" type="submit" name="grant_groups_submit" value="{'Grant selected groups'|@translate}" {$TAG_INPUT_ENABLED}> + </fieldset> + + <h4>{'Users'|@translate}</h4> + + <fieldset> + <legend>{'Permission granted'|@translate}</legend> + <ul> + {foreach from=$user_granted_direct_ids item=id} + <li><label><input type="checkbox" name="deny_users[]" value="{$id}"> {$all_users[$id]}</label></li> + {/foreach} + </ul> + <input class="submit" type="submit" name="deny_users_submit" value="{'Deny selected users'|@translate}" {$TAG_INPUT_ENABLED}> + </fieldset> + + <fieldset> + <legend>{'Permission granted thanks to a group'|@translate}</legend> + {if isset($user_granted_indirects) } + <ul> + {foreach from=$user_granted_indirects item=user_group} + <li>{$user_group.USER} ({$user_group.GROUP})</li> + {/foreach} + </ul> + {/if} + </fieldset> + + <fieldset> + <legend>{'Permission denied'|@translate}</legend> + <ul> + {foreach from=$user_denied_ids item=id} + <li><label><input type="checkbox" name="grant_users[]" value="{$id}"> {$all_users[$id]}</label></li> + {/foreach} + </ul> + <input class="submit" type="submit" name="grant_users_submit" value="{'Grant selected users'|@translate}" {$TAG_INPUT_ENABLED}> + </fieldset> + +</form> diff --git a/admin/themes/default/template/check_integrity.tpl b/admin/themes/default/template/check_integrity.tpl new file mode 100644 index 000000000..7cf566123 --- /dev/null +++ b/admin/themes/default/template/check_integrity.tpl @@ -0,0 +1,83 @@ +<dl> + <dt>{'Check integrity'|@translate}</dt> + <dd> + <ul> + <form method="post" name="c13y" id="c13y" action=""> + <fieldset> + <table class="table2"> + <tr class="throw"> + <th></th> + <th>{'Anomaly'|@translate}</th> + <th>{'Correction'|@translate}</th> + </tr> + {if isset($c13y_list)} + {foreach from=$c13y_list item=c13y name=c13y_loop} + <tr class="{if $smarty.foreach.c13y_loop.index is odd}row1{else}row2{/if}"> + <td> + {if $c13y.can_select} + <input type="checkbox" name="c13y_selection[]" value="{$c13y.id}" id="c13y_selection-{$c13y.id}"><label for="c13y_selection-{$c13y.id}"></label> + {/if} + </td> + <td><label for="c13y_selection-{$c13y.id}">{$c13y.anomaly}</label></td> + <td> + <label for="c13y_selection-{$c13y.id}"> + {if $c13y.show_ignore_msg} + {'The anomaly will be ignored until next application version'|@translate} + <br> + {'Correction the anomaly will cancel the fact that it\'s ignored'|@translate} + {/if} + {if $c13y.show_correction_fct} + {'Automatic correction'|@translate} + {/if} + {if $c13y.show_correction_bad_fct} + {'Impossible automatic correction'|@translate} + {/if} + {if $c13y.show_correction_success_fct} + {'Correction applied with success'|@translate} + {/if} + {if !empty($c13y.correction_error_fct)} + {'Correction applied with error'|@translate} + <br> + {$c13y.c13y.correction_error_fct} + {/if} + {if !empty($c13y.correction_msg)} + {if $c13y.show_correction_success_fct or !empty($c13y.correction_error_fct) or $c13y.show_correction_fct or $c13y.show_correction_bad_fct } + <br> + {/if} + {$c13y.correction_msg|@nl2br} + {/if} + </label> + </td> + </tr> + {/foreach} + {/if} + </table> + + <p> + {if $c13y_show_submit_ignore} + <a href="#" onclick="SelectAll(document.getElementById('c13y')); return false;">{'Check all'|@translate}</a> + / <a href="#" onclick="DeselectAll(document.getElementById('c13y')); return false;">{'Uncheck all'|@translate}</a> + {/if} + {if isset($c13y_do_check)} + / <a href="#" onclick="DeselectAll(document.getElementById('c13y')); + {foreach from=$c13y_do_check item=ID} + document.getElementById('c13y_selection-{$ID}').checked = true; + {/foreach} + return false;">{'Check automatic corrections'|@translate}</a> + {/if} + </p> + + <p> + {if $c13y_show_submit_automatic_correction} + <input class="submit" type="submit" value="{'Apply selected corrections'|@translate}" name="Apply selected corrections" {$TAG_INPUT_ENABLED}> + {/if} + {if $c13y_show_submit_ignore} + <input class="submit" type="submit" value="{'Ignore selected anomalies'|@translate}" name="Ignore selected anomalies" {$TAG_INPUT_ENABLED}> + {/if} + <input class="submit" type="submit" value="{'Refresh'|@translate}" name="Refresh"> + </p> + + </fieldset> + </form> + </ul> + </dd> diff --git a/admin/themes/default/template/comments.tpl b/admin/themes/default/template/comments.tpl new file mode 100644 index 000000000..b7ac21ba4 --- /dev/null +++ b/admin/themes/default/template/comments.tpl @@ -0,0 +1,31 @@ +<div class="titrePage"> + <h2>{'Waiting'|@translate} {$TABSHEET_TITLE}</h2> +</div> + +<h3>{'User comments validation'|@translate}</h3> + +{if !empty($comments) } +<form method="post" action="{$F_ACTION}"> + + {foreach from=$comments item=comment} + <div class="comment"> + <a class="illustration" href="{$comment.U_PICTURE}"><img src="{$comment.TN_SRC}"></a> + <p class="commentHeader"><strong>{$comment.AUTHOR}</strong> - <em>{$comment.DATE}</em></p> + <blockquote>{$comment.CONTENT}</blockquote> + </div> + <ul class="actions"> + <li><label><input type="radio" name="action-{$comment.ID}" value="reject">{'Reject'|@translate}</label></li> + <li><label><input type="radio" name="action-{$comment.ID}" value="validate">{'Validate'|@translate}</label></li> + </ul> + {/foreach} + + <p class="bottomButtons"> + <input type="hidden" name="list" value="{$LIST}"> + <input class="submit" type="submit" name="submit" value="{'Submit'|@translate}" {$TAG_INPUT_ENABLED}> + <input class="submit" type="submit" name="validate-all" value="{'Validate All'|@translate}" {$TAG_INPUT_ENABLED}> + <input class="submit" type="submit" name="reject-all" value="{'Reject All'|@translate}" {$TAG_INPUT_ENABLED}> + <input class="submit" type="reset" value="{'Reset'|@translate}"> + </p> + +</form> +{/if} diff --git a/admin/themes/default/template/configuration.tpl b/admin/themes/default/template/configuration.tpl new file mode 100644 index 000000000..065a2ad76 --- /dev/null +++ b/admin/themes/default/template/configuration.tpl @@ -0,0 +1,209 @@ + +{include file='include/autosize.inc.tpl'} + +<div class="titrePage"> + <h2>{'Piwigo configuration'|@translate} {$TABSHEET_TITLE}</h2> +</div> + +{if !isset($default)} +<form method="post" action="{$F_ACTION}" class="properties"> +{/if} + +{if isset($main)} +<fieldset id="mainConf"> + <legend></legend> + <ul> + <li> + <span class="property"> + <label for="gallery_title">{'Gallery title'|@translate}</label> + </span> + <input type="text" maxlength="255" size="50" name="gallery_title" id="gallery_title" value="{$main.CONF_GALLERY_TITLE}"> + </li> + + <li> + <span class="property"> + <label for="page_banner">{'Page banner'|@translate}</label> + </span> + <textarea rows="5" cols="50" class="description" name="page_banner" id="page_banner">{$main.CONF_PAGE_BANNER}</textarea> + </li> + + <li> + <span class="property"> + <label for="gallery_url">{'Gallery URL'|@translate}</label> + </span> + <input type="text" maxlength="255" size="50" name="gallery_url" id="gallery_url" value="{$main.CONF_GALLERY_URL}"> + </li> + </ul> +</fieldset> + +<fieldset id="mainConfCheck"> + <legend></legend> + <ul> + <li> + <label> + <span class="property">{'Lock gallery'|@translate}</span> + <input type="checkbox" name="gallery_locked" {if ($main.gallery_locked)}checked="checked"{/if}> + </label> + </li> + + <li> + <label> + <span class="property">{'Rating'|@translate}</span> + <input type="checkbox" name="rate" {if ($main.rate)}checked="checked"{/if}> + </label> + </li> + + <li> + <label> + <span class="property">{'Rating by guests'|@translate}</span> + <input type="checkbox" name="rate_anonymous" {if ($main.rate_anonymous)}checked="checked"{/if}> + </label> + </li> + + <li> + <label> + <span class="property">{'Allow user registration'|@translate}</span> + <input type="checkbox" name="allow_user_registration" {if ($main.allow_user_registration)}checked="checked"{/if}> + </label> + </li> + + <li> + <label> + <span class="property">{'Mail address is obligatory for all users'|@translate}</span> + <input type="checkbox" name="obligatory_user_mail_address" {if ($main.obligatory_user_mail_address)}checked="checked"{/if}> + </label> + </li> + + <li> + <label> + <span class="property">{'Email admins when a new user registers'|@translate}</span> + <input type="checkbox" name="email_admin_on_new_user" {if ($main.email_admin_on_new_user)}checked="checked"{/if}> + </label> + </li> + </ul> +</fieldset> +{/if} + +{if isset($history)} +<fieldset id="historyConf"> + <legend></legend> + <ul> + <li> + <label><span class="property">{'Save page visits by guests'|@translate}</span><input type="checkbox" name="history_guest" {if ($history.history_guest)}checked="checked"{/if}></label> + </li> + + <li> + <label><span class="property">{'Save page visits by users'|@translate}</span><input type="checkbox" name="log" {if ($history.log)}checked="checked"{/if}></label> + </li> + + <li> + <label><span class="property">{'Save page visits by administrators'|@translate}</span><input type="checkbox" name="history_admin" {if ($history.history_admin)}checked="checked"{/if}></label> + </li> + </ul> +</fieldset> +{/if} + + +{if isset($comments)} +<fieldset id="commentsConf"> + <legend></legend> + <ul> + <li> + <label> + <span class="property">{'Comments for all'|@translate}</span> + <input type="checkbox" name="comments_forall" {if ($comments.comments_forall)}checked="checked"{/if}> + </label> + </li> + + <li> + <span class="property"> + <label for="nb_comment_page">{'Number of comments per page'|@translate}</label> + </span> + <input type="text" size="3" maxlength="4" name="nb_comment_page" id="nb_comment_page" value="{$comments.NB_COMMENTS_PAGE}"> + </li> + + <li> + <label> + <span class="property">{'Validation'|@translate}</span> + <input type="checkbox" name="comments_validation" {if ($comments.comments_validation)}checked="checked"{/if}> + </label> + </li> + + + <li> + <label> + <span class="property">{'Email admins when a valid comment is entered'|@translate}</span> + <input type="checkbox" name="email_admin_on_comment" {if ($comments.email_admin_on_comment)}checked="checked"{/if}> + </label> + </li> + + <li> + <label> + <span class="property">{'Email admins when a comment requires validation'|@translate}</span> + <input type="checkbox" name="email_admin_on_comment_validation" {if ($comments.email_admin_on_comment_validation)}checked="checked"{/if}> + </label> + </li> + + <li> + <label> + <span class="property">{'Allow users to edit theirs owns comments'|@translate}</span> + <input type="checkbox" name="user_can_edit_comment" {if ($comments.user_can_edit_comment)}checked="checked"{/if}> + </label> + </li> + <li> + <label> + <span class="property">{'Allow users to delete theirs owns comments'|@translate}</span> + <input type="checkbox" name="user_can_delete_comment" {if ($comments.user_can_delete_comment)}checked="checked"{/if}> + </label> + </li> + <li> + <label> + <span class="property">{'Email administrators when a comment is modified'|@translate}</span> + <input type="checkbox" name="email_admin_on_comment_edition" {if ($comments.email_admin_on_comment_edition)}checked="checked"{/if}> + </label> + </li> + <li> + <label> + <span class="property">{'Email administrators when a comment is deleted'|@translate}</span> + <input type="checkbox" name="email_admin_on_comment_deletion" {if ($comments.email_admin_on_comment_deletion)}checked="checked"{/if}> + </label> + </li> + + </ul> +</fieldset> +{/if} + +{if isset($upload)} +<fieldset id="uploadConf"> + <legend></legend> + <ul> + <li> + <label><span class="property">{'Show upload link every time'|@translate}</span> + <input type="checkbox" name="upload_link_everytime" {if ($upload.upload_link_everytime)}checked="checked"{/if}></label> + </li> + <li> + <label><span class="property">{'User access level to upload'|@translate}</span> + {html_options name="upload_user_access" options=$upload.upload_user_access_options selected=$upload.upload_user_access_options_selected} + </label> + </li> + <li> + <label> + <span class="property">{'Email admins when a picture is uploaded'|@translate}</span> + <input type="checkbox" name="email_admin_on_picture_uploaded" {if ($upload.email_admin_on_picture_uploaded)}checked="checked"{/if}> + </label> + </li> + </ul> +</fieldset> +{/if} + +{if isset($default)} +{$PROFILE_CONTENT} +{/if} + +{if !isset($default)} + <p> + <input class="submit" type="submit" name="submit" value="{'Submit'|@translate}" {$TAG_INPUT_ENABLED}> + <input class="submit" type="reset" name="reset" value="{'Reset'|@translate}"> + </p> +</form> +{/if} diff --git a/admin/themes/default/template/double_select.tpl b/admin/themes/default/template/double_select.tpl new file mode 100644 index 000000000..ee9704419 --- /dev/null +++ b/admin/themes/default/template/double_select.tpl @@ -0,0 +1,22 @@ + +{include file='include/dbselect.inc.tpl'} + +<table class="doubleSelect"> + <tr> + <td> + <h3>{$L_CAT_OPTIONS_TRUE}</h3> + <select class="categoryList" name="cat_true[]" multiple="multiple" size="30"> + {html_options options=$category_option_true selected=$category_option_true_selected} + </select> + <p><input class="submit" type="submit" value="»" name="falsify" style="font-size:15px;" {$TAG_INPUT_ENABLED}></p> + </td> + + <td> + <h3>{$L_CAT_OPTIONS_FALSE}</h3> + <select class="categoryList" name="cat_false[]" multiple="multiple" size="30"> + {html_options options=$category_option_false selected=$category_option_false_selected} + </select> + <p><input class="submit" type="submit" value="«" name="trueify" style="font-size:15px;" {$TAG_INPUT_ENABLED}></p> + </td> + </tr> +</table> diff --git a/admin/themes/default/template/element_set_global.tpl b/admin/themes/default/template/element_set_global.tpl new file mode 100644 index 000000000..fffea3f09 --- /dev/null +++ b/admin/themes/default/template/element_set_global.tpl @@ -0,0 +1,211 @@ + +{include file='include/datepicker.inc.tpl'} + +{literal} +<script type="text/javascript"> + pwg_initialization_datepicker("#date_creation_day", "#date_creation_month", "#date_creation_year", "#date_creation_linked_date", "#date_creation_action_set"); +</script> +{/literal} + +<h2>{'Batch management'|@translate}</h2> + +<h3>{$CATEGORIES_NAV}</h3> + +{if !empty($thumbnails)} + <p style="text-align:center;"> + {'global mode'|@translate} + | <a href="{$U_UNIT_MODE}">{'unit mode'|@translate}</a> + </p> + + <fieldset> + + <legend>{'Display options'|@translate}</legend> + + <p>{'elements per page'|@translate}: + <a href="{$U_DISPLAY}&display=20">20</a> + | <a href="{$U_DISPLAY}&display=50">50</a> + | <a href="{$U_DISPLAY}&display=100">100</a> + | <a href="{$U_DISPLAY}&display=all">{'all'|@translate}</a> + </p> + + </fieldset> + + <form action="{$F_ACTION}" method="post"> + + <fieldset> + + <legend>{'Elements'|@translate}</legend> + + {if !empty($navbar) }{include file='navigation_bar.tpl'|@get_extent:'navbar'}{/if} + + {if !empty($thumbnails)} + <ul class="thumbnails"> + {foreach from=$thumbnails item=thumbnail} + <li><span class="wrap1"> + <label> + <span class="wrap2"> + {if $thumbnail.LEVEL > 0} + <em class="levelIndicatorB">{$thumbnail.LEVEL}</em> + <em class="levelIndicatorF" title="{$pwg->l10n($pwg->sprintf('Level %d',$thumbnail.LEVEL))}">{$thumbnail.LEVEL}</em> + {/if} + <span> + <img src="{$thumbnail.TN_SRC}" + alt="{$thumbnail.FILE}" + title="{$thumbnail.TITLE}" + class="thumbnail"> + </span></span> + <input type="checkbox" name="selection[]" value="{$thumbnail.ID}"> + </label> + </span> + </li> + {/foreach} + </ul> + {/if} + + </fieldset> + + {if $show_delete_form} + <fieldset> + <legend>{'Deletions'|@translate}</legend> + <p style="font-style:italic">{'Note: Only deletes photos added with pLoader'|@translate}</p> + <p> + {'target'|@translate} + <label><input type="radio" name="target_deletion" value="all"> {'all'|@translate}</label> + <label><input type="radio" name="target_deletion" value="selection" checked="checked"> {'selection'|@translate}</label> + </p> + <p> + <label><input type="checkbox" name="confirm_deletion" value="1"> {'confirm'|@translate}</label> + <input class="submit" type="submit" value="{'Delete selected photos'|@translate}" name="delete" {$TAG_INPUT_ENABLED}> + </p> + </fieldset> + {/if} + + <fieldset> + + <legend>{'Form'|@translate}</legend> + + <table> + + <tr> + <td>{'associate to category'|@translate}</td> + <td> + <select style="width:400px" name="associate" size="1"> + <option value="0">------------</option> + {html_options options=$associate_options } + </select> + </td> + </tr> + + <tr> + <td>{'dissociate from category'|@translate}</td> + <td> + <select style="width:400px" name="dissociate" size="1"> + <option value="0">------------</option> + {if !empty($dissociate_options)}{html_options options=$dissociate_options }{/if} + </select> + </td> + </tr> + + <tr> + <td>{'add tags'|@translate}</td> + <td>{if !empty($ADD_TAG_SELECTION)}{$ADD_TAG_SELECTION}{else}<p>{'No tag defined. Use Administration>Pictures>Tags'|@translate}</p>{/if}</td> + </tr> + + {if !empty($DEL_TAG_SELECTION)} + <tr> + <td>{'remove tags'|@translate}</td> + <td>{$DEL_TAG_SELECTION}</td> + </tr> + {/if} + + <tr> + <td>{'Author'|@translate}</td> + <td> + <label><input type="radio" name="author_action" value="leave" checked="checked"> {'leave'|@translate}</label> + <label><input type="radio" name="author_action" value="unset"> {'unset'|@translate}</label> + <label><input type="radio" name="author_action" value="set" id="author_action_set"> {'set to'|@translate}</label> + <input onchange="document.getElementById('author_action_set').checked = true;" type="text" class="large" name="author" value=""> + </td> + </tr> + + <tr> + <td>{'title'|@translate}</td> + <td> + <label><input type="radio" name="name_action" value="leave" checked="checked"> {'leave'|@translate}</label> + <label><input type="radio" name="name_action" value="unset"> {'unset'|@translate}</label> + <label><input type="radio" name="name_action" value="set" id="name_action_set"> {'set to'|@translate}</label> + <input onchange="document.getElementById('name_action_set').checked = true;" type="text" class="large" name="name" value=""> + </td> + </tr> + + <tr> + <td>{'Creation date'|@translate}</td> + <td> + <label><input type="radio" name="date_creation_action" value="leave" checked="checked"> {'leave'|@translate}</label> + <label><input type="radio" name="date_creation_action" value="unset"> {'unset'|@translate}</label> + <label><input type="radio" name="date_creation_action" value="set" id="date_creation_action_set"> {'set to'|@translate}</label> + <select id="date_creation_day" name="date_creation_day"> + <option value="0">--</option> + {section name=day start=1 loop=32} + <option value="{$smarty.section.day.index}" {if $smarty.section.day.index==$DATE_CREATION_DAY}selected="selected"{/if}>{$smarty.section.day.index}</option> + {/section} + </select> + <select id="date_creation_month" name="date_creation_month"> + {html_options options=$month_list selected=$DATE_CREATION_MONTH} + </select> + <input id="date_creation_year" + name="date_creation_year" + type="text" + size="4" + maxlength="4" + value="{$DATE_CREATION_YEAR}"> + <input id="date_creation_linked_date" name="date_creation_linked_date" type="hidden" size="10" disabled="disabled"> + </td> + </tr> + + <tr> + <td>{'Minimum privacy level'|@translate}</td> + <td> + <label><input type="radio" name="level_action" value="leave" checked="checked">{'leave'|@translate}</label> + <label><input type="radio" name="level_action" value="set" id="level_action_set">{'set to'|@translate}</label> + <select onchange="document.getElementById('level_action_set').checked = true;" name="level" size="1"> + {html_options options=$level_options} + </select> + </td> + </tr> + + </table> + + <p> + {'target'|@translate} + <label><input type="radio" name="target" value="all"> {'all'|@translate}</label> + <label><input type="radio" name="target" value="selection" checked="checked"> {'selection'|@translate}</label> + </p> + + + <p><input class="submit" type="submit" value="{'Submit'|@translate}" name="submit" {$TAG_INPUT_ENABLED}></p> + + </fieldset> + + <fieldset> + + <legend>{'Caddie management'|@translate}</legend> + + <ul style="list-style-type:none;"> + {if ($IN_CADDIE)} + <li><label><input type="radio" name="caddie_action" value="empty_all"> {'Empty caddie'|@translate}</label></li> + <li><label><input type="radio" name="caddie_action" value="empty_selected"> {'Take selected elements out of caddie'|@translate}</label></li> + {else} + <li><label><input type="radio" name="caddie_action" value="add_selected"> {'Add selected elements to caddie'|@translate}</label></li> + {/if} + </ul> + + <p><input class="submit" type="submit" value="{'Submit'|@translate}" name="submit_caddie"></p> + + </fieldset> + + </form> + +{else} + <div class="infos"><p>{'Caddie is currently empty'|@translate}</p></div> +{/if} diff --git a/admin/themes/default/template/element_set_ranks.tpl b/admin/themes/default/template/element_set_ranks.tpl new file mode 100644 index 000000000..6fed3fb19 --- /dev/null +++ b/admin/themes/default/template/element_set_ranks.tpl @@ -0,0 +1,50 @@ +{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.sortable" src=$ROOT_URL|@cat:"themes/default/js/ui/packed/ui.sortable.packed.js" } + +{literal} +<script type="text/javascript"> + $(function() { + $('ul.thumbnails') + .sortable( + { revert: true, + opacity: 0.7, + handle: $('.rank-of-image').add('.rank-of-image img'), + update: function() { + $(this).find('li').each(function(i) { + $(this).find("input[@name~='rank_of_image']") + .each(function() { $(this).attr('value', (i+1)*10)}); + }); + } + }); + }); + +</script> +{/literal} + +<h2>{'Manage image ranks'|@translate}</h2> + +<h3>{$CATEGORIES_NAV}</h3> + +{if !empty($thumbnails)} +<form action="{$F_ACTION}" method="post"> + <p><input class="submit" type="submit" value="{'Submit'|@translate}" name="submit" {$TAG_INPUT_ENABLED}></p> + <fieldset> + <legend>{'Edit ranks'|@translate}</legend> + {if !empty($thumbnails)} + <ul class="thumbnails"> + {foreach from=$thumbnails item=thumbnail} + <li class="rank-of-image"> + <img src="{$thumbnail.TN_SRC}" class="thumbnail" alt=""> + <input type="text" name="rank_of_image[{$thumbnail.ID}]" value="{$thumbnail.RANK}"> + </li> + {/foreach} + </ul> + {/if} + </fieldset> + <p><input class="submit" type="submit" value="{'Submit'|@translate}" name="submit" {$TAG_INPUT_ENABLED}></p> +</form> + +{else} +<div class="infos"><p>{'No element in this category'|@translate}</p></div> +{/if} diff --git a/admin/themes/default/template/element_set_unit.tpl b/admin/themes/default/template/element_set_unit.tpl new file mode 100644 index 000000000..4e188590b --- /dev/null +++ b/admin/themes/default/template/element_set_unit.tpl @@ -0,0 +1,109 @@ + +{include file='include/autosize.inc.tpl'} +{include file='include/datepicker.inc.tpl'} + +<h2>{'Batch management'|@translate}</h2> + +<h3>{$CATEGORIES_NAV}</h3> + +<p style="text-align:center;"> + <a href="{$U_GLOBAL_MODE}">{'global mode'|@translate}</a> + | {'unit mode'|@translate} +</p> + +<form action="{$F_ACTION}" method="POST"> +<fieldset> + <legend>{'Display options'|@translate}</legend> + <p>{'elements per page'|@translate} : + <a href="{$U_ELEMENTS_PAGE}&display=5">5</a> + | <a href="{$U_ELEMENTS_PAGE}&display=10">10</a> + | <a href="{$U_ELEMENTS_PAGE}&display=50">50</a> + | <a href="{$U_ELEMENTS_PAGE}&display=all">{'all'|@translate}</a> + </p> + +</fieldset> + +{if !empty($navbar) }{include file='navigation_bar.tpl'|@get_extent:'navbar'}{/if} + +{if !empty($elements) } +<div><input type="hidden" name="element_ids" value="{$ELEMENT_IDS}"></div> +{foreach from=$elements item=element} +<fieldset class="elementEdit"> + <legend>{$element.LEGEND}</legend> + + <a href="{$element.U_EDIT}"><img src="{$element.TN_SRC}" alt="" title="{'Edit all picture informations'|@translate}"></a> + + <table> + + <tr> + <td><strong>{'Name'|@translate}</strong></td> + <td><input type="text" class="large" name="name-{$element.ID}" value="{$element.NAME}"></td> + </tr> + + <tr> + <td><strong>{'Author'|@translate}</strong></td> + <td><input type="text" class="large" name="author-{$element.ID}" value="{$element.AUTHOR}"></td> + </tr> + + <tr> + <td><strong>{'Creation date'|@translate}</strong></td> + <td> + <label><input type="radio" name="date_creation_action-{$element.ID}" value="unset"> {'unset'|@translate}</label> + <label><input type="radio" name="date_creation_action-{$element.ID}" value="set" id="date_creation_action_set-{$element.ID}"> {'set to'|@translate}</label> + + <select id="date_creation_day-{$element.ID}" name="date_creation_day-{$element.ID}"> + <option value="0">--</option> + {section name=day start=1 loop=32} + <option value="{$smarty.section.day.index}" {if $smarty.section.day.index==$element.DATE_CREATION_DAY}selected="selected"{/if}>{$smarty.section.day.index}</option> + {/section} + </select> + <select id="date_creation_month-{$element.ID}" name="date_creation_month-{$element.ID}"> + {html_options options=$month_list selected=$element.DATE_CREATION_MONTH} + </select> + <input id="date_creation_year-{$element.ID}" + name="date_creation_year-{$element.ID}" + type="text" + size="4" + maxlength="4" + value="{$element.DATE_CREATION_YEAR}"> + <input id="date_creation_linked_date-{$element.ID}" name="date_creation_linked_date-{$element.ID}" type="hidden" size="10" disabled="disabled"> + <script type="text/javascript"> + pwg_initialization_datepicker("#date_creation_day-{$element.ID}", "#date_creation_month-{$element.ID}", "#date_creation_year-{$element.ID}", "#date_creation_linked_date-{$element.ID}", "#date_creation_action_set-{$element.ID}"); + </script> + </td> + </tr> + + <tr> + <td><strong>{'Tags'|@translate}</strong></td> + <td>{$element.TAG_SELECTION}</td> + </tr> + + <tr> + <td><strong>{'Description'|@translate}</strong></td> + <td><textarea cols="50" rows="5" name="description-{$element.ID}" id="description-{$element.ID}" class="description">{$element.DESCRIPTION}</textarea></td> + </tr> + + </table> + +</fieldset> +{/foreach} + +<p> + <input class="submit" type="submit" value="{'Submit'|@translate}" name="submit" {$TAG_INPUT_ENABLED}> + <input class="submit" type="reset" value="{'Reset'|@translate}"> +</p> +{/if} + +</form> + +<script type="text/javascript">// <![CDATA[ +{literal}$(document).ready(function() { + $(".elementEdit img").fadeTo("slow", 0.6); // Opacity on page load + $(".elementEdit img").hover(function(){ + $(this).fadeTo("slow", 1.0); // Opacity on hover + },function(){ + $(this).fadeTo("slow", 0.6); // Opacity on mouseout + }); +});{/literal} +// ]]> +</script> diff --git a/admin/themes/default/template/extend_for_templates.tpl b/admin/themes/default/template/extend_for_templates.tpl new file mode 100644 index 000000000..0d093c3bf --- /dev/null +++ b/admin/themes/default/template/extend_for_templates.tpl @@ -0,0 +1,37 @@ +<div class="titrePage"><h2>{'Extend for templates'|@translate}</h2> +</div> +{if isset($extents)} +<h4>{'Replacement of original templates by customized templates from template-extension subfolder'|@translate}</h4> +<form method="post" name="extend_for_templates" id="extend_for_templates" action=""> + <table class="table2"> + <tr class="throw"> + <th>{'Replacers (customized templates)'|@translate}</th> + <th>{'Original templates'|@translate}</th> + <th>{'Optional URL keyword'|@translate}</th> + <th>{'Bound template'|@translate}</th> + </tr> + {foreach from=$extents item=tpl name=extent_loop} + <tr class="{if $smarty.foreach.extent_loop.index is odd}row1{else}row2{/if}"> + <td> + <input type="hidden" name="reptpl[]" value="{$tpl.replacer}"> + {$tpl.replacer} + </td> + <td> + {html_options name=original[] output=$tpl.original_tpl values=$tpl.original_tpl selected=$tpl.selected_tpl} + </td> + <td> + {html_options name=url[] output=$tpl.url_parameter values=$tpl.url_parameter selected=$tpl.selected_url} + </td> + <td> + {html_options name=bound[] output=$tpl.bound_tpl values=$tpl.bound_tpl selected=$tpl.selected_bound} + </td> + </tr> + {/foreach} + </table> + {if !is_adviser()} + <p> + <input class="submit" type="submit" value="{'Submit'|@translate}" name="submit"> + </p> + {/if} +</form> +{/if} diff --git a/admin/themes/default/template/footer.tpl b/admin/themes/default/template/footer.tpl new file mode 100644 index 000000000..e8709b59f --- /dev/null +++ b/admin/themes/default/template/footer.tpl @@ -0,0 +1,58 @@ +{* + Warning : This is the admin pages footer only + don't be confusing with the public page footer +*} +</div> <!-- pwgMain --> +{if isset($footer_elements)} +{foreach from=$footer_elements item=v} +{$v} +{/foreach} +{/if} +{if isset($debug.QUERIES_LIST)} +<div id="debug"> +{$debug.QUERIES_LIST} +</div> +{/if} + +<div id="footer"> + <div id="piwigoInfos"> + {* 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}" title="Visit Piwigo project website"> + <span class="Piwigo">Piwigo</span></a> + {$VERSION} + | <a class="external" href="{$pwgmenu.WIKI}" title="Read Piwigo Documentation" onclick="window.open(this.href, ''); return false;">{'Documentation'|@translate}</a> + | <a class="external" href="{$pwgmenu.FORUM}" title="Get Support on Piwigo Forum" onclick="window.open(this.href, ''); return false;">{'Support'|@translate}</a> + </div> <!-- piwigoInfos --> + + <div id="pageInfos"> + {if isset($debug.TIME) } + {'SQL queries in'|@translate} {$debug.TIME} ({$debug.NB_QUERIES} {'SQL queries in'|@translate} {$debug.SQL_TIME}) - + {/if} + + + {'Contact'|@translate} + <a href="mailto:{$CONTACT_MAIL}?subject={'title_send_mail'|@translate|@escape:url}">{'Webmaster'|@translate}</a> + </div> <!-- pageInfos --> + +</div> <!-- footer --> +</div> <!-- the_page --> + +{literal} +<script type='text/javascript'> + $(function() { + $('#pwgHead A, #footer A').tipTip({ + 'delay' : 0, + 'fadeIn' : 200, + 'fadeOut' : 200, + }); + }); +</script> +{/literal} + +</body> +</html>
\ No newline at end of file diff --git a/admin/themes/default/template/group_list.tpl b/admin/themes/default/template/group_list.tpl new file mode 100644 index 000000000..6b32da66b --- /dev/null +++ b/admin/themes/default/template/group_list.tpl @@ -0,0 +1,42 @@ +<div class="titrePage"> + <h2>{'Group management'|@translate}</h2> +</div> + +<form method="post" name="add_user" action="{$F_ADD_ACTION}" class="properties"> + <fieldset> + <legend>{'Add group'|@translate}</legend> + + <span class="property"> + <label for="groupname">{'Group name'|@translate}</label> + </span> + <input type="text" id="groupname" name="groupname" maxlength="50" size="20"> + + <p> + <input class="submit" type="submit" name="submit_add" value="{'Add'|@translate}" {$TAG_INPUT_ENABLED}> + </p> + </fieldset> +</form> + +<table class="table2"> + <tr class="throw"> + <th>{'Group name'|@translate}</th> + <th>{'Members'|@translate}</th> + <th>{'Actions'|@translate}</th> + </tr> + {if not empty($groups)} + {foreach from=$groups item=group name=group_loop} + <tr class="{if $smarty.foreach.group_loop.index is odd}row1{else}row2{/if}"> + <td>{$group.NAME}<i><small>{$group.IS_DEFAULT}</small></i></td> + <td><a href="{$group.U_MEMBERS}">{$group.MEMBERS}</a></td> + <td style="text-align:center;"> + <a href="{$group.U_PERM}"> + <img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/permissions.png" class="button" style="border:none" alt="{'Permissions'|@translate}" title="{'Permissions'|@translate}"></a> + <a href="{$group.U_DELETE}" onclick="return confirm('{'delete'|@translate|@escape:'javascript'}' + '\n\n' + '{'Are you sure?'|@translate|@escape:'javascript'}');"> + <img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/delete.png" class="button" style="border:none" alt="{'Delete'|@translate}" title="{'Delete'|@translate}" {$TAG_INPUT_ENABLED}></a> + <a href="{$group.U_ISDEFAULT}" onclick="return confirm('{'Toggle \'default group\' property'|@translate|@escape:'javascript'}' +'\n\n' + '{'Are you sure?'|@translate|@escape:'javascript'}');"> + <img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/toggle_is_default_group.png" class="button" style="border:none" alt="{'Toggle \'default group\' property'|@translate}" title="{'Toggle \'default group\' property'|@translate}" {$TAG_INPUT_ENABLED}></a> + </td> + </tr> + {/foreach} + {/if} +</table> diff --git a/admin/themes/default/template/group_perm.tpl b/admin/themes/default/template/group_perm.tpl new file mode 100644 index 000000000..1dded1291 --- /dev/null +++ b/admin/themes/default/template/group_perm.tpl @@ -0,0 +1,8 @@ +{* $Id *} +<h2>{$TITLE}</h2> + +<form method="post" action="{$F_ACTION}"> + {$DOUBLE_SELECT} +</form> + +<p>{'Only private categories are listed'|@translate}</p> diff --git a/admin/themes/default/template/header.tpl b/admin/themes/default/template/header.tpl new file mode 100644 index 000000000..57ae04fa4 --- /dev/null +++ b/admin/themes/default/template/header.tpl @@ -0,0 +1,77 @@ +{* + + Warning : This is the admin pages header only + don't confuse with the public page header + +*} +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" +"http://www.w3.org/TR/html4/strict.dtd"> +<html lang="{$lang_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"> +<title>{$GALLERY_TITLE} :: {$PAGE_TITLE}</title> +<link rel="shortcut icon" type="image/x-icon" href="{$ROOT_URL}{$themeconf.icon_dir}/favicon.ico"> + +{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}admin/themes/{$theme.name}/theme.css"> +{/foreach} + +{known_script id="jquery" src=$ROOT_URL|@cat:"themes/default/js/jquery.packed.js" now=1} {*jQuery is always available by default*} + +<script type="text/javascript" src="{$ROOT_URL}themes/default/js/scripts.js"></script> +<!--[if lt IE 7]> +<script type="text/javascript" src="{$ROOT_URL}themes/default/js/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"> + +<div id="pwgHead"> + <h1> + <a href="{$U_RETURN}" title="Visit Gallery"> + <img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/home.png" alt="{'Home'|@translate}"> + {$GALLERY_TITLE} + </a> + </h1> + + <div id="headActions"> + Hello {$USERNAME} : + <a href="{$U_RETURN}" title="Visit Gallery">Visit Gallery</a> | + <a href="{$U_CHANGE_THEME}" title="Switch to clear theme for administration">Change Theme</a> | + <a href="{$U_LOGOUT}">{'Logout'|@translate}</a> + <a href="{$U_FAQ}" title="{'Instructions'|@translate}" id="instructions"><img style="padding-left:10px;" src="{$ROOT_URL}{$themeconf.admin_icon_dir}/help.png" class="button" alt="(?)"></a> + </div> +</div> + +<div style="clear:both;"></div> + +{if not empty($header_msgs)} +<div class="header_msgs"> + {foreach from=$header_msgs item=elt} + {$elt} + {/foreach} +</div> +{/if} + +<div id="theHeader">{*$PAGE_BANNER*}</div> + +{if not empty($header_notes)} +<div class="header_notes"> + {foreach from=$header_notes item=elt} + {$elt} + {/foreach} +</div> +{/if} + +<div id="pwgMain">
\ No newline at end of file diff --git a/admin/themes/default/template/history.tpl b/admin/themes/default/template/history.tpl new file mode 100644 index 000000000..5d0cd771e --- /dev/null +++ b/admin/themes/default/template/history.tpl @@ -0,0 +1,135 @@ + +{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); +</script> +{/literal} + +<div class="titrePage"> + <h2>{'History'|@translate} {$TABSHEET_TITLE}</h2> +</div> + +<form class="filter" method="post" name="filter" action="{$F_ACTION}"> +<fieldset> + <legend>{'Filter'|@translate}</legend> + <ul> + <li><label>{'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" value="{$START_YEAR}" type="text" size="4" maxlength="4" > + <input id="start_linked_date" name="start_linked_date" type="hidden" size="10" disabled="disabled"> + </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" value="{$END_YEAR}" type="text" size="4" maxlength="4" > + <input id="end_linked_date" name="end_linked_date" type="hidden" size="10" disabled="disabled"> + </li> + </ul> + + <label> + {'Element type'|@translate} + <select name="types[]" multiple="multiple" size="4"> + {html_options values=$type_option_values output=$type_option_values|translate selected=$type_option_selected} + </select> + </label> + + <label> + {'User'|@translate} + <select name="user"> + <option value="-1">------------</option> + {html_options options=$user_options selected=$user_options_selected} + </select> + </label> + + <label> + {'Image id'|@translate} + <input name="image_id" value="{$IMAGE_ID}" type="text" size="5"> + </label> + + <label> + {'File name'|@translate} + <input name="filename" value="{$FILENAME}" type="text"> + </label> + + <label> + {'Thumbnails'|@translate} + <select name="display_thumbnail"> + {html_options values=$display_thumbnail_values output=$display_thumbnail_values|translate selected=$display_thumbnail_selected} + </select> + </label> + + <input class="submit" type="submit" name="submit" value="{'Submit'|@translate}"> +</fieldset> +</form> + +{if isset($search_summary)} +<fieldset> + <legend>{'Summary'|@translate}</legend> + + <ul> + <li>{$search_summary.NB_LINES}, {$search_summary.FILESIZE}</li> + <li> + {$search_summary.USERS} + <ul> + <li>{$search_summary.MEMBERS}</li> + <li>{$search_summary.GUESTS}</li> + </ul> + </li> + </ul> +</fieldset> +{/if} + +{if !empty($navbar) }{include file='navigation_bar.tpl'|@get_extent:'navbar'}{/if} + +<table class="table2" id="detailedStats"> +<tr class="throw"> + <th>{'Date'|@translate}</th> + <th>{'Time'|@translate}</th> + <th>{'User'|@translate}</th> + <th>{'IP'|@translate}</th> + <th>{'Element'|@translate}</th> + <th>{'Element type'|@translate}</th> + <th>{'Section'|@translate}</th> + <th>{'Category'|@translate}</th> + <th>{'Tags'|@translate}</th> +</tr> +{if !empty($search_results) } +{foreach from=$search_results item=detail name=res_loop} +<tr class="{if $smarty.foreach.res_loop.index is odd}row1{else}row2{/if}"> + <td class="hour">{$detail.DATE}</td> + <td class="hour">{$detail.TIME}</td> + <td>{$detail.USER}</td> + <td>{$detail.IP}</td> + <td>{$detail.IMAGE}</td> + <td>{$detail.TYPE}</td> + <td>{$detail.SECTION}</td> + <td>{$detail.CATEGORY}</td> + <td>{$detail.TAGS}</td> +</tr> +{/foreach} +{/if} +</table> + +{if !empty($navbar) }{include file='navigation_bar.tpl'|@get_extent:'navbar'}{/if} diff --git a/admin/themes/default/template/include/autosize.inc.tpl b/admin/themes/default/template/include/autosize.inc.tpl new file mode 100644 index 000000000..8f5c78c70 --- /dev/null +++ b/admin/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/admin/themes/default/template/include/datepicker.inc.tpl b/admin/themes/default/template/include/datepicker.inc.tpl new file mode 100644 index 000000000..f010febcf --- /dev/null +++ b/admin/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.admin_icon_dir}/datepicker.png", + day, month, year, linked_date, checked_on_change, min_linked_date, max_linked_date); +} +</script> diff --git a/admin/themes/default/template/include/dbselect.inc.tpl b/admin/themes/default/template/include/dbselect.inc.tpl new file mode 100644 index 000000000..009452c1e --- /dev/null +++ b/admin/themes/default/template/include/dbselect.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 double select list + jQuery(".doubleSelect select.categoryList").resizable({ + handles: "w,e", + animate: true, + animateDuration: "slow", + animateEasing: "swing", + preventDefault: true, + preserveCursor: true, + autoHide: true, + ghost: true + }); + }); +</script> +{/literal} diff --git a/admin/themes/default/template/include/install.inc.tpl b/admin/themes/default/template/include/install.inc.tpl new file mode 100644 index 000000000..b153f0f30 --- /dev/null +++ b/admin/themes/default/template/include/install.inc.tpl @@ -0,0 +1,19 @@ +<script type="text/javascript" src="template-common/lib/jquery.packed.js"></script> +{literal} +<script type="text/javascript"> +$(function() { + $option_selected = $('#dblayer option:selected').attr('value'); + if ($option_selected=='sqlite' || $option_selected=='pdo-sqlite') { + $('input[name=dbhost],input[name=dbuser],input[name=dbpasswd]').parent().parent().hide(); + } + $('#dblayer').change(function() { + $db = this; + if ($db.value=='sqlite' || $db.value=='pdo-sqlite') { + $('input[name=dbhost],input[name=dbuser],input[name=dbpasswd]').parent().parent().hide(); + } else { + $('input[name=dbhost],input[name=dbuser],input[name=dbpasswd]').parent().parent().show(); + } + }); + }); +</script> +{/literal} diff --git a/admin/themes/default/template/include/resize.inc.tpl b/admin/themes/default/template/include/resize.inc.tpl new file mode 100644 index 000000000..30a637563 --- /dev/null +++ b/admin/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/admin/themes/default/template/install.tpl b/admin/themes/default/template/install.tpl new file mode 100644 index 000000000..ce3d8d906 --- /dev/null +++ b/admin/themes/default/template/install.tpl @@ -0,0 +1,211 @@ +<!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={$T_CONTENT_ENCODING}"> +<meta http-equiv="Content-script-type" content="text/javascript"> +<meta http-equiv="Content-Style-Type" content="text/css"> +<link rel="shortcut icon" type="image/x-icon" href="{$ROOT_URL}{$themeconf.icon_dir}/favicon.ico"> + +{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}admin/themes/{$theme.name}/theme.css"> +{/foreach} + +<script type="text/javascript" src="themes/default/js/jquery.packed.js"></script> +{literal} +<script type="text/javascript"> +$(function() { + $option_selected = $('#dblayer option:selected').attr('value'); + if ($option_selected=='sqlite' || $option_selected=='pdo-sqlite') { + $('input[name=dbhost],input[name=dbuser],input[name=dbpasswd]').parent().parent().hide(); + } + $('#dblayer').change(function() { + $db = this; + if ($db.value=='sqlite' || $db.value=='pdo-sqlite') { + $('input[name=dbhost],input[name=dbuser],input[name=dbpasswd]').parent().parent().hide(); + } else { + $('input[name=dbhost],input[name=dbuser],input[name=dbpasswd]').parent().parent().show(); + } + }); + }); +</script> + +<style type="text/css"> +.content { + width: 800px; + margin: auto; + text-align: center; +} + +.table2 { + width: 100%; + margin-bottom: 1em !important; +} + +TD { + text-align: left; + padding: 0.1em 0.5em; + height: 2.5em; +} + +.sql_content, .infos a { + color: #ff3363; +} +</style> +{/literal} +<title>Piwigo {$RELEASE} - {'Installation'|@translate}</title> +</head> + +<body> +<div id="headbranch"></div> {* Dummy block for double background management *} +<div id="the_page"> +<div id="theHeader"></div> +<div id="content" class="content"> + +<h2>Piwigo {$RELEASE} - {'Installation'|@translate}</h2> + +{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 isset($install)} +<form method="POST" action="{$F_ACTION}" name="install_form"> + + <table class="table2"> + <tr class="throw"> + <th colspan="2">{'Basic configuration'|@translate}</th> + </tr> + <tr> + <td style="width: 30%">{'Default gallery language'|@translate}</td> + <td> + <select name="language" onchange="document.location = 'install.php?language='+this.options[this.selectedIndex].value;"> + {html_options options=$language_options selected=$language_selection} + </select> + </td> + </tr> + </table> + <table class="table2"> + <tr class="throw"> + <th colspan="3">{'Database configuration'|@translate}</th> + </tr> + {if count($F_DB_ENGINES)>1} + <tr> + <td style="width: 30%;">{'Database type'|@translate}</td> + <td> + <select name="dblayer" id="dblayer"> + {foreach from=$F_DB_ENGINES key=k item=v} + <option value="{$k}" + {if $k==$F_DB_LAYER or $v.selected} selected="selected"{/if} + {if $v.available!=1} disabled="disabled"{/if} + >{$v.label}</option> + {/foreach} + </select> + </td> + <td>{'The type of database your piwigo data will be store in'|@translate}</td> + {else} + <td colspan="3"> + <input type="hidden" name="dbengine" value="{$F_DB_LAYER}"> + </td> + {/if} + </tr> + <tr> + <td style="width: 30%;">{'Host'|@translate}</td> + <td align=center><input type="text" name="dbhost" value="{$F_DB_HOST}"></td> + <td>{'localhost, sql.multimania.com, toto.freesurf.fr'|@translate}</td> + </tr> + <tr> + <td>{'User'|@translate}</td> + <td align=center><input type="text" name="dbuser" value="{$F_DB_USER}"></td> + <td>{'user login given by your host provider'|@translate}</td> + </tr> + <tr> + <td>{'Password'|@translate}</td> + <td align=center><input type="password" name="dbpasswd" value=""></td> + <td>{'user password given by your host provider'|@translate}</td> + </tr> + <tr> + <td>{'Database name'|@translate}</td> + <td align=center><input type="text" name="dbname" value="{$F_DB_NAME}"></td> + <td>{'also given by your host provider'|@translate}</td> + </tr> + <tr> + <td>{'Database table prefix'|@translate}</td> + <td align=center><input type="text" name="prefix" value="{$F_DB_PREFIX}"></td> + <td>{'database tables names will be prefixed with it (enables you to manage better your tables)'|@translate}</td> + </tr> + </table> + + <table class="table2"> + <tr class="throw"> + <th colspan="3">{'Admin configuration'|@translate}</th> + </tr> + <tr> + <td style="width: 30%;">{'Webmaster login'|@translate}</td> + <td align="center"><input type="text" name="admin_name" value="{$F_ADMIN}"></td> + <td>{'It will be shown to the visitors. It is necessary for website administration'|@translate}</td> + </tr> + <tr> + <td>{'Webmaster password'|@translate}</td> + <td align="center"><input type="password" name="admin_pass1" value=""></td> + <td>{'Keep it confidential, it enables you to access administration panel'|@translate}</td> + </tr> + <tr> + <td>{'Password [confirm]'|@translate}</td> + <td align="center"><input type="password" name="admin_pass2" value=""></td> + <td>{'verification'|@translate}</td> + </tr> + <tr> + <td>{'Webmaster mail address'|@translate}</td> + <td align="center"><input type="text" name="admin_mail" value="{$F_ADMIN_EMAIL}"></td> + <td>{'Visitors will be able to contact site administrator with this mail'|@translate}</td> + </tr> + </table> + + <table> + <tr> + <td style="text-align: center;"> + <input class="submit" type="submit" name="install" value="{'Start Install'|@translate}"> + </td> + </tr> + </table> +</form> +{else} +<p> + <input type="button" name="Home" value="{'Home'|@translate}" onClick="window.open('index.php');"> + <input type="button" name="Administration" value="{'Administration'|@translate}" onClick="window.open('admin.php');"> +</p> + +{if !isset($migration)} +<div class="infos"> + <ul> + <li>{'Keep in touch with Piwigo project, subscribe to Piwigo Announcement Newsletter. You will receive emails when a new release is available (sometimes including a security bug fix, it\'s important to know and upgrade) and when major events happen to the project. Only a few emails a year.'|@translate}</li> + </ul> +</div> + +<p> + <input type="button" name="subscribe" value="{'Subscribe %s'|@translate|@sprintf:$F_ADMIN_EMAIL}" onClick="window.open('{$SUBSCRIBE_BASE_URL}{$F_ADMIN_EMAIL}');"> +</p> +{/if} +{/if} +</div> {* content *} +<div style="text-align: center">{$L_INSTALL_HELP}</div> +</div> {* the_page *} +</body> +</html> diff --git a/admin/themes/default/template/intro.tpl b/admin/themes/default/template/intro.tpl new file mode 100644 index 000000000..86c65c0a3 --- /dev/null +++ b/admin/themes/default/template/intro.tpl @@ -0,0 +1,79 @@ +{known_script id="jquery" src=$ROOT_URL|@cat:"themes/default/js/jquery.packed.js"} +{known_script id="jquery.cluetip" src=$ROOT_URL|@cat:"themes/default/js/plugins/jquery.cluetip.packed.js"} + +<script type="text/javascript"> +jQuery().ready(function(){ldelim} + jQuery('.cluetip').cluetip({ldelim} + width: 300, + splitTitle: '|' + }); +}); +</script> + +<h2>{'Piwigo administration'|@translate}</h2> +<dl style="padding-top: 30px;"> + <dt>{'Piwigo version'|@translate}</dt> + <dd> + <ul> + <li><a href="{$PHPWG_URL}" onclick="window.open(this.href, ''); + return false;">Piwigo</a> {$PWG_VERSION}</li> + <li><a href="{$U_CHECK_UPGRADE}">{'Check for upgrade'|@translate}</a></li> +{if isset($SUBSCRIBE_BASE_URL)} + <li><a href="{$SUBSCRIBE_BASE_URL}{$EMAIL}" onclick="window.open(this.href); return false;" class="cluetip" title="{'Piwigo Announcements Newsletter'|@translate}|{'Subscribe to Piwigo Announcements Newsletter'|@translate|htmlspecialchars|nl2br}">{'Subscribe %s to Piwigo Announcements Newsletter'|@translate|@sprintf:$EMAIL}</a></li> +{/if} + </ul> + </dd> + + <dt>{'Environment'|@translate}</dt> + <dd> + <ul> + <li>{'Operating system'|@translate}: {$OS}</li> + <li>PHP: {$PHP_VERSION} (<a href="{$U_PHPINFO}" onclick="window.open(this.href, ''); + return false;">{'Show info'|@translate}</a>) [{$PHP_DATATIME}]</li> + <li>{$DB_ENGINE}: {$DB_VERSION} [{$DB_DATATIME}]</li> + </ul> + </dd> + + <dt>{'Database'|@translate}</dt> + <dd> + <ul> + <li> + {$DB_ELEMENTS} + {if isset($waiting)} + (<a href="{$waiting.URL}">{$waiting.INFO}</a>) + {/if} + + {if isset($first_added)} + ({$first_added.DB_DATE}) + {/if} + </li> + <li>{$DB_CATEGORIES} ({$DB_IMAGE_CATEGORY})</li> + <li>{$DB_TAGS} ({$DB_IMAGE_TAG})</li> + <li>{$DB_USERS}</li> + <li>{$DB_GROUPS}</li> + <li> + {$DB_COMMENTS} + {if isset($unvalidated)} + (<a href="{$unvalidated.URL}">{$unvalidated.INFO}</a>) + {/if} + </li> + </ul> + </dd> +</dl> + + +<form name="QuickSynchro" action="{$U_CAT_UPDATE}" method="post" id="QuickSynchro" style="display: block; text-align:right;"> +<div> +<input type="hidden" name="sync" value="files" checked="checked"> +<input type="hidden" name="display_info" value="1" checked="checked"> +<input type="hidden" name="add_to_caddie" value="1" checked="checked"> +<input type="hidden" name="privacy_level" value="0" checked="checked"> +<input type="hidden" name="sync_meta" checked="checked"> +<input type="hidden" name="simulate" value="0"> +<input type="hidden" name="subcats-included" value="1" checked="checked"> +</div> +<div class="bigbutton"> +<span class="bigtext">{'Quick Local Synchronization'|@translate}</span> +<input type="submit" value="" name="submit"> +</div> +</form> diff --git a/admin/themes/default/template/maintenance.tpl b/admin/themes/default/template/maintenance.tpl new file mode 100644 index 000000000..2208b5baa --- /dev/null +++ b/admin/themes/default/template/maintenance.tpl @@ -0,0 +1,22 @@ +<div class="titrePage"> + <h2>{'Maintenance'|@translate}</h2> +</div> + +<ul> + <li><a href="{$U_MAINT_CATEGORIES}" {$TAG_INPUT_ENABLED}>{'Update categories informations'|@translate}</a></li> + <li><a href="{$U_MAINT_IMAGES}" {$TAG_INPUT_ENABLED}>{'Update images informations'|@translate}</a></li> + <li><a href="{$U_MAINT_DATABASE}" {$TAG_INPUT_ENABLED}>{'Repair and optimize database'|@translate}</a></li> +</ul> + +<ul> + <li><a href="{$U_MAINT_HISTORY_DETAIL}" onclick="return confirm('{'Purge history detail'|@translate}');" {$TAG_INPUT_ENABLED}>{'Purge history detail'|@translate}</a></li> + <li><a href="{$U_MAINT_HISTORY_SUMMARY}" onclick="return confirm('{'Purge history summary'|@translate}');" {$TAG_INPUT_ENABLED}>{'Purge history summary'|@translate}</a></li> + <li><a href="{$U_MAINT_SESSIONS}" {$TAG_INPUT_ENABLED}>{'Purge sessions'|@translate}</a></li> + <li><a href="{$U_MAINT_FEEDS}" {$TAG_INPUT_ENABLED}>{'Purge never used notification feeds'|@translate}</a></li> + <li><a href="{$U_MAINT_SEARCH}"onclick="return confirm('{'Purge search history'|@translate}');" {$TAG_INPUT_ENABLED}>{'Purge search history'|@translate}</a></li> + <li><a href="{$U_MAINT_COMPILED_TEMPLATES}" {$TAG_INPUT_ENABLED}>{'Purge compiled templates'|@translate}</a></li> +</ul> + +<ul> + <li><a href="{$U_MAINT_C13Y}" {$TAG_INPUT_ENABLED}>{'Reinitialize check integrity'|@translate}</a></li> +</ul> diff --git a/admin/themes/default/template/menubar.tpl b/admin/themes/default/template/menubar.tpl new file mode 100644 index 000000000..552880b45 --- /dev/null +++ b/admin/themes/default/template/menubar.tpl @@ -0,0 +1,53 @@ +{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-tablednd" src=$ROOT_URL|@cat:"themes/default/js/jquery.tablednd.js"} + +{literal} +<script type="text/javascript"> +$(function() { +$('table.table2').tableDnD({ +onDrop:function(table,row) { +var rows = table.tBodies[0].rows; +for (var i=0; i<rows.length; i++) { + $(rows[i]) + .attr('class', 'row'+i%2) + .find("input:text").attr('value', (i+1)*10); +} +} +}); +}); +</script> +{/literal} + +<div class="titrePage"> + <h2>Menubar</h2> +</div> +<div id="debugArea"></div> +<form method="post" action="{$F_ACTION}" class="properties"> + <table class="table2" style="width:99%"> + <thead> + <tr class="throw"> + <td>Id</td> + <td>{'Author'|@translate}</td> + <td>{'Name'|@translate}</td> + <td>{'Position'|@translate}</td> + <td>{'Hide'|@translate}</td> + </tr> + </thead> + <tbody> + {foreach from=$blocks item=block name="block_loop"} + <tr class="{if $smarty.foreach.block_loop.index is odd}row1{else}row2{/if}"> + <td>{$block.reg->get_id()}</td> + <td>{$block.reg->get_owner()}</td> + <td>{$block.reg->get_name()|@translate}</td> + <td><input type="text" name="pos_{$block.reg->get_id()}" value={math equation="abs(pos)" pos=$block.pos} size="2"></td> + <td><input type="checkbox" name="hide_{$block.reg->get_id()}" {if $block.pos<0}checked="checked"{/if}></td> + </tr> + {/foreach} + </tbody> + </table> + <p> + <input type="submit" name="submit" value="{'Submit'|@translate}" {$TAG_INPUT_ENABLED}> + <input type="submit" name="reset" value="{'Reset'|@translate}" {$TAG_INPUT_ENABLED}> + </p> +</form> diff --git a/admin/themes/default/template/navigation_bar.tpl b/admin/themes/default/template/navigation_bar.tpl new file mode 100644 index 000000000..82c66bd15 --- /dev/null +++ b/admin/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/admin/themes/default/template/notification_by_mail.tpl b/admin/themes/default/template/notification_by_mail.tpl new file mode 100644 index 000000000..3ffccd544 --- /dev/null +++ b/admin/themes/default/template/notification_by_mail.tpl @@ -0,0 +1,121 @@ + +{include file='include/autosize.inc.tpl'} + +<div class="titrePage"> + <h2>{'Send mail to users'|@translate} {$TABSHEET_TITLE}</h2> +</div> + +<form method="post" name="notification_by_mail" id="notification_by_mail" action="{$F_ACTION}"> + {if isset($REPOST_SUBMIT_NAME)} + <fieldset> + <div class="infos"> + <input class="submit" type="submit" value="{'Continue processing treatment'|@translate}" name="{$REPOST_SUBMIT_NAME}" {$TAG_INPUT_ENABLED}> + </div> + </fieldset> + {/if} + + {if isset($param)} + <fieldset> + <legend>{'Parameters'|@translate}</legend> + <table> + <tr> + <td><label>{'Send mail on HTML format'|@translate}</label></td> + <td> + <label><input type="radio" name="nbm_send_html_mail" value="true" {if $param.SEND_HTML_MAIL}checked="checked"{/if}>{'Yes'|@translate}</label> + <label><input type="radio" name="nbm_send_html_mail" value="false" {if not $param.SEND_HTML_MAIL}checked="checked"{/if}>{'No'|@translate}</label> + </td> + </tr> + <tr> + <td> + <label for="send_mail_as">{'Send mail as'|@translate}</label> + <br><i><small>{'With blank value, gallery title will be used'|@translate}</small></i> + </td> + <td><input type="text" maxlength="35" size="35" name="nbm_send_mail_as" id="send_mail_as" value="{$param.SEND_MAIL_AS}"></td> + </tr> + <tr> + <td><label>{'Add detailed content'|@translate}</label></td> + <td> + <label><input type="radio" name="nbm_send_detailed_content" value="true" {if $param.SEND_DETAILED_CONTENT}checked="checked"{/if}>{'Yes'|@translate}</label> + <label><input type="radio" name="nbm_send_detailed_content" value="false" {if not $param.SEND_DETAILED_CONTENT}checked="checked"{/if}>{'No'|@translate}</label> + </td> + </tr> + <tr> + <td><label for="complementary_mail_content">{'Complementary mail content'|@translate}</label></td> + <td><textarea cols="50" rows="5" name="nbm_complementary_mail_content" id="complementary_mail_content">{$param.COMPLEMENTARY_MAIL_CONTENT}</textarea></td> + </tr> + <tr> + <td> + <label>{'Include display of recent pictures group by dates'|@translate}</label> + <br><i><small>{'Available only with HTML format'|@translate}</small></i> + </td> + <td> + <label><input type="radio" name="nbm_send_recent_post_dates" value="true" {if $param.SEND_RECENT_POST_DATES}checked="checked"{/if}>{'Yes'|@translate}</label> + <label><input type="radio" name="nbm_send_recent_post_dates" value="false" {if not $param.SEND_RECENT_POST_DATES}checked="checked"{/if}>{'No'|@translate}</label> + </td> + </tr> + </table> + </fieldset> + + <p> + <input class="submit" type="submit" value="{'Submit'|@translate}" name="param_submit" {$TAG_INPUT_ENABLED}> + <input class="submit" type="reset" value="{'Reset'|@translate}" name="param_reset"> + </p> + {/if}{* isset $param*} + + {if isset($subscribe)} + <fieldset> + <legend>{'Subscribe/unsubscribe users'|@translate}</legend> + <p><i>{'Warning: subscribing or unsubscribing will send mails to users'|@translate}</i></p> + {$DOUBLE_SELECT} + </fieldset> + {/if}{* isset $subscribe*} + + {if isset($send)} + {if empty($send.users)} + <p>{'There is no available subscribers to mail.'|@translate}</p> + <p> + {'Subscribers could be listed (available) only if there is new elements to notify.'|@translate}<br> + {'Anyway only webmasters can see this tab and never administrators.'|@translate} + </p> + {else} + <fieldset> + <legend>{'Select recipients'|@translate}</legend> + <table class="table2"> + <tr class="throw"> + <th>{'User'|@translate}</th> + <th>{'email'|@translate}</th> + <th>{'Last send'|@translate}</th> + <th>{'To send ?'|@translate}</th> + </tr> + {foreach from=$send.users item=u name=user_loop} + <tr class="{if $smarty.foreach.user_loop.index is odd}row1{else}row2{/if}"> + <td><label for="send_selection-{$u.ID}">{$u.USERNAME}</label></td> + <td><label for="send_selection-{$u.ID}">{$u.EMAIL}</label></td> + <td><label for="send_selection-{$u.ID}">{$u.LAST_SEND}</label></td> + <td><input type="checkbox" name="send_selection[]" value="{$u.ID}" {$u.CHECKED} id="send_selection-{$u.ID}"></td> + </tr> + {/foreach} + </table> + <p> + <a href="#" onclick="SelectAll(document.getElementById('notification_by_mail')); return false;">{'Check all'|@translate}</a> + / <a href="#" onclick="DeselectAll(document.getElementById('notification_by_mail')); return false;">{'Uncheck all'|@translate}</a> + </p> + </fieldset> + + <fieldset> + <legend>{'Options'|@translate}</legend> + <table> + <tr> + <td><label for="send_customize_mail_content">{'Complementary mail content'|@translate}</label></td> + <td><textarea cols="50" rows="5" name="send_customize_mail_content" id="send_customize_mail_content">{$send.CUSTOMIZE_MAIL_CONTENT}</textarea></td> + </tr> + </table> + </fieldset> + + <p> + <input class="submit" type="submit" value="{'Send'|@translate}" name="send_submit" {$TAG_INPUT_ENABLED}> + </p> + {/if} + {/if}{* isset $send*} + +</form> diff --git a/admin/themes/default/template/permalinks.tpl b/admin/themes/default/template/permalinks.tpl new file mode 100644 index 000000000..ef5c7f802 --- /dev/null +++ b/admin/themes/default/template/permalinks.tpl @@ -0,0 +1,66 @@ +<div class="titrePage"> + <h2>{'Permalinks'|@translate}</h2> +</div> + +<form method="post" action=""> +<fieldset><legend>{'Add/delete a permalink'|@translate}</legend> + <label>{'Category'|@translate}: + <select name="cat_id"> + <option value="0">------</option> + {html_options options=$categories selected=$categories_selected} + </select> + </label> + + <label>{'Permalink'|@translate}: + <input name="permalink"> + </label> + + <label>{'Save to permalink history'|@translate}: + <input type="checkbox" name="save" checked="checked"> + </label> + + <p> + <input type="submit" class="submit" name="set_permalink" value="{'Submit'|@translate}" {$TAG_INPUT_ENABLED}> + </p> + </fieldset> +</form> + +<h3>{'Permalinks'|@translate}</h3> +<table class="table2"> + <tr class="throw"> + <td>Id {$SORT_ID}</td> + <td>{'Category'|@translate} {$SORT_NAME}</td> + <td>{'Permalink'|@translate} {$SORT_PERMALINK}</td> + </tr> +{foreach from=$permalinks item=permalink name="permalink_loop"} + <tr class="{if $smarty.foreach.permalink_loop.index is odd}row1{else}row2{/if}" style="line-height:1.5em;"> + <td style="text-align:center;">{$permalink.id}</td> + <td>{$permalink.name}</td> + <td>{$permalink.permalink}</td> + </tr> +{/foreach} +</table> + +<h3>{'Permalink history'|@translate} <a name="old_permalinks"></a></h3> +<table class="table2"> + <tr class="throw"> + <td>Id {$SORT_OLD_CAT_ID}</td> + <td>{'Category'|@translate}</td> + <td>{'Permalink'|@translate} {$SORT_OLD_PERMALINK}</td> + <td>{'Deleted on'|@translate} {$SORT_OLD_DATE_DELETED}</td> + <td>{'Last hit'|@translate} {$SORT_OLD_LAST_HIT}</td> + <td style="width:20px;">{'Hit'|@translate} {$SORT_OLD_HIT}</td> + <td style="width:5px;"></td> + </tr> +{foreach from=$deleted_permalinks item=permalink} + <tr style="line-height:1.5em;"> + <td style="text-align:center;">{$permalink.cat_id}</td> + <td>{$permalink.name}</td> + <td>{$permalink.permalink}</td> + <td>{$permalink.date_deleted}</td> + <td>{$permalink.last_hit}</td> + <td>{$permalink.hit}</td> + <td><a href="{$permalink.U_DELETE}" {$TAG_INPUT_ENABLED}><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/Delete.png" alt="[{'Delete'|@translate}]" class="button"></a></td> + </tr> +{/foreach} +</table> diff --git a/admin/themes/default/template/photos_add_direct.tpl b/admin/themes/default/template/photos_add_direct.tpl new file mode 100644 index 000000000..9f59c11a7 --- /dev/null +++ b/admin/themes/default/template/photos_add_direct.tpl @@ -0,0 +1,185 @@ +{known_script id="jquery" src=$ROOT_URL|@cat:"themes/default/js/jquery.packed.js"} + +{literal} +<script> +$(document).ready(function(){ + + $("input[name=category_type]").click(function () { + $("[id^=category_type_]").hide(); + $("#category_type_"+$(this).attr("value")).show(); + }); +}); +</script> +{/literal} + +{if $upload_mode eq 'html'} +{literal} +<script type="text/javascript"> +$(document).ready(function(){ + function addUploadBox() { + var uploadBox = '<p class="file"><input type="file" size="60" name="image_upload[]" /></p>'; + $(uploadBox).appendTo("#uploadBoxes"); + } + + addUploadBox(); + + $("#addUploadBox A").click(function () { + addUploadBox(); + }); +}); +</script> +{/literal} + +{elseif $upload_mode eq 'multiple'} +<script type="text/javascript" src="{$uploadify_path}/swfobject.js"></script> +<script type="text/javascript" src="{$uploadify_path}/jquery.uploadify.v2.1.0.min.js"></script> + +<script type="text/javascript"> +var uploadify_path = '{$uploadify_path}'; +var upload_id = '{$upload_id}'; +var session_id = '{$session_id}'; +var pwg_token = '{$pwg_token}'; +var buttonText = 'Browse'; + +{literal} +jQuery(document).ready(function() { + jQuery("#uploadify").uploadify({ + 'uploader' : uploadify_path + '/uploadify.swf', + 'script' : uploadify_path + '/uploadify.php', + 'scriptData' : { + 'upload_id' : upload_id, + 'session_id' : session_id, + 'pwg_token' : pwg_token, + }, + 'cancelImg' : uploadify_path + '/cancel.png', + 'queueID' : 'fileQueue', + 'auto' : false, + 'displayData' : 'speed', + 'buttonText' : buttonText, + 'multi' : true, + 'onAllComplete' : function(event, data) { + if (data.errors) { + return false; + } + else { + $("input[name=submit_upload]").click(); + } + } + }); +}); +{/literal} +</script> +{/if} + +<div class="titrePage"> + <h2>{'Upload photos'|@translate}</h2> +</div> + +{if count($setup_errors) > 0} +<div class="errors"> + <ul> + {foreach from=$setup_errors item=error} + <li>{$error}</li> + {/foreach} + </ul> +</div> +{else} + +{if !empty($thumbnails)} +<fieldset> + <legend>{'Uploaded Photos'|@translate}</legend> + <div> + {foreach from=$thumbnails item=thumbnail} + <a href="{$thumbnail.link}" onclick="window.open(this.href); return false;"> + <img src="{$thumbnail.src}" alt="{$thumbnail.file}" title="{$thumbnail.title}" class="thumbnail"> + </a> + {/foreach} + </div> + <p id="batchLink"><a href="{$batch_link}">{$batch_label}</a></p> +</fieldset> +{/if} + + +<form id="uploadForm" enctype="multipart/form-data" method="post" action="{$F_ACTION}" class="properties"> +{if $upload_mode eq 'multiple'} +<input name="upload_id" value="{$upload_id}" type="hidden"> +{/if} + + <div class="formField"> + <div class="formFieldTitle">{'Drop into category'|@translate}</div> + + <label><input type="radio" name="category_type" value="existing"> {'existing category'|@translate}</label> + <label><input type="radio" name="category_type" value="new" checked="checked"> {'create a new category'|@translate}</label> + + <div id="category_type_existing" style="display:none" class="category_selection"> + <select class="categoryDropDown" name="category"> + {html_options options=$category_options} + </select> + </div> + + <div id="category_type_new" class="category_selection"> + <table> + <tr> + <td>{'Parent category'|@translate}</td> + <td> + <select class="categoryDropDown" name="category_parent"> + <option value="0">------------</option> + {html_options options=$category_options} + </select> + </td> + </tr> + <tr> + <td>{'Category name'|@translate}</td> + <td> + <input type="text" name="category_name" value="{$F_CATEGORY_NAME}" style="width:400px"> + </td> + </tr> + </table> + </div> + </div> + + <div class="formField"> + <div class="formFieldTitle">{'Who can see these photos?'|@translate}</div> + + <select name="level" size="1"> + {html_options options=$level_options selected=$level_options_selected} + </select> + </div> + + <div class="formField"> + <div class="formFieldTitle">{'Select files'|@translate}</div> + +{if $upload_mode eq 'html'} + <p><a href="{$switch_url}">{'... or switch to the multiple files form'|@translate}</a></p> + + <p>{'JPEG files or ZIP archives with JPEG files inside please.'|@translate}</p> + + <div id="uploadBoxes"></div> + <div id="addUploadBox"> + <a href="javascript:">{'+ Add an upload box'|@translate}</a> + </div> + + </div> <!-- formField --> + + <p> + <input class="submit" type="submit" name="submit_upload" value="{'Upload'|@translate}" {$TAG_INPUT_ENABLED}/> + </p> +{elseif $upload_mode eq 'multiple'} + </table> + + <p> + <input type="file" name="uploadify" id="uploadify" /> + </p> + + <p><a href="{$switch_url}">{'... or switch to the old style form'|@translate}</a></p> + + <div id="fileQueue"></div> + + </div> <!-- formField --> + <p> + <input class="submit" type="button" value="{'Upload'|@translate}" onclick="javascript:jQuery('#uploadify').uploadifyUpload()"/> + <input type="submit" name="submit_upload" style="display:none"/> + </p> +{/if} +</form> +{/if} diff --git a/admin/themes/default/template/photos_add_settings.tpl b/admin/themes/default/template/photos_add_settings.tpl new file mode 100644 index 000000000..10e4633dd --- /dev/null +++ b/admin/themes/default/template/photos_add_settings.tpl @@ -0,0 +1,74 @@ +{literal} +<script> +$(document).ready(function(){ + function toggleResizeFields() { + var checkbox = $("#websize_resize"); + var needToggle = $("input[name^=websize_]").not(checkbox).parents('tr'); + + if ($(checkbox).is(':checked')) { + needToggle.show(); + } + else { + needToggle.hide(); + } + } + + toggleResizeFields(); + $("#websize_resize").click(function () {toggleResizeFields()}); +}); +</script> +{/literal} + +<div class="titrePage" style="height:25px"> + <h2>{'Upload Photos'|@translate}</h2> +</div> + +<form id="uploadFormSettings" enctype="multipart/form-data" method="post" action="{$F_ACTION}" class="properties"> + + <div class="formField"> + <div class="formFieldTitle">{'Web size photo'|@translate}</div> + + <table> + <tr> + <th><label for="websize_resize">{'Resize'|@translate}</label></th> + <td><input type="checkbox" name="websize_resize" id="websize_resize" {$values.websize_resize}></td> + </tr> + <tr> + <th>{'Maximum Width'|@translate}</th> + <td><input type="text" name="websize_maxwidth" value="{$values.websize_maxwidth}" size="4" maxlength="4"> {'pixels'|@translate}</td> + </tr> + <tr> + <th>{'Maximum Height'|@translate}</th> + <td><input type="text" name="websize_maxheight" value="{$values.websize_maxheight}" size="4" maxlength="4"> {'pixels'|@translate}</td> + </tr> + <tr> + <th>{'Image Quality'|@translate}</th> + <td><input type="text" name="websize_quality" value="{$values.websize_quality}" size="3" maxlength="3"> %</td> + </tr> + </table> + </div> + + <div class="formField"> + <div class="formFieldTitle">{'Thumbnail'|@translate}</div> + + <table> + <tr> + <th>{'Maximum Width'|@translate}</th> + <td><input type="text" name="thumb_maxwidth" value="{$values.thumb_maxwidth}" size="4" maxlength="4"> {'pixels'|@translate}</td> + </tr> + <tr> + <th>{'Maximum Height'|@translate}</th> + <td><input type="text" name="thumb_maxheight" value="{$values.thumb_maxheight}" size="4" maxlength="4"> {'pixels'|@translate}</td> + </tr> + <tr> + <th>{'Image Quality'|@translate}</th> + <td><input type="text" name="thumb_quality" value="{$values.thumb_quality}" size="3" maxlength="3"> %</td> + </tr> + </table> + </div> + + <p> + <input class="submit" type="submit" name="submit" value="{'Save Settings'|@translate}"/> + </p> + +</form> diff --git a/admin/themes/default/template/picture_modify.tpl b/admin/themes/default/template/picture_modify.tpl new file mode 100644 index 000000000..be5fa94a4 --- /dev/null +++ b/admin/themes/default/template/picture_modify.tpl @@ -0,0 +1,226 @@ +{include file='include/autosize.inc.tpl'} +{include file='include/dbselect.inc.tpl'} +{include file='include/datepicker.inc.tpl'} + +{known_script id="jquery.fcbkcomplete" src=$ROOT_URL|@cat:"themes/default/js/plugins/jquery.fcbkcomplete.js"} +{literal} +<script type="text/javascript"> + $(document).ready(function() { + $("#tags").fcbkcomplete({ + json_url: "admin.php?fckb_tags=1", + cache: false, + filter_case: true, + filter_hide: true, + firstselected: true, + filter_selected: true, + maxitems: 10, + newel: true + }); + }); +</script> +{/literal} + +{literal} +<script type="text/javascript"> + pwg_initialization_datepicker("#date_creation_day", "#date_creation_month", "#date_creation_year", "#date_creation_linked_date", "#date_creation_action_set"); +</script> +{/literal} + +<h2>{'Modify informations about a picture'|@translate}</h2> + +<img src="{$TN_SRC}" alt="{'Thumbnail'|@translate}" class="Thumbnail"> + +<ul class="categoryActions"> + {if isset($U_JUMPTO) } + <li><a href="{$U_JUMPTO}" title="{'jump to image'|@translate}"><img src="{$themeconf.admin_icon_dir}/category_jump-to.png" class="button" alt="{'jump to image'|@translate}"></a></li> + {/if} + {if !url_is_remote($path)} + <li><a href="{$U_SYNC}" title="{'synchronize'|@translate}" {$TAG_INPUT_ENABLED}><img src="{$themeconf.admin_icon_dir}/sync_metadata.png" class="button" alt="{'synchronize'|@translate}"></a></li> + {/if} +</ul> + +<form action="{$F_ACTION}" method="post" id="properties"> + + <fieldset> + <legend>{'Informations'|@translate}</legend> + + <table> + + <tr> + <td><strong>{'Path'|@translate}</strong></td> + <td>{$PATH}</td> + </tr> + + <tr> + <td><strong>{'Post date'|@translate}</strong></td> + <td>{$REGISTRATION_DATE}</td> + </tr> + + <tr> + <td><strong>{'Dimensions'|@translate}</strong></td> + <td>{$DIMENSIONS}</td> + </tr> + + <tr> + <td><strong>{'Filesize'|@translate}</strong></td> + <td>{$FILESIZE}</td> + </tr> + +{if isset($HIGH_FILESIZE) } + <tr> + <td><strong>{'High filesize'|@translate}</strong></td> + <td>{$HIGH_FILESIZE}</td> + </tr> +{/if} + + <tr> + <td><strong>{'Storage category'|@translate}</strong></td> + <td>{$STORAGE_CATEGORY}</td> + </tr> + + {if isset($related_categories) } + <tr> + <td><strong>{'Linked categories'|@translate}</strong></td> + <td> + <ul> + {foreach from=$related_categories item=name} + <li>{$name}</li> + {/foreach} + </ul> + </td> + </tr> + {/if} + + </table> + + </fieldset> + + <fieldset> + <legend>{'Properties'|@translate}</legend> + + <table> + + <tr> + <td><strong>{'Name'|@translate}</strong></td> + <td><input type="text" class="large" name="name" value="{$NAME}"></td> + </tr> + + <tr> + <td><strong>{'Author'|@translate}</strong></td> + <td><input type="text" class="large" name="author" value="{$AUTHOR}"></td> + </tr> + + <tr> + <td><strong>{'Creation date'|@translate}</strong></td> + <td> + <label><input type="radio" name="date_creation_action" value="unset"> {'unset'|@translate}</label> + <input type="radio" name="date_creation_action" value="set" id="date_creation_action_set"> {'set to'|@translate} + <select id="date_creation_day" name="date_creation_day"> + <option value="0">--</option> + {section name=day start=1 loop=32} + <option value="{$smarty.section.day.index}" {if $smarty.section.day.index==$DATE_CREATION_DAY_VALUE}selected="selected"{/if}>{$smarty.section.day.index}</option> + {/section} + </select> + <select id="date_creation_month" name="date_creation_month"> + {html_options options=$month_list selected=$DATE_CREATION_MONTH_VALUE} + </select> + <input id="date_creation_year" + name="date_creation_year" + type="text" + size="4" + maxlength="4" + value="{$DATE_CREATION_YEAR_VALUE}"> + <input id="date_creation_linked_date" name="date_creation_linked_date" type="hidden" size="10" disabled="disabled"> + </td> + </tr> + + <tr> + <td><strong>{'Tags'|@translate}</strong></td> + <td> +<select id="tags" name="tags"> +{foreach from=$tags item=tag} + <option value="{$tag.value}" class="selected">{$tag.caption}</option> +{/foreach} +</select> + </td> + </tr> + + + <tr> + <td><strong>{'Description'|@translate}</strong></td> + <td><textarea name="description" id="description" class="description">{$DESCRIPTION}</textarea></td> + </tr> + + <tr> + <td><strong>{'Minimum privacy level'|@translate}</strong></td> + <td> + <select name="level" size="1"> + {html_options options=$level_options selected=$level_options_selected} + </select> + </td> + </tr> + + </table> + + <p style="text-align:center;"> + <input class="submit" type="submit" value="{'Submit'|@translate}" name="submit" {$TAG_INPUT_ENABLED}> + <input class="submit" type="reset" value="{'Reset'|@translate}" name="reset"> + </p> + + </fieldset> + +</form> + +<form id="associations" method="post" action="{$F_ACTION}#associations"> + <fieldset> + <legend>{'Association to categories'|@translate}</legend> + + <table class="doubleSelect"> + <tr> + <td> + <h3>{'Associated'|@translate}</h3> + <select class="categoryList" name="cat_associated[]" multiple="multiple" size="30"> + {html_options options=$associated_options} + </select> + <p><input class="submit" type="submit" value="»" name="dissociate" style="font-size:15px;" {$TAG_INPUT_ENABLED}></p> + </td> + + <td> + <h3>{'Dissociated'|@translate}</h3> + <select class="categoryList" name="cat_dissociated[]" multiple="multiple" size="30"> + {html_options options=$dissociated_options} + </select> + <p><input class="submit" type="submit" value="«" name="associate" style="font-size:15px;" {$TAG_INPUT_ENABLED}></p> + </td> + </tr> + </table> + + </fieldset> +</form> + +<form id="representation" method="post" action="{$F_ACTION}#representation"> + <fieldset> + <legend>{'Representation of categories'|@translate}</legend> + + <table class="doubleSelect"> + <tr> + <td> + <h3>{'Represents'|@translate}</h3> + <select class="categoryList" name="cat_elected[]" multiple="multiple" size="30"> + {html_options options=$elected_options} + </select> + <p><input class="submit" type="submit" value="»" name="dismiss" style="font-size:15px;" {$TAG_INPUT_ENABLED}></p> + </td> + + <td> + <h3>{'Does not represent'|@translate}</h3> + <select class="categoryList" name="cat_dismissed[]" multiple="multiple" size="30"> + {html_options options=$dismissed_options} + </select> + <p><input class="submit" type="submit" value="«" name="elect" style="font-size:15px;" {$TAG_INPUT_ENABLED}></p> + </td> + </tr> + </table> + + </fieldset> +</form> diff --git a/admin/themes/default/template/plugins_list.tpl b/admin/themes/default/template/plugins_list.tpl new file mode 100644 index 000000000..8743d6b6d --- /dev/null +++ b/admin/themes/default/template/plugins_list.tpl @@ -0,0 +1,88 @@ +<div class="titrePage"> +<span class="sort"> +{'Sort order'|@translate} : + <select onchange="document.location = this.options[this.selectedIndex].value;" style="width:200px"> + {html_options options=$order_options selected=$order_selected} + </select> +</span> + <h2>{'Plugins'|@translate}</h2> +</div> + + +{if isset($plugins)} +<table class="table2 plugins"> +<thead> + <tr class="throw"> + <td>{'Name'|@translate}</td> + <td>{'Actions'|@translate}</td> + <td>{'Version'|@translate}</td> + <td>{'Description'|@translate}</td> + </tr> +</thead> + +{foreach from=$plugins item=plugin name=plugins_loop} + <tr class="{if $smarty.foreach.plugins_loop.index is odd}row1{else}row2{/if}"> + <td class="pluginState{if $plugin.STATE != 'uninstalled'} {$plugin.STATE}{/if}"> + {$plugin.NAME} + </td> + <td> + <ul class="pluginsActions"> + {if $plugin.STATE == 'active'} + <li> + <a href="{$plugin.U_ACTION}&action=deactivate"> + <img src="{$themeconf.admin_icon_dir}/plug_deactivate.png" alt="{'Deactivate'|@translate}" title="{'Deactivate'|@translate}"> + </a> + </li> + <li> + <img src="{$themeconf.admin_icon_dir}/plug_uninstall_grey.png" alt="{'Uninstall'|@translate}" title="{'Uninstall'|@translate}"> + </li> + {/if} + {if $plugin.STATE == 'inactive'} + <li> + <a href="{$plugin.U_ACTION}&action=activate"> + <img src="{$themeconf.admin_icon_dir}/plug_activate.png" alt="{'Activate'|@translate}" title="{'Activate'|@translate}"> + </a> + </li> + <li> + <a href="{$plugin.U_ACTION}&action=uninstall" onclick="return confirm('{'Are you sure?'|@translate|@escape:'javascript'}');"> + <img src="{$themeconf.admin_icon_dir}/plug_uninstall.png" alt="{'Uninstall'|@translate}" title="{'Uninstall'|@translate}"> + </a> + </li> + {/if} + {if $plugin.STATE == 'missing'} + <li> + <img src="{$themeconf.admin_icon_dir}/plug_deactivate_grey.png" alt="{'Deactivate'|@translate}" title="{'Deactivate'|@translate}"> + </li> + <li> + <a href="{$plugin.U_ACTION}&action=uninstall" onclick="return confirm('{'Are you sure?'|@translate|@escape:'javascript'}');"> + <img src="{$themeconf.admin_icon_dir}/plug_uninstall.png" alt="{'Uninstall'|@translate}" title="{'Uninstall'|@translate}"> + </a> + </li> + {/if} + {if $plugin.STATE == 'uninstalled'} + <li> + <img src="{$themeconf.admin_icon_dir}/plug_activate_grey.png" alt="{'Activate'|@translate}" title="{'Activate'|@translate}"> + </li> + <li> + <a href="{$plugin.U_ACTION}&action=install" onclick="return confirm('{'Are you sure?'|@translate|@escape:'javascript'}');"> + <img src="{$themeconf.admin_icon_dir}/plug_install.png" alt="{'Install'|@translate}" title="{'Install'|@translate}"> + </a> + </li> + <li> + <a href="{$plugin.U_ACTION}&action=delete" onclick="return confirm('{'plugins_confirm_delete'|@translate|@escape:'javascript'}');"> + <img src="{$themeconf.admin_icon_dir}/plug_delete.png" alt="{'Delete'|@translate}" title="{'Delete'|@translate}"> + </a> + </li> + {else} + <li> + <img src="{$themeconf.admin_icon_dir}/plug_delete_grey.png" alt="{'Delete'|@translate}" title="{'Delete'|@translate}"> + </li> + {/if} + </ul> + </td> + <td style="text-align:center;">{$plugin.VERSION}</td> + <td>{$plugin.DESCRIPTION}</td> + </tr> +{/foreach} +</table> +{/if} diff --git a/admin/themes/default/template/plugins_new.tpl b/admin/themes/default/template/plugins_new.tpl new file mode 100644 index 000000000..4bc7700b0 --- /dev/null +++ b/admin/themes/default/template/plugins_new.tpl @@ -0,0 +1,47 @@ +{known_script id="jquery" src=$ROOT_URL|@cat:"themes/default/js/jquery.packed.js"} +{known_script id="jquery.cluetip" src=$ROOT_URL|@cat:"themes/default/js/plugins/jquery.cluetip.packed.js"} + +<script type="text/javascript"> +jQuery().ready(function(){ldelim} + jQuery('.cluetip').cluetip({ldelim} + width: 300, + splitTitle: '|' + }); +}); +</script> + +<div class="titrePage"> +<span class="sort"> +{'Sort order'|@translate} : + <select onchange="document.location = this.options[this.selectedIndex].value;"> + {html_options options=$order_options selected=$order_selected} + </select> +</span> + <h2>{'Plugins'|@translate}</h2> +</div> + +{if isset($plugins)} +<br> +<table class="table2 plugins"> +<thead> + <tr class="throw"> + <td>{'Name'|@translate}</td> + <td>{'Version'|@translate}</td> + <td>{'Date'|@translate}</td> + <td>{'Author'|@translate}</td> + <td>{'Actions'|@translate}</td> + </tr> +</thead> +{foreach from=$plugins item=plugin name=plugins_loop} + <tr class="{if $smarty.foreach.plugins_loop.index is odd}row1{else}row2{/if}"> + <td><a href="{$plugin.EXT_URL}" onclick="window.open(this.href); return false;" class="cluetip" title="{$plugin.EXT_NAME}|{$plugin.EXT_DESC|htmlspecialchars|nl2br}">{$plugin.EXT_NAME}</a></td> + <td style="text-align:center;"><a href="{$plugin.EXT_URL}" onclick="window.open(this.href); return false;" class="cluetip" title="{$plugin.EXT_NAME}|{$plugin.VER_DESC|htmlspecialchars|nl2br}">{$plugin.VERSION}</a></td> + <td>{$plugin.DATE}</td> + <td>{$plugin.AUTHOR}</td> + <td style="text-align:center;"><a href="{$plugin.URL_INSTALL}" onclick="return confirm('{'Are you sure you want to install this plugin?'|@translate|@escape:javascript}');">{'Automatic installation'|@translate}</a> + / <a href="{$plugin.URL_DOWNLOAD}">{'Download file'|@translate}</a> + </td> + </tr> +{/foreach} +</table> +{/if} diff --git a/admin/themes/default/template/plugins_update.tpl b/admin/themes/default/template/plugins_update.tpl new file mode 100644 index 000000000..312fb3ba8 --- /dev/null +++ b/admin/themes/default/template/plugins_update.tpl @@ -0,0 +1,79 @@ +{known_script id="jquery" src=$ROOT_URL|@cat:"themes/default/js/jquery.packed.js"} +{known_script id="jquery.cluetip" src=$ROOT_URL|@cat:"themes/default/js/plugins/jquery.cluetip.packed.js"} + +<script type="text/javascript"> +jQuery().ready(function(){ldelim} + jQuery('.cluetip').cluetip({ldelim} + width: 300, + splitTitle: '|' + }); +}); +</script> + +<div class="titrePage"> + <h2>{'Plugins'|@translate}</h2> +</div> + +{if isset($plugins_not_uptodate)} +<br> +<b>{'Plugins which need upgrade'|@translate}</b> +<table class="table2 plugins"> +<thead> + <tr class="throw"> + <td>{'Name'|@translate}</td> + <td>{'Current<br>version'|@translate}</td> + <td>{'Available<br>version'|@translate}</td> + <td>{'Actions'|@translate}</td> + </tr> +</thead> +{foreach from=$plugins_not_uptodate item=plugin name=plugins_loop} + <tr class="{if $smarty.foreach.plugins_loop.index is odd}row1{else}row2{/if}"> + <td><a href="{$plugin.EXT_URL}" onclick="window.open(this.href); return false;" class="cluetip" title="{$plugin.EXT_NAME}|{$plugin.EXT_DESC|htmlspecialchars|nl2br}">{$plugin.EXT_NAME}</a></td> + <td style="text-align:center;">{$plugin.VERSION}</td> + <td style="text-align:center;"><a href="{$plugin.EXT_URL}" onclick="window.open(this.href); return false;" class="cluetip" title="{$plugin.EXT_NAME}|{$plugin.NEW_VER_DESC|htmlspecialchars|nl2br}">{$plugin.NEW_VERSION}</a></td> + <td style="text-align:center;"><a href="{$plugin.URL_UPDATE}" onclick="return confirm('{'Are you sure to install this upgrade? You must verify if this version does not need uninstallation.'|@translate|@escape:javascript}');">{'Automatic upgrade'|@translate}</a> + / <a href="{$plugin.URL_DOWNLOAD}">{'Download file'|@translate}</a></td> + </tr> +{/foreach} +</table> +{/if} + + +{if isset($plugins_uptodate)} +<br> +<b>{'Plugins up to date'|@translate}</b> +<table class="table2 plugins"> +<thead> + <tr class="throw"> + <td>{'Name'|@translate}</td> + <td>{'Version'|@translate}</td> + </tr> +</thead> +{foreach from=$plugins_uptodate item=plugin name=plugins_loop} + <tr class="{if $smarty.foreach.plugins_loop.index is odd}row1{else}row2{/if}"> + <td><a href="{$plugin.URL}" onclick="window.open(this.href); return false;" class="cluetip" title="{$plugin.NAME}|{$plugin.EXT_DESC|htmlspecialchars|nl2br}">{$plugin.NAME}</a></td> + <td style="text-align:center;"><a href="{$plugin.URL}" onclick="window.open(this.href); return false;" class="cluetip" title="{$plugin.NAME}|{$plugin.VER_DESC|htmlspecialchars|nl2br}">{$plugin.VERSION}</a></td> + </tr> +{/foreach} +</table> +{/if} + + +{if isset($plugins_cant_check)} +<br> +<b>{'Plugin versions can\'t be checked'|@translate}</b> +<table class="table2 plugins"> +<thead> + <tr class="throw"> + <td>{'Name'|@translate}</td> + <td>{'Version'|@translate}</td> + </tr> +</thead> +{foreach from=$plugins_cant_check item=plugin name=plugins_loop} + <tr class="{if $smarty.foreach.plugins_loop.index is odd}row1{else}row2{/if}"> + <td>{$plugin.NAME}</td> + <td style="text-align:center;">{$plugin.VERSION}</td> + </tr> +{/foreach} +</table> +{/if} diff --git a/admin/themes/default/template/popuphelp.tpl b/admin/themes/default/template/popuphelp.tpl new file mode 100644 index 000000000..950e3ca0e --- /dev/null +++ b/admin/themes/default/template/popuphelp.tpl @@ -0,0 +1,12 @@ +<div id="content" class="content"> +{$HELP_CONTENT} +</div> <!-- content --> + +<ul class="categoryActions"> + <li> + <a href="#" onclick="window.close();" title="{'Close this window'|@translate}"> + <img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/exit.png" class="button" alt="exit"> + </a> + </li> +</ul> + diff --git a/admin/themes/default/template/profile.tpl b/admin/themes/default/template/profile.tpl new file mode 100644 index 000000000..6eac82e44 --- /dev/null +++ b/admin/themes/default/template/profile.tpl @@ -0,0 +1,5 @@ +<div class="titrePage"> + <h2>{'Profile'|@translate}</h2> +</div> + +{$PROFILE_CONTENT} diff --git a/admin/themes/default/template/profile_content.tpl b/admin/themes/default/template/profile_content.tpl new file mode 100644 index 000000000..fd8841a4e --- /dev/null +++ b/admin/themes/default/template/profile_content.tpl @@ -0,0 +1,108 @@ +<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> +{/if} + </ul> + </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 id=template name=template options=$template_options selected=$template_selection} + </li> + <li> + <span class="property"> + <label for="Language">{'Language'|@translate}</label> + </span> + {html_options id=language 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}"> + </p> + +</form> diff --git a/admin/themes/default/template/rating.tpl b/admin/themes/default/template/rating.tpl new file mode 100644 index 000000000..d7d3a85c9 --- /dev/null +++ b/admin/themes/default/template/rating.tpl @@ -0,0 +1,67 @@ +<h2>{'elements'|@translate} [{$NB_ELEMENTS} {'elements'|@translate}]</h2> + +<form action="{$F_ACTION}" method="GET" id="update" class="filter"> + <fieldset> + <legend>{'Filter'|@translate}</legend> + + <label> + {'Sort by'|@translate} + <select name="order_by"> + {html_options options=$order_by_options selected=$order_by_options_selected} + </select> + </label> + + <label> + {'Users'|@translate} + <select name="users"> + {html_options options=$user_options selected=$user_options_selected} + </select> + </label> + + <label> + {'Number of items'|@translate} + <input type="text" name="display" size="2" value="{$DISPLAY}"> + </label> + + <label> + + <input class="submit" type="submit" name="submit_filter" value="{'Submit'|@translate}"> + </label> + <input type="hidden" name="page" value="rating"> + </fieldset> +</form> + +{if !empty($navbar) }{include file='navigation_bar.tpl'|@get_extent:'navbar'}{/if} + +<table width="99%"> +<tr class="throw"> + <td>{'File'|@translate}</td> + <td>{'Number of rates'|@translate}</td> + <td>{'Average rate'|@translate}</td> + <td>{'Controversy'|@translate}</td> + <td>{'Sum of rates'|@translate}</td> + <td>{'Rate'|@translate}</td> + <td>{'Username'|@translate}</td> + <td>{'Rate date'|@translate}</td> + <td></td> +</tr> +{foreach from=$images item=image name=image} +<tr valign="top" class="{if $smarty.foreach.image.index is odd}row1{else}row2{/if}"> + <td rowspan="{$image.NB_RATES_TOTAL+1}"><a href="{$image.U_URL}"><img src="{$image.U_THUMB}" alt="{$image.FILE}" title="{$image.FILE}"></a></td> + <td rowspan="{$image.NB_RATES_TOTAL+1}"><strong>{$image.NB_RATES}/{$image.NB_RATES_TOTAL}</strong></td> + <td rowspan="{$image.NB_RATES_TOTAL+1}"><strong>{$image.AVG_RATE}</strong></td> + <td rowspan="{$image.NB_RATES_TOTAL+1}"><strong>{$image.STD_RATE}</strong></td> + <td rowspan="{$image.NB_RATES_TOTAL+1}" style="border-right: 1px solid;" ><strong>{$image.SUM_RATE}</strong></td> +</tr> +{foreach from=$image.rates item=rate name=rate} +<tr class="{if ($smarty.foreach.image.index+$smarty.foreach.rate.index) is odd}row1{else}row2{/if}"> + <td>{$rate.RATE}</td> + <td><b>{$rate.USER}</b></td> + <td><span class="date">{$rate.DATE}</span></td> + <td><a href="{$rate.U_DELETE}" {$TAG_INPUT_ENABLED}><img src="{$themeconf.admin_icon_dir}/Delete.png" class="button" style="border:none;vertical-align:middle; margin-left:5px;" alt="[{'Delete'|@translate}]"></a></td> +</tr> +{/foreach} {*rates*} +{/foreach} {*images*} +</table> + +{if !empty($navbar) }{include file='navigation_bar.tpl'|@get_extent:'navbar'}{/if} diff --git a/admin/themes/default/template/site_manager.tpl b/admin/themes/default/template/site_manager.tpl new file mode 100644 index 000000000..678f177fb --- /dev/null +++ b/admin/themes/default/template/site_manager.tpl @@ -0,0 +1,73 @@ +<div class="titrePage"> + <h2>{'Site manager'|@translate}</h2> +</div> + +{if not empty($remote_output)} +<div class="remoteOutput"> + <ul> + {foreach from=$remote_output item=remote_line} + <li class="{$remote_line.CLASS}">{$remote_line.CONTENT}</li> + {/foreach} + </ul> +</div> +{/if} + +{if isset($local_listing)} +{'A local listing.xml file has been found for '|@translate} {$local_listing.URL} +{if isset($local_listing.CREATE)} +<form action="{$F_ACTION}" method="post"> + <p> + {'Create this site'|@translate}: + <input type="hidden" name="no_check" value="1"> + <input type="hidden" name="galleries_url" value="{$local_listing.URL}"> + <input type="submit" name="submit" value="{'Submit'|@translate}" {$TAG_INPUT_ENABLED}> + </p> +</form> +{/if} +{if isset($local_listing.U_SYNCHRONIZE)} + <a href="{$local_listing.U_SYNCHRONIZE}" title="{'synchronize'|@translate}">{'synchronize'|@translate}</a> +<br><br> +{/if} +{/if} + +{if not empty($sites)} +<table class="table2"> + <tr class="throw"> + <td>{'Local'|@translate} / {'Remote'|@translate}</td> + <td>{'Actions'|@translate}</td> + </tr> + {foreach from=$sites item=site name=site} + <tr style="text-align:left" class="{if $smarty.foreach.site.index is odd}row1{else}row2{/if}"><td> + <a href="{$site.NAME}">{$site.NAME}</a><br>({$site.TYPE}, {$site.CATEGORIES} {'Categories'|@translate}, {$pwg->l10n_dec('%d element','%d elements',$site.IMAGES)}) + </td><td> + [<a href="{$site.U_SYNCHRONIZE}" title="{'synchronize'|@translate}">{'synchronize'|@translate}</a>] + {if isset($site.U_DELETE)} + [<a href="{$site.U_DELETE}" onclick="return confirm('{'Are you sure?'|@translate|escape:'javascript'}');" + title="{'delete'|@translate}" {$TAG_INPUT_ENABLED}>{'delete'|@translate}</a>] + {/if} + {if isset($site.remote)} + <br> + [<a href="{$site.remote.U_TEST}" title="{'test'|@translate}" {$TAG_INPUT_ENABLED}>{'test'|@translate}</a>] + [<a href="{$site.remote.U_GENERATE}" title="{'generate listing'|@translate}" {$TAG_INPUT_ENABLED}>{'generate listing'|@translate}</a>] + [<a href="{$site.remote.U_CLEAN}" title="{'clean'|@translate}" {$TAG_INPUT_ENABLED}>{'clean'|@translate}</a>] + {/if} + {if not empty($site.plugin_links)} + <br> + {foreach from=$site.plugin_links item=plugin_link} + [<a href="{$plugin_link.U_HREF}" title='{$plugin_link.U_HINT}' {$TAG_INPUT_ENABLED}>{$plugin_link.U_CAPTION}</a>] + {/foreach} + {/if} + </td></tr> + {/foreach} +</table> +{/if} + +<form action="{$F_ACTION}" method="post"> + <p> + <label for="galleries_url" >{'Create a new site : (give its URL to create_listing_file.php)'|@translate}</label> + <input type="text" name="galleries_url" id="galleries_url"> + </p> + <p> + <input class="submit" type="submit" name="submit" value="{'Submit'|@translate}" {$TAG_INPUT_ENABLED}> + </p> +</form> diff --git a/admin/themes/default/template/site_update.tpl b/admin/themes/default/template/site_update.tpl new file mode 100644 index 000000000..90a2562cf --- /dev/null +++ b/admin/themes/default/template/site_update.tpl @@ -0,0 +1,116 @@ + +{include file='include/resize.inc.tpl'} + +<div class="titrePage"> + <h2>{'Database synchronization with files'|@translate}: <a href="{$SITE_URL}">{$SITE_URL}</a></h2> +</div> + +{if isset($update_result)} +<h3>{$L_RESULT_UPDATE}</h3> +<ul> + <li class="update_summary_new">{$update_result.NB_NEW_CATEGORIES} {'categories added in the database'|@translate}</li> + <li class="update_summary_new">{$update_result.NB_NEW_ELEMENTS} {'elements added in the database'|@translate}</li> + <li class="update_summary_del">{$update_result.NB_DEL_CATEGORIES} {'categories deleted in the database'|@translate}</li> + <li class="update_summary_del">{$update_result.NB_DEL_ELEMENTS} {'elements deleted in the database'|@translate}</li> + <li>{$update_result.NB_UPD_ELEMENTS} {'elements updated in the database'|@translate}</li> + <li class="update_summary_err">{$update_result.NB_ERRORS} {'errors during synchronization'|@translate}</li> +</ul> +{/if} + +{if isset($metadata_result)} +<h3>{$L_RESULT_METADATA}</h3> +<ul> + <li>{$metadata_result.NB_ELEMENTS_DONE} {'elements informations synchronized with files metadata'|@translate}</li> + <li>{$metadata_result.NB_ELEMENTS_CANDIDATES} {'images candidates for metadata synchronization'|@translate}</li> + <li>{'Used metadata'|@translate} : {$METADATA_LIST}</li> +</ul> +{/if} + + +{if not empty($sync_errors)} +<h3>{'Error list'|@translate}</h3> +<div class="errors"> +<ul> + {foreach from=$sync_errors item=error} + <li>[{$error.ELEMENT}] {$error.LABEL}</li> + {/foreach} +</ul> +</div> +<h3>{'Errors caption'|@translate}</h3> +<ul> + {foreach from=$sync_error_captions item=caption} + <li><strong>{$caption.TYPE}</strong>: {$caption.LABEL}</li> + {/foreach} +</ul> +{/if} + +{if not empty($sync_infos)} +<h3>{'Detailed informations'|@translate}</h3> +<div class="infos"> +<ul> + {foreach from=$sync_infos item=info} + <li>[{$info.ELEMENT}] {$info.LABEL}</li> + {/foreach} +</ul> +</div> +{/if} + +{if isset($introduction)} +<h4>{'Choose an option'|@translate}</h4> +<form action="" method="post" id="update"> + + <fieldset id="syncFiles"> + <legend>{'synchronize files structure with database'|@translate}</legend> + <ul> + <li><label><input type="radio" name="sync" value="" {if empty($introduction.sync)}checked="checked"{/if}> {'nothing'|@translate}</label></li> + <li><label><input type="radio" name="sync" value="dirs" {if 'dirs'==$introduction.sync}checked="checked"{/if}> {'only directories'|@translate}</label></li> + + <li><label><input type="radio" name="sync" value="files" {if 'files'==$introduction.sync}checked="checked"{/if}> {'directories + files'|@translate}</label> + <ul style="padding-left:3em"> + <li><label><input type="checkbox" name="display_info" value="1" {if $introduction.display_info}checked="checked"{/if}> {'display maximum informations (added categories and elements, deleted categories and elements)'|@translate}</label></li> + <li><label><input type="checkbox" name="add_to_caddie" value="1" {if $introduction.add_to_caddie}checked="checked"{/if}> {'add new elements to caddie'|@translate}</label></li> + <li><label>{'Minimum privacy level'|@translate} <select name="privacy_level">{html_options options=$introduction.privacy_level_options selected=$introduction.privacy_level_selected}</select></label></li> + </ul> + </li> + </ul> + </fieldset> + + <fieldset id="syncMetadata"> + <legend>{'synchronize files metadata with database elements informations'|@translate}</legend> + <label><input type="checkbox" name="sync_meta" {if $introduction.sync_meta}checked="checked"{/if}> {'synchronize metadata'|@translate} ({$METADATA_LIST})</label> + <ul style="padding-left:3em"> + <li> + <label><input type="checkbox" name="meta_all" {if $introduction.meta_all}checked="checked"{/if}> {'even already synchronized elements'|@translate}</label> + </li> + <li> + <label><input type="checkbox" name="meta_empty_overrides" {if $introduction.meta_empty_overrides}checked="checked"{/if}> {'overrides existing values with empty ones'|@translate}</label> + </li> + </ul> + </fieldset> + + <fieldset id="syncSimulate"> + <legend></legend> + <ul><li><label><input type="checkbox" name="simulate" value="1" checked="checked" {$TAG_INPUT_ENABLED}> {'only perform a simulation (no change in database will be made)'|@translate}</label></li></ul> + </fieldset> + + <fieldset id="catSubset"> + <legend>{'reduce to single existing categories'|@translate}</legend> + <ul> + <li> + <select class="categoryList" name="cat" size="10"> + {html_options options=$category_options selected=$category_options_selected} + </select> + </li> + + <li><label><input type="checkbox" name="subcats-included" value="1" {if $introduction.subcats_included}checked="checked"{/if}> {'Search in subcategories'|@translate}</label></li> + </ul> + </fieldset> + + <p class="bottomButtons"> + <input class="submit" type="submit" value="{'Submit'|@translate}" name="submit"> + <input class="submit" type="reset" value="{'Reset'|@translate}" name="reset"> + </p> +</form> +{/if}{*isset $introduction*} + +<p><a href="{$U_SITE_MANAGER}">{'Site manager'|@translate}</a></p> diff --git a/admin/themes/default/template/stats.tpl b/admin/themes/default/template/stats.tpl new file mode 100644 index 000000000..692a3a6c5 --- /dev/null +++ b/admin/themes/default/template/stats.tpl @@ -0,0 +1,25 @@ + +<div class="titrePage"> + <h2>{'History'|@translate} {$TABSHEET_TITLE}</h2> +</div> + +<h3>{$L_STAT_TITLE}</h3> + +<table class="table2" id="dailyStats"> + <tr class="throw"> + <th>{$PERIOD_LABEL}</th> + <th>{'Pages seen'|@translate}</th> + <th></th> + </tr> + +{if not empty($statrows)} +{foreach from=$statrows item=row} + <tr> + <td style="white-space: nowrap">{$row.VALUE}</td> + <td class="number">{$row.PAGES}</td> + <td><div class="statBar" style="width:{$row.WIDTH}px"></div></td> + </tr> +{/foreach} +{/if} + +</table> diff --git a/admin/themes/default/template/tabsheet.tpl b/admin/themes/default/template/tabsheet.tpl new file mode 100644 index 000000000..00b3f3c54 --- /dev/null +++ b/admin/themes/default/template/tabsheet.tpl @@ -0,0 +1,9 @@ +{if isset($tabsheet) and count($tabsheet)} +<ul class="tabsheet"> +{foreach from=$tabsheet key=name item=sheet} + <li class="{if ($name == $tabsheet_selected)}selected_tab{else}normal_tab{/if}"> + <a href="{$sheet.url}"><span>{$sheet.caption}</span></a> + </li> +{/foreach} +</ul> +{/if}
\ No newline at end of file diff --git a/admin/themes/default/template/tags.tpl b/admin/themes/default/template/tags.tpl new file mode 100644 index 000000000..3db8417a6 --- /dev/null +++ b/admin/themes/default/template/tags.tpl @@ -0,0 +1,53 @@ +<div class="titrePage"> + <h2>{'Manage tags'|@translate}</h2> +</div> + +<form action="{$F_ACTION}" method="post"> + + {if isset($EDIT_TAGS_LIST)} + <fieldset> + <legend>{'Edit tags'|@translate}</legend> + <input type="hidden" name="edit_list" value="{$EDIT_TAGS_LIST}"> + <table class="table2"> + <tr class="throw"> + <th>{'Current name'|@translate}</th> + <th>{'New name'|@translate}</th> + </tr> + {foreach from=$tags item=tag} + <tr> + <td>{$tag.NAME}</td> + <td><input type="text" name="tag_name-{$tag.ID}" value="{$tag.NAME}"></td> + </tr> + {/foreach} + </table> + + <p> + <input class="submit" type="submit" name="submit" value="{'Submit'|@translate}" {$TAG_INPUT_ENABLED}> + <input class="submit" type="reset" value="{'Reset'|@translate}"> + </p> + </fieldset> + {/if} + + <fieldset> + <legend>{'Add a tag'|@translate}</legend> + + <label> + {'New tag'|@translate} + <input type="text" name="add_tag"> + </label> + + <p><input class="submit" type="submit" name="add" value="{'Submit'|@translate}" {$TAG_INPUT_ENABLED}></p> + </fieldset> + + <fieldset> + <legend>{'Tag selection'|@translate}</legend> + + {$TAG_SELECTION} + + <p> + <input class="submit" type="submit" name="edit" value="{'Edit selected tags'|@translate}"> + <input class="submit" type="submit" name="delete" value="{'Delete selected tags'|@translate}" onclick="return confirm('{'Are you sure?'|@translate}');" {$TAG_INPUT_ENABLED}> + </p> + </fieldset> + +</form> diff --git a/admin/themes/default/template/thumbnail.tpl b/admin/themes/default/template/thumbnail.tpl new file mode 100644 index 000000000..653f07cc3 --- /dev/null +++ b/admin/themes/default/template/thumbnail.tpl @@ -0,0 +1,119 @@ +<div class="titrePage"> + <h2>{'Thumbnail creation'|@translate}</h2> +</div> + +{if isset($results) } +<div class="admin">{'Results of miniaturization'|@translate}</div> +<table style="width:100%;"> + <tr class="throw"> + <td>{'Path'|@translate}</td> + <td>{'Thumbnail'|@translate}</td> + <td>{'generated in'|@translate}</td> + <td>{'Filesize'|@translate}</td> + <td>{'Dimensions'|@translate}</td> + </tr> + {foreach from=$results.elements item=elt} + <tr> + <td>{$elt.PATH}</td> + <td><img src="{$elt.TN_FILE_IMG}"></td> + <td style="text-align:right;">{$elt.GEN_TIME}</td> + <td style="text-align:right;">{$elt.TN_FILESIZE_IMG}</td> + <td style="text-align:right;">{$elt.TN_WIDTH_IMG} x {$elt.TN_HEIGHT_IMG}</td> + </tr> + {/foreach} +</table> + +<table class="table2"> + <tr class="throw"> + <td colspan="2">{'General statistics'|@translate}</td> + </tr> + <tr> + <td>{'number of miniaturized pictures'|@translate}</td> + <td style="text-align:center;">{$results.TN_NB}</td> + </tr> + <tr> + <td>{'total time'|@translate}</td> + <td style="text-align:right;">{$results.TN_TOTAL}</td> + </tr> + <tr> + <td>{'max time'|@translate}</td> + <td style="text-align:right;">{$results.TN_MAX}</td> + </tr> + <tr> + <td>{'min time'|@translate}</td> + <td style="text-align:right;">{$results.TN_MIN}</td> + </tr> + <tr> + <td>{'average time'|@translate}</td> + <td style="text-align:right;">{$results.TN_AVERAGE}</td> + </tr> +</table> +<br> +{/if} + +{if isset($params) } +<form method="post" action="{$params.F_ACTION}" class="properties"> + + <fieldset> + <legend>{'Miniaturization parameters'|@translate}</legend> + + <ul> + <li> + <span class="property">{'GD version'|@translate}</span> + <label> + <input type="radio" name="gd" value="2" {if $params.GD_SELECTED==2}checked="checked"{/if}>2.x + </label> + <label> + <input type="radio" name="gd" value="1" {if $params.GD_SELECTED==1}checked="checked"{/if}>1.x + </label> + </li> + + <li> + <span class="property"> + <label for="width">{'maximum width'|@translate}</label> + </span> + <input type="text" id="width" name="width" value="{$params.WIDTH_TN}"> + </li> + + <li> + <span class="property"> + <label for="height">{'maximum height'|@translate}</label> + </span> + <input type="text" id="height" name="height" value="{$params.HEIGHT_TN}"> + </li> + + <li> + <span class="property">{'Number of thumbnails to create'|@translate}</span> + <label><input type="radio" name="n" value="5" {if $params.N_SELECTED==5}checked="checked"{/if}> 5</label> + <label><input type="radio" name="n" value="10" {if $params.N_SELECTED==10}checked="checked"{/if}> 10</label> + <label><input type="radio" name="n" value="20" {if $params.N_SELECTED==20}checked="checked"{/if}> 20</label> + <label><input type="radio" name="n" value="all" {if $params.N_SELECTED=='all'}checked="checked"{/if}> {'all'|@translate}</label> + </li> + </ul> + </fieldset> + + <p><input class="submit" type="submit" name="submit" value="{'Submit'|@translate}" {$TAG_INPUT_ENABLED}></p> +</form> +{/if} {*isset params*} + +{if !empty($remainings) } +<div class="admin">{$TOTAL_NB_REMAINING} {'pictures without thumbnail (jpeg and png only)'|@translate}</div> +<table style="width:100%;"> + <tr class="throw"> + <td> </td> + <td style="width:60%;">{'Path'|@translate}</td> + <td>{'Filesize'|@translate}</td> + <td>{'Dimensions'|@translate}</td> + </tr> + {foreach from=$remainings item=elt name=remain_loop} + <tr class="{if $smarty.foreach.remain_loop.index is odd}row1{else}row2{/if}"> + <td>{$smarty.foreach.remain_loop.iteration}</td> + <td><div style="margin-left:10px;">{$elt.PATH}</div></td> + <td><div style="margin-left:10px;">{$elt.FILESIZE_IMG}</div></td> + <td><div style="margin-left:10px;">{$elt.WIDTH_IMG} x {$elt.HEIGHT_IMG}</div></td> + </tr> + {/foreach} +</table> +{else} +<div style="text-align:center;font-weight:bold;margin:10px;"> [ {'No missing thumbnail'|@translate} ]</div> +{/if} diff --git a/admin/themes/default/template/upgrade.tpl b/admin/themes/default/template/upgrade.tpl new file mode 100644 index 000000000..29b723ef1 --- /dev/null +++ b/admin/themes/default/template/upgrade.tpl @@ -0,0 +1,120 @@ +<!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=utf-8"> +<meta http-equiv="Content-script-type" content="text/javascript"> +<meta http-equiv="Content-Style-Type" content="text/css"> +<link rel="shortcut icon" type="image/x-icon" href="{$ROOT_URL}{$themeconf.icon_dir}/favicon.ico"> + +{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}admin/themes/{$theme.name}/theme.css"> +{/foreach} + +{literal} +<style type="text/css"> +.content { + width: 800px; + min-height: 0px !important; + margin: auto; + padding: 25px; + text-align: left; +} + +table { margin: 0px; } +td { padding: 3px 10px; } +textarea { margin-left: 20px; } +</style> +{/literal} +<title>Piwigo {$RELEASE} - {'Upgrade'|@translate}</title> +</head> + +<body> +<div id="headbranch"></div> {* Dummy block for double background management *} +<div id="the_page"> +<div id="theHeader"></div> +<div id="content" class="content"> + +{if isset($introduction)} +<h2>Piwigo {$RELEASE} - {'Upgrade'|@translate}</h2> + +{if isset($errors)} +<div class="errors"> + <ul> + {foreach from=$errors item=error} + <li>{$error}</li> + {/foreach} + </ul> +</div> +{/if} + +<table> + <tr> + <td>{'Language'|@translate}</td> + <td> + <select name="language" onchange="document.location = 'upgrade.php?language='+this.options[this.selectedIndex].value;"> + {html_options options=$language_options selected=$language_selection} + </select> + </td> + </tr> +</table> + +<p>{'introduction message'|@translate|@sprintf:$introduction.CURRENT_RELEASE}</p> +{if isset($login)} +<p>{'Only administrator can run upgrade: please sign in below.'|@translate}</p> +{/if} + +<form method="POST" action="{$introduction.F_ACTION}" name="upgrade_form"> +{if isset($login)} +<table> + <tr> + <td>{'Username'|@translate}</td> + <td><input type="text" name="username" id="username" size="25" maxlength="40" style="width: 150px;"></td> + </tr> + <tr> + <td>{'Password'|@translate}</td> + <td><input type="password" name="password" id="password" size="25" maxlength="25" style="width: 150px;"></td> + </tr> +</table> +{/if} + +<p style="text-align: center;"> +<input class="submit" type="submit" name="submit" value="{'Upgrade from %s to %s'|@translate|@sprintf:$introduction.CURRENT_RELEASE:$RELEASE}"> +</p> +</form> +<!-- +<p style="text-align: center;"> +<a href="{$introduction.RUN_UPGRADE_URL}">{'Upgrade from %s to %s'|@translate|@sprintf:$introduction.CURRENT_RELEASE:$RELEASE}</a> +</p> +--> + +{/if} + +{if isset($upgrade)} +<h2>{'Upgrade from %s to %s'|@translate|@sprintf:$upgrade.VERSION:$RELEASE}</h2> + +<p><b>{'Statistics'|@translate}</b></p> +<ul> + <li>{'total upgrade time'|@translate} : {$upgrade.TOTAL_TIME}</li> + <li>{'total SQL time'|@translate} : {$upgrade.SQL_TIME}</li> + <li>{'SQL queries'|@translate} : {$upgrade.NB_QUERIES}</li> +</ul> + +<p><b>{'Upgrade informations'|@translate}</b></p> +<ul> + {foreach from=$infos item=info} + <li>{$info}</li> + {/foreach} +</ul> + +<form action="index.php" method="post"> +<p><input type="submit" name="submit" value="{'Home'|@translate}"></p> +</form> +{/if} + +</div> {* content *} +<div>{$L_UPGRADE_HELP}</div> +</div> {* the_page *} +</body> +</html> diff --git a/admin/themes/default/template/upload.tpl b/admin/themes/default/template/upload.tpl new file mode 100644 index 000000000..cc56d9a02 --- /dev/null +++ b/admin/themes/default/template/upload.tpl @@ -0,0 +1,51 @@ +<div class="titrePage"> + <h2>{'Waiting'|@translate} {$TABSHEET_TITLE}</h2> +</div> + +<h3>{'Pictures waiting for validation'|@translate}</h3> + +<form action="{$F_ACTION}" method="post" id="waiting"> + <table style="width:99%;" > + <tr class="throw"> + <td style="width:20%;">{'Category'|@translate}</td> + <td style="width:20%;">{'Date'|@translate}</td> + <td style="width:20%;">{'File'|@translate}</td> + <td style="width:20%;">{'Thumbnail'|@translate}</td> + <td style="width:20%;">{'Author'|@translate}</td> + <td style="width:1px;"> </td> + </tr> + + {if not empty($pictures) } + {foreach from=$pictures item=picture name=picture_loop} + <tr class="{if $smarty.foreach.picture_loop.index is odd}row1{else}row2{/if}"> + <td style="white-space:nowrap;">{$picture.CATEGORY_IMG}</td> + <td style="white-space:nowrap;">{$picture.DATE_IMG}</td> + <td style="white-space:nowrap;"> + <a href="{$picture.PREVIEW_URL_IMG}" title="{$picture.FILE_TITLE}">{$picture.FILE_IMG}</a> + </td> + <td style="white-space:nowrap;"> + {if not empty($picture.thumbnail) } + <a href="{$picture.thumbnail.PREVIEW_URL_TN_IMG}" title="{$picture.thumbnail.FILE_TN_TITLE}">{$picture.thumbnail.FILE_TN_IMG}</a> + {/if} + </td> + <td style="white-space:nowrap;"> + <a href="mailto:{$picture.UPLOAD_EMAIL}">{$picture.UPLOAD_USERNAME}</a> + </td> + <td style="white-space:nowrap;"> + <label><input type="radio" name="action-{$picture.ID_IMG}" value="validate"> {'Validate'|@translate}</label> + <label><input type="radio" name="action-{$picture.ID_IMG}" value="reject"> {'Reject'|@translate}</label> + </td> + </tr> + {/foreach} + {/if} + </table> + + <p class="bottomButtons"> + <input type="hidden" name="list" value="{$LIST}"> + <input class="submit" type="submit" name="submit" value="{'Submit'|@translate}" {$TAG_INPUT_ENABLED}> + <input class="submit" type="submit" name="validate-all" value="{'Validate All'|@translate}" {$TAG_INPUT_ENABLED}> + <input class="submit" type="submit" name="reject-all" value="{'Reject All'|@translate}" {$TAG_INPUT_ENABLED}> + <input class="submit" type="reset" value="{'Reset'|@translate}"> + </p> + +</form> diff --git a/admin/themes/default/template/user_list.tpl b/admin/themes/default/template/user_list.tpl new file mode 100644 index 000000000..9eb14fa84 --- /dev/null +++ b/admin/themes/default/template/user_list.tpl @@ -0,0 +1,334 @@ +<div class="titrePage"> + <h2>{'User list'|@translate}</h2> +</div> + +<form class="filter" method="post" name="add_user" action="{$F_ADD_ACTION}"> + <fieldset> + <legend>{'Add a user'|@translate}</legend> + <label>{'Username'|@translate} <input type="text" name="login" maxlength="50" size="20"></label> + {if $Double_Password} + <label>{'Password'|@translate} <input type="password" name="password"></label> + <label>{'Confirm Password'|@translate} <input type="password" name="password_conf" id="password_conf"></label> + {else} + <label>{'Password'|@translate} <input type="text" name="password"></label> + {/if} + <label>{'Email address'|@translate} <input type="text" name="email"></label> + <label> <input class="submit" type="submit" name="submit_add" value="{'Submit'|@translate}" {$TAG_INPUT_ENABLED}></label> + </fieldset> +</form> + +<form class="filter" method="get" name="filter" action="{$F_FILTER_ACTION}"> +<fieldset> + <legend>{'Filter'|@translate}</legend> + <input type="hidden" name="page" value="user_list"> + + <label>{'Username'|@translate} <input type="text" name="username" value="{$F_USERNAME}"></label> + + <label> + {'status'|@translate} + {html_options name=status options=$status_options selected=$status_selected} + </label> + + <label> + {'group'|@translate} + {html_options name=group options=$group_options selected=$group_selected} + </label> + + <label> + {'Sort by'|@translate} + {html_options name=order_by options=$order_options selected=$order_selected} + </label> + + <label> + {'Sort order'|@translate} + {html_options name=direction options=$direction_options selected=$direction_selected} + </label> + + <label> + + <input class="submit" type="submit" value="{'Submit'|@translate}"> + </label> + +</fieldset> + +</form> + +<form method="post" name="preferences" action=""> + +{if !empty($navbar) }{include file='navigation_bar.tpl'|@get_extent:'navbar'}{/if} + +<table class="table2" width="97%"> + <thead> + <tr class="throw"> + <td> </td> + <td>{'Username'|@translate}</td> + <td>{'User status'|@translate}</td> + <td>{'Email address'|@translate}</td> + <td>{'Groups'|@translate}</td> + <td>{'Properties'|@translate}</td> + {if not empty($plugin_user_list_column_titles)} + {foreach from=$plugin_user_list_column_titles item=title} + <td>{$title}</td> + {/foreach} + {/if} + <td>{'Actions'|@translate}</td> + </tr> + </thead> + + {foreach from=$users item=user name=users_loop} + <tr class="{if $smarty.foreach.users_loop.index is odd}row1{else}row2{/if}"> + <td><input type="checkbox" name="selection[]" value="{$user.ID}" {$user.CHECKED} id="selection-{$user.ID}"></td> + <td><label for="selection-{$user.ID}">{$user.USERNAME}</label></td> + <td>{$user.STATUS}</td> + <td>{$user.EMAIL}</td> + <td>{$user.GROUPS}</td> + <td>{$user.PROPERTIES}</td> + {foreach from=$user.plugin_columns item=data} + <td>{$data}</td> + {/foreach} + <td style="text-align:center;"> + <a href="{$user.U_PERM}"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/permissions.png" class="button" style="border:none" alt="{'Permissions'|@translate}" title="{'Permissions'|@translate}"></a> + <a href="{$user.U_PROFILE}"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/edit_s.png" class="button" style="border:none" alt="{'Profile'|@translate}" title="{'Profile'|@translate}"></a> + {foreach from=$user.plugin_actions item=data} + {$data} + {/foreach} + </td> + </tr> + {/foreach} +</table> + +{if !empty($navbar) }{include file='navigation_bar.tpl'|@get_extent:'navbar'}{/if} + +{* delete the selected users ? *} +<fieldset> + <legend>{'Deletions'|@translate}</legend> + <label><input type="checkbox" name="confirm_deletion" value="1"> {'confirm'|@translate}</label> + <input class="submit" type="submit" value="{'Delete selected users'|@translate}" name="delete" {$TAG_INPUT_ENABLED}> +</fieldset> + +<fieldset> + <legend>{'Status'|@translate}</legend> + + <table> + <tr> + <td>{'Status'|@translate}</td> + <td> + <label><input type="radio" name="status_action" value="leave" checked="checked"> {'leave'|@translate}</label> + <label><input type="radio" name="status_action" value="set" id="status_action_set"> {'set to'|@translate}</label> + <select onchange="document.getElementById('status_action_set').checked = true;" name="status" size="1"> + {html_options options=$pref_status_options selected=$pref_status_selected} + </select> + </td> + </tr> + + {if isset($adviser)} + <tr> + <td>{'Adviser'|@translate}</td> + <td> + <label><input type="radio" name="adviser" value="leave" checked="checked"> {'leave'|@translate}</label> + / {'set to'|@translate} + <label><input type="radio" name="adviser" value="true">{'Yes'|@translate}</label> + <label><input type="radio" name="adviser" value="false">{'No'|@translate}</label> + </td> + </tr> + {/if} + + </table> +</fieldset> + +{* form to set properties for many users at once *} +<fieldset> + <legend>{'Groups'|@translate}</legend> + +<table> + + <tr> + <td>{'associate to group'|@translate}</td> + <td> + {html_options name=associate options=$association_options selected=$associate_selected} + </td> + </tr> + + <tr> + <td>{'dissociate from group'|@translate}</td> + <td> + {html_options name=dissociate options=$association_options selected=$dissociate_selected} + </td> + </tr> + +</table> + +</fieldset> + +{* Properties *} +<fieldset> + <legend>{'Properties'|@translate}</legend> + + <table> + + <tr> + <td>{'High definition enabled'|@translate}</td> + <td> + <label><input type="radio" name="enabled_high" value="leave" checked="checked"> {'leave'|@translate}</label> + / {'set to'|@translate} + <label><input type="radio" name="enabled_high" value="true">{'Yes'|@translate}</label> + <label><input type="radio" name="enabled_high" value="false">{'No'|@translate}</label> + </td> + </tr> + + <tr> + <td>{'Privacy level'|@translate}</td> + <td> + <label><input type="radio" name="level_action" value="leave" checked="checked">{'leave'|@translate}</label> + <label><input type="radio" name="level_action" value="set" id="level_action_set">{'set to'|@translate}</label> + <select onchange="document.getElementById('level_action_set').checked = true;" name="level" size="1"> + {html_options options=$level_options selected=$level_selected} + </select> + </td> + </tr> + </table> + +</fieldset> + +{* preference *} +<fieldset> + <legend>{'Preferences'|@translate}</legend> + +<table> + <tr> + <td>{'Number of images per row'|@translate}</td> + <td> + <label><input type="radio" name="nb_image_line_action" value="leave" checked="checked"> {'leave'|@translate}</label> + <label><input type="radio" name="nb_image_line_action" value="set" id="nb_image_line_action_set"> {'set to'|@translate}</label> + <input onmousedown="document.getElementById('nb_image_line_action_set').checked = true;" + size="3" maxlength="2" type="text" name="nb_image_line" value="{$NB_IMAGE_LINE}"> + </td> + </tr> + + <tr> + <td>{'Number of rows per page'|@translate}</td> + <td> + <label><input type="radio" name="nb_line_page_action" value="leave" checked="checked"> {'leave'|@translate}</label> + <label><input type="radio" name="nb_line_page_action" value="set" id="nb_line_page_action_set"> {'set to'|@translate}</label> + <input onmousedown="document.getElementById('nb_line_page_action_set').checked = true;" + size="3" maxlength="2" type="text" name="nb_line_page" value="{$NB_LINE_PAGE}"> + <td> + </tr> + + <tr> + <td>{'Interface theme'|@translate}</td> + <td> + <label><input type="radio" name="theme_action" value="leave" checked="checked"> {'leave'|@translate}</label> + <label><input type="radio" name="theme_action" value="set" id="theme_action_set"> {'set to'|@translate}</label> + <select onchange="document.getElementById('theme_action_set').checked = true;" name="theme" size="1"> + {html_options values=$theme_options output=$theme_options selected=$theme_selected} + </select> + </td> + </tr> + + <tr> + <td>{'Language'|@translate}</td> + <td> + <label><input type="radio" name="language_action" value="leave" checked="checked"> {'leave'|@translate}</label> + <label><input type="radio" name="language_action" value="set" id="language_action_set"> {'set to'|@translate}</label> + <select onchange="document.getElementById('language_action_set').checked = true;" name="language" size="1"> + {html_options options=$language_options selected=$language_selected} + </select> + </td> + </tr> + + <tr> + <td>{'Recent period'|@translate}</td> + <td> + <label><input type="radio" name="recent_period_action" value="leave" checked="checked"> {'leave'|@translate}</label> + <label><input type="radio" name="recent_period_action" value="set" id="recent_period_action_set"> {'set to'|@translate}</label> + <input onmousedown="document.getElementById('recent_period_action_set').checked = true;" + type="text" size="3" maxlength="2" name="recent_period" value="{$RECENT_PERIOD}"> + </td> + </tr> + + <tr> + <td>{'Expand all categories'|@translate}</td> + <td> + <label><input type="radio" name="expand" value="leave" checked="checked"> {'leave'|@translate}</label> + / {'set to'|@translate} + <label><input type="radio" name="expand" value="true">{'Yes'|@translate}</label> + <label><input type="radio" name="expand" value="false">{'No'|@translate}</label> + </td> + </tr> + + <tr> + <td>{'Show number of comments'|@translate}</td> + <td> + <label><input type="radio" name="show_nb_comments" value="leave" checked="checked"> {'leave'|@translate}</label> + / {'set to'|@translate} + <label><input type="radio" name="show_nb_comments" value="true">{'Yes'|@translate}</label> + <label><input type="radio" name="show_nb_comments" value="false">{'No'|@translate}</label> + </td> + </tr> + + <tr> + <td>{'Show number of hits'|@translate}</td> + <td> + <label><input type="radio" name="show_nb_hits" value="leave" checked="checked"> {'leave'|@translate}</label> + / {'set to'|@translate} + <label><input type="radio" name="show_nb_hits" value="true">{'Yes'|@translate}</label> + <label><input type="radio" name="show_nb_hits" value="false">{'No'|@translate}</label> + </td> + </tr> + + <tr> + <td>{'Maximum width of the pictures'|@translate}</td> + <td> + <label><input type="radio" name="maxwidth_action" value="leave" checked="checked"> {'leave'|@translate}</label> + <label><input type="radio" name="maxwidth_action" value="unset"> {'unset'|@translate}</label> + <label><input type="radio" name="maxwidth_action" value="set" id="maxwidth_action_set"> {'set to'|@translate}</label> + <input onmousedown="document.getElementById('maxwidth_action_set').checked = true;" + type="text" size="4" maxlength="4" name="maxwidth" value="{$MAXWIDTH}"> + </td> + </tr> + + + <tr> + <td>{'Maximum height of the pictures'|@translate}</td> + <td> + <label><input type="radio" name="maxheight_action" value="leave" checked="checked"> {'leave'|@translate}</label> + <label><input type="radio" name="maxheight_action" value="unset"> {'unset'|@translate}</label> + <label><input type="radio" name="maxheight_action" value="set" id="maxheight_action_set"> {'set to'|@translate}</label> + <input onmousedown="document.getElementById('maxheight_action_set').checked = true;" + type="text" size="4" maxlength="4" name="maxheight" value="{$MAXHEIGHT}"> + </td> + </tr> + + +</table> + +</fieldset> + +<p> + {'target'|@translate} + <label><input type="radio" name="target" value="all"> {'all'|@translate}</label> + <label><input type="radio" name="target" value="selection" checked="checked"> {'selection'|@translate}</label> +</p> + +<p> + <input class="submit" type="submit" value="{'Submit'|@translate}" name="pref_submit" {$TAG_INPUT_ENABLED}> + <input class="submit" type="reset" value="{'Reset'|@translate}" name="pref_reset"> +</p> + +</form> + +<script type="text/javascript">// <![CDATA[{literal} +jQuery("form:last").submit( function() { + if ( jQuery("input[name=target][value=selection]:checked", this).length > 0 ) + if ( jQuery("input[name='selection[]']:checked", this).length == 0) + { + alert( {/literal}"{'Select at least one user'|@translate|escape:javascript}"{literal} ); + return false; + } + return true; +} +);{/literal} +// ]]> +</script> + diff --git a/admin/themes/default/template/user_perm.tpl b/admin/themes/default/template/user_perm.tpl new file mode 100644 index 000000000..d1ecdca9a --- /dev/null +++ b/admin/themes/default/template/user_perm.tpl @@ -0,0 +1,22 @@ +<h2>{$TITLE}</h2> + +{if isset($categories_because_of_groups) } +<fieldset> + <legend>{'Categories authorized thanks to group associations'|@translate}</legend> + + <ul> + {foreach from=$categories_because_of_groups item=cat } + <li>{$cat}</li> + {/foreach} + </ul> +</fieldset> +{/if} + + +<fieldset> + <legend>{'Other private categories'|@translate}</legend> + + <form method="post" action="{$F_ACTION}"> + {$DOUBLE_SELECT} + </form> +</fieldset> |