Inscris-toi pour écrire dans l'encyclopédie Wikimini!

« Utilisateur:Dr Brains/wikimini.js » : différence entre les versions

Jump to navigation Jump to search
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 10 : Ligne 10 :
var CSSlink = document.createElement('link');
var CSSlink = document.createElement('link');
CSSlink.href = 'https://fr.wikipedia.org/wiki/Utilisateur:Dr_Brains/LiveRCparam.css';
CSSlink.href = 'https://fr.wikipedia.org/wiki/Utilisateur:Dr_Brains/LiveRCparam.css';
CSSlink.rel = "stylesheet";
CSSlink.rel = "LiveRC_stylesheet";
CSSlink.type = "text/css";
CSSlink.type = "text/css";
document.getElementsByTagName('head')[0].appendChild( CSSlink);
document.getElementsByTagName('head')[0].appendChild( CSSlink);


function CheckCSSStyle(){
function CheckCSSStyle(){
var CSSlink = getCSSlink();
if(!CSSlink) alert("Pas trouvé <link>");
var CSS = CSSlink.innerHTML;
var TempDiv = document.createElement('div');
TempDiv.id = "TempDiv";
TempDiv.innerHTML = CSS.unhtmlize();
document.body.appendChild(TempDiv);



// <div id="mw-content-text"




}
}
addOnloadHook(CheckCSSStyle);
addOnloadHook(CheckCSSStyle);

function getCSSlink(){
var Head = document.getElementsByTagName('head')[0];
var Links = Head.getElementsByTagName('link');
for(var a=0,l=Links.length;a<l;a++){
if(Links[a].rel == "LiveRC_stylesheet") return Links[a];
}
return null;
}

String.prototype.htmlize = function() {
var chars = new Array('&','<','>','"');
var entities = new Array('amp','lt','gt','quot');
var string = this;
if(!string) return "";
for (var i=0; i<chars.length; i++) {
var regex = new RegExp(chars[i], "g");
string = string.replace(regex, '&' + entities[i] + ';');
}
return string;
}
String.prototype.unhtmlize = function() {
var entities = new Array('amp','lt','gt','quot');
var chars = new Array('&','<','>','"');
var string = this;
if(!string) return "";
for (var i=0; i<entities.length; i++) {
var regex = new RegExp("&"+entities[i]+";", "g");
string = string.replace(regex, chars[i]);
}
return string;
}





Version du 15 février 2014 à 20:56

// __NORICHEDITOR__
//DebutSectionAuto : Cette section est produite automatiquement
//ConfigSectionAuto

//FinSectionAuto
// __NORICHEDITOR__

//importScript('Mediawiki:Gadgets-Body.js');

var CSSlink = document.createElement('link');
CSSlink.href = 'https://fr.wikipedia.org/wiki/Utilisateur:Dr_Brains/LiveRCparam.css';
CSSlink.rel = "LiveRC_stylesheet";
CSSlink.type = "text/css";
document.getElementsByTagName('head')[0].appendChild( CSSlink);

function CheckCSSStyle(){
  var CSSlink = getCSSlink();
  if(!CSSlink) alert("Pas trouvé <link>");
  var CSS = CSSlink.innerHTML;
  var TempDiv = document.createElement('div');
  TempDiv.id = "TempDiv";
  TempDiv.innerHTML = CSS.unhtmlize();
  document.body.appendChild(TempDiv);


// <div id="mw-content-text"


}
addOnloadHook(CheckCSSStyle);

function getCSSlink(){
  var Head = document.getElementsByTagName('head')[0];
  var Links = Head.getElementsByTagName('link');
  for(var a=0,l=Links.length;a<l;a++){
    if(Links[a].rel == "LiveRC_stylesheet") return Links[a];
  }
  return null;
}

String.prototype.htmlize = function() {
  var chars = new Array('&','<','>','"');
  var entities = new Array('amp','lt','gt','quot');
  var string = this;
  if(!string) return "";
  for (var i=0; i<chars.length; i++) {
    var regex = new RegExp(chars[i], "g");
    string = string.replace(regex, '&' + entities[i] + ';');
  }
  return string;
}
 
