Benutzer:Rainer Lippert/monobook.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
/*
Originalskript von [[Benutzer:SirJective]]
bearbeitet von [[Benutzer:BLueFiSH.as]]
bearbeitet von [[Benutzer:Littl]] (2005-09-07)
bearbeitet von [[Benutzer:Schwalbe]] (2006-02-03)
bearbeitet wieder von [[Benutzer:Littl]] (2006-02-21)
bearbeitet von [[User:PDD]] (2006-04-22)
Änderungen PDD:
- modularisiert
- ein paar Zusatzskripte übernommen
(Gänsefüßchen ersetzen, Admins markieren (Spongo), doppelte Links anzeigen...)
- kleinere Fixes, myTypoKorr() entfernt
- automatische Signatur von [[User:Olliminatore]]
- Markierung von "Sonderzeichenbenutzernamen"
- Fix der Breite der Diff-Tabelle (Versions-VergleichsSeite) (Olliminatore)
- "Nullabschnitt" separat editierbar
- automatische Signatur (Olliminatore 23. Apr 2006)
ab hier Text aus Originalversion von Littl:
getestet mit Firefox und IE
am besten monobook.css gleich mitkopieren.
21.02.06 - optional : Tooltips unter IP-Contributions Links für RIPE-Info
19.02.06 - Textbausteine für Bilder (NowCommons mit Abfrage des neuen Namens und Bild-Lizenz-fehlt)
- *Automatisierter Löschantrag für Bilder
- optional : (rev) sind minor-Edits.
17.02.06 - Version von Schwalbe übernommen.
- Appers Rechtschreibprüfung deaktiviert,
- Godmode-Light durch selbst modifizierte, hoffentlich funktionierende Version ersetzt.
Muss alles noch getestet werden. Bin weiter auf Suche nach Bugs die währen meiner Abwesenheit durch neue Mediawikiversionen entstanden sind.
(2005) *Automatisierter Löschantrag und Qualitätssicherung
- Artikel müssen nicht zum Bearbeiten geöffnet werden.
*verbesserte Wartbarkeit
*Revert-Button mit der Möglichkeit eine Begründung einzugeben
*Optionale Dropdown-Auswahlfelder
*Aussehen den anderen Feldern links angepasst, ist jetzt "seamless integratet" :-)
*APPERs Rechtschreibprüfung
*godmode-light
*Man kann ein Häkchen setzen, wenn die Seite immer wieder neu geladen werden soll
-Nützlich für Recentchanges und andere Seiten. Für andere Zeitintervalle siehe Variable "timeout".
*/
// *************** SETUP *****************************************
//<pre><nowiki>
var user = 'Rainer Lippert'; // <- bitte anpassen !!!
var usedropdown = false; // Wenn keine Dropdowns gewünscht sind, hier false eintragen !
var autosave = false; // automatisches Speichern von QS/LA/SLA/BildLA/Vandal-Einträgen?
var rvisminor = false; // sind Reverts mit "(rev)"-Link Minor-Changes ? *NEU*
var timeout = 10000; // 10 Sekunden auf das Neuladen der Seite warten.
var usekatproject = true; // LAs für Kategorien auf dem WikiProjekt eintragen?
var ripe = false; // Ripe - Tooltips ?
// systemweite Default-Funktionen aus [[MediaWiki:Monobook.js]]
NavigationBarShowDefault = 0; // Navi-Leisten: alle einklappen == 0; alle ausklappen == 15 (z.B.)
var oldEditsectionLinks = 0;// Links zum Abschnitt bearbeiten direkt neben Überschrift wieder nach außen?
var NavigationBarShowDefault = 1; // Alle Navi-Leisten einklappen
//** ausgelagerte Funktionen:
var editlinkoldversion = true; // Bearbeiten-Link für ältere Versionen auf Versionshistorie anzeigen
var revertwithreason = true; // Revert-Link mit Grund-Eingabe auf Versionshistorie anzeigen
var godmodelight = true; // "Zurücksetzen"-Möglichkeit einblenden
var revlinkshowuser = false; // beim Revertieren über (Rev)-Link letzten Benutzer angeben?
var addeditsection0 = 0; // TAB zum Editieren des nullten Abschnitts einer Seite
var addlogslink = false; // Zusatzlinks zu Spezial:Log einfügen
var addusercontriblink = true; // auf Benutzerseiten auch noch Link auf Contributions?
var beschriftungen = true; // kosmetische Änderungen an der MediaWiki-Oberfläche
var showredundantlinks = false; // zeigt doppelte Links an
var markadmins = true; // Admins etc. besonders hervorheben
var markutf8 = true; // Sonderzeichenbenutzernamen besonders hervorheben
var strictutf8 = false; // bei jeder UTF-Kodierung gewarnen?
var signing = true; // automatische Unterschrift auf Diskussionsseiten?
var diffwidth = true; // Fix: immer gleiche Höhe (/Breite) der vergleichenden Versionen (diff.table) (27. Apr 2006)
var zeigeversion = false;
var debugme = false;
var js_highlight = false; // javascript-code farbig hervorheben (scheint noch optimierbedürftig) (.js and pre-tags)
// **************** SETUP Ende ***********************************
var trenner='<hr />';
var br ='<br />';
var Quickbar = '<div class="pBody" id="quickba" style="position:absolute; top:5px; z-index:10; width: 10em;">';
var version = 'P097l';
var xxx = '';
var scrpt = '';
var scrptn = 0;
var dropdown = usedropdown;
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 URL = document.URL;
var UrlParameters = new Array ();
readparams();
// namespaces
var isSpecial = ((document.URL.indexOf('Spezial:') > 0) || (document.URL.indexOf('Spezial%3A') > 0));
var isBild = (document.URL.indexOf('Bild:') > 0);
var isCategory = (document.URL.indexOf('Kategorie:') > 0);
var isTemplate = (document.URL.indexOf('Vorlage:') > 0);
var isUserpage = (document.URL.indexOf('Benutzer:') > 0) || (document.URL.indexOf('Benutzer_Diskussion:') > 0);
var isGeneric = false;
if ((!isBild) && (!isCategory) && (!isTemplate))
isGeneric = true;
// other stuff
var isPHP = (document.URL.indexOf('index.php') > 0);
var isDiff = UrlParameters["diff"];
var isEdit = (document.URL.indexOf('action=edit') > 0) || (document.URL.indexOf ('action=submit') > 0);
var isRestore = (document.URL.indexOf('Spezial:Undelete') > 0) || (document.URL.indexOf('Spezial%3AUndelete') > 0);
var isContrib = (document.URL.indexOf('Spezial:Contributions') > 0) || (document.URL.indexOf('Spezial%3AContributions') > 0);
// uri-parameter
// benutzt in aktion() aus eintragen.js und revertme() aus addEditAndRevertLinks.js
var subjp = 'subj'; //Subject
var textp = 'txt'; //Für Text-Austausch
var insp = 'ins'; //Vor dem Text einfügen
var addp = 'add'; //an Text anhängen
var minorp = 'minor'; //(k)leine Änderung
var speichernp = 'speichern'; //Auf "Speichern" klicken
var reloadme = 'neuladen'; //merker für reload
// Ab hier der Inhalt des "Fensters" oben links
//
w(0,br,'--Special--','');
w(1,'/w/index.php?title=Spezial%3APrefixindex&from='+user+'&namespace=2','MyPages','_blank');
w(1,'/w/index.php?title=Spezial:Recentchanges&hideminor=0&hideliu=1&hidebots=1&hidepatrolled=0&days=7&limit=250','RCs','_blank');
w(1,'/wiki/Spezial:Contributions/newbies','NCs','_blank');
w(1,'/wiki/Spezial:Newpages','New','_blank');
w(1,'/w/index.php?title=Spezial:Log&limit=1000&type=newusers','Newbies','_blank');
w(1,'/wiki/Spezial:Log','Log','_blank');
w(0,br,'--More Special--','');
w(1,'/wiki/Wikipedia:Löschkandidaten/Urheberrechtsverletzungen','URVs','_blank');
//w(1,'http://commons.wikimedia.org/wiki/Special:Upload','C-Upload','_blank');
w(1,'/wiki/Wikipedia:Löschkandidaten/'+WPDatum,'LK','_blank');
w(1,'/wiki/Wikipedia:Löschkandidaten/Bilder/'+WPDatum,'BildLK','_blank');
w(1,'/wiki/Kategorie:Wikipedia:Schnelllöschen','SLK','_blank');
w(0,trenner,'--Externe--','');
w(1,'http://tools.wikimedia.de/~kate/cgi-bin/count_edits?user='+user+'&dbname=dewiki_p','Kate','_blank');
w(1,'http://tools.wikimedia.de/~interiot/cgi-bin/count_edits?user='+user+'&dbname=dewiki_p','(+)','_blank');
w(1,"http://www.ripe.net/whois",'ripe','_blank');
w(1,"http://www.affenkrieger.de/wiki/wikicc.php",'URV-Test','_blank');
w(1,"http://www.copyscape.com",'copyscape','_blank');
w(1,"http://www.canoo.net",'canoo','_blank');
w(1,"http://www.cia.gov/cia/publications/factbook/index.html",'Factbook','_blank');
// nur für Wikipedia Namensraum
if (URL.indexOf('Wikipedia:',28)>0||((document.URL.indexOf('Benutzer:',28) > 0) && (document.URL.indexOf('Bewertung',28) > 0)))
w(4,"markStimmrecht()","Stimmrecht?");
closedropdown(); dropdown=false;
if (isEdit){ // only if editing
if (!isBild){
w(0,trenner,'','');
w(3,"br,'',''",'br');
w(3,"'<tt>','</tt>',''",'<tt>tt</tt>');
w(3,"'<!-- ',' -->',''",'// Comment');
w(3,"'<span>','</span>',''",'span');
w(0,br,'','');
w(3,"'<small>','</small>',''",'small');
w(3,"'<s>','</s>',''",'<s>strike</s>');
w(3,"'<u>','</u>',''",'<u>under</u>');
w(3,"'<code>','</code>',''",'<code>code</code>');
w(0,trenner,'','');
if (usedropdown){dropdown=true;w(0,trenner,'--Bausteine--','')};
w(3,"'== Weblinks ==\\n','',''",'Weblinks');
//w(2,"'*{{IMDb Titel||}}\\n','','');document.editform.wpSummary.value='Vorlage:IMDb Titel';document.editform.wpTextbox1.focus()","IMdb-t");
w(3,"'[[Kategorie:',']]\\n',''","Kat:");
w(3,"'[[Benutzer:',']]',''","Benutzer:");
w(3,"'[[Wikipedia:',']]',''","WP:");
w(0,br,'','');
w(4,"a=\'#REDIRECT \[\[\'+prompt(\'Wo hin soll der Redirect\?\')+\'\]\]\'; document.editform.wpTextbox1.value=a; document.editform.wpSummary.value=a; document.editform.wpWatchthis.checked=false","#RED");
w(2,"'+Überarbeiten','{{Überarbeiten}}\\n\\n',3","Über");
//w(2,"'+Stub','{{Stub}}\\n\\n',2","Stub");
w(2,"'+Lückenhaft','{{lückenhaft}}\\n\\n',3","Lücke");
//w(3,"'{{Gesundheitshinweis','}}',''","Gesundheitshinweis");
w(3,"'{{subst:Hallo','}}',''","Hallo");
closedropdown();dropdown=false;
w(0,trenner,'','');
w(4,"wpTextReplace()","Replace");
//w(4,"myTypoKorr()","TypoKorr");
//w(4,"spellcheck()","Spellchk");
w(4,"\" onmousedown=\"replaceQuoteSigns()","FixQuotes");
w(4,"ReplaceMarkup()","FixMarkup");
}
else if (isBild){
w(0,trenner,'','');
w(4,"nowcomm()","NowCommons");
w(2,"'+Bild-Lizenz-unbekannt','{{Bild-Lizenz-unbekannt}}\\n\\n',3","Bild-Liz.-unb.");
}
/* add a redirect button to the edit page toolbar */
if (mwCustomEditButtons) {
mwCustomEditButtons.push({
"imageFile": "/media/wikipedia/en/c/c8/Button_redirect.png",
"speedTip": "Redirect",
"tagOpen": "#REDIRECT [[",
"tagClose": "]]",
"sampleText": "Insert text"});
};
}
if (isEdit && isBild) {
w (0,trenner,'','');
w (4,"nowcomm();","NowCommons");
w (2,"'+Bild-Lizenz-unbekannt','{{Bild-Lizenz-unbekannt}}\\n\\n',3","Bild-Liz.-unb.");
}
if ((!isSpecial) || (isContrib)) {
w (0,trenner,'','');
if (( isGeneric) && (!isSpecial)) w (4,"eintragen(1);","QS");
if (( isGeneric) && (!isSpecial)) w (4,"eintragen(2);","LA");
if (( isBild) && (!isSpecial)) w (4,"eintragen(4);","LABILD");
if (( isCategory) && (!isSpecial)) w (4,"eintragen(7);","LAKAT");
if (( isTemplate) && (!isSpecial)) w (4,"eintragen(8);","LAVORL");
if (/* (!isBild) && */ (!isSpecial)) w (4,"eintragen(3);","SLA");
if (( isGeneric) && (!isSpecial)) w (4,"eintragen(5);","URV");
if (( isContrib) || (isUserpage)) w (4,"eintragen(6);","Vandal");
}
if (isRestore){
w(0,trenner,'','');
w(4,"TaggAll();","Alle Versionen, außer?");
} //if (isRestore)
var indropdown = false;
var ind = 0;
closedropdown();
document.write(Quickbar);
if (!isEdit || zeigeversion || isPHP) {
document.write('<div align=right>',
!isEdit ?
('Neu laden:<input type="checkbox" id="reloadme" name="reloadme" onchange="setReload()"></input>')
: '',
zeigeversion ?
(' ' + version)
: '',
'</div>');
}
document.write(xxx,'</div>');
if (scrpt > '') document.write('<script> function _doopt (was){ switch (was){',scrpt,'}}<\/script>');scrpt='';
// ab hier functions
//
var timeoutaktiv; // sollte evtl. besser lokal sein?
function setReload() {
if (document.getElementById('reloadme').checked && (UrlParameters[reloadme] != "1")) {
var uri = (document.URL.indexOf('?') >0) ? ('&' + reloadme + '=1') : ('?' + reloadme + '=1');
timeoutaktiv = window.setTimeout(location.href=location.href+uri, timeout);
}
else if (document.getElementById('reloadme').checked && (UrlParameters[reloadme] == "1"))
timeoutaktiv=window.setTimeout("location.reload()", timeout);
else
window.clearTimeout(timeoutaktiv); // bizarr, timeoutaktiv ist hier gar nicht belegt?
}
function w(was,lurl,linktext,targt){
if (!dropdown){
switch (was){
case 0 : xxx=xxx+lurl;break;
case 1 : xxx=xxx+'<a href="'+lurl+'" target="'+targt+'">'+linktext+'</a> ';break;
case 2 : xxx=xxx+'<a href="#" onclick="newtext('+ lurl +');return false">'+linktext+'</a> ';break;
case 3 : xxx=xxx+'<a href="#" onclick="insertTags('+ lurl +');return false">'+linktext+'</a> ';break;
case 4 : xxx=xxx+'<a href="#" onclick="'+ lurl +';return false">'+linktext+'</a> ';break;
}
} //if
else {
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+':insertTags('+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 closedropdown (){
if (indropdown) xxx=xxx+'</select>';
indropdown = false;
}
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 newtext (subj,text,wo){
//wo=1 : Text austauschen
//wo=2 : Text am Ende anhängen
//wo=3 : Text vorne Einfügen
if (subj>"") 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='\n'+text+'\n'+document.editform.wpTextbox1.value;break;
}
document.editform.wpTextbox1.focus();
}
function trim(str){return str.replace(/^\s*|\s*$/g,"")};
function absenden (){if (!debugme) document.editform.wpSave.click(); else alert ('Speichern')};
function contrib(){ // BLueFiSH.as
wer=prompt('IP oder Name eingeben!','');
newwin = window.open("http://de.wikipedia.org/w/index.php?title=Spezial:Contributions&target="+wer,"Beiträge");
newwin.focus();
}
function TaggAll(){ // Schwalbe nach Anregung von Poupou, ursprüngl. von BLueFiSH.as
//(fast) alle Checkboxen auswählen, für Spezial:Undelete Versionenwiederherstellung
for(var i=3;i<=10000;i++)document.getElementsByTagName("input")[i].checked=true;
};
// function readparams
//******************************************
function readparams (){
var asReadInUrlParameters, 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]);
}
};
function importPage(site,lang){ // all languages support
if(!lang) lang='de';
document.write('<script type="text/javascript" src="http://' + lang
+ '.wikipedia.org/w/index.php?title=User:' + site
+ '&action=raw&ctype=text/javascript&smaxage=2678400&dontcountme=s"><\/script>')
};
if (ripe) initmtt();
// Tinz; Öffnet Wikipedia mit Kuerzel land mit im Browser markiertem Wort als Lemma
// Olliminatore; für IE (und andere) erweitert
function xwp(land){
var PText="";
if (window.getSelection) PText=window.getSelection();
else if (document.getSelection) PText=document.getSelection();
else if (document.selection) PText=document.selection.createRange().text;
PText = trim(String(PText));
if (PText=="") return;
PText = encodeURIComponent(PText), PText = "http://"+land+".wikipedia.org/wiki/"+PText;
window.open(PText);
window.focus();
}
// Standard-Funktionen die nicht geladen werden sollen.
excludeFunctions = new Array ("customizeWikipedia", "externHinweis", "LinkFA", "createNavigationBarToggleButton")
aOnloadFunctions.exclude = function(searchFunction){
for(x=0; x<this.length; x++)
if(this[x].name == searchFunction)
this.splice(x, 1)
};
for (searchFunction in excludeFunctions)
aOnloadFunctions.exclude(excludeFunctions[searchFunction])
// ***** FOOT-Block *****
// ausgelagerte Funktionen
importPage('PDD/eintragen.js'); // [[User:PDD/eintragen.js]]
importPage('PDD/markStimmrecht.js'); // [[User:PDD/markStimmrecht.js]]
importPage('BLueFiSH.as/JS/markup'); // [[Benutzer:BLueFiSH.as/JS/markup]]
if (isEdit){ // only if editing
importPage('PDD/replaceQuoteSigns2.js'); // [[User:PDD/replaceQuoteSigns.js]]
importPage('PDD/wpTextReplace.js'); // [[User:PDD/wpTextReplace.js]]
importPage('Olliminatore/unsigned.js'); // [[User:Olliminatore/unsigned.js]]
}
// *** Initialisierung ***
function Init(){
document.getElementById("column-one").style.paddingTop =
(10+document.getElementById("quickba").clientHeight)+"px";
if (navigator.userAgent.indexOf("Firefox") > 0 ) document.getElementById("quickba").style.position = "fixed";
if (!isEdit){
if (UrlParameters[reloadme] == "1") document.getElementById('reloadme').checked=true; setReload();
if (editlinkoldversion || revertwithreason) addEditAndRevertLinks(revlinkshowuser);
}
else if (!isSpecial) aktion();
if (ripe) ipcontribs();
if (markadmins) markAdmins();
if (markutf8) markUTF8();
// (isDiff)
}
if (URL.indexOf('printable=yes',28) < 0) addOnloadHook(Init);
//** ausgelagerte optionale Funktionen (Load in Init)
if (editlinkoldversion || revertwithreason) importPage('PDD/addEditAndRevertLinks.js'); // [[User:PDD/addEditAndRevertLinks.js]]
if (ripe) importPage('PDD/tooltips.js');
if (markadmins) importPage('Spongo/markAdmins.js'); // [[User:PDD/markAdmins.js]]
if (markutf8) importPage('PDD/markUTF8.js'); // [[User:PDD/markUTF8.js]]
// ausgelagerte optionale Funktionen (Autoload)
if (diffwidth && isDiff) importPage('Olliminatore/fixdiffwidth.js') // [[User:Olliminatore/fixdiffwidth.js]]
if (signing) importPage('Olliminatore/signing.js'); // [[User:Olliminatore/signing.js]]
if (ripe) importPage('PDD/tooltips.js'); // [[User:PDD/tooltips.js]]
if (beschriftungen) importPage('PDD/changeBeschriftungen.js'); // [[User:PDD/changeBeschriftungen.js]]
if (showredundantlinks) importPage('PDD/showRedundantLinks.js'); // [[User:PDD/showRedundantLinks.js]]
if (addeditsection0) importPage('PDD/addEditSection0.js');
if (addlogslink) importPage('PDD/addLogsLink.js'); // [[User:PDD/addLogsLink.js]]
/* Revert godmode-light*/
if (godmodelight) importPage('Olliminatore/godmode-light.js'); // [[User:Olliminatore/godmode-light.js]]
// if (godmodelight) importPage('PDD/godmode-light.js'); // [[User:PDD/godmode-light.js]]
/* extended search & replace feature [[:en:User:Zocky/Search Box]] */
importPage('Zocky/SearchBox.js','en');
/* Syntax highlighter */
if(js_highlight) importPage('Olliminatore/shCore.js','en'); // [[User:Olliminatore/shCore.js]]
// </pre></nowiki>