Benutzer:Blazery/common.js

Aus MarioWiki
Zur Navigation springen Zur Suche springen

Hinweis: Leere nach dem Speichern 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: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Gehe zu Menü → Einstellungen (Opera → Einstellungen auf dem Mac) und dann auf Datenschutz & Sicherheit → Browserdaten löschen → Gespeicherte Bilder und Dateien.
/*Entferne |.| in den Letzten Änderungen */
for (i = 0; i < document.getElementsByClassName("mw-changeslist-separator").length; i++) document.getElementsByClassName("mw-changeslist-separator")[i].innerHTML = "";

/*
################################ Find & Replace inkl. RegExp beim Bearbeiten von Seiten ###################################
# Wenn mal beim Bearbeiten einer Seite derselbe Fehler mehrmals vorkommt, kann dieser Code eine große Zeitersparnis sein. #
# Drückt man Strg + I, öffnen sich zwei Dialogfenster, in die man zwei Zeichenketten eingibt:                             #
# Eine zu ersetzende Zeichenkette und eine einzusetzende Zeichenkette.                                                    #
# Sofort werden im Quelltext der Seite alle Vorkommnisse der ersten Zeichenkette durch die zweite ersetzt.                #
# Es werden auch reguläre Ausdrücke unterstützt, z. B. steht [0-9] für eine beliebige Ziffer.                             #
# Auch das Speichern in Variablen wie $1 ist möglich.                                                                     #
# Groß- und Kleinschreibung wird beachtet.                                                                                #
########################################################################################################################### */
var regexpcountdown = window.setInterval("regexpkeydown()", 1000);
function regexpkeydown() {
  if (wgAction == "submit" || wgAction == "edit")
  {
    document.onkeydown=regexpwindow;
  }
}
function regexpwindow(e) {
  if (!e) e=window.event;
  if (e.keyCode==73 && e.ctrlKey) {
    if (wgAction == "submit" || wgAction == "edit" || wgPageName == "Spezial:Vorlagen_expandieren") {
      var findtext = /null/;
      findtext.compile(prompt('Text, der gefunden werden soll:'), "g");
      var replacetext = prompt('Text, der eingesetzt werden soll:');
      replacetext = replacetext.replace(/\\n/g, "\n");
      if (findtext != /null/ && replacetext != null) {
        if (wgPageName == "Spezial:Vorlagen_expandieren") {
          document.getElementById("input").value = document.getElementById("input").value.replace(findtext, replacetext);
        }
        else {
          document.getElementById("wpTextbox1").value = document.getElementById("wpTextbox1").value.replace(findtext, replacetext);
        }
      }
    }
    else {
      alert("Du musst erst auf „Bearbeiten“ klicken!");
    }
  }
}
  

/*
#################### Automatische Aktualisierung der letzten Änderungen ####################
# Untenstehender Code bewirkt, dass die Letzten Änderungen regelmäßig aktualisiert werden. #
# Die Aktualisierung erfolgt alle 120 Sekunden.                                            #
############################################################################################ */
if (window.location.href.replace("Letzte_%C3%84nderungen") != window.location.href) {
  var sekunden = 120;
  var count = window.setInterval("countdown()", 1000);
}
function countdown()
{
  sekunden--;
  if (sekunden == 0) { location.reload(); }
}

/*
####################### Einzelnen Benutzer in den letzten Änderungen ausblenden ############################
# Wenn ein einzelner Benutzer sehr viele Bearbeitungen in kurzer Zeit tätigt, kann es nützlich sein,       #
# wenn man die Möglichkeit hat, diesen Benutzer in den Letzten Änderungen vorübergehend auszublenden.      #
# In MediaWiki kann man nur sich selbst ausblenden, mit diesem Code aber jeden beliebigen Benutzer.        #
# Dazu muss in den Letzten Änderungen einfach "?hideuser=<Benutzername>" hinten an die URL gehängt werden. #
############################################################################################################ */
if (window.location.href.replace("Letzte_%C3%84nderungen") != window.location.href) {
  if (window.location.href.indexOf("hideuser=") > 0) {
    var hideuser = window.location.href.substring(window.location.href.indexOf("hideuser=")+9);
    hideuser = hideuser.replace(/(\?|\&).*/, "");
    var listofcontribs = document.getElementsByClassName("mw-userlink");
    for (var i=0;i<listofcontribs.length;i++) {
      if (listofcontribs[i].innerHTML.replace(" ","_") == hideuser) { listofcontribs[i].parentNode.style.display = "none"; }
    }
  }
}

