source: extensions/ColorStat/admin/cstat_config.tpl @ 15344

Last change on this file since 15344 was 15344, checked in by grum, 12 years ago

feature:2639 - Compatibility with Piwigo 2.4

File size: 10.5 KB
Line 
1{combine_script id="jquery.ui" require='jquery' path="themes/default/js/ui/jquery.ui.core.js"}
2{combine_script id="jquery.ui.widget" require='jquery.ui' path="themes/default/js/ui/jquery.ui.widget.js"}
3{combine_script id="jquery.ui.mouse" require='jquery.ui.widget' path="themes/default/js/ui/jquery.ui.mouse.js"}
4{combine_script id="jquery.ui.slider" require='jquery.ui.widget' src="themes/default/js/ui/jquery.ui.slider.js"}
5
6
7{literal}
8<style>
9 .ui-slider {
10    width:600px;
11    height:10px;
12    border-width:1px;
13    border-style:solid;
14    margin-right:5px;
15    padding-right:14px;
16  }
17 .ui-slider-handle {
18    width:12px;
19    height:12px;
20    position:relative;
21    top:-2px;
22    border-width:1px;
23    border-style:solid;
24    display:block;
25  }
26</style>
27<script type="text/javascript">
28
29  function displayConfig(tabsheet)
30  {
31    switch(tabsheet)
32    {
33      case 'database':
34        $('#iDisplayConfigDatabase').css('display', 'block');
35        $('#iDisplayConfigStatSearch').css('display', 'none');
36        $('#iDisplayConfigDisplay').css('display', 'none');
37        break;
38      case 'statsearch':
39        $('#iDisplayConfigDatabase').css('display', 'none');
40        $('#iDisplayConfigStatSearch').css('display', 'block');
41        $('#iDisplayConfigDisplay').css('display', 'none');
42        break;
43      case 'display':
44        $('#iDisplayConfigDatabase').css('display', 'none');
45        $('#iDisplayConfigStatSearch').css('display', 'none');
46        $('#iDisplayConfigDisplay').css('display', 'block');
47        break;
48    }
49  }
50
51  function init()
52  {
53    formatPct({/literal}{$datas.minPct}{literal});
54    $("#icstat_stat_minPct_slider").slider(
55      {
56        min:0.25,
57        max:60,
58        step:0.25,
59        value:{/literal}{$datas.minPct}{literal},
60        slide: function(event, ui) { formatPct(ui.value); }
61      });
62    $("#icstat_stat_minPct_slider a").addClass('gcBgInput');
63
64    formatPx({/literal}{$datas.colorSize}{literal});
65    $("#icstat_display_colorSize_slider").slider(
66      {
67        min:5,
68        max:25,
69        step:1,
70        value:{/literal}{$datas.colorSize}{literal},
71        slide: function(event, ui) { formatPx(ui.value); }
72      });
73    $("#icstat_display_colorSize_slider a").addClass('gcBgInput');
74
75    showColors();
76    qi.calculateTimes();
77    displayConfig('database');
78  }
79
80  function formatPx(px)
81  {
82    $("#icstat_display_colorSize").val(px);
83    $("#icstat_display_colorSize_display").html(px+"px");
84  }
85
86  function formatPct(pct)
87  {
88    $("#icstat_stat_minPct").val(pct);
89    $("#icstat_stat_minPct_display").html(pct.toFixed(2)+"%");
90  }
91
92  function showColors()
93  {
94    if($('#idisplay_gallery_showColorsCBox').get(0).checked)
95    {
96      $('#idisplay_gallery_showColors').val('y');
97      $('#icstat_display_colorSize_area').css('display', 'block');
98    }
99    else
100    {
101      $('#idisplay_gallery_showColors').val('n');
102      $('#icstat_display_colorSize_area').css('display', 'none');
103    }
104  }
105
106
107  qualityInterface = function(optionsToSet)
108  {
109    var qualityValues = [{/literal}{$datas.qualityHighest}, {$datas.qualityHigh}, {$datas.qualityNormal}, {$datas.qualityLow}, {$datas.qualityLowest}{literal}];
110    var qualityKeys   = ['highest', 'hight', 'normal', 'low', 'lowest'];
111
112    var options = jQuery.extend(
113      {
114        pps:0,
115      },
116      optionsToSet);
117
118
119    this.calculateTimes = function ()
120    {
121      _calculateTimes();
122    }
123
124    var _calculateTimes = function ()
125    {
126      values=new Array();
127
128      for(i=0;i<qualityValues.length;i++)
129      {
130        if(options.pps==0)
131        {
132          values[i]=Array('-', '-');
133        }
134        else
135        {
136          values[i]=Array(
137            (qualityValues[i]/options.pps).toFixed(2)+'s',
138            formatTime({/literal}{$datas.nbPictures}{literal}*qualityValues[i]/options.pps)
139          );
140        }
141      }
142
143      $('#iEstimatedHighest').html(values[0][0]);
144      $('#iEstimatedHighestAll').html(values[0][1]);
145
146      $('#iEstimatedHigh').html(values[1][0]);
147      $('#iEstimatedHighAll').html(values[1][1]);
148
149      $('#iEstimatedNormal').html(values[2][0]);
150      $('#iEstimatedNormalAll').html(values[2][1]);
151
152      $('#iEstimatedLow').html(values[3][0]);
153      $('#iEstimatedLowAll').html(values[3][1]);
154
155      $('#iEstimatedLowest').html(values[4][0]);
156      $('#iEstimatedLowestAll').html(values[4][1]);
157    }
158
159
160
161    this.doRequest = function ()
162    {
163      displayBench(true);
164      $.ajax(
165        {
166          type: "POST",
167          url: "{/literal}{$datas.urlRequest}{literal}",
168          async: true,
169          data: { ajaxfct:"doPpsBench", quality:2 },
170          success: function(msg)
171            {
172              options.pps=msg;
173              _calculateTimes();
174              displayBench(false);
175            },
176         }
177      );
178    }
179
180    var formatTime = function (eTime)
181    {
182      var seconds=(eTime%60).toFixed(2);
183      var minutes=((eTime-seconds)/60).toFixed(0);
184      var returned=seconds+"s";
185      if(minutes>0) returned=minutes+"m"+returned;
186      return(returned);
187    }
188
189    var displayBench = function (processing)
190    {
191      if(processing)
192      {
193        $('#iBenchBtn').css('display', 'none');
194        $('#iBenchWait').css('display', 'block');
195      }
196      else
197      {
198        $('#iBenchBtn').css('display', 'block');
199        $('#iBenchWait').css('display', 'none');
200      }
201    }
202  }
203
204  var qi=new qualityInterface({pps:{/literal}{$datas.pps}{literal}});
205
206</script>
207{/literal}
208
209{$configTabsheet}
210
211<h2>{'cstat_config_plugin'|@translate}</h2>
212
213<form id="iConfig" method="post" action="" class="general">
214
215  <div id='iDisplayConfigDatabase' style='display:none;'>
216
217    <fieldset>
218      <legend>{'cstat_bench'|@translate}</legend>
219      <div>{'cstat_do_benchmark'|@translate}</div>
220      <br>
221      <div id='iBenchBtn'>
222        <input type="button" onclick="qi.doRequest();" value="{'cstat_do_bench'|@translate}">
223      </div>
224      <div id='iBenchWait' style='display:none;text-align:center;'>
225        <img src='./plugins/GrumPluginClasses/icons/processing.gif'>
226      </div>
227    </fieldset>
228
229    <fieldset>
230      <legend>{'cstat_quality_of_analyze'|@translate}</legend>
231
232      <table class="formtable table2">
233        <tr class='throw'>
234          <td>{'cstat_quality_level'|@translate}</td>
235          <td>{'cstat_estimated_time_one_picture'|@translate}</td>
236          <td>{'cstat_estimated_time_all_pictures'|@translate}</td>
237        </tr>
238        <tr>
239          <td>
240            <label><input type="radio" name="f_analyze_ppsQuality" value="{$datas.qualityHighest}" {if $datas.quality==$datas.qualityHighest}checked{/if}>&nbsp;{'cstat_quality_highest'|@translate}</label>
241          </td>
242          <td class='estimatedTime'>
243            <span id='iEstimatedHighest'>-</span>
244          </td>
245          <td class='estimatedTime'>
246            <span id='iEstimatedHighestAll'>-</span>
247          </td>
248        </tr>
249        <tr>
250          <td>
251            <label><input type="radio" name="f_analyze_ppsQuality" value="{$datas.qualityHigh}" {if $datas.quality==$datas.qualityHigh}checked{/if}>&nbsp;{'cstat_quality_high'|@translate}</label>
252          </td>
253          <td class='estimatedTime'>
254            <span id='iEstimatedHigh'>-</span>
255          </td>
256          <td class='estimatedTime'>
257            <span id='iEstimatedHighAll'>-</span>
258          </td>
259        </tr>
260        <tr>
261          <td>
262            <label><input type="radio" name="f_analyze_ppsQuality" value="{$datas.qualityNormal}" {if $datas.quality==$datas.qualityNormal}checked{/if}>&nbsp;{'cstat_quality_normal'|@translate}</label>
263          </td>
264          <td class='estimatedTime'>
265            <span id='iEstimatedNormal'>-</span>
266          </td>
267          <td class='estimatedTime'>
268            <span id='iEstimatedNormalAll'>-</span>
269          </td>
270        </tr>
271        <tr>
272          <td>
273            <label><input type="radio" name="f_analyze_ppsQuality" value="{$datas.qualityLow}" {if $datas.quality==$datas.qualityLow}checked{/if}>&nbsp;{'cstat_quality_low'|@translate}</label>
274          </td>
275          <td class='estimatedTime'>
276            <span id='iEstimatedLow'>-</span>
277          </td>
278          <td class='estimatedTime'>
279            <span id='iEstimatedLowAll'>-</span>
280          </td>
281        </tr>
282        <tr>
283          <td>
284            <label><input type="radio" name="f_analyze_ppsQuality" value="{$datas.qualityLowest}" {if $datas.quality==$datas.qualityLowest}checked{/if}>&nbsp;{'cstat_quality_lowest'|@translate}</label>
285          </td>
286          <td class='estimatedTime'>
287            <span id='iEstimatedLowest'>-</span>
288          </td>
289          <td class='estimatedTime'>
290            <span id='iEstimatedLowestAll'>-</span>
291          </td>
292        </tr>
293      </table>
294
295
296
297
298
299    </fieldset>
300  </div>
301
302  <div id='iDisplayConfigStatSearch'  style='display:none;'>
303    <fieldset>
304      <legend>{'cstat_significant_colors'|@translate}</legend>
305
306      <table class="formtable">
307        <tr>
308          <td colspan="2">{'cstat_percent_min_significant'|@translate}</td>
309        </tr>
310        <tr>
311          <td>
312            <input type="hidden" name="f_stat_minPct" id="icstat_stat_minPct" value="{$datas.minPct}">
313            <div id="icstat_stat_minPct_slider" class="gcBgInput gcBorderInput"></div>
314          </td>
315          <td width="90px">
316            <div id="icstat_stat_minPct_display"></div>
317          </td>
318        </tr>
319      </table>
320    </fieldset>
321  </div>
322
323  <div id='iDisplayConfigDisplay'  style='display:none;'>
324    <fieldset>
325      <legend>{'cstat_gallery_display_colors'|@translate}</legend>
326
327      <label>
328        <input type="checkbox" id='idisplay_gallery_showColorsCBox' onclick="showColors();" {if $datas.showColors=='y'}checked{/if} >
329        {'cstat_display_colors_on_image'|@translate}
330        <input type="hidden" id='idisplay_gallery_showColors' name='f_display_gallery_showColors' value='{$datas.showColors}'>
331      </label>
332
333      <div id='icstat_display_colorSize_area'>
334        <br>
335        <table class="formtable">
336          <tr>
337            <td colspan="2">{'cstat_color_size'|@translate}</td>
338          </tr>
339          <tr>
340            <td>
341              <input type="hidden" name="f_display_gallery_colorSize" id="icstat_display_colorSize" value="{$datas.colorSize}">
342              <div id="icstat_display_colorSize_slider" class="gcBgInput gcBorderInput"></div>
343            </td>
344            <td width="90px">
345              <div id="icstat_display_colorSize_display"></div>
346            </td>
347          </tr>
348        </table>
349      </div>
350
351    </fieldset>
352  </div>
353
354  <input type="submit" value="{'cstat_apply'|@translate}" name="submit_save_config" style="margin-left:1em;" >
355
356</form>
357
358
359<script type="text/javascript">
360  init();
361</script>
Note: See TracBrowser for help on using the repository browser.