Benutzer:Heuler06/monobook.js

Aus Wikiversity

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
 function logs()
 {
  var list=document.getElementById("n-mainpage").parentNode;
  list.innerHTML+='<li id="n-logs-link"><a href="/wiki/Special:Logs" title="Logbücher anzeigen">Logbücher</a></li>';
 }
 
 /*
 Die Funktion "markIPs()" hinterlegt in den Letzten Änderungen IP-Änderungen
 mit einem leichten Gelbton.
 
 Ich habe mir diese Funktion zusammengebaut, weil ich
 (1) gerne einen Überblick über alle Änderungen habe und deshalb
 (2) mir nicht gerne die Änderungen von angemeldeten Usern ausblende.
 */
 
 var mark=false, change=false;
 
 function markIPs(change)
 {
  var searchExp=/Letzte Änderungen/i;
 
  if (mark && change)
  {
   mark=false;
  }
  else
  {
   mark=true;
  };
 
  if (searchExp.test(document.getElementsByTagName("title")[0].text))
  {         // Falls die Seite im Titel "Letzte Änderungen" zu stehen hat, mache folgendes.
 
   var i=0;
   var el=document.getElementsByTagName("li");
            // In den Listenelementen
 
   searchExp=/Spezial:Beiträge\/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/;
            // IPs (hier als Struktur von 4 Ziffernblöcken mit je
            // mindestens einer Zahl getrennt durch einen Punkt)
   searchMe=/title=\"Benutzer:Heuler06\"/;
 
   while (i<el.length)
   {
    var marker=document.createAttribute("style");
 
    var ip=searchExp.test(el[i].innerHTML);
            // heraussuchen
    var me=searchMe.test(el[i].innerHTML);
 
    if (mark)
    {
     if (ip) {marker.nodeValue="background:#ffffbb;";};
     if (me) {marker.nodeValue="background:#ffdddd;";};
    };
 
    if (ip || me)
    {
     el[i].setAttributeNode(marker);
            // und gelb markieren.
    };
 
    i++;
   };
  };
 }
 
 /*
 Hier habe ich mir etwas von [[Benutzer:ThePacker|ThePacker]] abgeschaut.
 Die Struktur und manche Teile der Funktionen gleichen Teilen seines Monobooks,
 sind aber von mir für meine Bedürfnisse angepasst worden.
 */
 
 // <nowiki>
 
 function hallo()
 {
  var check=true;
  var searchExp=/Benutzer Diskussion:/i;
 
  if (!searchExp.test(document.getElementsByTagName("title")[0].text))
  {
   check=confirm("Dies ist keine \"Benutzer Diskussion:\"-Seite!\n\nWillst du die Vorlage wirklich hier einfügen?");
  };
 
  if (check)
  {
   document.editform.wpSummary.value="Willkommen!";
   document.editform.wpTextbox1.value="{{subst:Willkommen|~~~~}}";
   document.getElementById("wpWatchthis").checked=true;
  };
 }
 
 function sla()
 {
  var str="{{Löschen|";
  var reason;
  var text=document.editform.wpTextbox1.value;
 
  reason=prompt("Begründung für den SLA:", "");
  str+=reason;
  str+=" -- ~~~~}}\n\n";
 
 
  if (reason!="" && !reason.null)
  {
   document.editform.wpSummary.value="SLA";
   document.editform.wpTextbox1.value=str;
   document.editform.wpTextbox1.value+=text;
  };
 }
 
 function vorschau()
 {
  var str="\n== Vorschaufunktion ==\n\n";
  str+="Hallo {{subst:PAGENAME}},\n";
  str+="[[Bild:Bildvorschau.png|300px|right|Vorschau-Button]]\n";
  str+="mir ist aufgefallen, dass du oft mehrere kleine Bearbeitungen an einem Artikel kurz hintereinander vorgenommen hast. ";
  str+="Wir freuen uns über jede Verbesserung und möchten deinen Tatendrang '''keinesfalls bremsen'''. ";
  str+="Wenn es dir aber keine große Mühe ist, wäre es aber schön, wenn du in Zukunft die Vorschaufunktion öfter benutzt. ";
  str+="Du weißt vermutlich nicht, dass bei jeder, ''auch bei der kleinsten Änderung'' jedesmal der gesamte Text der ";
  str+="Seite erneut gespeichert wird. Gehe also bitte sparsam mit spendenfinanziertem Speicherplatz um. Wenn du an ";
  str+="einer Seite Bearbeitungen in mehreren Abschnitten planst, benutze bitte nicht nacheinander die einzelnen ";
  str+="„Bearbeiten“-Buttons am rechten Rand, sondern das „Bearbeiten“ über der Seite. Dadurch wird die ";
  str+="[[w:Hilfe:Versionen|Versionsgeschichte]] und die Liste der [[Spezial:Recentchanges|letzten Änderungen]] ";
  str+="nicht mit unzähligen Kleinständerungen überflutet, die Versionsgeschichte des Artikels und die ";
  str+="Beobachtungslisten der anderen Benutzer bleiben übersichtlicher und die Server werden entlastet.\n\n";
  str+="Vielen Dank\n\n";
  str+="~~~~";
 
  document.editform.wpSummary.value="Vorschaufunktion";
  document.editform.wpWatchthis.checked=true;
  document.editform.wpTextbox1.value+=str;
 }
 
 function addLinksToMenu()
 {
  var sExpReCh = /Letzte Änderungen/i;
  var sExpEdit = /Bearbeiten/i;
  var heading = document.getElementsByTagName("title")[0].text;
  var innerHTML;
 
  var toolsNode = document.getElementById("t-specialpages").parentNode;
 
  if (sExpReCh.test(heading) || sExpEdit.test(heading))
  {
   innerHTML = '<li><u style="color:#00558a">Eigenes:</u>\n<ul>';
 
   if (sExpReCh.test(heading))
   {
    innerHTML +='<li><a href="javascript:markIPs(true)" name="marker" id="marker">Markieren ein/aus</a>';
   }
   else
   {
    innerHTML +='<li><a href="javascript:hallo()" name="hallo" id="hallo">Hallo</a>';
    innerHTML +='<li><a href="javascript:sla()" name="sla" id="sla">SLA</a>';
    innerHTML +='<li><a href="javascript:vorschau()" name="vorschau" id="vorschau">Vorschau</a>';
   };
  };
 
  toolsNode.innerHTML+=innerHTML;  
 };
 
function ip_whois()
{
	var ip = document.forms[0].target.value;
        var searchIP = /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/;
 
		if (!searchIP.test(ip))
		{
			return 0;
		};
 
	var pipe = document.createTextNode(" | ");
	var whoisLink = document.createElement("a");
	var whoisHref = document.createAttribute("href");
		whoisHref.nodeValue = "http://www.ping.eu/ns_whois/?host=" + ip;
	var whoisTitle = document.createAttribute("title");
		whoisTitle.nodeValue = "Whois-Abfrage bei ping.eu";
	var linkText = document.createTextNode("Whois");
		whoisLink.setAttributeNode(whoisHref);
		whoisLink.setAttributeNode(whoisTitle);
		whoisLink.appendChild(linkText);
 
		document.getElementById("contentSub").insertBefore(pipe, document.getElementById("contentSub").lastChild);
		document.getElementById("contentSub").insertBefore(whoisLink, document.getElementById("contentSub").lastChild);
}

 addOnloadHook(logs);
 addOnloadHook(markIPs);
 addOnloadHook(addLinksToMenu);
 if (wgCanonicalSpecialPageName == "Contributions") addOnloadHook(ip_whois);
 
 // </nowiki>