Benutzer:Masegand/altesmonobook

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
 // Ursprüngliche Version kopiert von [[Benutzer:BLueFiSH.as]] 
 // der hat es ursprünglich gefunden bei:
 //  http://de.wikipedia.org/wiki/Benutzer:SirJective/monobook.js 
 // 
 // Ich (Littl) würde mich über Rückmeldungen sehr freuen !
 // getestet mit Firefox und IE
 //
 //jetzt neu: *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" :-)
 //           kleinere Bugfixes
 //           *APPERs Rechtschreibprüfung
  
 var user   ='Masegand'; 		 // <- 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 zeigeversion = true;  
 var debugme = false;
 
 // <nowiki>  <- nicht löschen !
 var trenner='<hr />';
 var br     ='<br />';
 var isEdit   = ( document.URL.indexOf ( 'action=edit' ) > 0 || document.URL.indexOf ( 'action=submit' ) > 0);
 var Quickbar = '<div class="pBody" id="quickba" style="position:absolute; top:5px; z-index:10; width: 14em;">';
 var version  = '0.6';
 var xxx      = '';
 var scrpt    = '';
 var scrptn   = 0;
 var dropdown = usedropdown; 
 if (usedropdown) {w (0,trenner,'--Wikipedia--','')};
 
 //
 // Ab hier der Inhalt des "Fensters" oben links
 //

 
 w (1,'/wiki/Wikipedia:Ich_brauche_Hilfe','IbH:','_blank');
 w (1,'wiki/Wikipedia:Bearbeitungshelfer','edit','_blank');
 w (1,'/wiki/Wikipedia:Verbesserungsvorschläge','VV','_blank');
 
 w (0,br,'--Special--','');
 w (1,'/w/index.php?title=Spezial%3AAllpages&from='+user+'&namespace=2"','Meine','_blank');
 w (1,'/w/index.php?title=Spezial:Recentchanges&hideminor=0&hideliu=1&hidebots=1&hidepatrolled=0&limit=50&days=7&limit=250','RCs','_blank');
 w (1,'/wiki/Spezial:Newpages','New','_blank');
 w (1,'/wiki/Spezial:Contributions/newbies','Newbies','_blank');
 w (1,'/wiki/Spezial:Log','Log','_blank');
 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:Vandalensperrung','Vandale','_blank');
 
 w (0,trenner,'--Externe--','');
 //w (1,'http://kohl.wikimedia.org/~kate/cgi-bin/count_edits?user='+user+'&dbname=dewiki','Kate','_blank'); 
 w (1,"http://www.ripe.net/whois",'ripe','_blank');
 w (1,"http://www.copyscape.com",'copyscape','_blank');
 w (1,"http://www.affenkrieger.de/wiki/wikicc.php",'Affenkrieger','_blank');
 w (1,"http://www.canoo.net",'canoo','_blank'); 
 //w (1,"http://www.cia.gov/cia/publications/factbook/index.html",'Factbook','_blank'); 
 

 closedropdown();dropdown=false;
 
 if (isEdit) {
   w (0,trenner,'','');
 
   w (3,"br,'',''",'br');   
   w (3,"'†','',''",'†');
   w (3,"'<!-- ',' -->',''",'//');
   w (0,br,'','');
   w (3,"'<small>','</small>',''",'klein');
   w (3,"'<s>','</s>',''",'durch');
   w (3,"'<u>','</u>',''",'unter');
   w (3,"'<b>','</b>',''",'fett');
   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 (2,"'Redirect angelegt','#REDIRECT [[]]',1","Redir");
   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,"myReplace();","Replace");
   w (4,"myTypoKorr();","TypoKorr");
 } //if (isEdit)
   
 w (0,trenner,'','');
 w (4,"eintragen(1);","QS");
 w (4,"eintragen(2);","LA");
 w (4,"eintragen(3);","SLA");
 
 if (isEdit) {  
   w (2,"'+URV','{{URV}} von [ hier] --\~\~\~\~',1","URV");
 }  
   
 
 var indropdown = false;
 var ind = 0;
    
 closedropdown();
 document.write(Quickbar);
 if (zeigeversion)
    {document.write ('<div align=right><small>',version,'</small></div>');}
 document.write(xxx,'</div>'); xxx='';

 if (scrpt > '') document.write('<script> function _doopt (was) { switch (was) {',scrpt,'}}<\/script>');scrpt='';
 
 //
 // 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');}}
 
 // Konstanten für meine Fkt. weiter unten
 
 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 
 

 
 /* im folgenden mein selbstgeschriebenes Script, um einfach Ersetzungen im Quelltext vornehmen zu können.
    Kopieren erlaubt und erwünscht. Lediglich eine kurze Mitteilung beim Erfolg wäre nett ;-)
    (Achtung: Skript ist Case-Sensitiv!) (BLueFiSH.as) */
 
 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');
   }
 }
 
 /* Im nun folgenden das Skript mit dem sich recht leicht Schreibfehler korrigieren lassen
    (natürlich muss man bei Zitaten aufpassen) ;-) BLueFiSH.as */
 
 function myTypoKorr() // BLueFiSH.as
 {var 
    i=tkorr(' im wesentlichen ',' im Wesentlichen ') + 
      tkorr('Des Weiteren ','Des weiteren ') +
      tkorr(' daß ',' dass ') +
      tkorr(' ass ',' as ');
            
  if ( i > 0 )
   { alert('Es wurden '+i+' Schreibfehler korrigiert.');
     document.editform.wpMinoredit.checked=true;
     document.editform.wpSummary.value='typo';
     document.editform.wpSummary.focus();
   }
   else
   { alert('Es wurde kein Schreibfehler gefunden');
   }
 }
 
 function tkorr(alt,neu) {
  var i=0;
  while(document.editform.wpTextbox1.value.search(alt)!=-1){i++;
  	document.editform.wpTextbox1.value=document.editform.wpTextbox1.value.replace(alt,neu);}
  return i; 	
 } 	
 
 function contrib()
 { 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();
 }
 
 // ============================================================
 // 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');	
  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
 // ============================================================
 
