Benutzer:PDD/modifyLKs.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
/*
* modifyLKs.js
*
* Autor: [[Benutzer:mnh]]
* Quelle: [[Benutzer:Mnh/monobook.js]]
*
* Dokumentation:
* - führt sich selbst aus, lediglich Einbindung ist nötig
* - dient zur Erleichterung der Löschkandidaten-Abarbeitung
*/
// <nowiki>
/** TOC-Filter
* Entfernt auf LK-Seiten erledigte Diskussionen aus dem Inhaltsverzeichnis
**/
/* Optionen */
var txt_show = "[alle zeigen]";/* Defaulttext für TOC-Button, falls gefiltert */
var txt_hide = "[filtern]"; /* Defaulttext sonst */
var filter_rfdtoc_by_default; /* Standardansicht gefiltert? */
/* Ende der Optionen */
var nfiltered = 0; /* wie viele werden auf der Seite gefiltert? */
/* Wechselt zwischen voller und gefilterter TOC */
function togglefilter() {
var display;
var link = document.anchors.toc_toggler.firstChild;
/* TOC normal oder gefiltert? */
if (link.nodeValue == txt_show) {
display = "";
link.nodeValue = txt_hide;
} else {
display = "none";
link.nodeValue = txt_show;
}
/* Sichtbarkeit der Elemente ändern */
for(var i=0; i<nfiltered; i++)
document.getElementById("invisible_toc"+i).style.display= display;
return false;
}
function filtertoc() {
/* nur auf LK-Seiten ausführen */
var pfx = "Wikipedia:Löschkandidaten/";
var len = pfx.length;
if((document.title.length < len) || (document.title.substring(0, len).indexOf(pfx) != 0))
return;
/* Default setzen, falls Variable für Standardverhalten nicht extern gesetzt */
if(typeof(filter_rfdtoc_by_default) == 'undefined')
filter_rfdtoc_by_default = true;
/* Link zum Umschalten normal/gefiltert in die TOC einfügen */
toc_head = document.getElementsByTagName('h2')[0];
link = document.createElement("a");
link.href="javascript:void(0);";
link.onclick = togglefilter;
link.name = "toc_toggler";
link.setAttribute("style", "float:right;");
if(filter_rfdtoc_by_default)
link.appendChild(document.createTextNode(txt_show));
else
link.appendChild(document.createTextNode(txt_hide));
toc_head.insertBefore(link, toc_head.firstChild.nextSibling);
/* TOC-Elemente nach üblichen Zusätzen durchgehen und gefundene Elemente
* mit ID ausstatten
*/
for (var i = 0; i < document.getElementsByTagName("li").length; i++) {
var lelem = document.getElementsByTagName('li')[i];
/* nichts außerhalb der TOC */
var mlkclass = lelem.getAttribute("class");
if(!mlkclass || !mlkclass.match(/toclevel/)) {
continue;
}
var toctxt = lelem.getElementsByTagName('span')[1].firstChild.nodeValue;
/* abgearbeitet? */
if(toctxt.match(/gelöscht/i)
|| toctxt.match(/\([^\)]*\berl/i)
|| toctxt.match(/\([^\)]*bleib/i)
|| toctxt.match(/\(.*redir/i)
|| toctxt.match(/URV/)
|| toctxt.match(/zurück(gezogen|genommen)/i)
|| toctxt.match(/:LAE/)
|| toctxt.match(/\([^\)]*QS[^\)]*\)/)
|| toctxt.match(/\([^\)]*SLA.*\)/i)
|| toctxt.match(/\([^\)]*LAE.*\)/)
|| toctxt.match(/\([^\)]*LAZ.*\)/)
|| toctxt.match(/\([^\)]*BNR.*\)/)
|| toctxt.match(/\([^\)]*(LA|Löschantrag) entfernt[^\)]*\)/) ) {
/* Ja, ID zuweisen und ausblenden, falls standardmäßig gefiltert */
lelem.id = "invisible_toc" + nfiltered;
if(filter_rfdtoc_by_default)
lelem.style.display = "none";
nfiltered += 1;
}
}
}
$(document).ready(function() { filtertoc(); });
/** Ende des Filters **/
/** Loescheimer: fügt auf LK-Seiten den Zwischenüberschriften (h2 und h3) zusätzliche Knöpfchen
** für Versionsgeschichte, War Löschkandidat und Löschen mit gesetztem Grund hinzu.
** Verwenden: Bis zur unteren Markierung kopieren und in die eigene Monobook.js einfügen.
**/
function wasrfd() {
if (mw.config.get('wgNamespaceNumber') % 2 === 0) return;
/* Date given by url argument, extract, replace any %20 w/ spaces */
date = location.href.substr(location.href.indexOf("date=")+5);
date = date.replace(/%20/g, " ");
/* insert our beloved "this was an rfd"-brick */
if(document.editform) {
document.editform.wpTextbox1.value = "{{War Löschkandidat|"+date+"}}\n\n"+document.editform.wpTextbox1.value;
document.editform.wpSummary.value = "+ War Löschkandidat";
document.editform.wpSave.click();
}
return false;
}
function loescheimer() {
/* Terminate on non-RfD-pages */
var pfx = "Wikipedia:Löschkandidaten/";
var len = pfx.length;
if((document.title.length < len) || (document.title.substring(0, len).indexOf(pfx) != 0))
return;
/* right page, extract date, build delete url */
var date = document.title.substring(len).replace(/ [–-] .*/, "");
if ( mw.config.get( 'wgServer' ).indexOf('https://') == 0 ) {
var baseurl = "https://secure.wikimedia.org/wikipedia/" + mw.config.get( 'wgContentLanguage' ) + mw.config.get( 'wgScriptPath' ) + "/index.php?title=" ;
} else {
var baseurl = "//" + mw.config.get( 'wgContentLanguage' ) + ".wikipedia.org" + mw.config.get( 'wgScriptPath' ) + "/index.php?title=" ;
}
var params = "&action=delete&wpReason=siehe [[Wikipedia:Löschkandidaten/" + date + "%23";
var postfix = " (gelöscht)]]";
/* sift through level-2-headings */
len = document.getElementsByTagName("h2").length;
var head = null;
for (var i = 0; i < len + document.getElementsByTagName("h3").length; i++) {
/* Isolate the RfDs title */
if(i < len) {
head = document.getElementsByTagName('h2')[i];
} else {
head = document.getElementsByTagName('h3')[i-len];
}
var span = head.getElementsByTagName('span');
if(span.length != 2)
continue;
if(span[1].getAttribute("class") != "mw-editsection")
continue;
/* skip certain cases, i.e. no link in h2/h3, article already deleted */
var link = span[0].getElementsByTagName('a');
if(link.length == 0)
continue;
if(link[0].getAttribute("class") == "new")
continue;
var page = link[0].childNodes[0].nodeValue;
var colon = page.indexOf(':');
if (colon >= 0)
{
var disk = page.slice(0,colon)+"_Diskussion"+page.slice(colon);
} else {
var disk = "Diskussion:"+ page;
}
var fulltitletext = "";
if (span[0].childNodes[1] && span[0].childNodes[1].nodeValue!=null)
fulltitletext = span[0].childNodes[1].nodeValue;
/* create keep link, unless a delete decision has already been made */
if(!fulltitletext.match(/\(gelöscht\)/i)) {
link = document.createElement("a");
link.setAttribute("href", baseurl + disk+ "&action=edit&date="+date);
link.setAttribute("style", "color:#00CD66;font-size:small;");
link.onclick = wasrfd;
link.appendChild(document.createTextNode("[keep] "));
span[1].insertBefore(link, span[1].firstChild);
}
/* insert no other buttons when decision already is "keep" */
if(fulltitletext.match(/\(bleibt\)/i))
continue;
/* create history link */
link = document.createElement("a");
link.setAttribute("href", baseurl + page + "&action=history");
link.setAttribute("style", "font-size:small;");
link.appendChild(document.createTextNode("[hist] "));
span[1].insertBefore(link, span[1].firstChild);
/* create delete-link */
link = document.createElement("a");
link.setAttribute("href", baseurl + page + params + page + postfix);
link.setAttribute("style", "color:#CD3700;font-size:small;");
link.appendChild( document.createTextNode("[del] "));
span[1].insertBefore(link, span[1].firstChild);
}
}
if(location.href.match(/date=/)) {
var csa = 0;
if(location.href.match(/\{\{/)) csa++;
if(location.href.match(/\}\}/)) csa++;
if (csa == 0) $(document).ready(wasrfd);
}
$(document).ready(loescheimer);
/** Ende des Loescheimers **/
// </nowiki>