User:SusKauz/global.js

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
//===========================================================================
//===========================================================================
// Einstellungen für alle Wikis 
//===========================================================================
//===========================================================================


//===========================================================================
// Übersicht:
//===========================================================================

// letzteredit 
// Medienbetrachter für alle Wikis auf einmal deaktivieren
// resultListSort
// revisionCounter

//===========================================================================
// Ende Übersicht
//===========================================================================


//===========================================================================
// letzteredit 
// Zeigt an, wann ein User zuletzt aktiv war.
// Skript des Benutzers Schnark. Quelle: Benutzer:Schnark/js/letzteredit.js
//===========================================================================

var letzteredit = {
  version: 1.0,
  datumzustring: function(jahr, monat, tag, stunde, minute, sekunde) {
    var jetzt = new Date();
    var letzter_edit = new Date(jahr, monat, tag, stunde, minute, sekunde);
    letzter_edit = new Date(letzter_edit.getTime() - jetzt.getTimezoneOffset() * 60*1000);
    var monate = new Array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
 
    var diff = jetzt.getTime() - letzter_edit.getTime();
    var l_e_tag = new Date(letzter_edit.getFullYear(), letzter_edit.getMonth(), letzter_edit.getDate());
    var j_tag = new Date(jetzt.getFullYear(), jetzt.getMonth(), jetzt.getDate());
    var difftage = Math.round((j_tag.getTime() - l_e_tag.getTime()) / (24*60*60*1000));
 
    var ausgabe = "";
 
    if (diff <= 6*60*60*1000) {
    //vor max. 6 Stunden
       var minuten = Math.round(diff/60000);
       var stunden = Math.floor(minuten/60);
       minuten -= stunden*60;
       ausgabe = "vor ";
       ausgabe += (stunden > 1) ? stunden+" Stunden " : ((stunden == 1) ? "1 Stunde " : "");
       ausgabe += (minuten == 1) ? "1 Minute" : minuten+" Minuten";
    } else {
    if (difftage <= 1) {
    //heute oder gestern
       ausgabe = (difftage == 0) ? "heute" : "gestern";
       ausgabe += " um " + letzter_edit.getHours() + ":";
       ausgabe += (letzter_edit.getMinutes()<10) ? "0" : "";
       ausgabe += letzter_edit.getMinutes();
    } else {
    if (difftage <= 10) {
    //vor max. 10 Tagen
       ausgabe = "vor " + difftage + " Tagen";
    } else {
    if (difftage <= 100) {
    //vor max. 100 Tagen
       ausgabe = "am " + letzter_edit.getDate() + ". " + monate[letzter_edit.getMonth()] + " " + letzter_edit.getFullYear()
    } else {
    //vor mehr als 100 Tagen
       ausgabe = "im " + monate[letzter_edit.getMonth()] + " " + letzter_edit.getFullYear();
    }}}}
    return "(zuletzt aktiv " + ausgabe + ")"; },
  einfuegen: function(data) {
    var benutzer = '';
    var datum = data;
    if (datum) datum = datum.query;
    if (datum) datum = datum.usercontribs;
    if (datum) datum = datum[0];
    if (datum) datum = datum.timestamp;
    if (datum) {
            /^(\d\d\d\d)-(\d\d)-(\d\d)T(\d\d):(\d\d):(\d\d)Z$/.exec(datum);
            benutzer = letzteredit.datumzustring(RegExp.$1, RegExp.$2 - 1, RegExp.$3, RegExp.$4, RegExp.$5, RegExp.$6); }
    else benutzer = '(noch nie aktiv)';
    $(function() {$('#firstHeading').append($('<small>').text(benutzer).css({marginLeft: '1em'}).addClass('letzteredit'));}); },
  go: function() {
    if ((mw.config.get('wgNamespaceNumber') == 2 || mw.config.get('wgNamespaceNumber') == 3) && true) {
       $.getJSON(mw.config.get('wgScriptPath') + '/api.php', {action: 'query', list: 'usercontribs', uclimit: 1, ucprop: 'timestamp', format: 'json', ucuser: mw.config.get('wgTitle').replace(/\/.+/, '')}, this.einfuegen);
    }}
};
 
