source: extensions/GThumb/template/admin.tpl @ 12733

Last change on this file since 12733 was 12733, checked in by patdenice, 12 years ago

Thumbnails can be generated in admin pannel.

File size: 5.4 KB
Line 
1<div class="titrePage">
2<h2>GThumb+</h2>
3</div>
4
5<form action="" method="post">
6
7<fieldset id="GThumb">
8<legend>{'Configuration'|@translate}</legend>
9<table>
10  <tr>
11    <td align="right">{'Thumbnails max height'|@translate} : &nbsp;&nbsp;</td>
12    <td><input type="text" size="2" maxlength="3" name="height" value="{$HEIGHT}">&nbsp;px</td></td>
13  </tr>
14
15  <tr>
16    <td align="right">{'Margin between thumbnails'|@translate} : &nbsp;&nbsp;</td>
17    <td><input type="text" size="2" maxlength="3" name="margin" value="{$MARGIN}">&nbsp;px</td>
18  </tr>
19
20  <tr>
21    <td align="right">{'Number of photos per page'|@translate} : &nbsp;&nbsp;</td>
22    <td><input type="text" size="2" maxlength="3" name="nb_image_page" value="{$NB_IMAGE_PAGE}"></td>
23  </tr>
24
25  <tr>
26    <td align="right">{'Double the size of the first thumbnail'|@translate} : &nbsp;&nbsp;</td>
27    <td><input type="radio" name="big_thumb" value="1" {if $BIG_THUMB}checked="checked"{/if}> {'Yes'|@translate} &nbsp;
28        <input type="radio" name="big_thumb" value="0" {if !$BIG_THUMB}checked="checked"{/if}> {'No'|@translate}
29    </td>
30  </tr>
31
32  <tr>
33    <td align="right">{'Cache the big thumbnails (recommended)'|@translate} : &nbsp;&nbsp;</td>
34    <td><input type="radio" name="cache_big_thumb" value="1" {if $CACHE_BIG_THUMB}checked="checked"{/if}> {'Yes'|@translate} &nbsp;
35        <input type="radio" name="cache_big_thumb" value="0" {if !$CACHE_BIG_THUMB}checked="checked"{/if}> {'No'|@translate}
36    </td>
37  </tr>
38
39  <tr>
40    <td align="right">{'Scale thumbnails'|@translate} : &nbsp;&nbsp;</td>
41    <td><input type="radio" name="method" value="crop" {if $METHOD == 'crop'}checked="checked"{/if}> {'Crop'|@translate} &nbsp;
42        <input type="radio" name="method" value="resize" {if $METHOD == 'resize'}checked="checked"{/if}> {'Resize'|@translate}
43    </td>
44  </tr>
45
46</table>
47</fieldset>
48
49<p><input type="submit" name="submit" value="{'Submit'|@translate}"></p>
50</form>
51
52<fieldset id="cacheinfo">
53<legend>{'Cache Informations'|@translate}</legend>
54<p id="cache_data">&nbsp;</p>
55<p id="GThumbAction">
56  <button onclick="GThumb.deletecache();">{'Purge thumbnails cache'|@translate}</button>
57  <button onclick="GThumb.generatecache();">{'Pre-cache thumbnails'|@translate}</button>
58</p>
59<div id="GThumbProgressbar" style="display:none;">
60  {'Generating cache, please wait...'|@translate}<br>
61  <div id="progressbar"></div>
62</div>
63</fieldset>
64
65{html_head}{literal}
66<style type="text/css">
67#GThumb td { padding-bottom: 12px; }
68#cacheinfo p, #GThumbProgressbar { text-align:left; line-height:20px; margin:20px }
69.ui-progressbar-value { background-image: url(plugins/GThumb/template/pbar-ani.gif); }
70</style>
71{/literal}{/html_head}
72
73{combine_script id='jquery.ui.progressbar' load='footer'}
74{combine_script id='jquery.ajaxmanager' load='footer' path='themes/default/js/plugins/jquery.ajaxmanager.js'}
75
76{footer_script}
77var pwg_token = '{$PWG_TOKEN}';
78var confirm_message = '{'Are you sure?'|@translate}';
79var nb_files_str  = '{'%d file'|@translate}';
80var nb_files_str_plur = '{'%d files'|@translate}';
81var lang_info_zero_plural = {if $lang_info.zero_plural}true{else}false{/if};
82var cache_size = {$CACHE_SIZE};
83var nb_files = {$NB_FILES};
84
85{literal}
86var GThumb = {
87
88  total: 0,
89  done: 0,
90
91  queue: jQuery.manageAjax.create('queued', {
92    queue: true, 
93    cacheResponse: false,
94    maxRequests: 3
95  }),
96
97  deletecache: function() {
98    if (confirm(confirm_message)) {
99      window.location = 'admin.php?page=plugin-GThumb&deletecache=true&pwg_token='+pwg_token;
100    }
101  },
102
103  generatecache: function() {
104    jQuery("#progressbar").progressbar({value: 0});
105    jQuery.ajax({
106      url: 'admin.php?page=plugin-GThumb&generatecache=request',
107      dataType: 'json',
108      success: function(data) {
109        if (data.length > 0) {
110          jQuery("#GThumbProgressbar, #GThumbAction").toggle();
111          GThumb.total = data.length;
112          for (i=0;i<data.length;i++) {
113            GThumb.queue.add({
114              type: 'GET',
115              url: 'ws.php',
116              data: {
117                method: 'pwg.images.getGThumbPlusThumbnail',
118                image_id: data[i],
119                format: 'json'
120              },
121              dataType: 'json',
122              success: function(data) {
123                nb_files++;
124                cache_size += data.result.filesize;
125                updateCacheSizeAndFiles();
126                GThumb.progressbar();
127              },
128              error: GThumb.progressbar
129            });
130          }
131        } else {
132          window.location = 'admin.php?page=plugin-GThumb&generatecache=complete';
133        }
134      },
135      error: function() {
136        alert('An error occured');
137      }
138    });
139    return false;
140  },
141
142  progressbar: function() {
143    jQuery( "#progressbar" ).progressbar({
144      value: Math.round(++GThumb.done * 100 / GThumb.total)
145    });
146    if (GThumb.done == GThumb.total) {
147      window.location = 'admin.php?page=plugin-GThumb&generatecache=complete';
148    }
149  }
150};
151
152function updateCacheSizeAndFiles() {
153 
154  if ( nb_files > 1 || (nb_files == 0 && lang_info_zero_plural)) {
155    nbstr = nb_files_str_plur;
156  } else {
157    nbstr = nb_files_str;
158  }
159
160  ret = nbstr.replace('%d', nb_files) + ', ';
161
162  if (cache_size > 1024 * 1024)
163    ret += Math.round((cache_size / (1024 * 1024))*100)/100 + ' MB';
164  else
165    ret += Math.round((cache_size / 1024)*100)/100 + ' KB';
166
167  jQuery("#cache_data").html(ret);
168}
169
170updateCacheSizeAndFiles();
171{/literal}{/footer_script}
Note: See TracBrowser for help on using the repository browser.