Benutzer:Heiteira/pokewiki.js

Aus PokéWiki
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: Extras → Internetspuren löschen … → Individuelle Auswahl → Den kompletten Cache löschen
  • Konqueror: Aktualisieren anklicken oder F5 drücken
// Aus diesem Skript kann prinzipiell jeder etrwas kopieren, er sollte jeodch immer die Quelle angeben, 
// die je nach Skript variiert.

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// Lädt das BKL-Helferlein. (Einbindung von Skelabra2509, die Quelle des Hauptskriptes ist Wikipedia.)
mw.loader.load("//www.pokewiki.de/index.php?title=Benutzer:Skelabra2509/BKL-Check.js&action=raw&ctype=text/javascript&maxage=604800&*");
mw.loader.load("//www.pokewiki.de/index.php?title=Benutzer:Chaneira/BKL-Check.css&action=raw&ctype=text/css",
                "text/css");

/* Von Shadowtweaker:
####################### 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.$("mw-userlink");
    for (var i=0;i<listofcontribs.length;i++) {
      if (listofcontribs[i].innerHTML.replace(" ","_") == hideuser) { listofcontribs[i].parentNode.style.display = "none"; }
    }
  }
}

//Quelle: [[Benutzer:T§/PurgePortlet.js]] und [[Benutzer:T§/PurgePortlet]], Autor ist T§.
jQuery(document).ready(function() {
            mw.loader.using( [ 'mediawiki.util' ],
                             function () {
                  mw.util.addPortletLink( 'p-tb',
                                          mw.config.get( "wgScript" ) +
                                          '?action=purge&title=' +
                                          mw.util.wikiUrlencode( mw.config.get( "wgPageName" ) ),
                                          'Purge',
                                          't-purge',
                                          'Servercache dieser Seite leeren',
                                          null,
                                          '#t-pagelog'); //Alternativ '#ca-move'
                                         } );   // .using()
                                       } );   // .ready()
                                       
// Ersetzt Kurzlinks aus der Suche (von Shadowtweaker, ein bisschen von mir bearbeitet)
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(/^[B]:/, "Benutzer:");
    text = text.replace(/^[B][Dd]:/, "Benutzer Diskussion:");
    text = text.replace(/^[B][C]:/, "Benutzer:Chaneira/")
    text = text.replace(/^[D]:/, "Datei:");
    text = text.replace(/^[D][Dd]:/, "Datei Diskussion:");
    text = text.replace(/^[H]:/, "Hilfe:");
    text = text.replace(/^[H][Dd]:/, "Hilfe Diskussion:");
    text = text.replace(/^[K]:/, "Kategorie:");
    text = text.replace(/^[K][Dd]:/, "Kategorie Diskussion:");
    text = text.replace(/^[M][Ww]:/, "MediaWiki:");
    text = text.replace(/^[M][Dd]:/, "MediaWiki Diskussion:");
    text = text.replace(/^[P][Ww]:/, "PokéWiki:");
    text = text.replace(/^[P][Dd]:/, "PokéWiki Diskussion:");
    text = text.replace(/^[S]:/, "Spezial:");
    text = text.replace(/^[D]:/, "Diskussion:");
    text = text.replace(/^[V]:/, "Vorlage:");
    text = text.replace(/^[V][Dd]:/, "Vorlage Diskussion:");
    document.getElementById("searchInput").value = text;
  }
}


/*(von Shadowtweaker)
################################ 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 + J, ö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 (mw.config.get("wgAction") == "submit" || mw.config.get("wgAction") == "edit")
  {
    document.onkeydown=regexpwindow;
  }
}
function regexpwindow(e) {
  if (!e) e=window.event;
  if (e.keyCode==74 && e.ctrlKey) {
    if (mw.config.get("wgAction") == "submit" || mw.config.get("wgAction") == "edit" || mw.config.get("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 (mw.config.get("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!");
    }
  }
}

/* (von Shadowtweaker)
################################################# Liste von Artikeln abarbeiten ####################################################
# Dieses JavaScript ist hilfreich dabei, wenn man viele Artikel nacheinander abarbeiten muss.                                      #
# Drückt man Strg + 8, öffnet sich ein Dialogfenster, in das man eine Liste von Artikel eingibt.                                   #
# Hierbei trennt man verschiedene Artikel mit einem senkrechten Strich | voneinander.                                              #
# Diese Zeichenkette wird in den Cookies gespeichert.                                                                              #
# ACHTUNG: Ist die Artikelliste zu lang, werden die Login-Cookies überschrieben und der Benutzer wird ausgeloggt!                  #
# Drückt man Strg + 9, erscheint ein Ja/Nein-Dialog, ob das Abarbeiten der Liste gestartet werden soll.                            #
# Bei "Ja" gelangt man zum Quelltext des ersten Artikels und kann mit dem Bearbeiten loslegen.                                     #
# Sobald die Seite gespeichert wurde, wird man zum Quelltext des nächsten Artikels weitergeleitet, bis die Liste abgearbeitet ist. #
# Mit Strg + 9 und dem Auswählen von "Nein" kann man pausieren und das Abarbeiten kann später fortgesetzt werden.                  #
# Vorteile: Dadurch, dass man sofort den Quelltext einer Seite abruft, spart man nicht nur Zeit,                                   #
#             sondern auch der Server wird weniger belastet.                                                                       #
#           Man muss nicht jedes Mal schauen, welcher Artikel als nächstes dran ist, sondern wird automatisch weitergeleitet.      #
#################################################################################################################################### */
var listactive = false;
var listcountdown = window.setInterval("listkeydown()", 1000);
function listkeydown() {
  document.onkeydown=listwindow;
}
function listwindow(e) {
  if (!e) e=window.event;
  //Start Find & Replace (ist hier nochmal eingebaut, da es sonst überschrieben werden würde)
  if (e.keyCode==74 && e.ctrlKey) {
    if (mw.config.get("wgAction") == "submit" || mw.config.get("wgAction") == "edit" || mw.config.get("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 (mw.config.get("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!");
    }
  }
  //Ende Find & Replace
  //Liste erzeugen (Strg + 8)
  if (e.keyCode==56 && e.ctrlKey) {
    articlelist = prompt('Liste von Artikeln (verschiedene Artikel durch | trennen):');
    document.cookie = "list="+articlelist;
  }
  //Liste abarbeiten (Strg + 9)
  if (e.keyCode==57 && e.ctrlKey) {
    if (confirm("Abarbeiten der Liste starten?") == true) {
      listactive = true;
      document.cookie = "listactive=true";
      nextarticle = document.cookie.substring(document.cookie.indexOf("list=")+5);
      nextarticle = nextarticle.substring(0, nextarticle.indexOf("|"));
      if (nextarticle != "") {
        window.location.href = "http://pokewiki.de/index.php?action=edit&title="+nextarticle;
      }
      else {
        listactive = false;
        document.cookie = "listactive=false";
        alert("Liste wurde erfolgreich abgearbeitet!");
      }
    }
    else {
      listactive = false;
      document.cookie = "listactive=false";
    }
  }
  //Artikel überspringen (Strg + 0)
  if (e.keyCode==48 && e.ctrlKey) {
    if (confirm("Artikel überspringen?") == true) {
      listactive = true;
      document.cookie = "listactive=true";
      nextarticle = document.cookie.substring(document.cookie.indexOf("list=")+5);
      if (nextarticle.indexOf("|") > -1) nextarticle = nextarticle.substring(0, nextarticle.indexOf("|"));
      if (nextarticle.indexOf(";") > -1) nextarticle = nextarticle.substring(0, nextarticle.indexOf(";"));
      articlelist = document.cookie.substring(document.cookie.indexOf("list=")+5);
      if (articlelist.indexOf(";") > -1) articlelist = articlelist.substring(0, articlelist.indexOf(";"));
      document.cookie = "list="+articlelist.replace(nextarticle + "|", "");
      if (articlelist == nextarticle) {
        listactive = false;
        document.cookie = "listactive=false";
        document.cookie = "list=";
        alert("Liste wurde erfolgreich abgearbeitet!");
      }
      else {
        nextarticle = document.cookie.substring(document.cookie.indexOf("list=")+5);
        if (nextarticle.indexOf("|") > -1) nextarticle = nextarticle.substring(0, nextarticle.indexOf("|"));
        if (nextarticle.indexOf(";") > -1) nextarticle = nextarticle.substring(0, nextarticle.indexOf(";"));
        window.location.href = "http://pokewiki.de/index.php?action=edit&title="+nextarticle;
      }
    }
  }     
}

if (document.cookie.indexOf("listactive=true") >= 0) {
  nextarticle = document.cookie.substring(document.cookie.indexOf("list=")+5);
  if (nextarticle.indexOf("|") > -1) nextarticle = nextarticle.substring(0, nextarticle.indexOf("|"));
  if (nextarticle.indexOf(";") > -1) nextarticle = nextarticle.substring(0, nextarticle.indexOf(";"));
  if (mw.config.get("wgPageName")  == nextarticle && mw.config.get("wgAction")  == "view") {
    articlelist = document.cookie.substring(document.cookie.indexOf("list=")+5);
    if (articlelist.indexOf(";") > -1) articlelist = articlelist.substring(0, articlelist.indexOf(";"));
    document.cookie = "list="+articlelist.replace(mw.config.get("wgPageName")  + "|", "");
    nextarticle = document.cookie.substring(document.cookie.indexOf("list=")+5);
    if (nextarticle.indexOf("|") > -1) nextarticle = nextarticle.substring(0, nextarticle.indexOf("|"));
    if (nextarticle.indexOf(";") > -1) nextarticle = nextarticle.substring(0, nextarticle.indexOf(";"));
    if (nextarticle != "") {
      window.location.href = "http://pokewiki.de/index.php?action=edit&title="+nextarticle;
    }
    else {
      listactive = false;
      document.cookie = "listactive=false";
      alert("Liste wurde erfolgreich abgearbeitet!");
    }
  }
}