Benutzer:Schnark/letzteredit.js

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Hinweis: Leere nach dem Veröffentlichen 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/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Strg+F5
/***********************************************************
*                                                          *
*                       ACHTUNG!                           *
*                                                          *
* Dieses Skript wird nicht weiter gepflegt! Eine neue      *
* Version befindet sich unter                              *
* [[Benutzer:Schnark/js/letzeredit.js]]                    *
***********************************************************/
function datumzustring(jahr, monat, tag, stunde, minute, sekunde) {
var jetzt = new Date();
var letzter_edit = new Date(jahr, monat, tag, stunde-jetzt.getTimezoneOffset() / 60, minute, sekunde);
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 + ")";
}
var wgNamespaceNumber = mw.config.get('wgNamespaceNumber');
if (wgNamespaceNumber==2 || wgNamespaceNumber == 3) {
$(function() {
	var wgTitle = mw.config.get('wgTitle');
	var wgServer = mw.config.get('wgServer');
  var benutzer=wgTitle.replace(/\/.+/,'');
  var xmlHttp = null;
  try {
      // Mozilla, Opera, Safari sowie Internet Explorer (ab v7)
      xmlHttp = new XMLHttpRequest();
  } catch(e) {
      try {
          // MS Internet Explorer (ab v6)
          xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
      } catch(e) {
          try {
              // MS Internet Explorer (ab v5)
              xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
          } catch(e) {
              xmlHttp  = null;
          }
      }
  }
  if (xmlHttp) {
  xmlHttp.open("GET", wgServer + "/w/api.php?action=query&list=usercontribs&uclimit=1&ucprop=timestamp&format=xml&ucuser=" + benutzer, true);
  xmlHttp.onreadystatechange = function () {
        if (xmlHttp.readyState == 4) {
            datum=xmlHttp.responseText.match(/timestamp="[^"]*"/);
            if (datum) {
            datum=datum[0];
            datum=datum.slice(11,datum.length-1);
            /^(\d\d\d\d)-(\d\d)-(\d\d)T(\d\d):(\d\d):(\d\d)Z$/.exec(datum);
            benutzer=datumzustring(RegExp.$1, RegExp.$2-1, RegExp.$3, RegExp.$4, RegExp.$5, RegExp.$6);}
            else benutzer="(noch nie aktiv)";
            document.getElementById("firstHeading").innerHTML += "<small> "+benutzer+"</small>";
        }
  };
  xmlHttp.send(null);
  }
});
}