Benutzer:Blazery/common.js: Unterschied zwischen den Versionen

Aus PokéWiki
Zur Navigation springen Zur Suche springen
(Änderung 1072173 von Blazery (Diskussion | Beiträge) wurde rückgängig gemacht.)
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
//  ############
//  #  Topbar  #
//  ############
document.getElementById("pw-personal").innerHTML = '<ul><li id="pt-userpage"><a href="/Benutzer:Blazery" accesskey=".">Blazery</a></li><li id="pt-mytalk"><a href="/Benutzer_Diskussion:Blazery" accesskey="n">Diskussion</a></li><li id="lae"><a href="/Spezial:Letzte Änderungen">Letzte Änderungen</a></li><li id="kl-project"><a href="/PokéWiki:Komplettlösungs-Projekt"><b>KL-Projekt</b></a></li><li id="fdp"><a href="/PokéWiki:Frag die Professoren" accesskey="."><b>FdP</b></a></li><li id="blazery-edit"><a href="/Spezial:Beiträge/Blazery" accesskey=".">Bearbeitungen</a></li><li id="blazery-edits"><a href="/Spezial:EditCount/Blazery" accesskey=".">EditCount</a></li><li id="watchlist"><a href="/Spezial:Beobachtungsliste" accesskey=".">Beobachtungsliste</a></li><li id="pt-preferences"><a href="/Spezial:Einstellungen">Einstellungen</a></li></li><li id="pt-logout"><a href="/index.php?title=Spezial:Abmelden&amp;returnto=Hauptseite">Abmelden</a></li></ul>';
// Herzlichen Dank an Shadowtweaker,
// Herzlichen Dank an Shadowtweaker,
// dieses Javascript ist von ihm erstellt worden!
// dieses Javascript ist von ihm erstellt worden!

Version vom 1. April 2015, 19:06 Uhr

// Herzlichen Dank an Shadowtweaker,
// dieses Javascript ist von ihm erstellt worden!

//Bei den Sonderzeichen [[Datei:]] hinzufügen
if (document.getElementById("editpage-copywarn")) {
  var inserttags = document.getElementById("editpage-copywarn").firstChild.nextSibling.firstChild.nextSibling.innerHTML;
  var insertfile = inserttags.substring(inserttags.indexOf("[[]]</a>")+9);
  insertfile = insertfile.substring(0, insertfile.indexOf("</a>")+4);
  insertfile = insertfile.replace(/Kategorie/g, "Datei");
  document.getElementById("editpage-copywarn").firstChild.nextSibling.firstChild.nextSibling.innerHTML += insertfile;
}

/*Entferne |.| in den Letzten Änderungen */
for (i = 0; i < document.getElementsByClassName("mw-changeslist-separator").length; i++) document.getElementsByClassName("mw-changeslist-separator")[i].innerHTML = "";

// Einbindung von [[Benutzer:Shadowtweaker/bugfix.js]]
document.write('<script src="http://pokewiki.de/index.php?'
  + 'title=Benutzer:Shadowtweaker/bugfix.js&action=raw&ctype=text/javascript"><\/script>');

/*
################################ 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://pokewiki.de/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";
    }
  }
}


/*
## http://pokewiki.de/index.php?title=MediaWiki:Common.js&curid=20361&diff=736792&oldid=649038 ##
# Verhindert das Erscheinen eines Warnhinweises */
 window.onbeforeunload = {};

