Utente:FixBot/DeletionBot/main2.js

Questa pagina definisce alcuni parametri di aspetto e comportamento generale di tutte le pagine. Per personalizzarli vedi Aiuto:Stile utente.


Nota: dopo aver salvato è necessario pulire la cache del proprio browser per vedere i cambiamenti (per le pagine globali è comunque necessario attendere qualche minuto). Per Mozilla / Firefox / Safari: fare clic su Ricarica tenendo premuto il tasto delle maiuscole, oppure premere Ctrl-F5 o Ctrl-R (Command-R su Mac); per Chrome: premere Ctrl-Shift-R (Command-Shift-R su un Mac); per Konqueror: premere il pulsante Ricarica o il tasto F5; per Opera può essere necessario svuotare completamente la cache dal menù Strumenti → Preferenze; per Internet Explorer: mantenere premuto il tasto Ctrl mentre si preme il pulsante Aggiorna o premere Ctrl-F5.

var guiTimeout = 0;
if (wgTitle == "FixBot/DeletinBot/GUI") 
{
   // Il bot viene eseguito quando l'intera pagina è stata caricata
   $(window).load(testGUI);   
}

function testGUI()
{
   form_data = '<select id="giorno" name="giorno" style="height:25px; vertical-align:top; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;">  <option value="1">1</option><option value="2">2</option>  <option value="3">3</option>  <option value="4">4</option>  <option value="5">5</option>  <option value="6">6</option>  <option value="7">7</option>  <option value="8">8</option>  <option value="9">9</option>  <option value="10">10</option>  <option value="11">11</option>  <option value="12">12</option>  <option value="13">13</option>  <option value="14">14</option>  <option value="15">15</option>  <option value="16">16</option>  <option value="17">17</option>  <option value="18">18</option>  <option value="19">19</option>  <option value="20">20</option>  <option value="21">21</option>  <option value="22">22</option>  <option value="23">23</option>  <option value="24">24</option>  <option value="25">25</option>  <option value="26">26</option>  <option value="27">27</option>  <option value="28">28</option>  <option value="29">29</option>  <option value="30">30</option>  <option value="31">31</option></select>';
   form_data += '<select id="mese" name="mese" style="margin-left:2px; height:25px; vertical-align:top; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;">  <option value="1">gennaio</option>  <option value="2">febbraio</option>  <option value="3">marzo</option>  <option value="4">aprile</option>  <option value="5">maggio</option>  <option value="6">giugno</option>  <option value="7">luglio</option>  <option value="8">agosto</option>  <option value="9">settembre</option>  <option value="10">ottobre</option>  <option value="11">novembre</option>  <option value="12">dicembre</option></select>';
   form_data += '<input type="text" id="anno" name="anno" id="anno" size="4"  style="margin-left:2px; height:25px; vertical-align:top; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;" />';
   form_data += '<label style="margin-left:100px;">Giorni:</label><input type="text" name="giorni" id="giorni" size="2" style="margin-left:2px; height:25px; vertical-align:top; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;" />';
   
   form_runBot = ' <button type="button" id="RunBot_button" onclick="runBot_GUI(\'letturaPDC\')">Aggiorna Log e Tabelle</button>';
   form_runBotCat = ' <button type="button" id="RunBotCat_button" onclick="runBot_GUI(\'aggiornaCategorie\')">Aggiorna categorie</button>';
   form_log = '<textarea id="botlog" name="botlog" rows="50" cols="75" disabled="disabled" style="width:900px;">Pronto</textarea>';
   
   $("#form-data").html(form_data);
   d = new Date();
   $('#giorno').val( d.getDate() );
   $('#mese').val( d.getMonth()+1 );
   $('#anno').val( d.getFullYear() );
   $('#giorni').val( 1 );
   
   $('#form-RunBot').html(form_runBot);
   $('#form-RunBotCat').html(form_runBotCat);
   $('#form-log').html(form_log);
   
   $('#botPanel').show();
}

function runBot_GUI(tipo)
{
   disattivaGUI();
   
   r = [];
   appStatusRouter = [];

   // Validazione data e numero giorni
   d = validazioneData();
   if(!d)
   {
      alert('La data selezionata non è valida!');
      attivaGUI();
      return;
   }

   giorni=parseInt($('#giorni').val());
   
   
   if( isNaN(giorni) )
   {
      alert('Il valore inserito nel campo "giorni" non è valido!');
      attivaGUI();
      return;
   }
   else if( giorni < 1 || giorni > 9 )
   {
      alert('Il numero di giorni deve essere compreso tra 1 e 8');
      attivaGUI();
      return;
   }

   switch(tipo)
   {
      case 'letturaPDC':
         r['letturaPDC'] = true;
         break;

      case 'aggiornaCategorie':
         r['gestioneCategorieAnnuali'] = true;
         r['gestioneCategorieMensili'] = true;
         r['gestioneCategorieGiornaliere'] = true;
         r['leggiStatoCatInCorso'] = true;
         break;
   }
   
   for( key in r )
   {
      if( r[key] )
         appStatusRouter.push(key);
   }
 
   messages = []; 	
   guiTimeout = 5*60+10;
   guiInt=setInterval(checkGUItimeout, 1000);
   mainDeletionBot(d, giorni, appStatusRouter, 5);
          
   
}

function checkGUItimeout()
{
   if( currentAppStatus == 'finish' || currentAppStatus == 'timeout')
   {
      clearInterval(guiInt); 
      messages_str = '';
      for( var i=0; i < messages.length; i++)
         messages_str = messages_str+messages[i]+'\n';
      $('#botlog').val( messages_str );
      attivaGUI();
      
   }
   else if( guiTimeout == 0 )
   {
      $('#botlog').val( 'Interruzione del bot...' );
   }
   else
   {
      guiTimeout--;
      min = Math.floor(guiTimeout/60);
      if(min<10) min='0'+min;
      s = guiTimeout%60;
      if(s<10) s='0'+s;
      $('#botlog').val( 'Esecuzione in corso (timeout: '+min+':'+s+')' );

   }
}

function attivaGUI()
{
   $('#giorno').removeProp("disabled");
   $('#mese').removeProp("disabled");
   $('#anno').removeProp("disabled");
   $('#giorni').removeProp("disabled");
   $('#RunBot_button').removeProp("disabled");
   $('#RunBotCat_button').removeProp("disabled");
}

function disattivaGUI()
{
   $('#giorno').prop("disabled",true);
   $('#mese').prop("disabled",true);
   $('#anno').prop("disabled",true);
   $('#giorni').prop("disabled",true);
   $('#RunBot_button').prop("disabled",true);
   $('#RunBotCat_button').prop("disabled",true);
}

function validazioneData()
{
   dd=$('#giorno').val();
   mm=$('#mese').val();
   yy=$('#anno').val();
   
   d = new Date(yy, mm-1, dd);
   
   if( d.getDate()==dd && d.getMonth()==mm-1 && d.getFullYear()==yy )
      return d;
   else
   {
      alert('La data inserita non è valida!');
      return false;
   }   
}