Benutzer:Kulac/monobook.js

aus Wikipedia, der freien Enzyklopädie
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
  • Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Strg+F5
 //  http://de.wikipedia.org/wiki/Benutzer:SirJective/monobook.js 
 // 
 // geklaut bei Soebe

 var user   ='kulac'; 		 // <- bitte anpassen !!!
 var usedropdown = false;        // Wenn keine Dropdowns gewünscht sind, hier false eintragen !
 var autosave = true;            // automatisches Speichern ja/nein
 var rechtschreibpruefung = false;// APPERS Rechtschreibprüfung aktivieren ?
 var godmodelight = false;
 var timeout = 50000;            // 50 Sekunden auf das Neuladen der Seite warten.
 
 var zeigeversion = false;  
 var debugme = false;
 
 // <nowiki>  <- nicht löschen !
 var trenner='<hr />';
 var br     ='<br />';
 var Quickbar = '<div class="pBody" id="quickba" style="position:absolute; top:5px; z-index:10; width: 14em;">';
 var version  = '0.7';
 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 UrlParameters = new Array ();
 readparams();

 var isEdit   = ( document.URL.indexOf ( 'action=edit' ) > 0 || document.URL.indexOf ( 'action=submit' ) > 0);
 var isSpecial= ( document.URL.indexOf ( 'Spezial:' ) > 0);
 var isPHP =    ( document.URL.indexOf ( 'index.php' ) > 0);
 
 //uri-parameter für aktion()
 var subjp      = 'subj';       //Subject
 var textp      = 'txt';        //Für Text-Austausch
 var insp       = 'ins';	//Vor dem Text einfügen
 var speichernp = 'speichern';  //Auf "Speichern" klicken 
 
 var reloadme   = 'neuladen';   //merker für reload
 
 //
 // Ab hier der Inhalt des "Fensters" oben links
 //
 if (usedropdown) {w (0,trenner,'--Wikipedia--','')};

 w (0,br,'--Special--','');
 w (1,"http://de.wikipedia.org/wiki/Wikipedia:WikiProjekt_Lebewesen/Bestimmung",'Bestimng','_blank');
 w (1,"http://de.wikipedia.org/wiki/Portal:Lebewesen",'Lebewsn','_blank'); 
 w (1,"http://de.wikipedia.org/wiki/Wikipedia:Redaktion_Biologie/Artikellisten",'AKA','_blank'); 
 w (1,"http://de.wikipedia.org/wiki/Benutzer:Kulac/Rumpelkammer",'Rumpelkammer','_blank');
 w (1,"http://de.wikipedia.org/wiki/Wikipedia:WikiProjekt_Biologie/Qualit%C3%A4tssicherung",'QS','_blank');
 w (1,"http://de.wikipedia.org/wiki/Benutzer:Kulac/Insektenliste",'IL','_blank');
 w (1,"http://de.wikipedia.org/wiki/Kategorie:Wikipedia:Schnelll%C3%B6schen",'SL','_blank');
 w (0,trenner,'--Externe--','');
 w (1,"http://commons.wikimedia.org",'Commons','_blank');
 w (1,"http://de.wikipedia.org/wiki/Portal:Lebewesen/Neue_Artikel",'Neue','_blank');
 w (1,"http://www.faunaeur.org/index.php",'Faunaeur','_blank'); 
 w (1,"http://www.lepiforum.de",'LepiF','_blank'); 
 w (1,"http://en.wikipedia.org/wiki/Main_Page",'en.Wiki','_blank'); 
 w (1,"http://de.wikipedia.org/wiki/Wikipedia:WikiCup",'Cup','_blank'); 
 w (1,"http://de.wikipedia.org/wiki/Benutzer:Kulac/Literaturstipendium",'Stip','_blank'); 

 w (1,"http://de.wikipedia.org/wiki/Wikipedia:Kandidaturen_von_Artikeln,_Listen_und_Portalen",'KALP','_blank'); 
 w (1,"http://de.wikipedia.org/wiki/Wikipedia:Kandidaten_f%C3%BCr_exzellente_Bilder",'KEB','_blank'); 
 w (1,"http://de.wikipedia.org/wiki/Wikipedia:Kurier",'K','_blank'); 
 w (1,"http://de.wikipedia.org/wiki/Wikipedia:Auskunft",'AU','_blank'); 
 w (1,"http://de.wikipedia.org/wiki/Wikipedia:L%C3%B6schpr%C3%BCfung",'LP','_blank'); 
 w (1,"http://de.wikipedia.org/wiki/Wikipedia:Administratoren/Notizen",'AN','_blank'); 

 closedropdown();dropdown=false;
 
 if (isEdit) {
   w (0,trenner,'','');
 
   w (3,"'<br />','',''",'br');   
   w (3,"'♂','',''",'♂');
   w (3,"'♀','',''",'♀');
   w (3,"'[[Datei:|thumb|]]','',''",'Bild');
   w (3,"'{{Commons||}}','',''",'Comm');
   w (0,br,'','');
   w (3,"'#REDIRECT [[]]','',''",'Redir');
   w (3,"'[[Kategorie:]]','',''",'Kat');
   w (3,"'<gallery>','</gallery>',''",'gall');
   w (3,"'== Belege == === Einzelnachweise ===','<references> </references>',''",'Ref');
   w (0,br,'','');
   w (3,"'<sub>','</sub>',''",'tief');
   w (3,"'<sup>','</sup>',''",'hoch');
   w (3,"'<s>','</s>',''",'durch');
   w (3,"'<nowiki>','</nowiki>',''",'no');
   w (3,"'<small>','</small>',''",'klein');
 
   if (usedropdown) {dropdown=true;w (0,trenner,'--Bausteine--','')};
     
 } 

 var indropdown = false;
 var ind = 0;
    
 closedropdown();
 
 /*
  * hier wird der Quickbar in die Seite geschrieben
  * (ab hier bitte nichts ändern)
  */

 buildQuickbar();

 if (typeof version === 'undefined') var version = "?";
 if (!isEdit || zeigeversion || isPHP) {
  Quickbar +=
      '<div align=right>' +

    (zeigeversion ?
      ('<a href="#" onclick="amIuptodate()" title="Versionscheck">' + (adminflag ? 'A/' : '') + version + '</a>&nbsp;&nbsp;')
         : '') +

    (!isEdit ?
      ('<input type="checkbox" id="reloadme" name="reloadme" onchange="setReload()" title="Seite alle ' + (timeout/1000) + ' s neu laden?"></input>&nbsp;&nbsp;')
         : '') +

      '<a href="' + mw.config.get( 'wgScript' ) + '?title=Special%3APrefixindex&prefix=' + user +
          '&namespace=2" target="' + qbtarget + '" title="Meine Seiten im Benutzernamensraum">' +
          'MyPages' +
      '</a>' +

    (userbrowser != "Standard" ?
      ('&nbsp;&nbsp;<a href="#" onclick="badBrowser()" title="Browser nicht unterstützt">'
              + userbrowser.charAt(0) + userbrowser.charAt(1) + '!</a>')
         : '') +

      '</div>';
 }
 Quickbar += '<div style="font-size:' + qbfontsize + '%;">' + xxx + '</div></div>';

 if (scrpt > '') {
    Quickbar += '<script> function _doopt (was) { switch (was) {' + scrpt + '}}<\/script>';
    scrpt='';
 }
 $( 'body' ).append( Quickbar );

 //
 // ab hier functions
 //
 
 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>&nbsp; ';break;
    case 2 : xxx=xxx+'<a href="#" onclick="newtext('+ lurl +')">'+linktext+'</a>&nbsp; ';break;  	
    case 3 : xxx=xxx+'<a href="#" onclick="insertTags('+ lurl +')">'+linktext+'</a>&nbsp; ';break;  	   
    case 4 : xxx=xxx+'<a href="#" onclick="'+ lurl +'">'+linktext+'</a>&nbsp; ';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 myReplace() //BLueFiSH.as
 { 
   var alt=prompt('Altes Wort','');var neu=prompt('Neues Wort','');
   var i=tkorr(alt,neu);        
   if ( i > 0 )
   { alert('Es wurde '+i+' Mal <'+alt+'> durch <'+neu+' ersetzt.');
     document.editform.wpMinoredit.checked=true;
     document.editform.wpSummary.value=alt+' -> '+neu;
     document.editform.wpSummary.focus();
   }
   else
   { alert('Es wurde kein Vorkommen gefunden');
   }
 }
 
 // ============================================================
 // BEGIN Add Edit Link To Old Version Links (von Berlin-Jurist so weit ich weiß)
 // Revert-Fkt hinzugefügt + Beschränkung auf Seiten wo es Sinn macht. Littl.
 
 function AddEditLinkToOldVersionLinks() {
  
  var ishistory = (UrlParameters['action']=='history');	
  //var iscontrib = (document.URL.indexOf ('Spezial:Contributions') > 0 );
  if (ishistory || ((UrlParameters['diff']>'') && (UrlParameters['oldid']>'')) ) {
   
   var Edit = '(bearbeiten)';
   var Rv   = '(rv)';
 
   var first= true;
   for (var i=0; aNode = document.getElementsByTagName("a")[i]; i++)
   { // if it's a link to an old version but not a diff-link
     if ( (href = aNode.getAttribute("href")) && (href.search(/oldid=/) != -1) 
          && ( (href.search(/diff=/) == -1) )
        )
     { // Create Edit Link
       var EditNode = document.createElement('a');
       EditNode.setAttribute('href', href + '&action=edit#summary'); 
       var EditTextNode = document.createTextNode(Edit);
       EditNode.appendChild(EditTextNode);
       // Add Edit Link To Old Version Link
       aNode.parentNode.insertBefore( EditNode, aNode.nextSibling );
       // Insert whitespace before Edit Link
       aNode.parentNode.insertBefore( document.createTextNode(' '), aNode.nextSibling );
       // jump over inserted <a-Link
       i++;
 
       
        // Create RV Link
       if ((ishistory && !first) || (!ishistory)) {  
        var Rvnode = document.createElement('a');
        Rvnode.setAttribute('href', 'javascript:revertme("'+encodeURI(href)+'")');     
        var RvTextNode = document.createTextNode(Rv);
        Rvnode.appendChild(RvTextNode);
        aNode.parentNode.insertBefore( Rvnode, aNode.nextSibling );
        aNode.parentNode.insertBefore( document.createTextNode(' '), aNode.nextSibling );      
        i++;
       } 
       first=false;
     }
   }
  } 
 }
 // END Add Edit Link At Old Version Links
 // ============================================================
 
 //******************************************  
 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]);
  }
 } //function readparams
 //******************************************
 
 
 function revertme (href) { //Littl
   var grund=prompt('Grund des Reverts:','Revert [[Vandalismus]]');
   if (grund != null) {
    grund=trim(grund);
    if (grund=='') grund='Revert';
    href=href + "&action=edit&" + speichernp + "=1&" + subjp + "=" + encodeURIComponent(grund);
    window.open (href);   
    window.focus();
   }  
 }	
  
 // 
 // LA und QS eintragen
 // Fragt nach der Begründung, füllt die Eingabefelder aus, und ruft die Löschkandidatenseite/QSSeite auf.
 // Modifiziert, ursprünglich von BLueFiSH.as
 

 //function eintragen(kurz, vorlage,seite) 
 function eintragen(typ) {
   switch (typ) {
    case 1 : {var kurz="QS"; var vorlage="subst:Qualitätssicherung"; var seite="Qualitätssicherung";break;}
    case 2 : {var kurz="LA"; var vorlage="subst:Löschantrag"; var seite="Löschkandidaten";break;}
    case 3 : {var kurz="SLA"; var vorlage="Löschen"; var seite="";break;}
   } 	
 	
   var lemma = ( UrlParameters["title"] > "" ) ?
         UrlParameters["title"] :
         decodeURIComponent((location.href.substr(location.href.indexOf("/wiki/") + 6,99))).split('#')[0]; 
    
   var grund=prompt(kurz+'-Grund:','');   
   if ( grund != null ) {
     grund=trim(grund); 
     var speichernpa = (autosave) ? "&" + speichernp + "=1" : "";
     if (typ == 1 || typ == 2 ) { //QS oder LA
      
       // Öffnen der LA-Seite, gleich zum Eintragen des LA, Texte werden als Parameter übergeben
       var uri=encodeURI('http://de.wikipedia.org/w/index.php?title=Wikipedia:'+seite+'/'+WPDatum+'&action=edit&section=new') +
                "&" + subjp + "=" + encodeURIComponent( '[[' + lemma + ']]' ) +
                "&" + textp + "=" + encodeURIComponent( grund + '\n--[[Benutzer:Kulac|Kulac]][[Benutzer_Diskussion:Kulac| (?!*)]] 21:54, 30. Sep 2005 (CEST)\n' ) + speichernpa;
       window.open(uri);
     }
 
 
   // bearbeiten der Artikelseite und eintragen lassen (macht aktion() weiter unten)     
 
     // Vorlage eintragen 
     window.focus(); 
     var txt = '{{'+vorlage+'}}\n\n'+grund+'\n--[[Benutzer:Kulac|Kulac]][[Benutzer_Diskussion:Kulac| (?!*)]] 21:54, 30. Sep 2005 (CEST)\n----\n\n\n';
     if (isEdit) {   // wir sind schon im Edit-Modus
      document.editform.wpTextbox1.value= txt + document.editform.wpTextbox1.value;
      document.editform.wpSummary.value=kurz+'+';
      document.editform.wpWatchthis.checked=false;
      if (autosave) absenden();
     }
     else // Wir müssen die Seite erst zum editieren öffnen
     { 
      uri="http://de.wikipedia.org/w/index.php" +
               "?title=" + encodeURIComponent(lemma) + "&action=edit" +
               "&" + subjp + "=" + encodeURIComponent(kurz+"+") +
               "&" + insp + "=" + encodeURIComponent(txt) + speichernpa;
      location.href = uri;
     }
   }
 }
 
 // 
 // Funktion aktion (früher "loeschkandidat")
 // Entnimmt Parameter aus der URI, fügt sie in die Textfelder ein und klickt ggf. auf "Speichern"
 //
 
 function aktion() {  //Littl
  if (UrlParameters[subjp]>"") document.editform.wpSummary.value = UrlParameters[subjp];
  if (UrlParameters[textp]>"") document.editform.wpTextbox1.value = UrlParameters[textp];
  if (UrlParameters[insp]>"") {
    document.editform.wpTextbox1.value = UrlParameters[insp] +
					document.editform.wpTextbox1.value;
    }    
  if (UrlParameters[speichernp] == "1") absenden();
 }
 
 var timeoutaktiv;
 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)}	 	   	
 }
 
 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();}  
    //Patch: in godmode-light.js ist ein fehler (ein space zwischen <strong> und (aktuell))
    if (godmodelight && (location.href.indexOf(':Contributions') != -1)) {    
      document.getElementById('bodyContent').innerHTML= //Patch für Bug in godmode-light.js
       document.getElementById('bodyContent').innerHTML.replace(/\<strong\>\(aktuell\)/gi,"<strong> (aktuell)");           
    }
      AddEditLinkToOldVersionLinks();
    }
    else
    {
      if (!isSpecial) aktion();                
    }
   if (!isSpecial && rechtschreibpruefung) spellcheck();
 }
 

if (window.addEventListener) {
  window.addEventListener("load", Init, false);
} else if (window.attachEvent) {
  window.attachEvent("onload", Init);
}

 // </nowiki> <- nicht löschen !!!