/*
####################################### Shortlinks für den SearchInput #######################################
# Beim Suchfeld in der Sidebar kann es nervig sein, andauernd "PokéWiki:" 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 "PokéWiki:"                                                                     #
#   "PD:" wird umgewandelt in "PokéWiki 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]:/, "PokéWiki:");
    text = text.replace(/^[Pp][DdTt]:/, "PokéWiki 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;
  }
}

//############################################################################################################

var pagename = wgPageName;
var pagenameurl = "http://pokewiki.de/" + pagename;

var basepagename = pagename.replace(/\/.+/,""); //entfernt im Seitennamen alles hinter einem Schrägstrich
basepagename = basepagename.replace(/.+:/,""); //entfernt im Seitennamen alles vor einem Doppelpunkt

/*
// Sidebar ein- und ausblenden

var neubutton = document.createElement("div");
neubutton.id="button";

document.getElementById("column-one").insertBefore(neubutton, document.getElementById("p-cactions"));

document.getElementById("button").style.background = "rgba(0,0,0,0.2)";
document.getElementById("button").style.width = "25px";
document.getElementById("button").style.height = "1000px";
document.getElementById("button").style.marginTop = "-200px";
document.getElementById("p-logo").style.display = "none";
document.getElementById("p-search").style.display = "none";
document.getElementById("p-navigation").style.display = "none";
document.getElementById("p-Pok.C3.A9Wiki").style.display = "none";
document.getElementById("p-Hilfen").style.display = "none";
document.getElementById("p-tb").style.display = "none";

if (document.getElementById("p-lang")) {
document.getElementById("p-lang").style.display = "none";
}

document.getElementById("content").style.marginLeft = "25px";
document.getElementById("p-cactions").style.marginLeft = "-128px";

*/

document.getElementById("p-logo").innerHTML = '<a style="background-image: url(/skins/common/images/pokewiki.png);" href="/Hauptseite"></a>';
document.getElementById("mw-searchButton").removeAttribute("title");
document.getElementById("searchGoButton").removeAttribute("title");
document.getElementById("searchInput").removeAttribute("title");
document.getElementById("mw-searchButton").accessKey = "g";
document.getElementById("searchInput").accessKey = "y";

