Usuari:Pasqual/scripts/commutadordestat.js

De Viquipèdia

< Usuari:Pasqual | scripts

Notau: Després de desar, heu de posar al dia la memòria cau del vostre navegador per veure els canvis: Mozilla: pitgeu reload(or ctrl-r), IE / Opera: ctrl-f5, Safari: cmd-r, Konqueror ctrl-r.

/*
</pre>
Font: http://en.wikipedia.org/wiki/User:Topaz/Wikiscripts

Personalitzada per Axxgreazz, per al [[w:es:User:Axxgreazz/Monobook-Suite]]

http://es.wikipedia.org/wiki/Usuario:Axxgreazz/Monobook-Suite

adaptada, traduïda i millorada per [[w:ca:User:Pasqual]]

<pre><nowiki>
*/

topaz.statuschanger = new Object();

//Variables per determinar el codi i el nom de l'estat

var wpMarcaAdmin=false;
var wpSubpàgina="/Status";
var wpCòpula=" es troba ";
var codiEstat='', nomEstat='', nomEstat1='', nomEstat2='', nomEstat3='', nomEstat4='';
 	
if (wpPlantilla==false){wpSubpàgina="/Estat";} //wpPlantilla és perquè en Martorell va crear una
                                               //plantilla per indicar l'estat. Els Viquiestris
                                               //utilitzen un div.

//Fins que no trove la magistral fòrmula l'instrucció següent determinarà si s'és admin o no és té
// cap marca especial.

if (wpUsuari=='Plàcid Pérez Bru' || wpUsuari=='Xevi' || wpUsuari=='Makinal' ||
    wpUsuari=='Joanjoc' || wpUsuari=='Martorell' || wpUsuari=='Friviere' ||
    wpUsuari=='Oersted' || wpUsuari=='Vriullop' || wpUsuari=='Pepetps' ||
    wpUsuari=='Barcelona' || wpUsuari=='Alonso' || wpUsuari=='SMP') {wpMarcaAdmin=true};

/*inici de configuració*/

//Codis d'estats en aquesta Viquipèdia
  if (wpEdició=='ca'){
    if(wpMarcaAdmin){
      nomEstat1='disponible';nomEstat2='enfeinat';nomEstat3='absent'; nomEstat4='en proves';
    } else {
      nomEstat1='en línia';nomEstat2='ocupat';nomEstat3='desconnectat'; nomEstat4='en proves';
    }
  }

//Codi d'estats a la Viquipèdia en castellà
  if (wpEdició=='es'){
      nomEstat1='en línea';
      nomEstat2='ocupado';
      nomEstat3='desconectado';
      nomEstat4='en pruebas';
      wpSubpàgina="/Estado";
      wpCòpula = " está ";
  }

//Codi d'estats a la Viquipedia en anglès
  if (wpEdició=='en'){
      nomEstat1='online';
      nomEstat2='busy';
      nomEstat3='offline';
      nomEstat4='debugging';
      wpSubpàgina = "/Status";
      wpCòpula = " is ";
  }

/* fi de configuració */

pqNomGaleta   = 'Estat-'+wpUsuari;
pqGaletaEstat = prenGaleta(pqNomGaleta);

if (pqGaletaEstat=='') {
  pregunta = confirm (
       "No heu seleccionat el vostre estat,\no no teniu activades les galetes,\n" +
       "o les vostres galetes han vençut.\n\nSi contesteu que sí activareu el vostre\n" +
       "estat actual a "+(!wpMarcaAdmin ? "'en línia'" : "'disponible'"))
  if(pregunta == true) {
    condició = (!wpMarcaAdmin) ? "en línia" : "disponible";
    galetaEstat(condició);
  } else {
    galetaEstat('no activat')
  }
}


/**************************************************************************************************
***************************************************************************************************

I ara el codi de'n en:User:Topaz, he hagut de modificar alguna cosa, si volem canviar els valor
del nom de l'estat és millor fer-ho amb les variable de dalt, assignant nous valors a nomEstat1,
nomEstat2 i nomEstat3, abans, s'havien de retocar els paràmetres de la següent instrucció.

***************************************************************************************************
**************************************************************************************************/

topaz.statuschanger.statuscode = {
  disponible:'1',
  enfeinat:'3',
  provant:'4',
  absent:'5'
};