// ***************************************
// Minimale Rechtschreibprüfung von APPER
// ***************************************
 var words = "";

 function spellcheck()
 {
   if (navigator.userAgent.indexOf("Firefox") > 0) // Firefox
   {
     if (document.body.className == "ns-0") // Beim Firefox nur für Artikel
     {
       words = document.getElementById("bodyContent").textContent;
     }
   }
   else // Opera + IE
   {
     // Bei Opera immer, sonst nur ns-0
     if ((navigator.userAgent.indexOf("Opera") > 0) || (document.body.className == "ns-0")) 
     {
       words = document.getElementById("bodyContent").innerText;
     }    
   }

   if (words != "")
   {
     // In 1000-Zeichen-Pakete zerlegen ... ein wenig überlappen lassen
     for(i=0; i<=(words.length/1000); i++)
     {
       // Woerter an meinen Server senden
       var scJS = document.createElement('script');
       scJS.type = 'text/javascript';
       scJS.src = 'http://www.apper.de/wikipedia/sc/check.php?word=' + escape(words.substr(i*1000,1010));
       document.getElementsByTagName('head')[0].appendChild(scJS);
     }
   }
 }

 function markWord(node, text)
 {
   var pos, len, newnodes = 0;
   var newnode, middlenode, endnode;

   // textnode - search for word
   if (node.nodeType == 3)
   { 
     pos = node.data.search(text);
     if(pos >= 0)
     {
       // create new span-element
       newnode = document.createElement("span");
       newnode.style.backgroundColor = "#FF9191";

       // get length of the matching part
       len = node.data.match(text)[0].length;

       // splits content in three parts: begin, middle and end
       middlenode = node.splitText(pos);
       endnode = middlenode.splitText(len);

       // appends a copy of the middle to the new span-node
       newnode.appendChild(middlenode.cloneNode(true));
       // replace middlenode with the new span-node
       middlenode.parentNode.replaceChild(newnode, middlenode);

       newnodes = 1;
     }
   }
   else if ((node.nodeType == 1)  // element node
            && (node.hasChildNodes()) // with child nodes
            && (node.tagName.toLowerCase() != "script") // no script, style and form
            && (node.tagName.toLowerCase() != "style")
            && (node.tagName.toLowerCase() != "form"))
   {
     var this_child;
     for (this_child = 0; this_child < node.childNodes.length; this_child++)
     {
       this_child = this_child + markWord(node.childNodes[this_child], text);
     }
   }
   return newnodes;
 }

// Ende Rechtschreibprüfung
// ************************
 
 
 var UrlParameters = new Array ();
  
 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
   
 //
 // Revert (Littl)
 //
 
 function revertme (href) {
   var grund=prompt('Grund des Reverts:','');
   if (grund != null) {
    grund=trim(grund);
    if (grund=='') grund='Revert';
    href=href + "&action=edit&" + speichernp + "=1&" + subjp + "=" + encodeURIComponent(grund);
    window.open (href);   
   }  
 }	
 
 
 // 
 // 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
       // Datums-String zusammensetzen
       var Monat = 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() + '._' + Monat[jetzt.getMonth()] + '_' + Jahr;
 
     
       // Ö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--~~~~\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--~~~~\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() {  
  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();}
    
 } //function aktion
 
 
 function Init() {     
   readparams();
   document.getElementById("column-one").style.paddingTop =
              (10+document.getElementById("quickba").clientHeight)+"px"; 
   if (!isEdit) {
      AddEditLinkToOldVersionLinks();
      if (rechtschreibpruefung) spellcheck();           
    }
    else
    {
      aktion();    
    }
 
 }
 
 window.onload = Init;

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