For faster navigation, this Iframe is preloading the Wikiwand page for Utilisateur:Dr Brains/Remplace.js.

Utilisateur:Dr Brains/Remplace.js

//<source lang=javascript>//<pre>//<nowiki>

//////////////// TEXTES //////////////////////

var Remplace_Text = new Array();

Remplace_Text["Remplacer"] = "Remplacer";
Remplace_Text["RemplacerTitle"] = "Remplacement de texte"
Remplace_Text["OldRegExp"] = "Texte à remplacer (RegExp)";
Remplace_Text["NewText"] = "Texte de remplacement";
Remplace_Text["InPage"] = "Remplacer seulement dans la page";
Remplace_Text["Filter"] = "Filtres";
Remplace_Text["Prefix"] = "Pages commençant par";
Remplace_Text["Suffix"] = "Pages finissant par";
Remplace_Text["InNs"] = "Espace de noms";
Remplace_Text["InCat"] = "Pages dans la catégorie";
Remplace_Text["Options"] = "Options";
Remplace_Text["Minor"] = "Modification mineure";
Remplace_Text["Watch"] = "Suivre";
Remplace_Text["No"] = "Non"
Remplace_Text["NoChange"] = "Inchangé"
Remplace_Text["Pref"] = "Préférences"
Remplace_Text["Yes"] = "Oui"
Remplace_Text["Autoconfirm"] = "Publication automatique";
Remplace_Text["OK"] = "Remplacer"
Remplace_Text["Cancel"] = "Annuler"
Remplace_Text["AlertListTooMany"] = "La requête est trop étendue. Effectuez un filtrage plus resséré."
Remplace_Text["AlertListNone"] = "Aucune page ne correspond aux critères spécifiés."
Remplace_Text["AlertList"] = "$1 page((Plural:$1||s)) ((Plural:$1|va|vont)) être modifiée((Plural:$1||s)).\nContinuer ?"
Remplace_Text["ResumeText"] = "Résumé : ";
Remplace_Text["Resume"] = "Remplacement de texte automatisé : « $1 » -> « $2 »";
Remplace_Text["ConfirmSaving"] = "Sauvegarder la modification ?";
Remplace_Text["NextPage"] = "Page suivante ?";
Remplace_Text["JobDone"] = "Remplacement terminé !";


//////////////// PARAMÈTRES //////////////////////

var Remplace_Params = new Array();

Remplace_Params["CatSuggestLimit"] = 20;
Remplace_Params["CatSuggestSelectLimit"] = 5;

Remplace_Params["PageSuggestLimit"] = 20;
Remplace_Params["PageSuggestSelectLimit"] = 5;

//////////////// AUTRES VARIABLES //////////////////////

var Remplace_ReplaceParams = new Array();


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

function Remplace_PLURAL(Text, Plural){
    var PluralRegExp = new RegExp("\\{\\{PLURAL[^\\}]+\\}\\}", "ig")
    var Matches = Text.match(PluralRegExp);
    if(Matches!=null){    
        for(var b=0,m=Matches.length;b<m;b++){
            var Match = Matches[b];
            var Params = Match.split('))').join('').split('|');
            var Result = "";
            if(Plural>1){
                Result = Params[2];
            }else{
                Result = Params[1];
            }
            if(!Result) Result = "";
            Text = Text.replace(Match, Result);
        }
    }
    return Text;
}

if(typeof(MoveResizeFixed_AddMoveArea)!="function"){ 
    mw.loader.load("//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-MoveResizeFixed.js&action=raw&ctype=text/javascript");
    }
if(typeof(Suggest_AddPageSuggestion)!="function"){ 
    mw.loader.load("//fr.wikipedia.org/w/index.php?title=MediaWiki:Gadget-Suggest.js&action=raw&ctype=text/javascript");
}
if(mw.config.get('wgUserGroups').indexOf("autopatrolled")!=-1 || mw.config.get('wgUserGroups').indexOf("bot")!=-1){
     if( (mw.config.get('wgNamespaceNumber')>-1)&&(mw.config.get('wgAction')!="edit")&&(mw.config.get('wgAction')!="submit") ){
          addOnloadHook(Remplace_AddButton);
     }
}

