Benutzer:Ireas/bilderpruefen.js
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
- Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
/*
bilderpruefen.js
Skript zum Prüfen von Bildern ([[WP:WPDK]])
*/
// <nowiki>
// Erlaubte Prüfer
var pruefer = new Array("Brackenheim", "Chaddy", "ChrisiPK", "Emha", "Gruß Tom", "Guandalug", "Historiograf", "Ireas", "JuTa", "Leyo", "Ralf Roletschek", "Saibo", "Suhadi Sadono", "Wikijunkie", "Yellowcard");
// Überprüfe, ob alles ok ist (d. h., Benutzer ist Prüfer,
// wir betrachten oder bearbeiten eine Datei, die nicht
// auf Commons liegt)
function ueberpruefe() {
var ret = true;
if (!istPruefer(mw.config.get('wgUserName')) || mw.config.get('wgCanonicalNamespace') != "File" ||
!(mw.config.get('wgAction') == "edit" || mw.config.get('wgAction') == "view" || mw.config.get('wgAction') == "submit") ||
document.getElementById("commons_descr") != null) {
ret = false;
}
return ret;
}
// Prüf-Button auf der Dateibeschreibungsseite
function pruefButton() {
if (!ueberpruefe()) {
return;
}
addJSTab("Prüfen", function() { pruefe(); });
}
// Prüfe diese Datei
function pruefe() {
if (!ueberpruefe()) {
return;
}
// Bearbeiten wir? Dann kann's gleich losgehen ...
if (mw.config.get('wgAction') == "edit" || mw.config.get('wgAction') == "submit") {
setzeBaustein();
} else {
// Wir müssen in den Bearbeiten-Modus wechseln...
var url = mw.config.get('wgServer') + mw.config.get('wgScript') + "?title=" + encodeURIComponent(mw.config.get('wgPageName'))
+ "&action=edit&pruefe=1";
window.open(url, "_self");
}
}
// Setzt den Geprüfte-Datei-Baustein
function setzeBaustein() {
if (!ueberpruefe() || !(mw.config.get('wgAction') == "edit" || mw.config.get('wgAction') == "submit")) {
return;
}
var textbox = document.getElementById("wpTextbox1");
var text = textbox.value;
var wpSummary = document.getElementById("wpSummary");
// schon gesichtet?
if (text.match(/{{[g|G]eprüfte Datei\|\[\[Benutzer:[^\|]+?\|.+?\]\] \d+:\d+, \d+\. .+\.* \d+ \(.+\)\|\[\[Benutzer:[^\|]+?\|.+?\]\] \d+:\d+, \d+\. .+\. \d+ \(.+\)}}/)) {
// bereits zwei Mal geprüft
alert("Diese Datei ist bereits zweimal geprüft worden!");
return;
} else if (text.match(/{{[g|G]eprüfte Datei\|\[\[Benutzer:[^\|]+?\|.+?\]\] \d+:\d+, \d+\. .+\.* \d+ \(.+\)\|?}}/)) {
// erstsichter
var m = text.match(/{{[g|G]eprüfte Datei\|(\[\[Benutzer:[^\|]+?\|.+?\]\] \d+:\d+, \d+\. .+\.* \d+ \(.+\))\|?}}/);
if (m != null && m.length > 1) {
var n = m[1];
var tmp = n.match(/\[\[Benutzer:([^\|]+?)\|.+?\]\]/);
if (tmp != null && tmp.length > 1) {
var ersterPruefer = tmp[1];
if (ersterPruefer == mw.config.get('wgUserName')) {
alert("Du hast diese Datei bereits geprüft!");
} else {
var newtext = text.replace(/{{[g|G]eprüfte Datei\|(\[\[Benutzer:[^\|]+?\|.+?\]\] \d+:\d+, \d+\. .+\.* \d+ \(.+\))\|?}}/,
"{{Geprüfte Datei|" + n + "|[[Benutzer:" + mw.config.get('wgUserName') + "|" + mw.config.get('wgUserName') + "]] 23:21, 6. Feb. 2021 (CET)}}");
textbox.value = newtext;
if (wpSummary.value == "") {
wpSummary.value = "geprüft";
}
}
}
}
} else {
var newtext = text + "\n{{Geprüfte Datei|[[Benutzer:" + mw.config.get('wgUserName') + "|" + mw.config.get('wgUserName') + "]] 23:21, 6. Feb. 2021 (CET)}}\n";
textbox.value = newtext;
if (wpSummary.value == "") {
wpSummary.value = "geprüft";
}
}
}
// Liefert true zurück, wenn user ein Prüfer ist
function istPruefer(user) {
var ret = false;
for (i = 0; i < pruefer.length && !ret; i++) {
if (pruefer[i] == user) {
ret = true;
}
}
return ret;
}
// Fügt einen Tab hinzu
function addJSTab(label, clicked) {
var a = document.createElement("a");
a.textContent = label;
a.onclick = clicked;
var span = document.createElement("span");
span.appendChild(a);
var li = document.createElement("li");
li.appendChild(span);
li.className = "collapsible";
var watch = document.getElementById('ca-watch') ||
document.getElementById('ca-unwatch');
if (!watch) {
return;
}
watch.parentNode.insertBefore(li, watch);
}
$(pruefButton);
if (document.URL.match(/.+index.php\?.+&pruefe=1/)) {
addOnloadHook(setzeBaustein);
}