/*
##################### Zurücksetzen-Button für Verschiebungen in den Letzten Änderungen ######################
# Dieser Code bewirkt, dass auch hinter Einträgen in den Letzten Änderungen,                                #
# bei denen eine Seite nicht bearbeitet, sondern verschoben wurde, ein "Zurücksetzen"-Button vorhanden ist. #
############################################################################################################# */
if (window.location.href.replace("Letzte_%C3%84nderungen") != window.location.href) {
  for (var i=0; i<document.links.length; i++) {
    if (document.links[i].href == "http://mariowiki.net/wiki/Spezial:Logbuch/move") {
      var newrollbackspan = document.createElement("span");
      var newrollbacktext1 = document.createTextNode(" [");
      var newrollbacktext2 = document.createTextNode("]");
      var newrollbacklink = document.createElement("a");
      newrollbackspan.appendChild(newrollbacktext1);
      newrollbackspan.appendChild(newrollbacklink);
      newrollbackspan.appendChild(newrollbacktext2);
      document.links[i].parentNode.appendChild(newrollbackspan);
      newrollbacklink.innerHTML = "Zurücksetzen";
      newrollbacklink.href = "/index.php?title=Spezial:Verschieben/";
      newrollbacklink.href += document.links[i].nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.innerHTML;
      newrollbacklink.href += "&wpNewTitle=";
      newrollbacklink.href += document.links[i].nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.innerHTML;
      newrollbacklink.href += "&wpLeaveRedirect=0";
    }
  }
}

/*
####################################### Shortlinks für den SearchInput #######################################
# Beim Suchfeld in der Sidebar kann es nervig sein, andauernd "MarioWiki:" oder "Benutzer:" tippen zu müssen. #
# Mit diesem Code muss nicht mehr der ganze Text eingegeben werden, sondern es reichen Shortlinks:           #
#   "B:" wird umgewandelt in "Benutzer:"                                                                     #
#   "BD:" wird umgewandelt in "Benutzer Diskussion:"                                                         #
#   "D:" wird umgewandelt in "Datei:"                                                                        #
#   "DD:" wird umgewandelt in "Datei Diskussion:"                                                            #
#   "H:" wird umgewandelt in "Hilfe:"                                                                        #
#   "HD:" wird umgewandelt in "Hilfe Diskussion:"                                                            #
#   "K:" wird umgewandelt in "Kategorie:"                                                                    #
#   "KD:" wird umgewandelt in "Kategorie Diskussion:"                                                        #
#   "M:" wird umgewandelt in "MediaWiki:"                                                                    #
#   "MD:" wird umgewandelt in "MediaWiki Diskussion:"                                                        #
#   "P:" wird umgewandelt in "MarioWiki:"                                                                     #
#   "PD:" wird umgewandelt in "MarioWiki Diskussion:"                                                         #
#   "S:" wird umgewandelt in "Spezial:"                                                                      #
#   "T:" wird umgewandelt in "Diskussion:"                                                                   #
#   "V:" wird umgewandelt in "Vorlage:"                                                                      #
#   "VD:" wird umgewandelt in "Vorlage Diskussion:"                                                          #
# Der Code überprüft das Suchfeld jede Sekunde und ersetzt ggf. den Text.                                    #
# Dabei wird Groß- und Kleinschreibung ignoriert und der Shortlink muss am Anfang stehen.                    #
############################################################################################################## */
var shortlinks = window.setInterval("replaceshortlinks()", 1000);
function replaceshortlinks()
{
  if (Math.floor((document.getElementById("searchInput").value.indexOf(":")+1)/2) == 1) {
    var text = document.getElementById("searchInput").value;
    text = text.replace(/^[BbUu]:/, "Benutzer:");
    text = text.replace(/^[BbUu][DdTt]:/, "Benutzer Diskussion:");
    text = text.replace(/^[Dd]:/, "Datei:");
    text = text.replace(/^[Dd][DdTt]:/, "Datei Diskussion:");
    text = text.replace(/^[Hh]:/, "Hilfe:");
    text = text.replace(/^[Hh][DdTt]:/, "Hilfe Diskussion:");
    text = text.replace(/^[Kk]:/, "Kategorie:");
    text = text.replace(/^[Kk][DdTt]:/, "Kategorie Diskussion:");
    text = text.replace(/^[Mm]:/, "MediaWiki:");
    text = text.replace(/^[Mm][DdTt]:/, "MediaWiki Diskussion:");
    text = text.replace(/^[Pp]:/, "MarioWiki:");
    text = text.replace(/^[Pp][DdTt]:/, "MarioWiki Diskussion:");
    text = text.replace(/^[Ss]:/, "Spezial:");
    text = text.replace(/^[Tt]:/, "Diskussion:");
    text = text.replace(/^[Vv]:/, "Vorlage:");
    text = text.replace(/^[Vv][DdTt]:/, "Vorlage Diskussion:");
    document.getElementById("searchInput").value = text;
  }
}