String.prototype.unhtmlize = function() {
  var entities = new Array('amp','lt','gt','quot');
  var chars = new Array('&','<','>','"');
  var string = this;
  if(!string) return "";
  for (var i=0; i<entities.length; i++) {
    var regex = new RegExp("&"+entities[i]+";", "g");
    string = string.replace(regex, chars[i]);
  }
  return string;
}




////////////////////////////////////////////////////////// Alerte de nouveaux messages //// DEBUT

if(wgCanonicalSpecialPageName != "NewMessages" && wgUserGroups!=null) addOnloadHook(function (){
     var Adresse = wgServer + wgArticlePath.split('$1').join("Special:NewMessages");
     var Requete = sajax_init_object();
     Requete.open("GET", Adresse, true);
     Requete.onreadystatechange = function() {
          if( Requete.readyState != 4 )  return;
          var ElementTraitement = document.createElement('div');
          ElementTraitement.style.display = "none";
          document.body.appendChild(ElementTraitement);
          ElementTraitement.innerHTML = Requete.responseText;
          var GotNewMessages = 0;
          var Forms = ElementTraitement.getElementsByTagName('form');
          for(var a=0;a<Forms.length;a++){
               if(!hasClass(Forms[a], "lqt_newmessages_read_button")) continue;
               GotNewMessages++
          }
          ElementTraitement.parentNode.removeChild(ElementTraitement);
          if(GotNewMessages>0){
               var Title = document.getElementsByTagName('h1')[0];
               var Message = document.createElement('div');
               Message.className = "usermessage";
               Message.innerHTML = '<img height="25" width="25" src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/36/Nuvola_apps_email.png/25px-Nuvola_apps_email.png" alt="Nuvola apps email.png" />&nbsp;&nbsp;Tu as <a href="'+wgServer + wgArticlePath.split('$1').join("Special:NewMessages") + '" title="Voir ta boîte à  messages">'+GotNewMessages+(GotNewMessages==1 ? " nouveau message" : " nouveaux messages" ) + '</a>';
               Title.parentNode.insertBefore(Message,Title);
          }
     }
     Requete.send(null);
});

////////////////////////////////////////////////////////// Alerte de nouveaux messages //// FIN



////////////////////////////////////////////////////////// Bienvenutage //// DEBUT

importScript('Utilisateur:Dr Brains/Bienvenutage.js');

////////////////////////////////////////////////////////// Bienvenutage //// FIN

// ############################################################################################################### //

////////////////// Modèle:Information sur pages de description d'images ////////////////////////////////

var DefaultTemplate = '__NORICH'+'EDITOR__{{Information\n'
                    + '|description=$1\n'
                    + '|auteur=$2\n'
                    + '|source=$3\n'
                    + '}}'


if(wgCanonicalSpecialPageName=="Upload"){
      addOnloadHook(Upload_ChangeForm);
}else if((wgNamespaceNumber==6)&&((wgAction=="edit")||(wgAction=="submit"))){
      addOnloadHook(Edit_ChangeForm);
}

function Create_Form(){
      var Form = document.createElement("table");
      Form.className = "Information_Image";
      Form.width = "100%";
      Form.innerHTML = '<tr><th scope=row style="width:175px;text-align:right;">'
                     + '<b>Description</b><br/><span>Que représente cette image ?</span>'
                     + '</th><td>'
                     + '<textarea width="100%" id="UploadDescription" ></textarea>'
                     + '</td></tr>'
                     + '<tr><th scope=row style="text-align:right;">'
                     + '<b>Auteur</b><br/><span>Qui a créé cette image ?</span>'
                     + '</th><td>'
                     + '<textarea width="100%" id="UploadAuteur" ></textarea>'
                     + '</td></tr>'
                     + '<tr><th scope=row style="text-align:right;">'
                     + '<b>Source</b><br/><span>Où as-tu trouvé cette image ?</span>'
                     + '</th><td>'
                     + '<textarea width="100%" id="UploadSource" ></textarea>'
                     + '</td></tr>'
      return Form;
}

// SPECIAL:UPLOAD

