source: extensions/AMetaData/admin/amd_metadata_database.tpl @ 5935

Last change on this file since 5935 was 5935, checked in by grum, 14 years ago

Update plugin for Piwigo 2.1

  • Property svn:executable set to *
File size: 7.6 KB
Line 
1{known_script id="jquery.ui" src=$ROOT_URL|@cat:"themes/default/js/ui/packed/ui.core.packed.js"}
2{known_script id="jquery.ui.slider" src=$ROOT_URL|@cat:"themes/default/js/ui/packed/ui.slider.packed.js"}
3{known_script id="jquery.ui.dialog" src=$ROOT_URL|@cat:"themes/default/js/ui/packed/ui.dialog.packed.js"}
4
5
6{literal}
7<script type="text/javascript">
8
9  function init()
10  {
11    formatNbItemPerRequest({/literal}{$datas.NumberOfItemsPerRequest}{literal});
12    /*$("#iamd_nb_item_per_request_slider").slider(
13      {
14        min:5,
15        max:150,
16        steps:29,
17        startValue:{/literal}{$datas.NumberOfItemsPerRequest}{literal},
18        slide: function(event, ui) { formatNbItemPerRequest(ui.value); }
19      }
20    );*/
21    getStatus();
22  }
23
24  function formatNbItemPerRequest(nbItems)
25  {
26    $("#iamd_NumberOfItemsPerRequest").val(nbItems);
27    $("#iamd_nb_item_per_request_display").html(nbItems);
28  }
29
30  function getStatus()
31  {
32    data=$.ajax(
33      {
34        type: "POST",
35        url: "{/literal}{$datas.urlRequest}{literal}",
36        async: false,
37        data: { ajaxfct:"makeStatsGetStatus" }
38      }
39    ).responseText;
40
41    list=data.split(";");
42    $("#ianalyzestatus").html("<ul><li>"+list[0]+"</li><li>"+list[1]+"</li><li>"+list[2]+"</li></ul>");
43  }
44
45  function doAnalyze()
46  {
47    $("body").css("cursor", "wait");
48
49    mode="all";
50    modeLabel="";
51
52    if($("#ianalyze_action0").get(0).checked)
53    {
54      mode="notAnalyzed";
55      modeLabel="{/literal}{'g003_analyze_not_analyzed_pictures'|@translate}{literal}";
56    }
57    else if($("#ianalyze_action1").get(0).checked)
58    {
59      mode="all";
60      modeLabel="{/literal}{'g003_analyze_all_pictures'|@translate}{literal}";
61    }
62    else if($("#ianalyze_action2").get(0).checked)
63    {
64      mode="caddieAdd";
65      modeLabel="{/literal}{'g003_analyze_caddie_add_pictures'|@translate}{literal}";
66    }
67    else if($("#ianalyze_action3").get(0).checked)
68    {
69      mode="caddieReplace";
70      modeLabel="{/literal}{'g003_analyze_caddie_replace_pictures'|@translate}{literal}";
71    }
72
73
74    doAnalyze="<br><form id='iDialogProgress' class='formtable'>"+
75      "<div id='iprogressbar_contener' class='gcBorderInput'>"+
76      "<span id='iprogressbar_bg' class='gcBgInput' style='width:0%;'>&nbsp;</span>"+
77      "<span id='iprogressbar_fg' class='gcLink'>0%</span>"+
78      "</div><p>{/literal}{'g003_analyze_in_progress'|@translate}{literal}"+
79      "<br><img src='./plugins/GrumPluginClasses/icons/processing.gif'>"
80      "</p></form>";
81
82    $("#dialog")
83    .html("")
84    .dialog(
85      {
86        resizable: false,
87        width:480,
88        height:120,
89        modal: true,
90        draggable:true,
91        dialogClass: 'gcBgTabSheet gcBorder',
92        title: '{/literal}{"g003_updating_metadata"|@translate}{literal}&nbsp;('+modeLabel+')',
93      }
94    ).html(doAnalyze);
95
96    NumberOfItemsPerRequest=$("#iamd_NumberOfItemsPerRequest").val();
97
98    $.ajax(
99      {
100        type: "POST",
101        url: "{/literal}{$datas.urlRequest}{literal}",
102        async: false,
103        data: { ajaxfct:"makeStatsGetList", selectMode:mode, numOfItems:NumberOfItemsPerRequest },
104        success: function(msg)
105          {
106            doStep_getList(msg);
107          },
108        error: function()
109          {
110            alert('error');
111          }
112      }
113    );
114  }
115
116
117  function displayTime(eTime)
118  {
119    seconds=(eTime%60).toFixed(2);
120    minutes=((eTime-seconds)/60).toFixed(0);
121    returned=seconds+"s";
122    if(minutes>0) returned=minutes+"m"+returned;
123    return(returned);
124  }
125
126  function doStep_getList(data)
127  {
128    timeStart = new Date();
129    list=data.split(";");
130    for(i=0;i<list.length-1;i++)
131    {
132      tmp = $.ajax({
133        type: "POST",
134        url: "{/literal}{$datas.urlRequest}{literal}",
135        async: false,
136        data: { ajaxfct:"makeStatsDoAnalyze", imagesList:list[i] }
137       }).responseText;
138
139      pct=100*(i+1)/list.length;
140      $("#iprogressbar_bg").css("width", pct+"%");
141      $("#iprogressbar_fg").html(Math.round(pct)+"%");
142    }
143
144    tmp = $.ajax({
145      type: "POST",
146      url: "{/literal}{$datas.urlRequest}{literal}",
147      async: false,
148      data: { ajaxfct:"makeStatsConsolidation" }
149     }).responseText;
150
151
152    timeEnd = new Date();
153    timeElapsed=timeEnd.getTime()-timeStart.getTime();
154
155
156    $("#dialog")
157    .dialog("destroy")
158    .html("")
159    .get(0).removeAttribute('style');
160
161    $("#dialog")
162    .dialog(
163      {
164        resizable: false,
165        width:480,
166        height:120,
167        modal: true,
168        draggable:true,
169        dialogClass: 'gcBgTabSheet gcBorder',
170        title: '{/literal}{"g003_updating_metadata"|@translate}{literal}',
171        dialogClass: 'gcBgTabSheet gcBorder',
172        open: function(event, ui)
173        {
174          bH=$("div.ui-dialog-buttonpane").get(0).clientHeight;
175          $("#dialog").css('height', (this.clientHeight-bH)+"px");
176        },
177        buttons:
178        {
179          '{/literal}{"g003_ok"|@translate}{literal}':
180            function()
181            {
182              $(this).dialog('destroy').html("").get(0).removeAttribute('style');
183            }
184        }
185      }
186    )
187    .html("<br>{/literal}{'g003_analyze_is_finished'|@translate}{literal}&nbsp;("+displayTime(timeElapsed/1000)+")");
188
189    getStatus();
190    $("body").css("cursor", "default");
191  }
192
193
194
195</script>
196{/literal}
197
198<h3>{'g003_status_of_database'|@translate}</h3>
199
200<div id="dialog"></div>
201
202
203<div id="ianalyzestatus">
204  <ul>
205    <li>{'g003_loading'|@translate}</li>
206    <li>{'g003_loading'|@translate}</li>
207    <li>{'g003_loading'|@translate}</li>
208  </ul>
209</div>
210
211<div class="nfo">
212  <ul>
213    <li>{'g003_warning_on_analyze_4a'|@translate}</li>
214    <li>{'g003_warning_on_analyze_4b'|@translate}</li>
215  </ul>
216</div>
217
218
219<div id='ianalyzearea'>
220  <fieldset>
221    <legend>{'g003_update_metadata'|@translate}</legend>
222      <form class="formtable">
223        <div class="nfo">
224          <p>{'g003_warning_on_analyze_3'|@translate}</p>
225          <ul>
226            <li>{'g003_warning_on_analyze_3a'|@translate}</li>
227            <li>{'g003_warning_on_analyze_3b'|@translate}</li>
228          </ul>
229
230          <p>{'g003_warning_on_analyze_5'|@translate}</p>
231        </div>
232
233        <label>
234          <input type="radio" value="caddieAdd" name="fAMD_analyze_action" id="ianalyze_action2" checked>&nbsp;
235          {'g003_analyze_caddie_add_pictures'|@translate}
236        </label><br>
237
238        <label>
239          <input type="radio" value="caddieReplace" name="fAMD_analyze_action" id="ianalyze_action3">&nbsp;
240          {'g003_analyze_caddie_replace_pictures'|@translate}
241        </label><br>
242
243
244        <label>
245          <input type="radio" value="notAnalayzed" name="fAMD_analyze_action" id="ianalyze_action0">&nbsp;
246          {'g003_analyze_not_analyzed_pictures'|@translate}
247        </label><br>
248
249        <label>
250          <input type="radio" value="all" name="fAMD_analyze_action" id="ianalyze_action1">&nbsp;
251          {'g003_analyze_all_pictures'|@translate}
252        </label><br>
253
254        <div class="warning">
255          <p style="font-weight:bold; font-size:+2;">{'g003_warning_on_analyze_0'|@translate}</p>
256          <p>{'g003_warning_on_analyze_1'|@translate}</p>
257          <p  style="font-weight:bold;">{'g003_warning_on_analyze_2'|@translate}</p>
258        </div>
259
260
261        <br>
262        <input type="hidden" id="iamd_NumberOfItemsPerRequest" value="{$datas.NumberOfItemsPerRequest}">
263        <!--
264        {'g003_setting_nb_items_per_request'|@translate}&nbsp;
265        <div id="iamd_nb_item_per_request_slider"></div>
266        <div id="iamd_nb_item_per_request_display"></div>
267        <br><br>
268        -->
269
270        <input type="button" value="{'g003_analyze'|@translate}" onclick="doAnalyze();">
271
272      </form>
273  </fieldset>
274
275</div>
276
277
278
279
280<script type="text/javascript">
281  init();
282</script>
Note: See TracBrowser for help on using the repository browser.