Zum Inhalt springen

Benutzer:DerHexer/fixlinks.js

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 31. Mai 2009 um 15:28 Uhr durch DerHexer (Diskussion | Beiträge) (zurück auf DerHexer). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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
  • Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
 // token functions
 function generate_auser () {
   return encodeURIComponent(wgUserName);
 }
 
 function validate_auser (auser) {
   var retval = false;
   if (auser == encodeURIComponent(encodeURIComponent(generate_auser())) )
      retval = true;
 
   return retval;
 }
 
 function generate_atime () {
   var arbitrary_datestamp = Date.UTC(2008,10,1,0,0,0,0); // 1.11.2008
   var current_date = new Date();
   var current_timestamp = current_date.getTime();
 
   return ( Math.floor((current_timestamp - arbitrary_datestamp) / 1000) );
 }
 
 function validate_atime (atime) {
   var retval = false;
   var timediff = generate_atime() - atime;
 
   if ((timediff >= 0) && (timediff < 45))
      retval = true;
 
   return retval;
 }
 
 // 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])] = asReadInUrlParameter[1];
  }
 }

 // Funktion zum Öffnen der Links
 function fixlinksurls() {
  if(confirm("Möchtest du fortfahren?")){
   ;
   var req;
   if (req = sajax_init_object()) {
     var text = '/w/api.php?action=query&format=xml&list=imageusage&iulimit=500&iutitle='+wgPageName;
     req.open("GET", text, false);
     req.send("");
 
     var imageusage = req.responseXML.getElementsByTagName("iu");
   }
   for(i=0;i<imageusage.length;i++){
     var replacewith = document.getElementById('mw-imagepage-section-duplicates').getElementsByTagName('a')[1].innerHTML.replace(/\b[^:]+:/,'');
     var getuser = generate_auser();
     var getimage = imageusage[i].getAttribute('title');
     var gettime = generate_atime();
     var url = wgServer+wgScript+"?title="+getimage+"&action=edit&replace="+encodeURIComponent(wgTitle)+"&replacewith="+encodeURIComponent(replacewith)+"&auser="+encodeURIComponent(getuser)+"&atime="+encodeURIComponent(gettime);
     url = encodeURI(url);
     window.open(url);
   }
  }
 }
 
 // Funktion zum Ändern der Artikelinhalte
 function fixlinks(){
   if (validate_auser(UrlParameters["auser"])) {
     if (validate_atime(UrlParameters["atime"])) {
       var replacer = decodeURIComponent(decodeURIComponent(UrlParameters["replace"])).replace(/[\s_\.]/g,'.');
       replacer = new RegExp(replacer, 'ig');
       var replacewith = decodeURIComponent(UrlParameters["replacewith"]);
       document.editform.wpMinoredit.checked=true;
       document.editform.wpSummary.value = "Die Datei [[Datei:"+decodeURIComponent(UrlParameters["replace"])+"]] ist nun auf Commons unter [[commons:File:"+decodeURIComponent(replacewith)+"]] zu finden.";
       document.editform.wpTextbox1.value = document.editform.wpTextbox1.value.replace(replacer, replacewith);
       document.editform.wpSave.click();
       //window.setTimeout(function() { window.close(); }, 1000);
     } else {
       alert("Token zur automatischen Speicherung ist abgelaufen.");
     }
   }
 }
 if(UrlParameters["replace"] && UrlParameters["replacewith"]) addOnloadHook(fixlinks);
 
 if(wgNamespaceNumber==6) 
 {
  addOnloadHook(function() 
  { 
    addPortletLink('p-tb', "javascript:fixlinksurls();", "FixLinks", 't-fixlinks', 'fix Links', '',  document.getElementById('t-whatlinkshere'));
  });
 }