function Upload_ChangeForm(){
      var UploadDescription = document.getElementById("wpUploadDescription");
      if(!UploadDescription) return;
      //UploadDescription.style.display = "none";
      UploadDescription.style.opacity = "0.7";

      var Inputs = document.getElementsByTagName('input');
      var FoundInput = false;
      for(var a=0;a<Inputs.length;a++){
            if((!FoundInput)&&(Inputs[a].name == "wpUpload")){
                  FoundInput = true;
                  Inputs[a].id = "UploadSaveInput";
                  Inputs[a].disabled = "disabled";
            } 
      }

      var NewUploadDescription = Create_Form();
      UploadDescription.parentNode.insertBefore(NewUploadDescription, UploadDescription);

      var UploadDescription = document.getElementById("UploadDescription");
      UploadDescription.onkeyup = function(){
            Upload_UpdateOldForm("wpUploadDescription", "UploadSaveInput");
      }
      var UploadAuteur = document.getElementById("UploadAuteur");
      UploadAuteur.onkeyup = function(){
            Upload_UpdateOldForm("wpUploadDescription", "UploadSaveInput");
      }
      var UploadSource = document.getElementById("UploadSource");
      UploadSource.onkeyup = function(){
            Upload_UpdateOldForm("wpUploadDescription", "UploadSaveInput");
      }
}

// EDIT

function Edit_ChangeForm(){
      var UploadDescription = document.getElementById("wpTextbox1");
      if(!UploadDescription) return;
      //UploadDescription.style.display = "none";
      UploadDescription.style.opacity = "0.7";

      var InputSave = document.getElementById('wpSave');
      InputSave.disabled = "disabled";

      var NewUploadDescription = Create_Form();
      UploadDescription.parentNode.insertBefore(NewUploadDescription, UploadDescription);

      var Params = Edit_Getparams();

      var UploadDescription = document.getElementById("UploadDescription");
      UploadDescription.value = Params[0];
      UploadDescription.onkeyup = function(){
            Upload_UpdateOldForm("wpTextbox1", "wpSave");
      }
      var UploadAuteur = document.getElementById("UploadAuteur");
      UploadAuteur.value = Params[1];
      UploadAuteur.onkeyup = function(){
            Upload_UpdateOldForm("wpTextbox1", "wpSave");
      }
      var UploadSource = document.getElementById("UploadSource");
      UploadSource.value = Params[2];
      UploadSource.onkeyup = function(){
            Upload_UpdateOldForm("wpTextbox1", "wpSave");
      }
}