function Remplace_AddButton(){
     var OngletsCactions = document.getElementById('p-cactions');
     if(OngletsCactions){
          var CactionsUl = OngletsCactions.getElementsByTagName('ul')[0];
          CactionsUl.innerHTML += '<li><a href="javascript:Remplace_OpenMenu();" title="'+Remplace_Text["RemplacerTitle"]+'">'+Remplace_Text["Remplacer"]+'</a></li>';
          $(OngletsCactions).removeClass("emptyPortlet");
     }
}

function Remplace_Cancel(){
     var MenuDiv = document.getElementById('Menu_Remplace');
     MenuDiv.parentNode.removeChild(MenuDiv);
}

function Remplace_OpenMenu(){
     var OldMenuDiv = document.getElementById('Menu_Remplace');
     if(OldMenuDiv) return;
     var LargeurEcran = MoveResizeFixed_GetScreenWidth();
     var HauteurEcran = MoveResizeFixed_GetScreenHeight();
     var Menu = document.createElement('div');
     Menu.id = 'Menu_Remplace';
     Menu.className = 'MenuReplace';
     Menu.style.position = 'fixed';
     Menu.style.zIndex = 500;
     Menu.style.backgroundColor = 'white';
     Menu.style.border = '3px double black';
     Menu.style.width = '550px';
     Menu.style.paddingLeft = '5px';
     Menu.style.paddingRight = '5px';
     var MenuContainer = document.createElement('div');
     Menu.appendChild(MenuContainer);
     var MenuContent = '<fieldset><legend>'+Remplace_Text["RemplacerTitle"]+'</legend>'
                     + '<table width="100%" style="background:none"><tr><td width="50%" valign="top" align="center">' 
                     + '<input id="Remplace_Replace1" name="OldRegExp" type="text" value="" /><br/>'
                     + '<label for="Remplace_Replace1">'+Remplace_Text["OldRegExp"]+'</label>'
                     + '</td><td width="50%" valign="top" align="center">'
                     + '<input id="Remplace_Replace2" name="NewText" type="text" value="" /><br/>'
                     + '<label for="Remplace_Replace2">'+Remplace_Text["NewText"]+'</label>'
                     + '</td></tr></table>' 
                     + '<hr/>' 
                     + '<table width="100%" style="background:none"><tr><td width="25%" valign="top" align="right">' 
                     + '<input id="InPageEnabled" name="InPageEnabled" type="checkbox" value="'+mw.config.get('wgPageName').replace(/_/g, " ")+'" checked="checked" onclick="Remplace_PageEnabledToggle()" onkeyup="Remplace_PageEnabledToggleC(event)"/>' 
                     + '</td><td valign="top" align="left">' 
                     + '<form id="InpageForm" style="display:inline">' 
                     + '<input id="InPage" name="InPage" type="text" size="'+mw.config.get('wgPageName').length+'" value="'+mw.config.get('wgPageName').replace(/_/g, " ")+'" />' 
                     + '</form><br/>' 
                     + '<label for="InPage">'+Remplace_Text["InPage"]+'</label>'
                     + '</td></tr></table>' 
                     + '</fieldset>' 
                     + '<fieldset id="FilterFieldset" ><legend>'+Remplace_Text["Filter"]+'</legend>' 
                     + '<table width="100%" style="background:none"><tr><td width="50%" valign="top" align="center">' 
                     + '<input id="Prefix" name="Prefix" type="text" value="" /><br/>'
                     + '<label for="Prefix">'+Remplace_Text["Prefix"]+'</label>' 
                     + '</td><td valign="top" align="center"><form  style="display:inline">' 
                     + '<input id="InCat" name="InCat" type="text" value="'+(mw.config.get('wgNamespaceNumber')==14 ? mw.config.get('wgTitle') : "")+'"  onkeyup="Remplace_MenuSuggestCats();" />' 
                     + '</form><br/>'
                     + '<label for="InCat">'+Remplace_Text["InCat"]+'</label>'
                     + '</td>' 
                     + '</tr><tr>'
                     + '<td valign="top" align="center">'
                     + '<input id="Suffix" name="Suffix" type="text" value="" /><br/>'
                     + '<label for="Suffix">'+Remplace_Text["Suffix"]+'</label>'
                     + '</td><td valign="top" align="center">' 
                     + '<span id="InNSSpan" ></span><br/>'
                     + '<label for="InNs">'+Remplace_Text["InNs"]+'</label>'
                     + '</td></tr></table>' 
                     + '</fieldset>' 
                     + '<fieldset><legend>'+Remplace_Text["Options"]+'</legend>' 
                     + '<table width="100%" style="background:none"><tr><td width="50%" valign="top" align="center">' 
                     + '<label for="Minor">'+Remplace_Text["Minor"]+'</label>' 
                     + '<form id="Minor">' 
                     + '<input type="radio" id="MinorNo" name="Minor" style="cursor:pointer;" />' 
                     + '<label for="MinorNo">'+Remplace_Text["No"]+'</label>' 
                     + '<input type="radio" id="MinorPref" name="Minor" style="cursor:pointer;" />' 
                     + '<label for="MinorPref">'+Remplace_Text["Pref"]+'</label>' 
                     + '<input type="radio" id="MinorYes" name="Minor" style="cursor:pointer;" checked="checked" />' 
                     + '<label for="MinorYes">'+Remplace_Text["Yes"]+'</label>' 
                     + '</form>' 
                     + '</td><td valign="top" align="center">'
                     + '<label for="AutoWatch">'+Remplace_Text["Watch"]+'</label>'
                     + '<form id="AutoWatch">' 
                     + '<input type="radio" id="AutoWatchNo" name="AutoWatch" style="cursor:pointer;" />' 
                     + '<label for="AutoWatchNo">'+Remplace_Text["No"]+'</label>' 
                     + '<input type="radio" id="AutoWatchNochange" name="AutoWatch" style="cursor:pointer;" checked="checked" />' 
                     + '<label for="AutoWatchNochange">'+Remplace_Text["NoChange"]+'</label>' 
                     + '<input type="radio" id="AutoWatchPref" name="AutoWatch" style="cursor:pointer;" />' 
                     + '<label for="AutoWatchPref">'+Remplace_Text["Pref"]+'</label>' 
                     + '<input type="radio" id="AutoWatchYes" name="AutoWatch" style="cursor:pointer;" />' 
                     + '<label for="AutoWatchYes">'+Remplace_Text["Yes"]+'</label>' 
                     + '</form>' 
                     + '</td></tr></table>' 
                     + '<hr style="margin-bottom:1em" />' 
                     + '<center>' 
                     + '<label for="Resume">'+Remplace_Text["ResumeText"]+'</label>' 
                     + '<input id="Resume" name="Resume" size="'+Remplace_Text["Resume"].length+'" type="text" value="'+Remplace_Text["Resume"]+'" />' 
                     + '</center>' 
                     + '</fieldset>' 
                     + '<fieldset><legend>'+Remplace_Text["Remplacer"]+'</legend><center>' 
                     + '<input type="checkbox" id="Autoconfirm"  name="Autoconfirm" style="cursor:pointer;" />'
                     + '<label for="Autoconfirm">'+Remplace_Text["Autoconfirm"]+'</label>'
                     + '<br/>'
                     + '<input type="button" value="'+Remplace_Text["OK"]+'" onclick="Remplace_CheckParams();" onselect="Remplace_CheckParams();"/>'
                     + '&nbsp;&nbsp;'
                     + '<input type="button" value="'+Remplace_Text["Cancel"]+'" onclick="Remplace_Cancel();" onselect="Remplace_Cancel();"/>'
                     + '<span id="RequestInProgress" style="display:none;margin-left:1em;"><img height="20" width="20" src="http://upload.wikimedia.org/wikipedia/commons/d/de/Ajax-loader.gif" alt="Requête en cours" /></span>'
                     + '</center></fieldset>'
     MenuContainer.innerHTML = MenuContent; 
     var MenuAnchor = document.createElement('div');
     MenuAnchor.style.position = 'relative';
     MenuAnchor.style.padding = '20px';
     MenuAnchor.style.marginBottom = '5px';
     MenuAnchor.style.border = '1px dashed grey';
     MenuAnchor.innerHTML = "<center>&nbsp;</center>";
     Menu.appendChild(MenuAnchor); 
     document.body.appendChild(Menu); 
     PositionGauche = parseInt((LargeurEcran-Menu.clientWidth)/2) ;
     PositionHaut = parseInt((HauteurEcran-Menu.clientHeight)/3) ;
     Menu.style.left=PositionGauche + 'px';
     Menu.style.top=PositionHaut + 'px';
     document.getElementById("InNSSpan").appendChild(Suggest_AddNamespaceSuggestion("InNs"));
     Suggest_AddPageSuggestion({ "InputNode":document.getElementById("InPage"), "SuggestLimit":Remplace_Params["PageSuggestLimit"], "SuggestListSize":Remplace_Params["PageSuggestSelectLimit"] });
     Suggest_AddPageSuggestion({ "InputNode":document.getElementById("InCat"), "NSFilter":14, "StripNS":true, "SuggestLimit":Remplace_Params["CatSuggestLimit"], "SuggestListSize":Remplace_Params["CatSuggestSelectLimit"] });
     MoveResizeFixed_AddMoveArea(MenuAnchor, new Array(Menu));
     Remplace_PageEnabledToggle(); 
}

