Benutzer:DerHexer/wd.js

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.

  • Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
  • Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
  • Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Strg+F5
 // <nowiki> 

 function newRequest() {
   try {
      if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
      } else {
        return new ActiveXObject("MSXML2.XMLHTTP");
      }
   } catch (e) {
      return false;
   }
 }
 
 // get URL parameters (used for page type variables)
 var UrlParameters = new Array ();
 readparams();
 
 function readparams() {
  var asReadInUrlParameters;
  var asReadInUrlParameter;
 
  // Get URL parameters
  asReadInUrlParameters = location.search.substring(1, location.search.length).split("&");
  for (i = 0; i < asReadInUrlParameters.length; i++) {
    asReadInUrlParameter = asReadInUrlParameters[i].split("=");
    UrlParameters[decodeURIComponent(asReadInUrlParameter[0])] = decodeURIComponent(asReadInUrlParameter[1]);
  }
 }
 
 function addshortcutwd() {
  var namespace = '';
  if(location.href.search(/Wikipedia\:/)!=-1) { namespace = "WP:"; } else if (location.href.search(/Diskussion\:/)!=-1) { namespace = "WD:"; }
  //alert(namespace);
  var newshortcut = UrlParameters['shortcutname'];
  if (document.editform.wpTextbox1.value.search(/\{\{[sS]hortcut/)==-1) {
    var newline = document.editform.wpTextbox1.value.match(/\n/);
    document.editform.wpTextbox1.value = '{{Shortcut|' + namespace + newshortcut + '}}' + newline + document.editform.wpTextbox1.value;
  } else {
   var getshortcut = document.editform.wpTextbox1.value.match(/\{\{[sS]hortcut\|.*?\}\}/);
   getshortcut = String(getshortcut);
   //alert(getshortcut);
   var getshortcutnames = getshortcut.match(/\|.*?\}/);
   getshortcutnames = String(getshortcutnames);
   getshortcutnames = getshortcutnames.replace(/\|/,'').replace(/\}/,'');
   //alert(getshortcutnames);
   regexnewshortgut = new RegExp(namespace + newshortcut.replace(/\//g,'\\/').replace(/\[/g,'\\[').replace(/\]/g,'\\(').replace(/\(/g,'\\(').replace(/\)/g,'\\)').replace(/\./g,'\\.').replace(/\?/g,'\\?').replace(/\{/g,'\\{').replace(/\}/g,'\\}').replace(/\*/g,'\\*').replace(/\$/g,'\\$').replace(/\^/g,'\\^'));
   //alert(regexnewshortgut);
   if (getshortcut.search(regexnewshortgut)==-1) {
     getshortcutnames = getshortcutnames + "," + namespace + newshortcut;
     var replaceshortcut = new RegExp(getshortcut, 'i');
     document.editform.wpTextbox1.value = document.editform.wpTextbox1.value.replace(getshortcut, '{{Shortcut|' + getshortcutnames + '}}')
   }
  }
  document.editform.wpMinoredit.checked=true;
  document.editform.wpSummary.value = "Shortcut „" + namespace + newshortcut + "“ ergänzt.";
  document.editform.wpSave.click();
  window.setTimeout(function() { window.close(); }, 1000);
 }
 
 if (UrlParameters['addshortcut']) $(addshortcutwd);
 
 function createwd() {
   if (req = newRequest()) {
     var text = '/w/api.php?format=xml&action=query&list=allpages&apfrom=&apnamespace=4&aplimit=5000&apfilterredir=redirects&apfrom=S';
     req.open("GET", text, false);
     req.send("");
 
     var getallwpredirs = req.responseXML.getElementsByTagName("p");
 
     if (req4 = newRequest()) {
       req4.open("GET", "/w/api.php?format=xml&action=query&prop=info&intoken=edit&titles=$", false);
       req4.send("");
 
       var token = req4.responseXML.getElementsByTagName("page")[0].getAttribute("edittoken");
     }
     var counter = 0;
     if (token) {
       for(i=0;i<getallwpredirs.length;i++){
        //if(counter == 20) break;
        var thiswpredir = getallwpredirs[i].getAttribute('title').replace('Wikipedia:','');
        //alert(thiswpredir);
        var thiswpredir = prompt('Fortfahren?', thiswpredir);
        if(thiswpredir != '0') {
         if (req2 = newRequest()) {
           var text = '/w/api.php?action=query&format=xml&redirects&titles=Wikipedia:'+thiswpredir;
           req2.open("GET", text, false);
           req2.send("");
 
           var completewppage = req2.responseXML.getElementsByTagName("page");
           if (completewppage) {
             completewppage = completewppage[0].getAttribute('title');
             if(!completewppage) continue;
             completewppage = completewppage.replace('Wikipedia:','');
             
             if (req3 = newRequest()) {
               var text = '/w/api.php?format=xml&action=query&list=allpages&apnamespace=5&aplimit=1&apfilterredir=nonredirects&apfrom='+completewppage;
               req3.open("GET", text, false);
               req3.send("");
 
               var completewdpage = req3.responseXML.getElementsByTagName("p");
               if (completewdpage) {
                 completewdpage = completewdpage[0].getAttribute('title');
                 if(!completewdpage) continue;
                 completewppage = 'Wikipedia Diskussion:' + completewppage;
                 //alert(completewdpage);
                 //alert(completewppage);
                 if(completewdpage != completewppage) continue;
 
                 if (req4 = newRequest()) {
                   var text = '/w/api.php?format=xml&action=query&list=allpages&apnamespace=101&aplimit=1&apfrom='+thiswpredir;
                   req4.open("GET", text, false);
                   req4.send("");
 
                   var nextlink = req4.responseXML.getElementsByTagName("p");
                   if (nextlink) {
                     nextlink = nextlink[0].getAttribute('title');
                     if(!nextlink) continue;
                     nextlink = nextlink.replace('Wikipedia.Diskussion.','');
                     if(thiswpredir == nextlink) continue;
 
                     if (req6 = newRequest()) {
                       var test = "/w/api.php?action=edit&title=Wikipedia_Diskussion:" + thiswpredir + "&text=" + encodeURIComponent('#') + "REDIRECT [[" + completewdpage + "]]&token=" + encodeURIComponent(token) + "&minor&bot&createonly";
                       //alert(test);
	               req6.open("POST", test, true);
                       req6.send(test);
                       
                       if (req7 = newRequest()) {
                         var text = '/w/api.php?format=xml&action=query&prop=revisions&rvlimit=1&rvprop=content&titles='+completewdpage;
                         req7.open("GET", text, false);
                         req7.send("");
 
                         var wdcompletetext = req7.responseXML.getElementsByTagName("rev")[0];
                         var tempregexp = 'WD\:' + thiswpredir.replace(/\//g,'\\/').replace(/\[/g,'\\[').replace(/\]/g,'\\(').replace(/\(/g,'\\(').replace(/\)/g,'\\)').replace(/\./g,'\\.').replace(/\?/g,'\\?').replace(/\{/g,'\\{').replace(/\}/g,'\\}').replace(/\*/g,'\\*').replace(/\$/g,'\\$').replace(/\^/g,'\\^');
                         var regexpthiswpredir = new RegExp(tempregexp);
 
                         var url = '//de.wikipedia.org/w/index.php?action=edit&title=' + completewdpage + '&addshortcut=1&shortcutname=' + thiswpredir;
                         var url2 = url.replace(/\sDiskussion\:/, ':');
                         if(wdcompletetext.childNodes[0].nodeValue.search(regexpthiswpredir)==-1) {
                           //alert(regexpthiswpredir);
                           window.open(url);
                           window.open(url2);
                           counter++;
                         }
                       }
 	             }
                   }
                 }
               }
             }
           }
         }
        }
       }
     }
   }
 }

 if (mw.config.get('wgPageName') == 'Benutzer:DerHexer/WD' && mw.config.get('wgAction') == 'edit') $(createwd);
 
 // </nowiki>