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

Aus PokéWiki
Zur Navigation springen Zur Suche springen
K (Kleinere änderungen in der aktualisierungsrate der LÄ)
K (testweise einen link anders)
Zeile 130: Zeile 130:
// Top Bar (Rechts)
// Top Bar (Rechts)
// Beobachtete Seiten -> LÄ
// Beobachtete Seiten -> LÄ
$("#pt-watchlist").replaceWith('<li><a id="rc" href="/Spezial:Letzte Änderungen?hidebots=0" title="Letzte Änderungen">Letzte Änderungen</a></li>');
 
$("#pt-watchlist").after('<li><a id="rc" href="/Spezial:Letzte Änderungen?hidebots=0" title="Letzte Änderungen">Letzte Änderungen</a></li>')


// Änderungen an der LÄ Seite (Rest im CSS)
// Änderungen an der LÄ Seite (Rest im CSS)

Version vom 20. Februar 2017, 22:24 Uhr

// Die Skripte stammen allesamt von Jones, der sie von Shadowtweaker hat, sie wurden jedoch angepasst und personalisiert: Vielen Dank an der Stelle!

/*
####################################### 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(($("#searchInput").val().indexOf(":")+1)/2) == 1) {
    var text = $("#searchInput").val();
    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:");
    $("#searchInput").val(text);
  }
}

/*
################################ 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.  
# Code stammt von shadowtweaker!
########################################################################################################################### */
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==73 && 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('Zu suchender Text:'), "g");
      var replacetext = prompt('Zu ersetzender Text:');
      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!");
    }
  }
}

/*
#################### Automatische Aktualisierung der letzten Änderungen ####################
# Untenstehender Code bewirkt, dass die Letzten Änderungen regelmäßig aktualisiert werden. #
# Die Aktualisierung erfolgt alle 30 Sekunden.                                            #
############################################################################################ */
if (mw.config.get("wgPageName") == "Spezial:Letzte_Änderungen") {
  var sekunden = 30;
  var count = window.setInterval("countdown()", 1000);
  var loading = false;
}
function countdown()
{
  sekunden--;
  if (sekunden <= 0 && $("#searchInput").val() == "" && !loading) { loading = true; 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 (mw.config.get("wgPageName") == "Spezial:Letzte_Änderungen") {
  if (window.location.href.indexOf("hideuser=") > 0) {
    var hideuser = window.location.href.substring(window.location.href.indexOf("hideuser=")+9);
    hideuser = hideuser.replace(/(\?|\&).*/, "");
    var listofcontribs = $(".mw-userlink");
    for (var i=0;i<listofcontribs.length;i++) {
      if (listofcontribs[i].innerHTML.replace(" ","_") == hideuser) { listofcontribs[i].parentNode.style.display = "none"; }
    }
  }
}

// Top Bar (Links)
// Filb in neuem Tab
$("#gl-topbar-f").find("a").attr("target", "_blank");

// Top Bar (Rechts)
// Beobachtete Seiten -> LÄ

$("#pt-watchlist").after('<li><a id="rc" href="/Spezial:Letzte Änderungen?hidebots=0" title="Letzte Änderungen">Letzte Änderungen</a></li>')

// Änderungen an der LÄ Seite (Rest im CSS)
// Kommentar und Benutzer eine Zeile tiefer
$(".mw-special-Recentchanges .comment, .mw-special-Recentchanges .mw-userlink").before("<br />");
// Aktuelles über Tabelle
$(".rcoptions").after("<div id=\"rc-aktuelles\" class=\"center\">"+$("#recentchanges-news").html()+"</div>");

// Test
$(function() {
  toggleInit();
});