function Remplace_PageEnabledToggleC(event){
     if (!event.keyCode) return;
     if (event.keyCode != 13) return;
     Remplace_PageEnabledToggle();
}

function Remplace_PageEnabledToggle(){
     var InPageEnabled = document.getElementById("InPageEnabled");
     var InpageForm = document.getElementById("InpageForm");
     var FilterOptions = document.getElementById("FilterFieldset");
     if(InPageEnabled.checked){
          Remplace_DisableForm(FilterOptions);
          Remplace_EnableForm(InpageForm);
     }else{
          Remplace_EnableForm(FilterOptions);
          Remplace_DisableForm(InpageForm);
     }
}

function Remplace_DisableForm(Form){
     var Inputs = Form.getElementsByTagName('input');
     for(var a=0,l=Inputs.length;a<l;a++){
          Inputs[a].disabled = "disabled";
     }
     var Selects = Form.getElementsByTagName('select');
     for(var a=0,l=Selects.length;a<l;a++){
          Selects[a].disabled = "disabled";
          if($(Selects[a]).hasClass("SuggestionList")){
               Selects[a].style.display = "none";
          }
     }
}

function Remplace_EnableForm(Form){
     var Inputs = Form.getElementsByTagName('input');
     for(var a=0,l=Inputs.length;a<l;a++){
          Inputs[a].disabled = false;
     }
     var Selects = Form.getElementsByTagName('select');
     for(var a=0,l=Selects.length;a<l;a++){
          Selects[a].disabled = false;
          if($(Selects[a]).hasClass("SuggestionList")){
               if(Selects[a].getElementsByTagName('option').length>1) Selects[a].style.display = "inline";
          }
     }
}