if (typeof jsmodules != 'undefined') jsmodules.after('[[Benutzer:Schnark/js/letzteredit.js]]');
letzteredit.go();

//===========================================================================
// Ende letzteredit
//===========================================================================


//===========================================================================
// Medienbetrachter für alle Wikis auf einmal deaktivieren
//===========================================================================

mw.config.set("wgMediaViewerOnClick", false);

//===========================================================================
// Ende Medienbetrachter für alle Wikis auf einmal deaktivieren
//===========================================================================


 
//===========================================================================
// resultListSort
// Quelle: Benutzer:PerfektesChaos/js/resultListSort
//===========================================================================

mw.loader.load("//www.mediawiki.org/w/index.php?title=User:PerfektesChaos/js/resultListSort/r.js&action=raw&ctype=text/javascript&maxage=86400&*",
               "text/javascript");

//===========================================================================
// Ende resultListSort
//===========================================================================


//===========================================================================
// revisionCounter
// Fügt an den Reiter "Versionsgeschichte" die Anzahl aller Versionen
// und die Anzahl der vom Nutzer erstellten Versionen an.
//===========================================================================
 
var revisionCounter = 
{
  queryUrl           : mw.config.get( 'wgScriptPath' ) + '/api.php?action=query&prop=revisions&pageids=' + mw.config.get('wgArticleId') + '&rvprop=user&rvlimit=max&format=json&callback=revisionCounter.queryResult'+
             '&nocache=' + mw.config.get('wgCurRevisionId'), //Break client caching, when page has been edited
  revisionCount      : 0,
  revisionCountUser  : 0,
  checkOnlyOnHistory : true,
 
  execute : function() 
  {
    if ((revisionCounter.checkOnlyOnHistory) && (mw.config.get('wgAction') !== "history")) return;
    mw.loader.load(revisionCounter.queryUrl);
  },
 
  queryResult : function(res) 
  {
    var pageId = mw.config.get('wgArticleId');
    if (!res['query'] || !res['query']['pages'] || 
        !res['query']['pages'][pageId] || !res['query']['pages'][pageId]['revisions']) return;
 
    var revs = res['query']['pages'][pageId]['revisions'];
    revisionCounter.revisionCount += revs.length;
    var username = mw.config.get( 'wgUserName' );
    for (var i = 0; i < revs.length; i++)
      if (revs[i]['user'] === username) revisionCounter.revisionCountUser++;
 
    if (res && res['query-continue']) 
    {
      mw.loader.load(revisionCounter.queryUrl + '&rvcontinue=' + encodeURIComponent(res['query-continue'].revisions.rvcontinue));
    }
    else
    {
      if (mw.config.get('skin') === 'vector')
      {
        $("#ca-history a").text(function(index, curText) {
          return curText + " (" + revisionCounter.revisionCount + "/" + revisionCounter.revisionCountUser + ")";
        });
      }
      else
      {
        var info = document.createElement("span");
        info.appendChild(document.createTextNode(" (" + revisionCounter.revisionCount + "/" + revisionCounter.revisionCountUser + ")"));
        var infoTitle = document.createAttribute("title");
        infoTitle.nodeValue = "Insgesamt " + revisionCounter.revisionCount + " Versionen, davon " + revisionCounter.revisionCountUser + " von mir";
        info.setAttributeNode(infoTitle);      
        document.getElementById('ca-history').firstChild.appendChild(info);
      }
    }
  }
};
 
if (mw.config.get('wgNamespaceNumber') >= 0) addOnloadHook( revisionCounter.execute );

//===========================================================================
// Ende revisionCounter
//===========================================================================