Diferencia entre revisiones de «Tlatequitiltilīlli:Frank C. Müller/vector.js»

Contenido eliminado Contenido añadido
revision counter.
global.js
 
Pantli 10:
var rmEditButtons = ['all']; // Standardbutton entfernen
// -----
 
 
 
// ----- Letzter Edit. 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) && mw.config.get('wgEnableAPI')) {
$.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();
// -----
 
 
//===========================================================================
// Fügt an den Reiter "Versionen/Autoren" die Anzahl Versionen an und die
// Anzahl vom Nutzer erstellter Versionen
//===========================================================================
 
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;
importScriptURI(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'])
{
importScriptURI(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 );