Benutzer:RobbiRobb/AbuseLog.js
Zur Navigation springen
Zur Suche springen
Hinweis: Leere nach dem Speichern 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: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
- Opera: Extras → Internetspuren löschen … → Individuelle Auswahl → Den kompletten Cache löschen
- Konqueror: Aktualisieren anklicken oder F5 drücken
/**
* AbuseLog fügt neue Einträge aus dem AbuseLog
* passend in die letzten Änderungen ein
*
* @author RobbiRobb
*/
$(document).ready(function() {
if(mw.config.get("wgRelevantPageName") !== "Spezial:Letzte_Änderungen") {
return;
}
mw.loader.using('mediawiki.api', function() {
var api = new mw.Api();
api.get({
action: 'query',
list: 'abuselog',
afllimit: 'max'
}).done(function(data) {
var rc = Array.from(document.getElementsByClassName("mw-changeslist-line"));
data.query.abuselog.forEach(function(entry) {
var entryDate = new Date(entry.timestamp);
var whiteSpace = document.createTextNode(" ");
var node = document.createElement("li");
node.classList.add("mw-changeslist-line");
node.classList.add("mw-changeslist-log");
node.dataset.mwTs = entryDate.getFullYear() + (entryDate.getMonth() + 1).toString().padStart(2, "0") + entryDate.getDate() + entryDate.getHours() + entryDate.getMinutes() + entryDate.getSeconds();
var inner = document.createElement("span");
inner.classList.add("mw-changeslist-line-inner");
inner.dataset.targetPage = entry.user;
node.appendChild(inner);
var link = document.createElement("a");
link.classList.add("mw-changeslist-links");
link.href="/Spezial:Missbrauchsfilter-Logbuch";
link.title = "Spezial:Missbrauchsfilter-Logbuch";
link.innerText = "Missbrauchsfilter-Logbuch";
inner.appendChild(link);
var semicolon = document.createElement("span");
semicolon.classList.add("mw-changeslist-separator--semicolon");
inner.appendChild(semicolon);
inner.appendChild(whiteSpace.cloneNode());
var date = document.createElement("span");
date.classList.add("mw-changeslist-date");
date.innerText = entryDate.getHours().toString().padStart(2, "0") + ":" + entryDate.getMinutes().toString().padStart(2, "0");
inner.appendChild(date);
inner.appendChild(whiteSpace.cloneNode());
var separator = document.createElement("span");
separator.classList.add("mw-changeslist-separator");
inner.appendChild(separator);
inner.appendChild(whiteSpace.cloneNode());
var logEntry = document.createElement("span");
logEntry.classList.add("mw-changeslist-log-entry");
inner.appendChild(logEntry);
var userLink = document.createElement("a");
userLink.classList.add("mw-userlink");
userLink.href = "/Benutzer:" + entry.user;
userLink.title = "Benutzer:" + entry.user;
userLink.innerText = entry.user;
logEntry.appendChild(userLink);
logEntry.appendChild(whiteSpace.cloneNode());
var userTools = document.createElement("span");
userTools.classList.add("mw-usertoollinks");
userTools.classList.add("mw-changeslist-links");
logEntry.appendChild(userTools);
var talk = document.createElement("span");
var talkLink = document.createElement("a");
talkLink.classList.add("mw-usertoollinks-talk");
talkLink.href = "/Benutzer Diskussion:" + entry.user;
talkLink.title = "Benutzer Diskussion:" + entry.user;
talkLink.innerText = "Diskussion";
talk.appendChild(talkLink);
userTools.appendChild(talk);
var contribs = document.createElement("span");
var contribsLink = document.createElement("a");
contribsLink.classList.add("mw-usertoollinks-contribs");
contribsLink.href = "/Spezial:Beiträge/" + entry.user;
contribsLink.title = "Spezial:Beiträge/" + entry.user;
contribsLink.innerText = "Beiträge";
contribs.appendChild(contribsLink);
userTools.appendChild(contribs);
var block = document.createElement("span");
var blockLink = document.createElement("a");
blockLink.classList.add("mw-usertoollinks-block");
blockLink.href = "/Spezial:Sperren/" + entry.user;
blockLink.title = "Spezial:Sperren/" + entry.user;
blockLink.innerText = "Sperren";
block.appendChild(blockLink);
userTools.appendChild(block);
var leftText = document.createTextNode(" verstieß gegen ");
logEntry.appendChild(leftText);
var filterLink = document.createElement("a");
filterLink.classList.add("mw-changeslist-title");
filterLink.href = "/Spezial:Missbrauchsfilter/" + entry.filter_id;
filterLink.title = "Spezial:Missbrauchsfilter/" + entry.filter_id;
filterLink.innerText = "Filter " + entry.filter_id;
logEntry.appendChild(filterLink);
var rightText = document.createTextNode(" auf der Seite ");
logEntry.appendChild(rightText);
var page = document.createElement("span");
page.classList.add("mw-title");
logEntry.appendChild(page);
var pageLink = document.createElement("a");
pageLink.classList.add("mw-changeslist-title");
pageLink.href = "/" + entry.title;
pageLink.title = entry.title;
pageLink.innerText = entry.title;
page.appendChild(pageLink);
for(i = 0; i < rc.length; i++) {
const rcDate = rc[i].dataset.mwTs;
var ts = new Date(rcDate.substring(0, 4) + "-" + rcDate.substring(4, 6) + "-" + rcDate.substring(6, 8) + "T" + rcDate.substring(8, 10) + ":" + rcDate.substring(10, 12) + ":" + rcDate.substring(12, 14) + "Z");
if(ts < entryDate) {
rc[i].parentNode.insertBefore(node, rc[i]);
break;
}
}
});
});
});
});