function Remplace_RequestInProgressOn(){
      var Img = document.getElementById("RequestInProgress");
      if(Img) Img.style.display = "inline";
}

function Remplace_RequestInProgressOff(){
      var Img = document.getElementById("RequestInProgress");
      if(Img) Img.style.display = "none";
}


function Remplace_CheckParams(){
     var Alert = "";
     var Inputs = document.getElementById('Menu_Remplace').getElementsByTagName('input');
     for(var a=0,l=Inputs.length;a<l;a++){
          var Input = Inputs[a];
          if(Input.disabled) continue;
          var InputName = Input.name;
          var InputType = Input.type;
          var InputId = Input.id;
          if(InputName){
               if(InputType=="text") Remplace_ReplaceParams[InputName] = Input.value;
               if(InputType=="checkbox") Remplace_ReplaceParams[InputName] = (Input.checked ? true : false);
               if(InputType=="radio" && Input.checked && InputId) Remplace_ReplaceParams[InputName] = InputId.split(InputName).join('');
         }
     }
     var Selects = document.getElementById('Menu_Remplace').getElementsByTagName('select');
     for(var a=0,l=Selects.length;a<l;a++){
          var Select = Selects[a];
          if(Select.disabled) continue;
          var SelectName = Select.name;
          var SelectValue = Select.value;
          if(SelectName){
               var Options = Select.getElementsByTagName('option');
               for(var b=0,m=Options.length;b<m;b++){
                    if(!Options[b].selected) continue;
                    Remplace_ReplaceParams[SelectName] = Options[b].value;
               }
          }
     }
     for(var Param in Remplace_ReplaceParams){
          Alert += "* " + Param + " : « " + Remplace_ReplaceParams[Param] + " »\n" ;
     }
     var Confirm = confirm(Alert);
     if(!Confirm) return;
     Remplace_PrepareListRequest();
}