function Edit_Getparams(){
      var Params = new Array();
      var TotalValue = document.getElementById("wpTextbox1").value;
      if(TotalValue.match(/\{\{(I|i)nformation/)){
            Params[0] = TotalValue.split("|description=")[1].split("\n|auteur=")[0];
            Params[1] = TotalValue.split("|auteur=")[1].split("\n|source=")[0];
            Params[2] = TotalValue.split("|source=")[1].split("\n}}")[0];
      }else{
            Params[0] = TotalValue.replace(/__NORICHEDITOR__/g, "");
            Params[1] = "";
            Params[2] = "";
      }
      return Params;
}



function Upload_UpdateOldForm(IDForm, IDInput){
      var OldDescription = document.getElementById(IDForm);
      var SaveInput = document.getElementById(IDInput);

      var UploadDescription = document.getElementById("UploadDescription");
      var UploadAuteur = document.getElementById("UploadAuteur");
      var UploadSource = document.getElementById("UploadSource");
      if((!OldDescription)||(!SaveInput)||(!UploadDescription)||(!UploadAuteur)||(!UploadSource)) return;

      var ValueDescription = UploadDescription.value;
      var ValueAuteur = UploadAuteur.value;
      var ValueSource = UploadSource.value;

      var NewTemplate = DefaultTemplate;
      NewTemplate = NewTemplate.split("$1").join(ValueDescription);
      NewTemplate = NewTemplate.split("$2").join(ValueAuteur);
      NewTemplate = NewTemplate.split("$3").join(ValueSource);

      OldDescription.value = NewTemplate;

      if((ValueDescription=="")||(ValueAuteur="")||(ValueSource=="")){
            SaveInput.disabled="disabled";
      }else{
            SaveInput.disabled = "";
      }
}

////////////////////////////////////////////////////////////////////////////////////////

var wgNamespageNumbers = new Array();
var wgNamespageNames = new Array();
wgNamespageNumbers.push(0);
wgNamespageNames.push('main');
wgNamespageNumbers.push(1);
wgNamespageNames.push('Discussion');
wgNamespageNumbers.push(2);
wgNamespageNames.push('Utilisateur');
wgNamespageNumbers.push(3);
wgNamespageNames.push('Discussion utilisateur');
wgNamespageNumbers.push(4);
wgNamespageNames.push('Wikimini');
wgNamespageNumbers.push(5);
wgNamespageNames.push('Discussion Wikimini');
wgNamespageNumbers.push(6);
wgNamespageNames.push('Fichier');
wgNamespageNumbers.push(7);
wgNamespageNames.push('Discussion fichier');
wgNamespageNumbers.push(8);
wgNamespageNames.push('Mediawiki');
wgNamespageNumbers.push(9);
wgNamespageNames.push('Discussion MediaWiki');
wgNamespageNumbers.push(10);
wgNamespageNames.push('Modèle');
wgNamespageNumbers.push(11);
wgNamespageNames.push('Discussion modèle');
wgNamespageNumbers.push(12);
wgNamespageNames.push('Aide');
wgNamespageNumbers.push(13);
wgNamespageNames.push('Discussion aide');
wgNamespageNumbers.push(14);
wgNamespageNames.push('Catégorie');
wgNamespageNumbers.push(15);
wgNamespageNames.push('Discussion catégorie');

if(wgPageName=="Utilisateur:Dr_Brains") addOnloadHook(Bot_AddLink)

function Bot_AddLink(){
      var FirstLi = document.getElementById("ca-nstab-user");
      if(!FirstLi) return;
      var NewLi = document.createElement('li');
      var NewLink = document.createElement('a');
      NewLink.innerHTML = "BOT&nbsp;:&nbsp;Ajout texte"
      NewLink.href= "javascript:Bot_Menu();";
      NewLi.appendChild(NewLink);
      FirstLi.parentNode.insertBefore(NewLi, FirstLi);
}

function Bot_Menu(){
      if(document.getElementById("MenuBot")) return;
      var agt=navigator.userAgent.toLowerCase();
      var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
      if(is_ie){
            LargeurEcran = parseInt(screen.width);
            HauteurEcran = parseInt(screen.height);
      }else{
            LargeurEcran = parseInt(window.innerWidth);
            HauteurEcran = parseInt(window.innerHeight);
      }

      var MenuDiv = document.createElement('div');
      MenuDiv.id = "MenuBot";
      MenuDiv.style.position = "fixed";
      MenuDiv.style.zIndex = 50000;

      var Buttons = '<input type="button" value="Valider" '
                  + 'onclick="Bot_OK()" onselect="Bot_OK()" />'
                  + '<input type="button" value="Annuler" '
                  + 'onclick="Bot_Cancel()" onselect="Bot_Cancel()" />'

      var Menu = document.createElement('fieldset');
      MenuDiv.appendChild(Menu);
      document.body.appendChild(MenuDiv);
      var Legend = document.createElement('legend');
      Legend.innerHTML = Buttons;
      Menu.appendChild(Legend);
      Menu.style.backgroundColor='white';
      Menu.style.border='3px double black';

      var NamespaceForm = document.createElement('fieldset');
      NamespaceForm.id = "Bot_Form_Namespace";
      var NamespaceLegend = document.createElement('legend');
      NamespaceLegend.innerHTML = "Espace de noms";
      NamespaceForm.appendChild(NamespaceLegend);
      var NamespaceSelect = document.createElement('select');
      var Option = document.createElement('option');
      Option.id = wgNamespageNumbers.join('|');
      Option.value = "TOUS";
      Option.innerHTML = "TOUS";
      NamespaceSelect.appendChild(Option);
      for(var a=0;a<wgNamespageNumbers.length;a++){
            var Option = document.createElement('option');
            Option.id = wgNamespageNumbers[a];
            Option.value = wgNamespageNames[a];
            Option.innerHTML = wgNamespageNames[a];
            NamespaceSelect.appendChild(Option);
      }
      NamespaceForm.appendChild(NamespaceSelect);

      var ReplaceForm = document.createElement('fieldset');
      ReplaceForm.id = "Bot_Form_Replace";
      var ReplaceLegend = document.createElement('legend');
      ReplaceLegend.innerHTML = "Remplacement (RegExp)";
      ReplaceForm.appendChild(ReplaceLegend);
      var Replacefrom = document.createElement('input');
      Replacefrom.type = "text";
      Replacefrom.id = "Bot_Form_ReplaceFrom";
      var Replaceto = document.createElement('input');
      Replaceto.type = "text";
      Replaceto.id = "Bot_Form_ReplaceTo";
      ReplaceForm.appendChild(Replacefrom);
      ReplaceForm.appendChild(document.createTextNode(" >>> "));
      ReplaceForm.appendChild(Replaceto);

      var AddTextForm = document.createElement('fieldset');
      var AddTextLegend = document.createElement('legend');
      AddTextLegend.innerHTML = "Ajout";
      AddTextForm.appendChild(AddTextLegend);
      AddTextForm.id = "Bot_Form_Add";
      var AddBefore = document.createElement('input');
      AddBefore.type = "text";
      AddBefore.id = "Bot_Form_AddBefore";
      AddBeforeLabel = document.createElement('label');
      AddBeforeLabel.for = "Bot_Form_AddBefore";
      AddBeforeLabel.innerHTML = "avant ";
      var AddAfter = document.createElement('input');
      AddAfter.type = "text";
      AddAfter.id = "Bot_Form_AddAfter";
      AddAfterLabel = document.createElement('label');
      AddAfterLabel.for = "Bot_Form_AddAfter";
      AddAfterLabel.innerHTML = "après";
      AddTextForm.appendChild(AddBefore);
      AddTextForm.appendChild(AddBeforeLabel);
      AddTextForm.appendChild(AddAfter);
      AddTextForm.appendChild(AddAfterLabel);

      Menu.appendChild(NamespaceForm);
      Menu.appendChild(ReplaceForm);
      Menu.appendChild(AddTextForm);

      PositionGauche = parseInt((LargeurEcran-MenuDiv.clientWidth)/2) ;
      PositionHaut = parseInt((HauteurEcran-MenuDiv.clientHeight)/5) ;
      MenuDiv.style.left=PositionGauche + 'px';
      MenuDiv.style.top=PositionHaut + 'px';
}

function Bot_Cancel(){
      var Menu = document.getElementById("MenuBot");
      if(Menu) Menu.parentNode.removeChild(Menu);
}

function Bot_OK(){
      var MenuNamespace = document.getElementById("Bot_Form_Namespace");
      var MenuReplaceFrom = document.getElementById("Bot_Form_ReplaceFrom");
      var MenuReplaceTo = document.getElementById("Bot_Form_ReplaceTo");
      var MenuAddBefore = document.getElementById("Bot_Form_AddBefore");
      var MenuAddAfter = document.getElementById("Bot_Form_AddAfter");
      if(!MenuNamespace || !MenuReplaceFrom || !MenuReplaceTo || !MenuAddBefore || !MenuAddAfter) return;

      var NamespaceOption = false;
      var Options = MenuNamespace.getElementsByTagName('option');
      for(var a=0;a<Options.length;a++){
            if(Options[a].selected) NamespaceOption = Options[a].id;
      }
      
      var ReplaceFrom = MenuReplaceFrom.value;
      var ReplaceTo = MenuReplaceTo.value;

      var AddBefore = MenuAddBefore.value;
      var AddAfter = MenuAddAfter.value;

      Bot_Cancel();
      Bot_Run(NamespaceOption, ReplaceFrom, ReplaceTo, AddBefore, AddAfter);
}

function Bot_Run(NamespaceOption, ReplaceFrom, ReplaceTo, AddBefore, AddAfter, PagesArray, APIContinue){
      if(!PagesArray) PagesArray = new Array();
      if(!APIContinue) APIContinue = "";
      if( (wgUserGroups.indexOf("bot")!=-1) || (wgUserGroups.indexOf("sysop")!=-1) ){
            var Bot_APILIimit = 4999;
      }else{
            var Bot_APILIimit = 499;
      }
      var Adresse = wgServer+wgScriptPath+'/api.php?format=xml&action=query&list=allpages&apnamespace='+NamespaceOption+'&apfilterredir=nonredirects&aplimit='+Bot_APILIimit + APIContinue;
      alert(Adresse);





}
Wikiboo Outils personnels