Benutzer:Mnh/ui.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
/**
* ui_cleanup: was nicht gebraucht wird: Raus.
*/
var txt_review; /* Text des Sichten-Knopfes in diffs */
var txt_flagged1; /* Text für gesichtete Version */
/* Falls nicht extern definiert, default setzen */
if( (typeof(txt_review)=='undefined') || (strlen(txt_review)==0) )
txt_review = "☒";
if( (typeof(txt_flagged1)=='undefined') || (strlen(txt_flagged1)==0) )
txt_flagged1 = "☑";
/* Callback für review-button*/
function cb_review() {
var tok = api_token(wgPageName, "edit");
api_post("revid=" + wgCurRevisionId + "&token=" + tok, "review");
jsMsg(wgTitle + " als gesichtet markiert.");
setTimeout("window.location.reload();", 150);
}
/* Spezial:Log/move entrümpeln */
function clean_movelog() {
var elem = document.getElementById('mw_contentholder');
var pos, pos2, pos3;
var user;
/* alle <li>s umbauen */
for (var i = 0; i < elem.getElementsByTagName("li").length; i++) {
var lelem = elem.getElementsByTagName('li')[i];
/* Link Benutzer auf Spezial:Beiträge/Benutzer umbiegen */
pos = lelem.innerHTML.indexOf('<a href="/') + strlen('<a href="/');
/* Benutzer extrahieren */
pos3 = lelem.innerHTML.indexOf('</a>', pos);
pos2 = lelem.innerHTML.lastIndexOf('>', pos3) + 1;
user = lelem.innerHTML.substr(pos2, pos3-pos2);
/* href ändern */
pos2 = lelem.innerHTML.indexOf('"', pos);
lelem.innerHTML = lelem.innerHTML.substr(0,pos) + 'wiki/Spezial:Beiträge/' + user
+ lelem.innerHTML.substr(pos2);
/* (Disk | Beiträge | Sperren) raus, find ich bei Bedarf auch anders */
pos = lelem.innerHTML.indexOf('<span class="mw-usertoollinks">', pos);
pos2 = lelem.innerHTML.indexOf('</span>', pos);
lelem.innerHTML = lelem.innerHTML.substr(0, pos) + lelem.innerHTML.substr(pos2);
}
}
/* Spezial:Beiträge entrümpeln */
function clean_contribs() {
var pos, pos2, text;
var form;
/*
* Suchformular
*/
if ( !(form=document.getElementsByTagName('form')[0]) ) {
jsMsg("No form found.");
return;
}
/* Umschalten zwischen Benutzern per span unsichtbar machen */
pos = form.innerHTML.indexOf('</legend>') + strlen('</legend>');
text = form.innerHTML.substr(0, pos) + '<span style="display:none;">';
pos2 = form.innerHTML.indexOf('name="target"', pos);
pos2 = form.innerHTML.indexOf('>', pos2) + 1;
text+= form.innerHTML.substr(pos, pos2-pos) + '</span>';
pos = pos2;
/* Namensraumwahl drinlassen */
pos2 = form.innerHTML.indexOf('</select></span>', pos) + strlen('</select></span>');
text+= form.innerHTML.substr(pos, pos2-pos);
pos = pos2;
/* Markierungsfilter ausblenden und lästige <p>s loswerden */
pos = form.innerHTML.indexOf('<span ', pos);
text+= '<input name="tagfilter" value="" style="display:none;" /> ';
/* Rest mitnehmen, aber lästige <p></p>s rauslassen. */
pos2 = form.innerHTML.indexOf('</select></span>', pos) + strlen('</select></span>');
text+= form.innerHTML.substr(pos, pos2-pos) + '<input type="submit" value="Suchen" /></fieldset>';
/* Commit */
form.innerHTML = text;
}
/* Versionsgeschichte aufhübschen */
function clean_history() {
var lelem = document.getElementsByTagName('li')
/* remove undo */
for(var i=0; i<lelem.length; i++) {
var html = lelem[i].innerHTML;
/* undo button alone */
var pos, pos2, has_undo=false;
if( (pos=html.indexOf(" (<span class=\"mw-history-undo\">")) != NOT_THERE) {
pos2 = html.indexOf("</a></span>)", pos) + 12;
has_undo = true;
} else if( (pos=html.indexOf(" | <span class=\"mw-history-undo\">")) != NOT_THERE) {
pos2 = html.indexOf("</a></span>)", pos) + 11;
has_undo = true;
}
if(has_undo)
lelem[i].innerHTML = html.substr(0, pos) + html.substr(pos2);
}
}
/* Beobachtungsliste kürzen */
function clean_watchlist() {
return;
var elem, pos, pos2, nwatched, timestamp;
/* Legende raus, aber vorher Anzahl der beobachteten Seiten und Stand sichern */
elem = document.getElementById('mw_contentholder');
pos = elem.innerHTML.indexOf("</legend>") + strlen("</legend>");
pos2 = elem.innerHTML.indexOf("beobachtete Seiten", pos);
nwatched = elem.innerHTML.substr(pos, pos2-pos);
pos = elem.innerHTML.indexOf("(Stand:", pos2) + strlen("(Stand:");
pos2 = elem.innerHTML.indexOf(" Uhr", pos);
timestamp = elem.innerHTML.substr(pos, pos2-pos);
pos = elem.innerHTML.indexOf("<h4>", pos2);
elem.innerHTML = '<div style="float:right"><a href="/wiki/Spezial:Beobachtungsliste/edit" title="Spezial:Beobachtungsliste/edit">[edit]</a></div>'
+ '<span style="font-weight:bold; font-size:large;">'
+ "Stand: " + timestamp + " – " + nwatched + " beobachtete Seiten</span><hr />"
+ elem.innerHTML.substr(pos);
for (var i = 0; i < document.getElementsByTagName('li').length; i++) {
var lelem = document.getElementsByTagName('li')[i];
/* wer braucht eigentlich [zurücksetzen] in der Beo? Blind-Reverts ftw?*/
if( (pos=lelem.innerHTML.indexOf('<span class="mw-rollback-link">')) != NOT_THERE)
lelem.innerHTML = lelem.innerHTML.substr(0, pos);
}
}
/* diffs umpuzzeln */
function clean_diff() {
document.getElementById('contentSub').innerHTML = " ";
/* [Entwurfsversion] / [gesichtete Version] vereinfachen */
var left, right;
var pos, pos2;
var div = document.getElementById('mw_contentholder');
if( (pos=div.innerHTML.indexOf('flaggedrevs-color-')) == NOT_THERE)
return;
pos += strlen('flaggedrevs-color-');
left = div.innerHTML.substr(pos, 1);
pos = div.innerHTML.indexOf('flaggedrevs-color-', pos) + strlen('flaggedrevs-color-');
right = div.innerHTML.substr(pos, 1);
/* Geraffel raus */
pos = div.innerHTML.indexOf('<div class="fr-diff-to-stable"');
pos2 = div.innerHTML.indexOf('</table>') + strlen('</table>');
div.innerHTML = div.innerHTML.substr(0,pos) + div.innerHTML.substr(pos2);
/* 1 = gesichtet, 0 = entwurf */
if(left == "1") {
div = document.getElementById('mw-diff-otitle1');
div.innerHTML = txt_flagged1 + div.innerHTML;
}
if(right == "1") {
div = document.getElementById('mw-diff-ntitle1');
div.innerHTML = txt_flagged1 + div.innerHTML;
}
/* falls links gesichtet und rechts nicht, Sichtknopf anbieten */
if( (left=="1") && (right=="0") ) {
div = document.getElementById('mw-diff-ntitle1');
/* Keinen Knopf, falls rechts nicht aktuellste Version */
if(document.getElementById('differences-nextlink') != null)
return;
div.innerHTML = '<a href="javascript:void(0);" onclick="cb_review()">'
+ txt_review + '</a> '
+ div.innerHTML;
}
}
/* Spezial:Letzte Änderungen entrümpeln */
function clean_rc() {
document.getElementById('recentchangestable').innerHTML = "";
var pos, pos2;
for (var i = 0; i < document.getElementsByTagName('li').length; i++) {
var lelem = document.getElementsByTagName('li')[i];
/* [Zurücksetzen] raus, an der Stelle nur 'ne Klickfalle */
if( (pos=lelem.innerHTML.indexOf('<span class="mw-rollback-link">')) != NOT_THERE)
lelem.innerHTML = lelem.innerHTML.substr(0, pos);
}
}
/* Weiche für die verschiedenen Entrümpelfunktionen */
function ui_cleanup() {
var href = location.href;
if(wgAction == "history")
clean_history();
if( (wgPageName == "Spezial:Beobachtungsliste") && (href.indexOf("edit") == NOT_THERE) )
clean_watchlist();
if(href.indexOf("diff=") != NOT_THERE)
clean_diff();
if(wgPageName == "Spezial:Beiträge")
clean_contribs();
if((wgPageName == "Spezial:Logbuch") && (href.indexOf("move") != NOT_THERE))
clean_movelog();
if( (wgCanonicalNamespace == "Special") && (wgCanonicalSpecialPageName=="Recentchanges") )
clean_rc();
}
$(ui_cleanup);