function Remplace_PrepareListRequest(){
     if(Remplace_ReplaceParams["OldRegExp"]==="") return;
     //alert(new RegExp(Remplace_ReplaceParams["OldRegExp"]));
     var ListArray = new Array();
     if(Remplace_ReplaceParams["InPageEnabled"]){
          ListArray.push(Remplace_ReplaceParams["InPage"]);
          Remplace_DoPageRequestEdit(ListArray, 0);
          return;
     }
     var URL = "";
     var Tag = "";
     var RequestParams = new Array();
     var ContinueAttribute = "";
     var APILimit = ( ((mw.config.get('wgUserGroups').indexOf("sysop")!=-1)||(mw.config.get('wgUserGroups').indexOf("bot")!=-1)) ? 4999 : 499 );
     var Params = new Array();
     if(Remplace_ReplaceParams["InCat"]!==""){ // *********** Recherche dans une catégorie
          URL = "/api.php?format=xml&action=query&list=categorymembers";
          Tag = "cm";
          RequestParams["cmlimit"] = APILimit;
          if(Remplace_ReplaceParams["InNs"].indexOf("|")==-1) RequestParams["cmnamespace"] = Remplace_ReplaceParams["InNs"];
          RequestParams["cmtitle"] = mw.config.get('wgFormattedNamespaces')[14]+':'+encodeURIComponent(Remplace_ReplaceParams["InCat"]);
          RequestParams["cmprop"] = "title";
     }else{
          if(Remplace_ReplaceParams["InNs"].indexOf("|")==-1){ // *********** Recherche dans un espace de noms
               URL = "/api.php?format=xml&action=query&list=allpages";
               Tag = "p";
               RequestParams["aplimit"] = APILimit;
               RequestParams["apnamespace"] = Remplace_ReplaceParams["InNs"];
               if(Remplace_ReplaceParams["Prefix"]!==""){
                    RequestParams["apprefix"] = Remplace_ReplaceParams["Prefix"];
                    RequestParams["apfrom"] = Remplace_ReplaceParams["Prefix"];
               }
          }else if(Remplace_ReplaceParams["Prefix"]!==""){ // *********** Recherche par préfixe
               URL = "/api.php?format=xml&action=query&list=allpages";
               Tag = "p";
               RequestParams["apcontinue"] = Remplace_ReplaceParams["Prefix"];
               RequestParams["aplimit"] = APILimit;
               RequestParams["apnamespace"] = Remplace_ReplaceParams["InNs"];
               RequestParams["apprefix"] = Remplace_ReplaceParams["Prefix"];
          }else{ // *********** Recherche sans filtre : trop long
               alert(Remplace_Text["AlertListTooMany"]);
               return;
          }
     }
     Remplace_DoListRequest(ListArray, URL, Tag, RequestParams);
}

