source: trunk/admin/themes/default/template/configuration.tpl @ 13883

Revision 13883, 20.2 KB checked in by plg, 8 years ago (diff)

feature 2606: first step on multiple size configuration screen redesign.

Multiple size configuration moved to [Administration > Configuration > Photo Sizes]

Less details by default, less options also (sharpen had disappeared)

TODO : save settings on form submission. The old screen is still available.

  • Property svn:eol-style set to LF
Line 
1{footer_script}{literal}
2jQuery(document).ready(function(){
3  jQuery("#activate_comments").change(function(){
4    if ($(this).is(':checked')) {
5      jQuery("#comments_param_warp").show();
6    } else {
7      jQuery("#comments_param_warp").hide();
8    }
9  });
10
11  var targets = {
12    'input[name="rate"]' : '#rate_anonymous',
13    'input[name="allow_user_registration"]' : '#email_admin_on_new_user',
14    'input[name="comments_validation"]' : '#email_admin_on_comment_validation',
15    'input[name="user_can_edit_comment"]' : '#email_admin_on_comment_edition',
16    'input[name="user_can_delete_comment"]' : '#email_admin_on_comment_deletion',
17  };
18
19  for (selector in targets) {
20    var target = targets[selector];
21
22    jQuery(target).toggle(jQuery(selector).is(':checked'));
23
24    (function(target){
25      jQuery(selector).bind('change', function() {
26        jQuery(target).toggle($(this).is(':checked'));
27      });
28    })(target);
29  };
30});
31{/literal}{/footer_script}
32
33<div class="titrePage">
34  <h2>{'Piwigo configuration'|@translate} {$TABSHEET_TITLE}</h2>
35</div>
36
37{if !isset($default)}
38<form method="post" action="{$F_ACTION}" class="properties">
39{/if}
40<div id="configContent">
41{if isset($main)}
42<fieldset id="mainConf">
43  <legend></legend>
44  <ul>
45    <li>
46     
47        <label for="gallery_title">{'Gallery title'|@translate}</label>
48      <br>
49      <input type="text" maxlength="255" size="50" name="gallery_title" id="gallery_title" value="{$main.CONF_GALLERY_TITLE}">
50    </li>
51
52    <li>
53     
54        <label for="page_banner">{'Page banner'|@translate}</label>
55      <br>
56      <textarea rows="5" cols="50" class="description" name="page_banner" id="page_banner">{$main.CONF_PAGE_BANNER}</textarea>
57    </li>
58
59    <li>
60      <label>
61        <input type="checkbox" name="rate" {if ($main.rate)}checked="checked"{/if}>
62        {'Allow rating'|@translate}
63      </label>
64    </li>
65
66    <li id="rate_anonymous">
67      <label>
68        <input type="checkbox" name="rate_anonymous" {if ($main.rate_anonymous)}checked="checked"{/if}>
69        {'Rating by guests'|@translate}
70      </label>
71    </li>
72
73    <li>
74      <label>
75        <input type="checkbox" name="allow_user_registration" {if ($main.allow_user_registration)}checked="checked"{/if}>
76        {'Allow user registration'|@translate}
77      </label>
78    </li>
79
80    <li id="email_admin_on_new_user">
81      <label>
82        <input type="checkbox" name="email_admin_on_new_user" {if ($main.email_admin_on_new_user)}checked="checked"{/if}>
83        {'Email admins when a new user registers'|@translate}
84      </label>
85    </li>
86
87    <li>
88      <label>
89        <input type="checkbox" name="allow_user_customization" {if ($main.allow_user_customization)}checked="checked"{/if}>
90        {'Allow user customization'|@translate}
91      </label>
92    </li>
93
94    <li>
95      <label>
96        <input type="checkbox" name="obligatory_user_mail_address" {if ($main.obligatory_user_mail_address)}checked="checked"{/if}>
97        {'Mail address is obligatory for all users'|@translate}
98      </label>
99    </li>
100
101    <li>
102      <label>{'Week starts on'|@translate}
103      {html_options name="week_starts_on" options=$main.week_starts_on_options selected=$main.week_starts_on_options_selected}</label>
104    </li>
105   
106    <li>
107        <label>{'Default photos order'|@translate}</label>
108       
109        {foreach from=$main.order_by item=order}
110        <span class="filter {if $ORDER_BY_IS_CUSTOM}transparent{/if}">         
111          <select name="order_by[]" {if $ORDER_BY_IS_CUSTOM}disabled{/if}>
112            {html_options options=$main.order_by_options selected=$order}
113          </select>
114          <a class="removeFilter">{'delete'|@translate}</a>
115        </span>
116        {/foreach}
117       
118        {if !$ORDER_BY_IS_CUSTOM}
119          <a class="addFilter">{'Add a criteria'|@translate}</a>
120        {else}
121          <span class="order_by_is_custom">{'You can\'t define a default photo order because you have a custom setting in your local configuration.'|@translate}</span>
122        {/if}
123    </li>
124   
125{if !$ORDER_BY_IS_CUSTOM}
126{footer_script require='jquery'}
127// counters for displaying of addFilter link
128fields = {$main.order_by|@count}; max_fields = Math.ceil({$main.order_by_options|@count}/2);
129
130{literal}
131function updateAddFilterLink() {
132  if (fields >= max_fields) {
133    $('.addFilter').css('display', 'none');
134  } else {
135    $('.addFilter').css('display', '');
136  }
137}
138
139function updateRemoveFilterTrigger() {
140  $(".removeFilter").click(function () {
141    $(this).parent('span.filter').remove();
142    fields--;
143    updateAddFilterLink();
144  });
145 
146  $(".removeFilter").css('display', '');
147  $(".filter:first .removeFilter").css('display', 'none');
148}
149
150jQuery(document).ready(function () {
151  $('.addFilter').click(function() {
152    $(this).prev('span.filter').clone().insertBefore($(this));
153    $(this).prev('span.filter').children('select[name="order_by[]"]').val('');
154   
155    fields++;
156    updateRemoveFilterTrigger();
157    updateAddFilterLink();
158  });
159 
160  updateRemoveFilterTrigger();
161  updateAddFilterLink();
162});
163{/literal}
164{/footer_script}
165{/if}
166
167    <li>
168      <strong>{'Save visits in history for'|@translate}</strong>
169
170      <label>
171        <input type="checkbox" name="history_guest" {if ($main.history_guest)}checked="checked"{/if}>
172        {'simple visitors'|@translate}
173      </label>
174
175      <label>
176        <input type="checkbox" name="log" {if ($main.log)}checked="checked"{/if}>
177        {'registered users'|@translate}
178      </label>
179
180      <label>
181        <input type="checkbox" name="history_admin" {if ($main.history_admin)}checked="checked"{/if}>
182        {'administrators'|@translate}
183      </label>
184
185    </li>
186  </ul>
187</fieldset>
188{/if}
189
190{if isset($comments)}
191<fieldset id="commentsConf">
192  <legend></legend>
193  <ul>
194    <li>
195      <label>
196        <input type="checkbox" name="activate_comments" id="activate_comments"{if ($comments.activate_comments)}checked="checked"{/if}>
197        {'Activate comments'|@translate}
198      </label>
199    </li>
200  </ul>
201 
202  <ul id="comments_param_warp"{if not ($comments.activate_comments)} style="display:none;"{/if}>
203    <li>
204      <label>
205        <input type="checkbox" name="comments_forall" {if ($comments.comments_forall)}checked="checked"{/if}>
206        {'Comments for all'|@translate}
207      </label>
208    </li>
209
210    <li>
211      <label>
212        {'Number of comments per page'|@translate}
213        <input type="text" size="3" maxlength="4" name="nb_comment_page" id="nb_comment_page" value="{$comments.NB_COMMENTS_PAGE}">
214      </label>
215    </li>
216   
217    <li>
218      <label>
219        {'Default comments order'|@translate}
220        <select name="comments_order">
221          {html_options options=$comments.comments_order_options selected=$comments.comments_order}
222        </select>
223      </label>
224    </li>
225
226    <li>
227      <label>
228        <input type="checkbox" name="comments_validation" {if ($comments.comments_validation)}checked="checked"{/if}>
229        {'Validation'|@translate}
230      </label>
231    </li>
232
233    <li>
234      <label>
235        <input type="checkbox" name="user_can_edit_comment" {if ($comments.user_can_edit_comment)}checked="checked"{/if}>
236        {'Allow users to edit their own comments'|@translate}
237      </label>
238    </li>
239    <li>
240      <label>
241        <input type="checkbox" name="user_can_delete_comment" {if ($comments.user_can_delete_comment)}checked="checked"{/if}>
242        {'Allow users to delete their own comments'|@translate}
243      </label>
244    </li>
245
246    <li id="notifyAdmin">
247      <strong>{'Notify administrators when a comment is'|@translate}</strong>
248
249      <label id="email_admin_on_comment_validation">
250        <input type="checkbox" name="email_admin_on_comment_validation" {if ($comments.email_admin_on_comment_validation)}checked="checked"{/if}> {'pending validation'|@translate}
251      </label>
252
253      <label>
254        <input type="checkbox" name="email_admin_on_comment" {if ($comments.email_admin_on_comment)}checked="checked"{/if}> {'added'|@translate}
255      </label>
256
257      <label id="email_admin_on_comment_edition">
258        <input type="checkbox" name="email_admin_on_comment_edition" {if ($comments.email_admin_on_comment_edition)}checked="checked"{/if}> {'modified'|@translate}
259      </label>
260
261      <label id="email_admin_on_comment_deletion">
262        <input type="checkbox" name="email_admin_on_comment_deletion" {if ($comments.email_admin_on_comment_deletion)}checked="checked"{/if}> {'deleted'|@translate}
263      </label>
264    </li>
265  </ul>
266</fieldset>
267{/if}
268
269{if isset($sizes)}
270
271{footer_script}
272var labelMaxWidth = "{'Maximum Width'|@translate}";
273var labelWidth = "{'Width'|@translate}";
274
275var labelMaxHeight = "{'Maximum Height'|@translate}";
276var labelHeight = "{'Height'|@translate}";
277{literal}
278jQuery(document).ready(function(){
279  function toggleResizeFields(size) {
280    var checkbox = jQuery("#original_resize");
281    var needToggle = jQuery("#sizeEdit-original");
282
283    if (jQuery(checkbox).is(':checked')) {
284      needToggle.show();
285    }
286    else {
287      needToggle.hide();
288    }
289  }
290
291  toggleResizeFields("original");
292  jQuery("#original_resize").click(function () {toggleResizeFields("original")});
293
294  jQuery("a[id^='sizeEditOpen-']").click(function(){
295    var sizeName = jQuery(this).attr("id").split("-")[1];
296    jQuery("#sizeEdit-"+sizeName).toggle();
297    jQuery(this).hide();
298  });
299
300  jQuery(".cropToggle").click(function() {
301    var labelBoxWidth = jQuery(this).parents('table.sizeEditForm').find('td.sizeEditWidth');
302    var labelBoxHeight = jQuery(this).parents('table.sizeEditForm').find('td.sizeEditHeight');
303
304    if (jQuery(this).is(':checked')) {
305      jQuery(labelBoxWidth).html(labelWidth);
306      jQuery(labelBoxHeight).html(labelHeight);
307    }
308    else {
309      jQuery(labelBoxWidth).html(labelMaxWidth);
310      jQuery(labelBoxHeight).html(labelMaxHeight);
311    }
312  });
313
314  jQuery("#showDetails").click(function() {
315    jQuery(".sizeDetails").show();
316    jQuery(this).css("visibility", "hidden");
317  });
318
319});
320{/literal}{/footer_script}
321
322{literal}
323<style>
324.sizeEnable {width:50px;}
325.sizeEditForm {margin:0 0 10px 20px;}
326.sizeEdit {display:none;}
327#sizesConf table {margin:0;}
328.showDetails {padding:0;}
329.sizeDetails {display:none;margin-left:10px;}
330.sizeEditOpen {margin-left:10px;}
331</style>
332{/literal}
333
334<fieldset id="sizesConf">
335  <legend>{'Original Size'|@translate}</legend>
336
337  <div>
338    <label for="original_resize">
339      <input type="checkbox" name="original_resize" id="original_resize" {if ($sizes.original_resize)}checked="checked"{/if}>
340      {'Resize after upload'|@translate}
341    </label>
342  </div>
343
344  <table id="sizeEdit-original">
345    <tr>
346      <th>{'Maximum Width'|@translate}</th>
347      <td><input type="text" name="original_resize_maxwidth" value="{$sizes.original_resize_maxwidth}" size="4" maxlength="4"> {'pixels'|@translate}</td>
348    </tr>
349    <tr>
350      <th>{'Maximum Height'|@translate}</th>
351      <td><input type="text" name="original_resize_maxheight" value="{$sizes.original_resize_maxheight}" size="4" maxlength="4"> {'pixels'|@translate}</td>
352    </tr>
353    <tr>
354      <th>{'Image Quality'|@translate}</th>
355      <td><input type="text" name="original_resize_quality" value="{$sizes.original_resize_quality}" size="3" maxlength="3"> %</td>
356    </tr>
357  </table>
358
359</fieldset>
360
361<div class="warnings">Warning: the following fields are for test "user interface" test only. Any change won't be saved.<br>See screen [Administration > Configuration > Multiple Size] to configure sizes.</div>
362
363<fieldset id="multiSizesConf">
364  <legend>{'Multiple Size'|@translate}</legend>
365
366<div class="showDetails">
367  <a href="#" id="showDetails"{if $show_details} style="display:none"{/if}>{'show details'|@translate}</a>
368</div>
369
370<table style="margin:0">
371{foreach from=$derivatives item=d key=type}
372  <tr>
373    <td>
374      <label>
375        <span class="sizeEnable">
376  {if $d.must_enable}
377          &#x2714;
378  {else}
379          <input type="checkbox" name="d[{$type}][enabled]" {if $d.enabled}checked="checked"{/if}>
380  {/if}
381        </span>
382        {$type|@translate}
383      </label>
384    </td>
385
386    <td>
387      <span class="sizeDetails">{$d.w} x {$d.h} {'pixels'|@translate}{if $d.crop}, {'Crop'|@translate|lower}{/if}</span>
388    </td>
389
390    <td>
391      <span class="sizeDetails">
392        <a href="#" id="sizeEditOpen-{$type}" class="sizeEditOpen">{'edit'|@translate}</a>
393      </span>
394    </td>
395  </tr>
396
397  <tr id="sizeEdit-{$type}" class="sizeEdit">
398    <td colspan="3">
399      <table class="sizeEditForm">
400  {if !$d.must_square}
401        <tr>
402          <td colspan="2">
403            <label>
404              <input type="checkbox" class="cropToggle" name="d[{$type}][crop]" {if $d.crop}checked="checked"{/if}>
405              {'Crop'|@translate}
406            </label>
407          </td>
408        </tr>
409  {/if}
410
411        <tr>
412          <td class="sizeEditWidth">{if $d.must_square or $d.crop}{'Width'|@translate}{else}{'Maximum Width'|@translate}{/if}</td>
413          <td>
414            <input type="text" name="d[{$type}][w]" maxlength="4" size="4" value="{$d.w}"{if isset($ferrors.$type.w)}class="dError"{/if}>
415            {'pixels'|@translate}
416            {if isset($ferrors.$type.w)}<span class="dErrorDesc" title="{$ferrors.$type.w}">!</span>{/if}
417          </td>
418        </tr>
419
420  {if !$d.must_square}
421        <tr>
422          <td class="sizeEditHeight">{if $d.crop}{'Height'|@translate}{else}{'Maximum Height'|@translate}{/if}</td>
423          <td>
424            <input type="text" name="d[{$type}][h]" maxlength="4" size="4"  value="{$d.h}"{if isset($ferrors.$type.h)}class="dError"{/if}>
425            {'pixels'|@translate}
426            {if isset($ferrors.$type.h)}<span class="dErrorDesc" title="{$ferrors.$type.h}">!</span>{/if}
427          </td>
428        </tr>
429  {/if}
430      </table> {* #sizeEdit *}
431    </td>
432  </tr>
433{/foreach}
434</table>
435
436<p style="margin:20px 0 0 0" class="sizeDetails">
437  {'Image Quality'|@translate}
438  <input type="text" name="original_resize_quality" value="{$sizes.original_resize_quality}" size="3" maxlength="3"> %
439</p>
440</fieldset>
441{/if}
442
443{if isset($display)}
444<fieldset id="indexDisplayConf">
445  <legend>{'Main Page'|@translate}</legend>
446  <ul>
447    <li>
448      <label>
449        <input type="checkbox" name="menubar_filter_icon" {if ($display.menubar_filter_icon)}checked="checked"{/if}>
450        {'display only recently posted photos'|@translate|@ucfirst|@string_format:$pwg->l10n('Activate icon "%s"')}
451      </label>
452    </li>   
453   
454    <li>
455      <label>
456        <input type="checkbox" name="index_new_icon" {if ($display.index_new_icon)}checked="checked"{/if}>
457        {'Activate icon "new" next to albums and pictures'|@translate}
458      </label>
459    </li>
460
461    <li>
462      <label>
463        <input type="checkbox" name="index_sort_order_input" {if ($display.index_sort_order_input)}checked="checked"{/if}>
464        {'Sort order'|@translate|@string_format:$pwg->l10n('Activate icon "%s"')}
465      </label>
466    </li>
467
468    <li>
469      <label>
470        <input type="checkbox" name="index_flat_icon" {if ($display.index_flat_icon)}checked="checked"{/if}>
471        {'display all photos in all sub-albums'|@translate|@ucfirst|@string_format:$pwg->l10n('Activate icon "%s"')}
472      </label>
473    </li>
474
475    <li>
476      <label>
477        <input type="checkbox" name="index_posted_date_icon" {if ($display.index_posted_date_icon)}checked="checked"{/if}>
478        {'display a calendar by posted date'|@translate|@ucfirst|@string_format:$pwg->l10n('Activate icon "%s"')}
479      </label>
480    </li>
481
482    <li>
483      <label>
484        <input type="checkbox" name="index_created_date_icon" {if ($display.index_created_date_icon)}checked="checked"{/if}>
485        {'display a calendar by creation date'|@translate|@ucfirst|@string_format:$pwg->l10n('Activate icon "%s"')}
486      </label>
487    </li>
488
489    <li>
490      <label>
491        <input type="checkbox" name="index_slideshow_icon" {if ($display.index_slideshow_icon)}checked="checked"{/if}>
492        {'slideshow'|@translate|@ucfirst|@string_format:$pwg->l10n('Activate icon "%s"')}
493      </label>
494    </li>
495  </ul>
496</fieldset>
497
498<fieldset id="pictureDisplayConf">
499  <legend>{'Photo Page'|@translate}</legend>
500  <ul>
501    <li>
502      <label>
503        <input type="checkbox" name="picture_slideshow_icon" {if ($display.picture_slideshow_icon)}checked="checked"{/if}>
504        {'slideshow'|@translate|@ucfirst|@string_format:$pwg->l10n('Activate icon "%s"')}
505      </label>
506    </li>
507
508    <li>
509      <label>
510        <input type="checkbox" name="picture_metadata_icon" {if ($display.picture_metadata_icon)}checked="checked"{/if}>
511        {'Show file metadata'|@translate|@string_format:$pwg->l10n('Activate icon "%s"')}
512      </label>
513    </li>
514
515    <li>
516      <label>
517        <input type="checkbox" name="picture_download_icon" {if ($display.picture_download_icon)}checked="checked"{/if}>
518        {'Download this file'|@translate|@ucfirst|@string_format:$pwg->l10n('Activate icon "%s"')}
519      </label>
520    </li>
521
522    <li>
523      <label>
524        <input type="checkbox" name="picture_favorite_icon" {if ($display.picture_favorite_icon)}checked="checked"{/if}>
525        {'add this photo to your favorites'|@translate|@ucfirst|@string_format:$pwg->l10n('Activate icon "%s"')}
526      </label>
527    </li>
528
529    <li>
530      <label>
531        <input type="checkbox" name="picture_navigation_icons" {if ($display.picture_navigation_icons)}checked="checked"{/if}>
532        {'Activate Navigation Bar'|@translate}
533      </label>
534    </li>
535
536    <li>
537      <label>
538        <input type="checkbox" name="picture_navigation_thumb" {if ($display.picture_navigation_thumb)}checked="checked"{/if}>
539        {'Activate Navigation Thumbnails'|@translate}
540      </label>
541    </li>
542   
543    <li>
544      <label>
545        <input type="checkbox" name="picture_menu" {if ($display.picture_menu)}checked="checked"{/if}>
546        {'Show menubar'|@translate}
547      </label>
548    </li>
549  </ul>
550</fieldset>
551
552<fieldset id="pictureInfoConf">
553  <legend>{'Photo Properties'|@translate}</legend>
554  <ul>
555    <li>
556      <label>
557        <input type="checkbox" name="picture_informations[author]" {if ($display.picture_informations.author)}checked="checked"{/if}>
558        {'Author'|@translate}
559      </label>
560    </li>
561
562    <li>
563      <label>
564        <input type="checkbox" name="picture_informations[created_on]" {if ($display.picture_informations.created_on)}checked="checked"{/if}>
565        {'Created on'|@translate}
566      </label>
567    </li>
568
569    <li>
570      <label>
571        <input type="checkbox" name="picture_informations[posted_on]" {if ($display.picture_informations.posted_on)}checked="checked"{/if}>
572        {'Posted on'|@translate}
573      </label>
574    </li>
575
576    <li>
577      <label>
578        <input type="checkbox" name="picture_informations[dimensions]" {if ($display.picture_informations.dimensions)}checked="checked"{/if}>
579        {'Dimensions'|@translate}
580      </label>
581    </li>
582
583    <li>
584      <label>
585        <input type="checkbox" name="picture_informations[file]" {if ($display.picture_informations.file)}checked="checked"{/if}>
586        {'File'|@translate}
587      </label>
588    </li>
589
590    <li>
591      <label>
592        <input type="checkbox" name="picture_informations[filesize]" {if ($display.picture_informations.filesize)}checked="checked"{/if}>
593        {'Filesize'|@translate}
594      </label>
595    </li>
596
597    <li>
598      <label>
599        <input type="checkbox" name="picture_informations[tags]" {if ($display.picture_informations.tags)}checked="checked"{/if}>
600        {'Tags'|@translate}
601      </label>
602    </li>
603
604    <li>
605      <label>
606        <input type="checkbox" name="picture_informations[categories]" {if ($display.picture_informations.categories)}checked="checked"{/if}>
607        {'Albums'|@translate}
608      </label>
609    </li>
610
611    <li>
612      <label>
613        <input type="checkbox" name="picture_informations[visits]" {if ($display.picture_informations.visits)}checked="checked"{/if}>
614        {'Visits'|@translate}
615      </label>
616    </li>
617
618    <li>
619      <label>
620        <input type="checkbox" name="picture_informations[rating_score]" {if ($display.picture_informations.rating_score)}checked="checked"{/if}>
621        {'Rating score'|@translate}
622      </label>
623    </li>
624
625    <li>
626      <label>
627        <input type="checkbox" name="picture_informations[privacy_level]" {if ($display.picture_informations.privacy_level)}checked="checked"{/if}>
628        {'Who can see this photo?'|@translate} ({'available for administrators only'|@translate})
629      </label>
630    </li>
631  </ul>
632</fieldset>
633{/if}
634
635{if !isset($default)}
636  <p class="formButtons">
637    <input class="submit" type="submit" name="submit" value="{'Save Settings'|@translate}">
638  </p>
639</form>
640{/if}
641
642</div> <!-- configContent -->
643
644{if isset($default)}
645{$PROFILE_CONTENT}
646{/if}
Note: See TracBrowser for help on using the repository browser.