Benutzer:Flominator/BklRedir.js

aus Wikipedia, der freien Enzyklopädie
< Benutzer:Flominator
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 14. Juni 2017 um 17:33 Uhr durch imported>Flominator(56380) (+ https://github.com/FlominatorTM/wikipedia_bklredir/blob/master/bklredir.php).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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
/*
Dieses Skript prüft alle Links eines Artikels auf Verbesserungspotenzial (Weiterleitungen, BKLs, Namensseiten, Übersichtsseiten etc.)

Quelltext der Serverseite: https://github.com/FlominatorTM/wikipedia_bklredir/blob/master/bklredir.php
*/

$(function() {
 
  var form = document.forms["editform"]; 
  if (form)
  {
      var text = form.elements["wpTextbox1"];
      CheckForWrongLinks(text);
  }

});

 function CheckForWrongLinks(ta)
 {

	var ArticleText = "Wer nicht vom [[rechten]] Weg abkommt bleibt [[auf|oder]] der Strecke";
	ArticleText = ta.value;
	var Words = ArticleText.split("[[");
	var LinkEnd;
	var links = "";
	if(Words.length<400)
	{
		for(var i=1;i<Words.length;i++)
		{
			
			LinkEnd = Words[i].indexOf("|");
			
			if((Words[i].charAt(0) != ':') && (Words[i].search(/Kategorie:/)==-1)&& (Words[i].search(/Bild:/)==-1))
			{
				var LastBracket = Words[i].indexOf("]");
				if((LinkEnd==-1) || LinkEnd > LastBracket)
				{
					LinkEnd = LastBracket;
				}
				
				var plain_link = Words[i].substring(0, LinkEnd);
				plain_link = plain_link.replace(/#/g,    "rraauuttttee");
				plain_link = plain_link.replace(/&/g,    "%26");
				//document.write(i + Words[i]);
				//document.write("gekürzt:" + plain_link + '<br>');
				links = links + plain_link + ';';
			}
		}
	}
    /* via http://regexlib.com/REDetails.aspx?regexp_id=3497 */
    var regexp = /ISBN(-1(?:(0)|3))?:?\x20(\s)*[0-9]+[- ][0-9]+[- ][0-9]+[- ][0-9]*[- ]*[xX0-9]/gm;
    var match;
    var ISBNparam = '';

    while ((match = regexp.exec(ArticleText)) != null) 
    {
      ISBNparam+= match + ';';
    }

	//alert(links);
	
    var iframe = '<iframe width="150" id="bklframe"></iframe>';
    insert_link_before("li", "p-tb", iframe );
    document.getElementById("bklframe").contentDocument.write('<form id="dynForm" action="http://wikipedia.ramselehof.de/bklredir.php" method="post"><input type="hidden" name="articles" value="'+links+'"><input type="hidden" name="isbns" value="'+ISBNparam+'"><input type="hidden" name="article" value="'+mw.config.get("wgTitle")+'"></form>');
    document.getElementById("bklframe").contentDocument.getElementById("dynForm").submit();
}

 //Insert any tag before any element with an id
 function insert_link_before(tagname, previous_element, linkcode)
 {
 	var vl_logout = document.getElementById(previous_element);
 	if (vl_logout) 
 	{
 		var ins_li = document.createElement(tagname);
 		ins_li.innerHTML=/* */linkcode;/* */
 		 vl_logout.parentNode.insertBefore(ins_li, vl_logout);
 	}
 }