Benutzer:C-M/monobook-fast.js
aus Wikipedia, der freien Enzyklopädie
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
- Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
- Opera: Strg+F5
// <nowiki>
var debugme=false;
var autosave=true;
var version='P098k';
var aerhistory = true;
var godmodenewstyle = true; // neuer Rollback-Kommentartext?
var editlinkoldversion = true;
var diffwidth = true; // immer gleiche Breite der vergleichenden Versionen (diff.table)?
var difffontsize = '85%';
var user = wgUserName ; // username wird automatisch übernommen
var usersignature = '\~\~\~\~';
var Monate = new Array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
var jetzt = new Date();
var Jahr = jetzt.getYear(); if (Jahr < 999) Jahr += 1900;
var WPDatum = jetzt.getDate() + '._' + Monate[jetzt.getMonth()] + '_' + Jahr;
var WPDatum2 = Jahr + '/' + Monate[jetzt.getMonth()] + '/' + jetzt.getDate();
var WPDatum3 = Monate[jetzt.getMonth()] + ' ' + Jahr;
var WPDatum4 = Jahr + '-' + LeadingZero(jetzt.getMonth() + 1);
// Lemma-Varianten (work in progress) + redundant zu addLogsLink etc.
// get page title
var pagetitle = wgPageName;
var spagetitle = wgTitle;
// do real spaces; fix for lemmas with '&'
var ptitle = pagetitle.split('_').join(' ').split('&').join('%26');
var sptitle = spagetitle.split('_').join(' ').split('&').join('%26');
// do + escaped
var pesctitle = ptitle.split(' ').join('+');
var spesctitle = sptitle.split(' ').join('+');
// Komma-Lemma für Personen
var personlemma = spagetitle;
var titlesplit = spagetitle.split(' ');
if (titlesplit.length > 1) {
personlemma = titlesplit[titlesplit.length-1] + ',';
for (i=0; i<(titlesplit.length-1); i++)
personlemma=personlemma + " "+titlesplit[i];
}
// get URL parameters (used for page type variables)
var UrlParameters = new Array ();
readparams();
function readparams() {
var asReadInUrlParameters;
var asReadInUrlParameter;
// Get URL parameters
asReadInUrlParameters = location.search.substring(1, location.search.length).split("&");
for (i = 0; i < asReadInUrlParameters.length; i++) {
asReadInUrlParameter = asReadInUrlParameters[i].split("=");
UrlParameters[decodeURIComponent(asReadInUrlParameter[0])] = decodeURIComponent(asReadInUrlParameter[1]);
}
}
// page type variables: namespaces
var isArticle = (mw.config.get('wgNamespaceNumber') == 0);
var isArticleTalk = (mw.config.get('wgNamespaceNumber') == 1);
var isBild = (wgCanonicalNamespace == "Image");
var isCategory = (wgCanonicalNamespace == "Category");
var isTemplate = (wgCanonicalNamespace == "Template");
var isGeneric = false;
if ((!isBild) && (!isCategory) && (!isTemplate))
isGeneric = true;
var isProject = (wgCanonicalNamespace == "Project");
// page type variables: namespace == -1
var isSpecial = (wgCanonicalNamespace == "Special");
var isRestore = (isSpecial && (wgCanonicalSpecialPageName == "Undelete"));
var isContrib = (isSpecial && (wgCanonicalSpecialPageName == "Contributions"));
var isWatchlist = (isSpecial && (wgCanonicalSpecialPageName == "Watchlist"));
// page type variables: namespace == -1
var isTalk = (!isSpecial && isOdd(mw.config.get('wgNamespaceNumber')));
// page type variables: other stuff
var isPHP = (document.URL.indexOf('index.php') > 0);
var isDiff = UrlParameters["diff"];
var isEdit = ((UrlParameters['action']=='edit') || (UrlParameters['action']=='submit'));
var isHistory = (UrlParameters['action']=='history');
// userpage/name stuff, vor allem für IPs
var userPageOwner = "";
if (isContrib) {
if (UrlParameters['target']) userPageOwner = UrlParameters['target'].split('+').join('_');
else {
userPageOwner = decodeURIComponent(location.href.substring(location.href.indexOf("/wiki/") + 6)).split('#')[0];
userPageOwner = userPageOwner.substring(userPageOwner.indexOf("Beiträge/") + 9);
}
}
// page type variables: user & user discussion lumped together
var isUserpage = ( (wgCanonicalNamespace == "User") || (wgCanonicalNamespace == "User_talk") );
var isUserMainpage = false;
if (isUserpage)
if (wgTitle == wgTitle.split("/")[0]) {
isUserMainpage = true;
userPageOwner = wgTitle;
}
// handelt es sich um eine IP?
var isIPUser = false;
if (userPageOwner != "")
if (userPageOwner.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/) != null)
if ((userPageOwner.split(".")[0] > 1) && (userPageOwner.split(".")[0] < 255))
isIPUser = true;
// Admin functions
var adminflag = false;
if (isAdmin()) adminflag = true;
/*
* ab hier wird der Quickbar (der Kasten oben links) zusammengebaut
*
* zuerst die allgemeinen Variablen (hier bitte nix ändern!)
*/
var Quickbar = '<div class="pBody noprint" id="p-quickbar" style="position:absolute; top:5px; z-index:10; width:14em;">';
var xxx = '';
var trenner='<hr />';
var br ='<br />';
var qbtarget = '_self';
var dropdown = false;
var scrpt = '';
var scrptn = 0;
var indropdown;
var ind;
/*
* Quickbar-Zusammenbau, Teil 1:
*
* zuerst die Reihenfolge der einzelnen Abschnitte:
*/
function buildQuickbar() {
qbImageTemps();
qbUsertalkTemps();
// Automatisches Bausteinsetzen
qbAutoTemps();
}
/*
* Quickbar-Zusammenbau, Teil 2:
*
* die Belegung der einzelnen Abschnitte
*/
function qbImageTemps() {
if (!isBild) return;
if (!isEdit) return;
w (0,trenner,'Bildbausteine','');
w (4,"nowcomm();","NowCommons");
w (2,"'+BLU','{{subst:BLU}}\\n\\n',3","BLU");
w (2,"'+BLU-User','{{subst:BLU-User}}\\n\\n',3","BLU-User");
}
function qbUsertalkTemps() {
if (!isUserpage) return;
if (!isTalk) return;
if (!isEdit) return;
w (0,trenner,'Benutzerbausteine','');
w (3,"'{{subst:Benutzer:C-M/VHinweis}}\\n','',''",'<b>VHinweis</b>');
w (3,"'{{subst:Benutzer:C-M/VBeobachtung}}\\n','',''",'<b>VBeobachtung</b>');
// w (3,"'{{subst:Benutzer:PDD/Greetings/Hallo|" + user + "}} " + usersignature + "\\n','',''","Hallo");
w (3,"'{{subst:Benutzer:PDD/Greetings/HalloG|" + user + "|" + usersignature + "}}\\n','','','Willkommen!'","Hallo",'','Baustein PDD:Hallo');
w (3,"'{{subst:Benutzer:PDD/Greetings/Danke}} " + usersignature + "\\n','',''",'Danke','','Baustein PDD:Danke');
w (3,"'{{subst:Benutzer:Complex/Greetings/TestMitStopschild}} " + usersignature + "\\n','',''",'Stop','','Baustein Complex:TestMitStopschild'); // Abwandlung von [[Benutzer:LKD/V/VHinweis]]
// w (3,"'{{subst:Benutzer:Blah/Vorlage:Vandale}}\\n','',''",'Vand','','Baustein Blah:Vandale');
// w (3,"'{{subst:Benutzer:Tobi B./Vorlage:Löschvandale}} " + usersignature + "\\n','',''",'LöschV','','Baustein Tobi B.:Löschvandale');
w (3,"'{{subst:Benutzer:PDD/Greetings/KinderKinder!}}\\n','',''",'Kind','','Baustein PDD:Kind');
w (3,"'{{Diskussion}}\\n','',''",'Sign!','','{{Diskussion}}');
w (3,"'{{subst:Vorschau}} " + usersignature + "\\n','',''",'Vorschau','','{{subst:Vorschau}}');
w (3,"'{{subst:Benutzer:PDD/Greetings/Linkspam}} " + usersignature + "\\n','',''",'Linkspam','','Baustein PDD:Linkspam');
// w (3,"'{{subst:Benutzer:Complex/Greetings/WP-WEB}} " + usersignature + "\\n','',''",'LinkspamC','','Baustein Complex:WP-WEB'); // Abwandlung von [[Benutzer:LKD/V/LHinweis]]
if (adminflag)
w (3,"'{{subst:Benutzer:LKD/V/ALoesch}} " + usersignature + "\\n','',''",'SLA-ex','','Autorenbenachrichtigung nach Schnelllöschung');
}
function qbAutoTemps() {
if (isSpecial && !isContrib) return;
w (0,trenner,'Auto-Bausteine','');
if (( isGeneric) && (!isSpecial)) w (4,"eintragen(1);","QS+","","+Qualitätssicherung");
if (( isGeneric) && (!isSpecial)) w (4,"eintragen(5);","URV+","","+URV");
if (( isGeneric) && (!isSpecial)) w (4,"eintragen(2);","LA+","","+Löschantrag");
if (( isBild) && (!isSpecial)) w (4,"eintragen(4);","BildLA+","","+Löschantrag Bild");
// if (( isBild) && (!isSpecial)) w (4,"eintragen(9);","BLU+","","+BLU");
if (( isCategory) && (!isSpecial)) w (4,"eintragen(7);","KatLA+","","+Löschantrag Kategorie");
if (( isTemplate) && (!isSpecial)) w (4,"eintragen(8);","VorLA+","","+Löschantrag Vorlage");
if ( (!isSpecial)) w (4,"eintragen(3);","SLA+","","+Schnelllöschantrag");
if (( isContrib) || ( isUserpage)) w (4,"eintragen(6);","VANDAL+","","+Vandalismusmeldung");
if (wgPageName == "Wikipedia:Spielwiese") w (4,"eintragen(10);","SP-Reset","","Spielwiese zurücksetzen");
}
/*
* hier wird der Quickbar in die Seite geschrieben
* (ab hier bitte nichts ändern)
*/
buildQuickbar();
document.write(Quickbar);
if (typeof(version) == 'undefined') var version = "?";
if (!isEdit || isPHP) {
document.write(
'<div align=right>',
'<a href="/w/index.php?title=Spezial%3APrefixindex&from=',user,
'&namespace=2" target="', qbtarget, '" title="Meine Seiten im Benutzernamensraum">',
(user.split(' ')[0].length < 10) ? user.split(' ')[0] : 'MyPages',
'</a>',
'</div>');
}
document.write(xxx,'</div>');
if (scrpt > '') {
document.write('<script> function _doopt (was) { switch (was) {', scrpt, '}}<\/script>');
scrpt='';
}
//
// ab hier functions
//
function w (was,lurl,linktext,targt,title) {
if (!title) title=linktext;
title='';
if (!dropdown) {
switch (was) {
case 0 : xxx=xxx+lurl;break;
case 1 : xxx=xxx+'<a href="'+lurl+'" target="'+targt+'" title="'+title+'">'+linktext+'</a> ';break;
case 2 : xxx=xxx+'<a href="#" onclick="newtext('+ lurl +')" title="'+title+'">'+linktext+'</a> ';break;
case 3 : xxx=xxx+'<a href="#" onclick="insertTagsWrapper('+ lurl +')" title="'+title+'">'+linktext+'</a> ';break;
case 4 : xxx=xxx+'<a href="#" onclick="'+ lurl +'" title="'+title+'">'+linktext+'</a> ';break;
}
} //if
else //todo: Hilfe bei Dropdowns. Benutzt die überhaupt jemand????
{
var ltext='__________'.substr(1,ind)+linktext;
switch (was) {
case 0 : if (lurl==br) {xxx=xxx+'<option>'+linktext+'</option>';ind=2;}
else
if (lurl==trenner) newdropdown(linktext);
break;
case 1 : xxx=xxx+'<option value="1|'+lurl+'">'+ltext+'</option>';break;
case 2 : xxx=xxx+'<option value="2|'+scrptn+'">'+ltext+'</option>';
scrpt=scrpt+'case '+scrptn+':newtext('+lurl+');break;';scrptn++;break;
case 3 : xxx=xxx+'<option value="3|'+scrptn+'">'+ltext+'</option>';
scrpt=scrpt+'case '+scrptn+':insertTagsWrapper('+lurl+');break;';scrptn++;break;
case 4 : xxx=xxx+'<option value="4|'+scrptn+'">'+ltext+'</option>';
scrpt=scrpt+'case '+scrptn+':'+lurl+';break;';scrptn++;break;
} //switch
} //else
} //w
function dodropdown (aktion) {
var zutun = aktion.split('|');
var was = Number(zutun[0]);
var wie = zutun[1];
switch (was) {
case 1 : window.open (wie); break;
case 2 : _doopt (Number(wie)); break;
case 3 : _doopt (Number(wie)); break;
case 4 : _doopt (Number(wie)); break;
} //switch
} //dodropdown
function newdropdown (oname) {
closedropdown();
xxx=xxx+'<select size=1 onchange="dodropdown(this.value);" style="width:135px;font-size:9px;">';
if (oname > '') {xxx=xxx+'<option>'+oname+'</option>';}
indropdown = true;
ind=2;
}
function closedropdown () {
if (indropdown) xxx=xxx+'</select>';
indropdown = false;
}
function newtext (subj,text,wo)
{ //wo=1 : Text austauschen
//wo=2 : Text am Ende anhängen
//wo=3 : Text vorne Einfügen
if (subj > "") {
if (document.editform.wpSummary.value > "") document.editform.wpSummary.value += ", ";
document.editform.wpSummary.value = document.editform.wpSummary.value + subj;
}
switch (wo) {
case 1 : document.editform.wpTextbox1.value=text+'\n'; break;
case 2 : document.editform.wpTextbox1.value=document.editform.wpTextbox1.value+'\n'+text;break;
case 3 : document.editform.wpTextbox1.value=text+'\n'+document.editform.wpTextbox1.value;break;
}
document.editform.wpTextbox1.focus();
}
function insertTagsWrapper(tagOpen, tagClose, sampleText, subj) {
if (subj > "") {
if (document.editform.wpSummary.value > "") document.editform.wpSummary.value += ", ";
document.editform.wpSummary.value = document.editform.wpSummary.value + subj;
}
insertTags(tagOpen, tagClose, sampleText)
}
// Krimskrams
function isEven(myNumber) {
return (myNumber % 2 == 0);
}
function isOdd(myNumber) {
return (! isEven(myNumber));
}
function LeadingZero(x) {
return (x >= 10 || x < 0 ? "" : "0") + x;
}
function isAdmin() {
var specialrights = false;
if (typeof wgUserGroups != 'object') return(specialrights);
if (typeof wgUserGroups[0] != 'string') return(specialrights);
for (i=0;i<wgUserGroups.length;i++) {
if (wgUserGroups[i] == "sysop") specialrights = true;
}
return(specialrights);
}
// Funktion: importPage()
// zum Einbinden der Module
function importPage(seite, lang) { // all languages support
name='User:'; // international name, works in all wikipedias
if(!lang) lang = wgContentLanguage;
// new version
seite = 'http://' + lang + '.wikipedia.org' + wgScriptPath + '/index.php?title=' + name + seite +
'&action=raw&ctype=text/javascript&smaxage=2678400&dontcountme=s';
var head = document.getElementsByTagName('head').item(0);
var js = document.createElement('script');
js.setAttribute('type', 'text/javascript');
js.setAttribute('src', seite);
js.setAttribute('charset', 'utf-8');
head.appendChild(js);
return false;
// old version
// document.write('<SCRIPT TYPE="text/javascript" SRC="http://' + lang
// + '.wikipedia.org/w/index.php?title=' + name + seite
// + '&action=raw&ctype=text/javascript&smaxage=2678400&dontcountme=s"><\/SCRIPT>');
}
// ***** FOOT-Block *****
// </nowiki> <- nicht löschen!!!
// ausgelagerte obligatorische Funktionen
importPage('PDD/helperFunctions.js'); // [[Benutzer:PDD/helperFunctions.js]]
importPage('PDD/eintragen.js'); // [[Benutzer:PDD/eintragen.js]]
importPage('PDD/alertOnChanges.js'); // [[Benutzer:PDD/alertOnChanges.js]]
// semi-obligatorisch nur für diffpages
if (diffwidth && isDiff) {
// PDD: keine der beiden Versionen bisher getestet; weiß also nicht, welche besser funktioniert
importPage('Olliminatore/fixdiffwidth.js'); // [[Benutzer:Olliminatore/fixdiffwidth.js]]
// importPage('BLueFiSH.as/JS/fixdiffwidth'); // [[Benutzer:BLueFiSH.as/JS/fixdiffwidth]]
}
// obligatorisch nur für editpages
if (isEdit) {
importPage('PDD/wpTextReplace.js'); // [[Benutzer:PDD/wpTextReplace.js]]
importPage('PDD/replaceQuoteSigns.js'); // [[Benutzer:PDD/replaceQuoteSigns.js]]
// importPage('PDD/replaceQuoteSigns2.js'); // [[Benutzer:PDD/replaceQuoteSigns2.js]]
importPage('BLueFiSH.as/JS/markup'); // [[Benutzer:BLueFiSH.as/JS/markup]]
}
// importPage('PDD/godmode-light.js'); // [[Benutzer:PDD/godmode-light.js]]
// Revert addEditAndRevertLinks
if (!(!aerhistory && isHistory) && !isEdit) {
if (editlinkoldversion || revertwithreason)
importPage('C-M/addEditAndRevertLinks.js'); //
}
importPage('C-M/morebits.js');
importPage('C-M/twinklefluff.js');
importPage('C-M/twinklespeedy.js');
if (wgCanonicalNamespace == "User_talk"){
addButton('http://www.christophmueller.org/wikipedia/button_vh.png','VHinweis','{'+'{'+'subst:Benutzer:C-M/VHinweis'+'}'+'}\n','','','mw-editbutton-vh');
addButton('http://www.christophmueller.org/wikipedia/button_vb.png','VBeobachtung','{'+'{'+'subst:Benutzer:C-M/VBeobachtung'+'}'+'}\n','','','mw-editbutton-vb');
addButton('http://www.christophmueller.org/wikipedia/button_web.png','Linkspam','{'+'{'+'subst:Benutzer:Complex/Greetings/WP-WEB'+'}'+'}\n','','','mw-editbutton-web');
addButton('http://www.christophmueller.org/wikipedia/button__leer.png','','','','','clear');
}
//</nowiki>