function Remplace_DoListRequest(ListArray, URL, Tag, RequestParams){
     Remplace_RequestInProgressOn();
     for(var ParamName in RequestParams){
          if(RequestParams.hasOwnProperty(ParamName))
          URL += "&"+ParamName+"="+RequestParams[ParamName];
     }
     var xmlhttp = sajax_init_object() ;
     xmlhttp.open('GET', mw.config.get('wgServer') + mw.config.get('wgScriptPath') + URL, true);
     xmlhttp.onreadystatechange = function () {
          if (xmlhttp.readyState != 4) return;
          var xml = xmlhttp.responseXML ;
          if ( xml == null ) return ;
          var titles = new Array () ;
          var pages = xml.getElementsByTagName(Tag) ;
          for ( var i = 0 ; i < pages.length ; i++ ) {
               var Title = pages[i].getAttribute('title');
               if(Remplace_ReplaceParams["Suffix"]){
                    var Reg = new RegExp(Remplace_ReplaceParams["Suffix"]+"$", "g")
                    if(Title.match(Reg)==null) continue;
               }
               if(Remplace_ReplaceParams["Prefix"]!=="" && Title.indexOf(Remplace_ReplaceParams["Prefix"])!==0) continue;
               ListArray.push(Title);
          }
          var MustContinue =  xml.getElementsByTagName("query-continue")[0];
          if(MustContinue){
               var MustContinueParam = MustContinue.firstChild.attributes[0];
               var MustContinueValue = encodeURIComponent(MustContinueParam.value);
               RequestParams[MustContinueParam.name]= MustContinueValue;
               Remplace_DoListRequest(ListArray, URL, Tag, RequestParams);
          }else{
               Remplace_RequestInProgressOff();
               if(ListArray.length===0){
                    alert(Remplace_Text["AlertListNone"]);
                    return;
               }
               var Confirm = confirm( Remplace_PLURAL(Remplace_Text["AlertList"], ListArray.length).split('$1').join(ListArray.length));
               if(!Confirm) return;
               Remplace_Cancel();
               Remplace_DoPageRequestEdit(ListArray, 0);
          }
     }
     xmlhttp.send(null);
}

function Remplace_DoPageRequestEdit(ListArray, position){
     var Page = ListArray[position];
     if(!Page){
          alert(Remplace_Text["JobDone"]);
          window.location.reload();
          return;
     }
     var URL = mw.config.get('wgServer') + mw.config.get('wgScript') + "?title=" + encodeURIComponent(Page) + "&action=edit";
     var xmlhttp = sajax_init_object() ;
     xmlhttp.open('GET', URL, true);
     xmlhttp.onreadystatechange = function () {
          if (xmlhttp.readyState != 4) return;
          while(document.body.firstChild){ document.body.removeChild(document.body.firstChild); }
          document.body.innerHTML = xmlhttp.responseText;
          Remplace_Replace(ListArray, position);
     }
     xmlhttp.send(null);
}

function Remplace_Replace(ListArray, position){
     var OldText = new RegExp(Remplace_ReplaceParams["OldRegExp"], "g");
     var Text = document.getElementById("wpTextbox1").value;
     var NewText = "";
     var matches = Text.match(OldText);
     if(matches == null){
          Remplace_DoPageRequestEdit(ListArray, (position+1))
          return;
     }
     for(var a=0,l=matches.length;a<l;a++){
          var NewValue =  Remplace_ReplaceParams["NewText"].replace(/\$1/g, matches[a]);
          NewText += Text.substring(0 , Text.indexOf(matches[a])) + NewValue;
          Text = Text.substring((Text.indexOf(matches[a])+matches[a].length), Text.length);
     }
     document.getElementById("wpTextbox1").value = NewText + Text;  
     Remplace_DoPageRequestSubmit(ListArray, position);
}