document.getElementById("p-navigation").innerHTML = '<h5>Navigation</h5><div class="pBody"><ul><li id="n-mainpage"><a href="/Hauptseite" accesskey="z">Hauptseite</a></li><li id="n-news"><a href="/Pok%C3%A9Wiki:Neuigkeiten" accesskey="n">Neuigkeiten</a></li><li id="n-maintenance"><a href="/Kategorie:Pok%C3%A9Wiki-Wartung" accesskey="x">Wartung</a></li><li id="n-doubleredirects"><a href="/Spezial:Doppelte_Weiterleitungen" accesskey="=">Doppelte Redirects</a></li><li id="brokenredirects"><a href="/Spezial:Kaputte_Weiterleitungen" accesskey="%">Kaputte Redirects</a></li><li><a href="/Spezial:Gewünschte_Seiten" accesskey="&">Gewünschte Seiten</a></li><li><a href="/Kategorie:Löschen" accesskey="!">Löschen</a></li><li><a href="/Kategorie:Verschieben" accesskey="/">Verschieben</a></li></ul></div>';
document.getElementById("p-Pok.C3.A9Wiki").innerHTML = '<h5>PokéWiki</h5><div class="pBody"><ul><li id="n-recentchanges"><a href="/Spezial:Letzte_%C3%84nderungen" accesskey="r">Letzte Änderungen</a></li><li id="n-Wer-ist-online.3F"><a href="/Spezial:Wer_ist_gerade_online" accesskey="?">Wer ist online?</a></li><li id="n-Exzellente-Artikel"><a href="/Pok%C3%A9Wiki:Exzellente_Artikel" accesskey=")">Exzellente Artikel</a></li><li id="n-Lesenswerte-Artikel" accesskey="("><a href="/Pok%C3%A9Wiki:Lesenswerte_Artikel">Lesenswerte Artikel</a></li><li id="n-projects"><a href="/Pok%C3%A9Wiki:Projekte" accesskey="j">Projekte</a></li><li id="n-tcg-project"><a href="/Pok%C3%A9Wiki:TCG-Projekt" accesskey=".">TCG-Projekt</a></li><li id="n-tcg-projectsub"><a href="/Pok%C3%A9Wiki:TCG-Projekt/Karten-Artikel" accesskey=":">Karten-Artikel</a></li><li id="n-music-project"><a href="/Pok%C3%A9Wiki:Musik-Projekt" accesskey=";">Musik-Projekt</a></li></ul></div>';
document.getElementById("p-Hilfen").innerHTML = '<h5>Hilfen</h5><div class="pBody"><ul><li id="n-help"><a href="/Pok%C3%A9Wiki:Hilfe">Hilfe</a></li><li id="n-ap"><a href="/Pok%C3%A9Wiki:Autorenportal">Autorenportal</a></li><li id="n-rules"><a href="/Pok%C3%A9Wiki:Regeln">Regeln</a></li><li id="n-questions"><a href="/Pok%C3%A9Wiki:Fragen_zum_Pok%C3%A9Wiki">Fragen</a></li><li style="display:none;"><a href="/Benutzer:shadowtweaker/monobook.css" accesskey="§">CSS</a></li><li style="display:none;"><a href="/Benutzer:shadowtweaker/monobook.js" accesskey="$">JS</a></li></ul></div>';
if (wgNamespaceNumber - (wgNamespaceNumber % 2) == 2) {
  document.getElementById("p-tb").innerHTML = '<h5>Werkzeuge</h5><div class="pBody"><ul><li id="t-whatlinkshere"><a id="a-whatlinkshere" accesskey="#">Links</a></li><li id="t-contributions"><a id="a-contributions" accesskey="ä">Beiträge</a></li><li id="t-log"><a id="a-log" accesskey="ö">Logbücher</a></li><li id="t-block"><a id="a-block">Sperren</a></li><li id="t-upload"><a href="/Spezial:Hochladen" accesskey="u">Hochladen</a></li><li id="t-specialpages"><a href="/Spezial:Spezialseiten" accesskey="q">Spezialseiten</a></li><li id="t-editcount"><a id="a-editcount">Bearbeitungsanzahl</a></li><li id="t-purge"><a id="a-purge" accesskey="a">Aktualisieren</a></li></ul></div>';
  document.getElementById("a-block").href = "http://pokewiki.de/index.php?title=Spezial:Sperren/" + basepagename;
  document.getElementById("a-editcount").href = "http://pokewiki.de/index.php?title=Special%3AEditCount&target=" + basepagename + "&doeditcount=Anzahl+anzeigen";document.getElementById("a-log").href = "http://pokewiki.de/index.php?title=Spezial:Logbuch&user=" + basepagename;
  document.getElementById("a-contributions").href = "http://pokewiki.de/Spezial:Beiträge/" + basepagename;
} else {
  document.getElementById("p-tb").innerHTML = '<h5>Werkzeuge</h5><div class="pBody"><ul><li id="t-whatlinkshere"><a id="a-whatlinkshere" accesskey="#">Links</a></li><li id="t-contributions"><a href="/Spezial:Beiträge" accesskey="ä">Beiträge</a></li><li id="t-upload"><a href="/Spezial:Hochladen" accesskey="u">Hochladen</a></li><li id="t-specialpages"><a href="/Spezial:Spezialseiten" accesskey="q">Spezialseiten</a></li><li id="t-purge"><a id="a-purge" accesskey="a">Aktualisieren</a></li></ul></div>';
}
document.getElementById("a-whatlinkshere").href = "http://pokewiki.de/Spezial:Linkliste/" + pagename;
document.getElementById("a-purge").href = "http://pokewiki.de/index.php?title=" + pagename.replace("&","%26") + "&action=purge";

// Persönliche Werkzeuge
document.getElementById("pt-userpage").innerHTML='<a href="/Benutzer:Shadowtweaker" accesskey="7">Benutzerseite</a>';
document.getElementById("pt-mytalk").innerHTML='<a href="/Benutzer_Diskussion:Shadowtweaker" accesskey="8">Diskussionsseite</a>';
document.getElementById("pt-preferences").innerHTML='<a href="/Spezial:Einstellungen" accesskey="9">Einstellungen</a>';
document.getElementById("pt-watchlist").innerHTML='<a href="/Spezial:Beobachtungsliste" accesskey="0">Beobachtungsliste</a>';
document.getElementById("pt-mycontris").innerHTML='<a href="/Spezial:Beitr%C3%A4ge/Shadowtweaker" accesskey="ß">Beiträge</a>';
document.getElementById("pt-logout").innerHTML='<a href="/Spezial:Abmelden">Logout</a>';

//Reiter

