„Benutzer:PDD/modifyLKs.js“ – Versionsunterschied
Erscheinungsbild
Inhalt gelöscht Inhalt hinzugefügt
PDD (Diskussion | Beiträge) +1 |
Reparatur: Löscheimer auch ausserhalb des ANR Einsetzbar machen |
||
Zeile 155: | Zeile 155: | ||
var page = link[0].getAttribute("title"); |
var page = link[0].getAttribute("title"); |
||
var colon = page.indexOf(':'); |
|||
if (colon >= 0) |
|||
{ |
|||
var disk = page.slice(0,colon)+"_Diskussion"+page.slice(colon); |
|||
} else { |
|||
var disk = "Diskussion:"+ page; |
|||
} |
|||
/* create keep link, unless a delete decision has already been made */ |
/* create keep link, unless a delete decision has already been made */ |
||
if(!span[1].getElementsByTagName('a')[0].getAttribute("title").match(/\(gelöscht\)/i)) { |
if(!span[1].getElementsByTagName('a')[0].getAttribute("title").match(/\(gelöscht\)/i)) { |
||
link = document.createElement("a"); |
link = document.createElement("a"); |
||
link.setAttribute("href", baseurl + |
link.setAttribute("href", baseurl + disk+ "&action=edit&date="+date); |
||
link.setAttribute("style", "color:#00CD66;font-size:small;"); |
link.setAttribute("style", "color:#00CD66;font-size:small;"); |
||
link.onclick = wasrfd; |
link.onclick = wasrfd; |
Version vom 16. Juli 2010, 20:51 Uhr
/*
* 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 class = lelem.getAttribute("class");
if(!class || !class.match(/toclevel/)) {
continue;
}
var toctxt = lelem.getElementsByTagName('span')[1].firstChild.nodeValue;
/* abgearbeitet? */
if(toctxt.match(/gelöscht/i)
|| toctxt.match(/\([^\)]*erl/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(/\([^\)]*LA 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;
}
}
}
addOnloadHook(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() {
/* 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 */
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(/ [–-] .*/, "");
var baseurl = "/w/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") != "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].getAttribute("title");
var colon = page.indexOf(':');
if (colon >= 0)
{
var disk = page.slice(0,colon)+"_Diskussion"+page.slice(colon);
} else {
var disk = "Diskussion:"+ page;
}
/* create keep link, unless a delete decision has already been made */
if(!span[1].getElementsByTagName('a')[0].getAttribute("title").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[0].insertBefore(link, span[0].firstChild);
}
/* insert no other buttons when decision already is "keep" */
if(span[1].getElementsByTagName('a')[0].getAttribute("title").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[0].insertBefore(link, span[0].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[0].insertBefore(link, span[0].firstChild);
}
}
if(location.href.match(/date=/)) {
addOnloadHook(wasrfd);
}
addOnloadHook(loescheimer);
/** Ende des Loescheimers **/
// </nowiki>