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

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

Some changes on release 0.4b

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