Benutzer:Mnh/broken.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
/*
* Durch Änderungen an mediawiki kaputtgespielter Code.
*/
/**
* bei Bild-SLAs SLA-Grund übernehmen oder JetztSVG übernehmen
*/
function img_speedy() {
var pos, pos2;
var text;
var elem;
if(wgCanonicalNamespace != "File")
return;
/* falls SVG da ist, neuen Namen rausprokeln, Rest ignorieren */
if( (elem=document.getElementById('Vorlage_JetztSVG')) != null) {
pos = elem.innerHTML.indexOf('</center>');
pos = elem.innerHTML.indexOf('title="', pos) + strlen('title="');
pos2 = elem.innerHTML.indexOf('"', pos);
text = elem.innerHTML.substr(pos, pos2-pos);
/* Link variieren, falls lokal => Bild:, sonst commons:Image:
* feststellbar an der URL des thumbnails
*/
pos = elem.innerHTML.indexOf('src="', pos2) + strlen('src="');
pos2 = elem.innerHTML.indexOf('"', pos);
if(elem.innerHTML.substr(pos, pos2-pos).indexOf("upload.wikimedia.org/wikipedia/commons") == NOT_THERE)
text = "Ersetzt durch SVG: [[Bild:" + text + "]]";
else
text = "Ersetzt durch SVG: [[commons:Image:" + text + "|Bild:" + text + "]]";
} else {
elem = document.getElementById('mw_contentholder');
/* nach SLA-Marker-Begründung suchen */
if( (pos=elem.innerHTML.indexOf('<b>Begründung:</b>')) == NOT_THERE)
return;
pos += strlen('<b>Begründung:</b> ');
/* nach Unterschriftenende suchen */
if( (pos2=elem.innerHTML.indexOf('(CEST)', pos)) == NOT_THERE)
pos2 = elem.innerHTML.indexOf('(CET)', pos);
if(pos2 == -1)
return;
text = elem.innerHTML.substr(pos, pos2-pos);
/* HTML raus, Grund rein */
text = "SLA: " + text.replace(/<[^>]*>/g, '');
}
elem = document.getElementById('ca-delete');
pos = elem.innerHTML.indexOf('action=delete') + strlen('action=delete');
elem.innerHTML = elem.innerHTML.substr(0, pos) + "&wpReason=" + text + elem.innerHTML.substr(pos);
}
//addOnloadHook(img_speedy);
/**
* sanitize_delete_reason: Falls vorhanden, Löschtext nach erster Sig abschneiden.
*/
function sanitize_delete_reason() {
var reason;
var pos;
if(!location.href.match(/action=delete/))
return;
if( (reason=document.getElementById('wpReason')) == null)
return;
/* SLAs */
if( (pos=reason.value.indexOf("(CEST)")) == NOT_THERE)
pos = reason.value.indexOf("(CET)");
/* Redirects anders behandeln */
var prefix = "";
var rpos = reason.value.toLowerCase().indexOf("#redirect");
if(rpos != -1) {
/* Link des Redirects extrahieren, normale Begründung abschneiden */
prefix = reason.value.substr(0, reason.value.indexOf("]]", rpos));
reason.value = reason.value.substr(0, rpos);
rpos = prefix.lastIndexOf("[[");
prefix = "Unnötige Weiterleitung nach " + prefix.substr(rpos) +"]] ";
}
/* kein SLA? Nix tun, außer es ist ein Redir. Sonst kürzen. */
if(pos == -1) {
if(prefix.length > 0)
reason.value = prefix;
} else {
/* HTML-Tags raus, gern in sigs verwendet und im Log unnütz */
reason.value = reason.value.replace(/<[^>]*>/g, '');
if(prefix.length + pos > 255) {
pos = 255 - prefix.length;
}
reason.value = prefix + reason.value.substr(0, pos);
}
}
//addOnloadHook(sanitize_delete_reason);
function clean_protform() {
/* Gequassel raus */
var elem = document.getElementById('mw_contentholder');
var pos = elem.innerHTML.indexOf("<p>Hier kannst");
var text = elem.innerHTML.substr(0, pos);
/* zum richtigen </p> vorwandern */
pos = elem.innerHTML.indexOf("gilt der Seitenschutz unbeschränkt.", pos);
pos = elem.innerHTML.indexOf("</p>", pos) + strlen("</p>");
text+= elem.innerHTML.substr(pos);
elem.innerHTML = text;
/* Kaskadierende blablablabla -> kurz */
pos = elem.innerHTML.indexOf(" – alle in diese Seite");
text = elem.innerHTML.substr(0,pos);
pos = elem.innerHTML.indexOf("</label>", pos);
text+= elem.innerHTML.substr(pos);
elem.innerHTML = text;
/* [x] Beobachten raus, noch nie da gebraucht */
pos = elem.innerHTML.indexOf("<input name=\"mwProtectWatch\"");
text = elem.innerHTML.substr(0, pos);
pos = elem.innerHTML.indexOf("</td>", pos);
text+= elem.innerHTML.substr(pos);
elem.innerHTML = text;
}
/**
* SnR – Search'n'Replace mit regulären Ausdrücken. Fügt zusätzliche Boxen im Editmodus ein
*/
function SnR () {
var haystack = document.getElementById("wpTextbox1");
var needle = document.getElementById("mnh_snr_s").value;
var replace = document.getElementById("mnh_snr_r").value;
var txt = haystack.value.replace(new RegExp(""+needle, "g"), replace);
haystack.value = txt;
}
function SnR_form() {
if(wgAction != "edit")
return;
/* Formular am oberen Teil einfügen */
var elem = document.getElementById("contentSub");
elem.innerHTML+= '<form><input type="text" name="search" id="mnh_snr_s" />'
+ '<input type="text" name="replace" id="mnh_snr_r" tabindex="0" />'
+ '<input type="button" value="S+R" onClick="SnR()" />'
+ '<input type="button" value="Kill Dates" onClick="killDates()" style="float:right" />'
+ '</form>';
}
addOnloadHook(function() { SnR_form(); });