function Remplace_DoPageRequestSubmit(ListArray, position){
     if(!Remplace_ReplaceParams["Autoconfirm"]){
          var Confirm = confirm(Remplace_Text["ConfirmSaving"]);
          if(!Confirm){
               var Next = confirm(Remplace_Text["NextPage"]);
               if(Next) Remplace_DoPageRequestEdit(ListArray, (position+1));
               return;
          }
     }
     var EditForm = document.getElementById("editform");
     if(!EditForm) return;
     var CanEdit = document.getElementById("wpSave");
     if(!CanEdit){
          Remplace_DoPageRequestEdit(ListArray, (position+1));
          return;
     }
     var action = EditForm.action;
     var boundary = '--------123xyz';
     var data = '';
     var Params = new Array("wpTextbox1", "wpSection", "wpSummary", "wpStarttime", "wpEdittime", "wpEditToken");
     if(Remplace_ReplaceParams["Minor"]!="No"){
          if(Remplace_ReplaceParams["Minor"]=="Yes") document.getElementById("wpMinoredit").checked = "checked";
          Params.push("wpMinoredit");
     }
     var IsWatched = document.getElementById("ca-unwatch");
     var WatchIsChecked = document.getElementById("wpWatchthis").checked;
     if(Remplace_ReplaceParams["Watch"]=="Yes" || (IsWatched && Remplace_ReplaceParams["Watch"]=="NoChange") ){
          document.getElementById("wpWatchthis").checked = "checked";
     }
     if(Remplace_ReplaceParams["Watch"]=="No" || (!IsWatched && Remplace_ReplaceParams["Watch"]=="NoChange") ){
          document.getElementById("wpWatchthis").checked = false;          
     }
     var NewWatchIsChecked = document.getElementById("wpWatchthis").checked;
     if(Remplace_ReplaceParams["Watch"]!="No" && (NewWatchIsChecked!=WatchIsChecked)){
          Params.push("wpWatchthis");
     }
     var Resume = Remplace_ReplaceParams["Resume"];
     document.getElementById("wpSummary").value = ( Resume ? Resume.split('$1').join(Remplace_ReplaceParams["OldRegExp"]).split('$2').join(Remplace_ReplaceParams["NewText"]) : Remplace_Text["Resume"].split('$1').join(Remplace_ReplaceParams["OldRegExp"]).split('$2').join(Remplace_ReplaceParams["NewText"]) );
     for(var a=0,l=Params.length;a<l;a++){
          var Element = document.getElementById(Params[a]);
          if(!Element) Element = document.getElementsByName(Params[a])[0];
          if(Element){
               data += '--' + boundary 
                     + '\nContent-Disposition: form-data; name="'+Params[a]+'"\n\n' 
                     + Element.value + '\n'
          }
     }
     var RequestPOST = sajax_init_object();
     RequestPOST.open('POST', action, true);
     RequestPOST.setRequestHeader('Content-Type', 'multipart/form-data; boundary='+boundary);
     RequestPOST.onreadystatechange = function(){
          if(RequestPOST.readyState != 4) return;
          while(document.body.firstChild){ document.body.removeChild(document.body.firstChild); }
          document.body.innerHTML = RequestPOST.responseText;
          var EditFormBis = document.getElementById("editform");
          if(EditFormBis){
               Remplace_DoPageRequestEdit(ListArray, position);
          }else{
               Remplace_DoPageRequestEdit(ListArray, (position+1));
          }
     }
     RequestPOST.send(data + '--' + boundary);
}

//</nowiki></pre></source>
{{bottomLinkPreText}} {{bottomLinkText}}
Utilisateur:Dr Brains/Remplace.js
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?