topaz.statuschanger.oldonload = window.onload;
window.onload = function() {
  if (typeof topaz.statuschanger.oldonload == "function") {
      setTimeout('topaz.statuschanger.oldonload()',50);
  }
  if (!wpPanellEstat) {
    if (wpPosicióBarra) {
      var d = topaz.wputil.addsidepanelbutton2("p-personal", nomEstat4,
              'javascript:topaz.statuschanger.setstatus("provant")');
      var c = topaz.wputil.addsidepanelbutton2("p-personal", nomEstat3,
              'javascript:topaz.statuschanger.setstatus("absent")');
      var b = topaz.wputil.addsidepanelbutton2("p-personal", nomEstat2,
              'javascript:topaz.statuschanger.setstatus("enfeinat")');
      var a = topaz.wputil.addsidepanelbutton2("p-personal", nomEstat1,
              'javascript:topaz.statuschanger.setstatus("disponible")');
    } else {
      var a = topaz.wputil.addsidepanelbutton("p-personal", nomEstat1,
              'javascript:topaz.statuschanger.setstatus("disponible")');
      var b = topaz.wputil.addsidepanelbutton("p-personal", nomEstat2,
              'javascript:topaz.statuschanger.setstatus("enfeinat")');
      var c = topaz.wputil.addsidepanelbutton("p-personal", nomEstat3,
              'javascript:topaz.statuschanger.setstatus("absent")');
      var d = topaz.wputil.addsidepanelbutton("p-personal", nomEstat4,
              'javascript:topaz.statuschanger.setstatus("provant")');
    }
  
    a.style.borderRight=b.style.borderRight=c.style.borderRight="1px solid #aaaaaa";
    b.style.marginLeft=c.style.marginLeft=d.style.marginLeft="0px";
    a.style.paddingRight=b.style.paddingLeft=b.style.paddingRight=c.style.paddingLeft=
      c.style.paddingRight=d.style.paddingLeft="1px";
    
    switch (pqGaletaEstat) {
      case 'en línia':case 'disponible':case '1':case 'online':
           a.style.fontWeight="bold";
           b.style.fontWeight=c.style.fontWeight=d.style.fontWeight="none";
           break;
      case 'ocupat':case 'enfeinat':case '3':case 'busy':
           b.style.fontWeight="bold";
           a.style.fontWeight=c.style.fontWeight=d.style.fontWeight="none";
           break;
      case 'desconnectat':case 'absent':case '5':case 'offline':
           c.style.fontWeight="bold";
           a.style.fontWeight=b.style.fontWeight=d.style.fontWeight="none";
           break;
      case 'en proves': case '4': case 'debugging':
           d.style.fontWeight="bold";
           a.style.fontWeight=b.style.fontWeight=c.style.fontWeight="none";
           break;
    }

   } else {

      topaz.wputil.addsidepanel("tz-statuschanger", "status changer");
      topaz.wputil.addsidepanelbutton("tz-statuschanger", nomEstat1,
          'javascript:topaz.statuschanger.setstatus("disponible")');
      topaz.wputil.addsidepanelbutton("tz-statuschanger", nomEstat2,
          'javascript:topaz.statuschanger.setstatus("enfeinat")');
      topaz.wputil.addsidepanelbutton("tz-statuschanger", nomEstat3,
          'javascript:topaz.statuschanger.setstatus("absent")');
      topaz.wputil.addsidepanelbutton("tz-statuschanger", nomEstat4,
          'javascript:topaz.statuschanger.setstatus("provant")');
   }
};

topaz.statuschanger.setstatus = function(statusname) {
  var wpStatusName=topaz.statuschanger.statuscode[statusname];
  
  if (wpStatusName=='1'){nomEstat=nomEstat1; wpDebug=false;}
  if (wpStatusName=='3'){nomEstat=nomEstat2; wpDebug=false;}
  if (wpStatusName=='4'){nomEstat=nomEstat4; wpDebug=false;}
  if (wpStatusName=='5'){nomEstat=nomEstat3; wpDebug=true;}
    
  if (wpEdició=='es') {codiEstat=wpStatusName} else {codiEstat=nomEstat}
  galetaEstat(codiEstat);

topaz.wputil.setpagecontent(
      "User:"+wpUsuari+wpSubpàgina,     //Substituït
      codiEstat,                       //topaz.statuschanger.statuscode[statusname] per codiEstat
      wpUsuari + wpCòpula + nomEstat,  //statusname per nomEstat.
      wpVigilaEstat);                  //topaz.statuschanger.watchstatus per wpVigilaEstat
};

  
/*
</nowiki></pre>
*/