if (wgNamespaceNumber == -1) {
document.getElementById("ca-nstab-special").firstChild.removeAttribute("title");
document.getElementById("ca-nstab-special").firstChild.accessKey = "c";
}
else {
  switch (wgNamespaceNumber - (wgNamespaceNumber % 2)) {
    case 0:
      document.getElementById("ca-nstab-main").firstChild.removeAttribute("title");
      break;
    case 2:
      document.getElementById("ca-nstab-user").firstChild.removeAttribute("title");
      break;
    case 4:
      document.getElementById("ca-nstab-project").firstChild.removeAttribute("title");
      document.getElementById("ca-nstab-project").firstChild.accessKey = "c";
      break;
    case 6:
      document.getElementById("ca-nstab-image").firstChild.removeAttribute("title");
      break;
    case 8:
      document.getElementById("ca-nstab-mediawiki").firstChild.removeAttribute("title");
      break;
    case 10:
      document.getElementById("ca-nstab-template").firstChild.removeAttribute("title");
      break;
    case 12:
      document.getElementById("ca-nstab-help").firstChild.removeAttribute("title");
      break;
    case 14:
      document.getElementById("ca-nstab-category").firstChild.removeAttribute("title");
      break;
  }
}

if (document.getElementById("ca-talk")) { document.getElementById("ca-talk").firstChild.removeAttribute("title"); }
if (document.getElementById("ca-edit")) {
  document.getElementById("ca-edit").firstChild.removeAttribute("title");
  document.getElementById("ca-edit").firstChild.accessKey = "b";
}
if (document.getElementById("ca-history")) {
  document.getElementById("ca-history").innerHTML = '<a id="a-history" accesskey="h">Versionen</a>';
  document.getElementById("a-history").href = "http://pokewiki.de/index.php?title=" + pagename.replace("&","%26") + "&action=history";
}
if (document.getElementById("ca-move")) {
  document.getElementById("ca-move").innerHTML = '<a id="a-move" accesskey="m">Verschieben</a>';
  document.getElementById("a-move").href = "http://pokewiki.de/Spezial:Verschieben/" +pagename;
}
if (document.getElementById("ca-delete")) {
  document.getElementById("ca-delete").firstChild.removeAttribute("title");
  document.getElementById("ca-delete").firstChild.accessKey = "l";
}
if (document.getElementById("ca-undelete")) {
  document.getElementById("ca-undelete").firstChild.removeAttribute("title");
  document.getElementById("ca-undelete").firstChild.accessKey = "l";
}
if (document.getElementById("ca-protect")) {
  document.getElementById("ca-protect").firstChild.removeAttribute("title");
  document.getElementById("ca-protect").firstChild.accessKey = "ü";
}
if (document.getElementById("ca-unprotect")) {
  document.getElementById("ca-unprotect").firstChild.removeAttribute("title");
  document.getElementById("ca-unprotect").firstChild.accessKey = "ü";
}
if (document.getElementById("ca-watch")) { document.getElementById("ca-watch").firstChild.accessKey = "w"; }
if (document.getElementById("ca-unwatch")) { document.getElementById("ca-unwatch").firstChild.accessKey = "w"; }

//Interwikis
if (document.getElementsByClassName("interwiki-en")[0]) {
  document.getElementsByClassName("interwiki-en")[0].firstChild.accessKey = "1";
}
if (document.getElementsByClassName("interwiki-es")[0]) {
  document.getElementsByClassName("interwiki-es")[0].firstChild.accessKey = "2";
}
if (document.getElementsByClassName("interwiki-fr")[0]) {
  document.getElementsByClassName("interwiki-fr")[0].firstChild.accessKey = "3";
}
if (document.getElementsByClassName("interwiki-it")[0]) {
  document.getElementsByClassName("interwiki-it")[0].firstChild.accessKey = "4";
}
if (document.getElementsByClassName("interwiki-ja")[0]) {
  document.getElementsByClassName("interwiki-ja")[0].firstChild.accessKey = "5";
}
if (document.getElementsByClassName("interwiki-pl")[0]) {
  document.getElementsByClassName("interwiki-pl")[0].firstChild.accessKey = "6";
}