Benutzer:Umherirrender/monobook-sul.js
Erscheinungsbild
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
/*
* @author Umherirrender - [[:de:User:Umherirrender]]
* develop with and for Internet Explorer 11+
*
* gegen Übernahmen spricht nichts, nur bitte nicht diese JavaScript-Seite direkt einbinden
* ohne Gewähr und ohne Support
*
* eigene Anpassungen für alle Wikis
*/
//<nowiki>
mw.loader.using( [ 'mediawiki.util' ], function() { $( function () {
/** Ergänzungen */
/* Info über API-Status */
var header = $( '#firstHeading' );
if ( header.length ) {
//API nicht verfügbar
if ( true && false ) {
var span = $( document.createElement( 'span' ) );
span.css( 'fontSize', '75%' );
span.css( 'color', 'red' );
span.css( 'fontFamily', 'Courier New' );
span.attr( 'id', 'hinweis_enableAPI' );
span.text( ' (API nicht verfügbar)' );
header.append( span );
}
//writeAPI nicht verfügbar
if ( true && false ) {
var span = $( document.createElement( 'span' ) );
span.css( 'fontSize', '75%' );
span.css( 'color', 'red' );
span.css( 'fontFamily', 'Courier New' );
span.text( ' (writeAPI nicht verfügbar)' );
header.append( span );
}
}
//Suchfeld an erste Stelle (unter Logo)
var search = $( '#p-search' );
var logo = $( '#p-logo' );
if( search.length && logo.length ) {
search.detach();
search.val( '' );
search.insertBefore( logo );
}
/* Schutzstatus auswerten und Ampelfarben setzen
* funktioniert nicht bei kaskadierender Sperre (Bug 11700)
*/
if( mw.config.exists( 'wgRestrictionEdit' ) ) {
var wgRestrictionEdit = mw.config.get( 'wgRestrictionEdit' );
for ( var i = 0; i < wgRestrictionEdit.length; i++ ) {
//gelb bei halbsperre
if (wgRestrictionEdit[i] === "autoconfirmed") {
mw.util.addCSS("#ca-edit a { background-color:#EEEE00 !important; }");
}
//orange bei editorsperre
else if (wgRestrictionEdit[i] === "editeditorprotected") {
mw.util.addCSS("#ca-viewsource, #ca-edit a { color:#FFA500 !important; }");
}
//rot bei vollsperre
else if (wgRestrictionEdit[i] === "sysop") {
//view source, da ich die Seite in einigen Wikis nicht bearbeiten kann
mw.util.addCSS("#ca-viewsource, #ca-edit a { color:#FF6A6A !important; }");
}
}
}
if( mw.config.exists( 'wgRestrictionMove' ) ) {
var wgRestrictionMove = mw.config.get( 'wgRestrictionMove' );
for ( var i = 0; i < wgRestrictionMove.length; i++ ) {
//gelb bei halbsperre
if (wgRestrictionMove[i] === "autoconfirmed") {
mw.util.addCSS("#ca-move a { background-color:#EEEE00 !important; }");
}
//rot bei vollsperre
else if (wgRestrictionMove[i] === "sysop") {
mw.util.addCSS("#ca-move a { color:#FF6A6A !important; }");
}
}
}
/* if( mw.config.exists( 'wgRestrictionUpload' ) ) {
nicht interessant für mich, da ich keine Dateien hochlade
wüsste auch nicht, welches Element man markieren könnte
}*/
if( mw.config.exists( 'wgRestrictionCreate' ) ) {
var wgRestrictionCreate = mw.config.get( 'wgRestrictionCreate' );
for ( var i = 0; i < wgRestrictionCreate.length; i++ ) {
//gelb bei halbsperre
if (wgRestrictionCreate[i] === "autoconfirmed") {
mw.util.addCSS("#ca-edit a { background-color:#EEEE00 !important; }");
}
//rot bei vollsperre
else if (wgRestrictionCreate[i] === "sysop") {
mw.util.addCSS("#ca-edit a { color:#FF6A6A !important; }");
}
}
}
var userpage = $( '#pt-userpage' );
if ( userpage.length ) {
//wo bin ich?
var span = $( document.createElement( 'span' ) );
span.css( 'color', 'gray' );
span.text( '[' + mw.config.get( 'wgDBname' ) + ' ' + mw.config.get( 'wgVersion' ) + ']');
span.insertBefore( userpage );
}
var namespaceNumber = mw.config.get( 'wgNamespaceNumber' );
var urlPageName = mw.util.wikiUrlencode( mw.config.get( 'wgPageName' ) );
var canonicalSpecialPageName = mw.config.get( 'wgCanonicalSpecialPageName' );
/* integriert Links auf Unterseiten (eigene bei den persönlichen Links, relativ zur besuchten Seite bei der Werkzeugliste) */
/* Personal links - http://de.wikipedia.org/w/index.php?title=Wikipedia:Wikizine&oldid=40697727#Schon_gewusst.2C_dass... */
mw.util.addPortletLink(
'p-personal',
mw.util.getUrl( 'Special:Prefixindex/User:Umherirrender/', { stripprefix: 1 } ),
'Unterseiten',
'pt-links',
'Eigene Unterseiten',
'!',
'#pt-preferences'
);
/* zeigt "Unterseiten" in der Werkzeugleiste, wie auf Commons */
if (namespaceNumber !== -2 // Media
&& namespaceNumber !== -1 // Spezial
&& namespaceNumber !== 0 // (Artikel-)
&& namespaceNumber !== 6 // Bild
&& namespaceNumber !== 14 // Kategorie
) {
mw.util.addPortletLink(
'p-tb',
mw.util.getUrl( 'Special:Prefixindex/' + mw.config.get( 'wgPageName' ) + '/' ),
'Unterseiten',
't-subpages',
'Liste der Unterseiten',
's',
'#t-upload'
);
}
/* 'Logbücher Seite' */
if ( namespaceNumber >= 0 ) {
mw.util.addPortletLink(
'p-tb',
mw.util.getUrl( 'Special:Log', { 'page': mw.config.get( 'wgPageName' ) } ),
'Logbücher Seite',
't-pagelog',
'Logbücher Seite',
'l',
'#t-upload'
);
}
/* zusätzlich 'Logbücher Commons' bei Bilder */
if (namespaceNumber === 6 && mw.config.get( 'wgDBname' ) !== "commonswiki") { // Bild
mw.util.addPortletLink(
'p-tb',
'//commons.wikimedia.org/w/index.php?title=Special:Log&page=File:' + urlPageName.substring( 6 ),
'Logbücher Commons',
't-pagelogcom',
'Logbücher Commons',
'c',
'#t-upload'
);
}
/* SUL bei Benutzern */
if ( mw.config.exists( 'wgRelevantUserName' ) ) {
var user = mw.util.rawurlencode( mw.config.get( 'wgRelevantUserName' ) );
mw.util.addPortletLink(
'p-tb',
mw.util.getUrl( 'Special:CentralAuth/' + user ),
'SUL-Info',
't-sulinfo',
'SUL-Info',
's',
'#t-contributions'
);
mw.util.addPortletLink(
'p-tb',
mw.util.wikiScript( 'api' ) +
'?action=query&list=users&meta=globaluserinfo' +
'&usprop=groups|implicitgroups|editcount|registration|blockinfo&guiprop=groups|rights|unattached' +
'&ususers=' + user + '&guiuser=' + user,
'Benutzer-Info',
't-userinfo',
'Benutzer-Info',
'u',
'#t-contributions'
);
}
/* fügt ein '+' in meine persönliche Leiste, mitdem ein neuer Abschnitt auf meiner Diskussionsseite gestartet werden kann, nutze die Vorschaufunktion, für tests, um eine Arbeitsliste abzuarbeiten etc. */
mw.util.addPortletLink(
'p-personal',
mw.util.getUrl( 'User_talk:' + mw.util.rawurlencode( mw.config.get( 'wgUserName' ) ),
{ 'action': 'edit', 'section': 'new' } ),
'+',
'pt-addsection',
'Kommentar (eigene Diskussionsseite)',
'+',
'#pt-links'
);
/* fügt ein '(de.wp)' in meine persönliche Leiste, damit ich einfach nach de.wp zurück komme */
if ( mw.config.get( 'wgDBname' ) !== "dewiki" ) {
mw.util.addPortletLink(
'p-personal',
'//de.wikipedia.org/wiki/Spezial:Beobachtungsliste',
'(de.wp)',
'pt-watchlist-home',
'zur eigenen Beobachtungsliste auf de.wp',
null,
'#pt-watchlist'
);
}
/* Validator link für CSS */
if ( mw.config.get( 'wgPageContentModel' ) === 'css' ) {
var parts = mw.config.get( 'wgTitle' ).split( '/' );
var subpage = parts[parts.length - 1];
var skin = subpage.substring( 0, subpage.lastIndexOf( '.' ) );
var user = parts[0];
if ( skin === 'common' || mw.config.get( 'wgAvailableSkins' )[skin] ) {
mw.util.addPortletLink(
'p-tb',
'http://jigsaw.w3.org/css-validator/validator?uri=' + mw.util.rawurlencode(
'https:' + mw.util.wikiScript( 'load' ) + '?debug=false&lang=' + mw.util.rawurlencode( mw.config.get( 'wgPageContentLanguage' ) )
+ '&modules=user&only=styles&skin=' + mw.util.rawurlencode( skin )
+ '&user=' + mw.util.rawurlencode( user ) ),
'CSS-Validator',
't-css-validator',
'CSS-Validator',
'l',
'#t-upload'
);
}
}
/* fügt den iso-code zu den Interwikis */
$( '#p-lang li' ).each( function() {
var li = $( this );
var className = li.attr( 'class' );
if( !className || /* WikiData edit link */ li.hasClass( 'wbc-editpage' ) || li.hasClass( 'wbc-nolanglinks' ) ) {
return;
}
var matches = className.match( /(?:^| )(interwiki-[^ ]+)(?: |$)/ );
if ( !matches || matches.length != 2 ) {
return;
}
className = matches[1];
var lang = className.substring( 10 /*'interwiki-'.length*/ );
//gleichlang machen
while ( lang.length <= 3 ) {
lang += ' ';
}
var span = $( document.createElement( 'span' ) );
span.text( lang + ' ' );
span.css( 'fontFamily', 'Courier New' );
span.css( 'fontSize', '75%' );
span.css( 'verticalAlign', 'middle' );
span.insertBefore( li.children( ':first') );
});
/* nur dateien */
if (namespaceNumber === 6) {
/* setzt den software-hinweis bei Dateien sichtbar in den ersten head */
var dup = $( '#mw-imagepage-section-duplicates' );
if ( dup.length && header.length ) {
var span = $( document.createElement( 'span' ) );
span.css( 'fontSize', '50%' );
span.attr( 'id', 'hinweis-duplicat-file' );
span.text( ' (Duplikat)' );
header.append( span );
}
}
//auf inhalt beziehen
var contentElement = document.getElementById( 'bodyContent' );
if (contentElement) {
/* Permalink zur Überschrift */
/* Bearbeiten-Link für Abschnitte, falls nicht vorhanden (geschützte Seite oder alte Version) */
var header = contentElement.getElementsByTagName( 'h2' );
if( namespaceNumber >= 0 && mw.config.get( 'wgAction' ) === 'view' && header && header.length > 0 ) {
var idOld = document.getElementById( 'mw-revision-info' ) !== null;
var isViewsource = document.getElementById( 'ca-viewsource' ) !== null;
var editlinkText = isViewsource ?
'Betrachten' :
'Bearbeiten';
var editlinkTitle = isViewsource ?
( idOld ? 'Alten Abschnitt betrachten' : 'Abschnitt betrachten' ) :
( idOld ? 'Alten Abschnitt bearbeiten' : 'Abschnitt bearbeiten' );
var editlinkHref = mw.config.get( 'wgScript' ) + '?title=' + urlPageName + '&action=edit§ion=';
var permalink = document.getElementById( 't-permalink' );
var addsection = document.getElementById( 'ca-addsection' );
var addPermalink = permalink && addsection;
var permalinkText = 'Permalink';
var permalinkTitle = 'Permalink zum Abschnitt';
var permalinkLink = addPermalink ? permalink.firstChild.href : '';
//setze einen Bearbeitenlink für den ersten Abschnitt
var editsectionFirst = document.createElement( 'span' );
editsectionFirst.className = 'mw-editsection';
editsectionFirst.id = 'mw-editsection-first';
editsectionFirst.appendChild( document.createTextNode( '[' ) );
var editsectionFirstLink = document.createElement( 'a' );
editsectionFirstLink.href = editlinkHref + '0';
editsectionFirstLink.title = isViewsource ?
( idOld ? 'Alten Abschnitt betrachten: Einleitung' : 'Abschnitt betrachten: Einleitung' ) :
( idOld ? 'Alten Abschnitt bearbeiten: Einleitung' : 'Abschnitt bearbeiten: Einleitung' );
editsectionFirstLink.appendChild( document.createTextNode( editlinkText ) );
editsectionFirst.appendChild( editsectionFirstLink );
editsectionFirst.appendChild( document.createTextNode( ']' ) );
var firstHeading = document.getElementById("firstHeading");
firstHeading.insertBefore( editsectionFirst, firstHeading.firstChild );
//setze einen permalink für den Ersten Abschnitt
if ( permalink ) {
var a = document.createElement('a');
a.href = permalink.firstChild.href;
a.title = permalink.title;
a.appendChild( document.createTextNode( permalinkText ) );
editsectionFirst.insertBefore( a, editsectionFirst.firstChild.nextSibling );
editsectionFirst.insertBefore( document.createTextNode( '|' ), a.nextSibling );
}
var section = 0;
//Permalink in den header setzen
//Falls nicht vorhanden, auch einen Bearbeiten-Link
for (var i = 0; i < header.length; i++) {
var spans = header[i].getElementsByTagName( 'span' );
var editsection = null;
var headline = null;
for( var j = 0; j < spans.length; j++ ) {
if( spans[j].className === 'mw-headline' ) {
headline = spans[j];
if( editsection ) { //beide gefunden -> abbrechen
break;
}
} else if( spans[j].className.match( /(?:mw-)?editsection/ ) ) {
editsection = spans[j];
if( headline ) { //beide gefunden -> abbrechen
break;
}
}
}
// kein Header gefunden
if( !headline ) {
continue;
}
//Kein Bearbeitenlink vorhanden, also einen erzeugen
//FIXME die Nummerierung schert sich nicht um die Abschnittsstufen, daher passen nicht immer die Sectionnummer
if( !editsection ) {
editsection = document.createElement( 'span' );
editsection.className = 'mw-editsection';
editsection.appendChild(document.createTextNode( '[' ) );
var editlink = document.createElement( 'a' );
editlink.appendChild( document.createTextNode( editlinkText ) );
editlink.href = editlinkHref + ++section;
editlink.title = editlinkTitle;
editsection.appendChild( editlink );
editsection.appendChild(document.createTextNode( ']' ) );
headline.insertBefore( editsection, headline.firstChild );
}
if( addPermalink ) {
//permalink erzeugen
var a = document.createElement( 'a' );
a.href = permalinkLink + '#' + headline.id;
a.title = permalinkTitle;
a.appendChild( document.createTextNode( permalinkText ) );
//link einsetzen
editsection.insertBefore( a, editsection.firstChild.nextSibling );
editsection.insertBefore( document.createTextNode( '|' ), a.nextSibling );
}
}
}
}
/* entfernt unnötiges von Spezial:Beiträge */
if ( canonicalSpecialPageName === 'Contributions' ) {
var label = contentElement.getElementsByTagName("label");
for (var i = 0; i < label.length; i++) {
//die "nur neue Benutzer"-Anzeige entfernen
if (label[i].htmlFor === "newbie") {
label[i].parentNode.removeChild(label[i].previousSibling);
label[i].parentNode.removeChild(label[i].previousSibling);
label[i].parentNode.removeChild(label[i].nextSibling);
label[i].parentNode.removeChild(label[i]);
}
//Namen kürzen und RadioButton entfernen
if (label[i].htmlFor === "user") {
label[i].parentNode.removeChild(label[i].previousSibling);
label[i].parentNode.removeChild(label[i].previousSibling);
//text umbenennen
label[i].firstChild.data = "Benutzername:";
break;
}
}
/* entfernt das Feld für den Markierungsfilter */
var fieldset = contentElement.getElementsByTagName("fieldset");
if( fieldset && fieldset[0] ) {
var p = fieldset[0].getElementsByTagName("p");
if ( p ) {
for( var i = 0; i < p.length; i++ ) {
if ( p[i]
&& p[i].childNodes[1]
&& p[i].childNodes[1].data
&& p[i].childNodes[1].data.substring(0,7) === '-Filter'
) {
fieldset[0].removeChild(p[i]);
break;
}
}
}
}
}
/* nur für Log */
else if ( canonicalSpecialPageName === 'Log' ) {
/* entfernt das Feld für den Markierungsfilter */
var fieldset = contentElement.getElementsByTagName("fieldset");
if( fieldset && fieldset[0] ) {
var p = fieldset[0].getElementsByTagName("p");
if ( p ) {
for( var i = 0; i < p.length; i++ ) {
if ( p[i]
&& p[i].childNodes[1]
&& p[i].childNodes[1].data
&& p[i].childNodes[1].data.substring(0,7) === '-Filter'
) {
fieldset[0].removeChild(p[i]);
break;
}
}
}
}
}
/* nur für Spezial:Neue Seiten */
else if ( canonicalSpecialPageName === 'Newpages' ) {
/* entfernt das Feld für den Markierungsfilter */
var table = document.getElementById( 'mw-newpages-table' );
var td = table.getElementsByTagName( 'td' );
for( var i = 0; i < td.length; i++ ) {
if( td[i] && td[i].className === 'mw-input' && td[i].firstChild && td[i].firstChild.name === 'tagfilter' ) {
td[i].parentNode.removeChild( td[i] );
td[i - 1].parentNode.removeChild( td[i - 1] );
break;
}
}
}
/* nur für Letzte Änderungen und verlinkte Letzte Änderungen */
else if ( canonicalSpecialPageName === 'Recentchanges'
|| canonicalSpecialPageName === 'Recentchangeslinked' ) {
/* entfernt das Feld für den Markierungsfilter */
var table = contentElement.getElementsByTagName( 'table' );
for( var j = 0; j < table.length; j++ ) {
if( table[j] && table[j].className === 'mw-recentchanges-table' ) {
var td = table[j].getElementsByTagName( 'td' );
for( var i = 0; i < td.length; i++ ) {
if( td[i] && td[i].className === 'mw-input' && td[i].firstChild && td[i].firstChild.name === 'tagfilter' ) {
td[i].removeChild( td[i].firstChild );
td[i - 1].parentNode.removeChild( td[i - 1] );
break;
}
}
break;
}
}
}
/* nur in der Versionsgeschichte */
else if( mw.config.get( 'wgAction' ) === 'history' ) {
/* entfernt das Feld für den Markierungsfilter */
var fieldset = contentElement.getElementsByTagName( 'fieldset' );
if( fieldset && fieldset[0] ) {
var input = fieldset[0].getElementsByTagName( 'input' );
for( var i = 0; i < input.length; i++ ) {
if ( input[i]
&& input[i].name === 'tagfilter'
) {
fieldset[0].removeChild(input[i].previousSibling); //beschreibung teil 1
fieldset[0].removeChild(input[i].previousSibling); //beschreibung teil 2
fieldset[0].removeChild(input[i]); //input-tag
break;
}
}
}
}
// Minor nicht bei Diskussionen - Fällt nicht jedem auf der Beobachtungsliste auf oder gibt keine Mail
// Leider ist #ca-addsection bei edit oder preview von Nicht-Diskussionsnamensräumen nicht gesetzt,
// da NEWSECTIONLINK dabei nicht beachtet wird
if ( mw.config.get( 'wgAction' ) === 'edit' && $( '#ca-addsection a' ).length ) {
$( '#wpMinoredit' ).prop( 'checked', false );
}
})});
/* erzeugt an jeder Überschrift einen Link zur vorherigen und einen Link nach oben
zusätzlich wird am Ende der Seite ein Link nach oben angezeigt */
mw.loader.using( [ 'mediawiki.util' ], function() { $( function() {
var zeichen = "▲";
var address = "#globalWrapper";
var text = "An den Seitenanfang";
var texth = "Zur vorherigen Überschrift gleicher Stufe";
var contentElement = document.getElementById("bodyContent");
//link am Seitenanfang zum Ende
var link = document.createElement("a");
link.href=address;
link.title=text;
link.appendChild(document.createTextNode(zeichen));
var span = document.createElement("span");
span.style.fontSize="250%";
span.style.left="-35px";
span.style.bottom="20px";
span.style.position="absolute";
span.appendChild(link);
contentElement.appendChild(span);
//für jede Überschrift - MediaWiki:Gadget-Pfeil-hoch.js
for (var level = 2; level <= 6; level++) {
var h = contentElement.getElementsByTagName("h" + level);
for (var i = 0; h && i < h.length; i++) {
var abottom = document.createElement("a");
abottom.appendChild(document.createTextNode(zeichen));
abottom.href=address;
abottom.title=text;
h[i].appendChild(abottom);
//id vergeben, damit danach anspringen kann
var aid = document.createElement("a");
aid.id="h"+level+i;
h[i].appendChild(aid);
//prev - erzeuge Symbol für vorherige Überschrift
var aprev = document.createElement("a");
aprev.appendChild(document.createTextNode(zeichen));
//wenn am letzten, geht es mit footer weiter
if (i === 0) {
aprev.href=address;
} else {
aprev.href="#h"+level+(i-1);
}
aprev.title=texth;
var aprevspan= document.createElement("span");
aprevspan.style.fontSize="60%";
aprevspan.style.left="-1em";
aprevspan.style.marginBottom="0.5em";
aprevspan.style.position="absolute";
aprevspan.appendChild(aprev);
h[i].insertBefore(aprevspan, h[i].firstChild);
}
}
//link am Seitenende zum TOC
if ( $( 'toc' ).length ) {
var afirst = $( document.createElement( 'a' ) );
afirst.href( '#toc' );
afirst.attr( 'title', 'Inhaltsverzeichnis' );
afirst.text( zeichen );
var spanfirst = $( document.createElement( 'span' ) );
spanfirst.css( 'fontSize', '90%' );
spanfirst.css( 'left', '-1em' );
spanfirst.css( 'bottom', '20px' );
spanfirst.css( 'position', 'absolute' );
spanfirst.append( afirst );
mw.util.$content.append( spanfirst );
}
})});
/* erzeugt an jeder Überschrift einen Link zur nächsten und einen Link nach unten
zusätzlich wird am Beginn der Seite ein Link nach unten angezeigt sowie zum TOC*/
mw.loader.using( [ 'mediawiki.util' ], function() { $( function() {
var zeichen = "▼";
var address = "#footer";
var text = "An das Seitenende";
var texth = "Zur nächsten Überschrift gleicher Stufe";
var contentElement = document.getElementById("bodyContent");
//link am Seitenende zum Anfang
var link = document.createElement("a");
link.href=address;
link.title=text;
link.appendChild(document.createTextNode(zeichen));
var span = document.createElement("span");
span.style.fontSize="250%";
span.style.left="-35px";
span.style.top="20px";
span.style.position="absolute";
span.appendChild(link);
contentElement.appendChild(span);
//für jede Überschrift - MediaWiki:Gadget-Pfeil-hoch.js
for (var level = 2; level <= 6; level++) {
var h = contentElement.getElementsByTagName("h" + level);
for (var i = 0; h && i < h.length; i++) {
var atop = document.createElement("a");
atop.appendChild(document.createTextNode(zeichen));
atop.href=address;
atop.title=text;
h[i].appendChild(atop);
//id vergeben, damit danach anspringen kann
var aid = document.createElement("a");
aid.id="h"+level+i;
h[i].appendChild(aid);
//next - erzeuge Symbol für nächste Überschrift
var anext = document.createElement("a");
anext.appendChild(document.createTextNode(zeichen));
//wenn am letzten, geht es mit footer weiter
if (i === h.length-1) {
anext.href=address;
} else {
anext.href="#h"+level+(i+1);
}
anext.title=texth;
var anextspan = document.createElement("span");
anextspan.style.fontSize="60%";
anextspan.style.left="-1em";
anextspan.style.marginTop="0.5em";
anextspan.style.position="absolute";
anextspan.appendChild(anext);
h[i].insertBefore(anextspan,h[i].firstChild);
}
}
//link am Seitenanfang zum TOC
if ( $( 'toc' ).length ) {
var afirst = $( document.createElement( 'a' ) );
afirst.href( '#toc' );
afirst.attr( 'title', 'Inhaltsverzeichnis' );
afirst.text( zeichen );
var spanfirst = $( document.createElement( 'span' ) );
spanfirst.css( 'fontSize', '90%' );
spanfirst.css( 'left', '-1em' );
spanfirst.css( 'top', '0px' );
spanfirst.css( 'position', 'absolute' );
spanfirst.append( afirst );
mw.util.$content.append( spanfirst );
}
})});
/* erzeugt am Seitenende einen Link zum einfügen eines Neuen Abschnitts */
mw.loader.using( [ 'mediawiki.util' ], function() { $( function() {
var address = $( '#ca-addsection a' );
//prüfe, ob es den Link gibt
if ( address.length ) {
var zeichen = '+';
var text = 'Einen neuen Abschnitt zu dieser Seite hinzufügen';
var link = $( document.createElement( 'a' ) );
link.attr( 'href', address.attr( 'href' ) );
link.attr( 'title', text );
link.append( $( document.createTextNode( zeichen ) ) );
var span = $( document.createElement( 'span' ) );
span.css( 'fontSize', '250%' );
span.css( 'left', '-50px' );
span.css( 'bottom', '20px' );
span.css( 'position', 'absolute' );
span.append( link );
mw.util.$content.append( span );
}
})});
mw.loader.using( [ 'mediawiki.api', 'mediawiki.util', 'jquery.spinner' ], function() {
$.extend( mw.Api.prototype, {
purge: function ( titles, forcelinkupdate ) {
if ( !$.isArray( titles ) ) {
titles = [ titles ];
}
titles = $.unique( titles );
query = {
'action': 'purge',
'titles': titles.join( '|' )
};
if ( forcelinkupdate ) {
query.forcelinkupdate = '';
}
return this.post( this, query );
}
} );
$( function() {
var title = mw.config.get( 'wgRelevantPageName', mw.config.get( 'wgPageName' ) ),
$history = $( '#ca-history' );
if ( $history.length ) {
mw.util.addPortletLink(
'p-cactions',
mw.config.get('wgArticlePath').replace( /\$1/, title ), // someone/something is cutting all after last /
'Purgen',
'ca-purge',
'Servercache leeren',
'p',
$history
);
}
$( '#ca-purge' ).click( function() {
$spinner = $.createSpinner( {
size: 'small',
type: 'inline'
} );
$( this ).append( $spinner );
api = new mw.Api();
api.purge( title, true )
.done( function( data ) {
if ( mw.config.get( 'wgAction', 'view' ) === 'view' ) {
//reload page, than the user can see, that the purge was done
window.location.reload();
} else {
mw.notify( 'Purge der Seite „' + title + '“ erfolgreich.', { tag: 'purge-ok' } );
$spinner.remove();
}
})
.fail( function( code, data ) {
mw.notify(
'Fehler beim purge der Seite „' + title + '“.' +
' (' + code + ( data && data.error && data.error.info ? ': ' + data.error.info : '' ) + ')',
{ tag: 'purge-error' }
);
$spinner.remove();
});
return false;
});
});
});
mw.loader.using( [ 'jquery.confirmable' ], function() {
$( function() {
$( '.mw-rollback-link' ).off( 'click', 'a[data-mw="interface"]' ); // TODO: Readd after confirmable?
$( '.mw-rollback-link a' ).confirmable();
});
});
//</nowiki> __NOINDEX__