Jump to content
Wikimedia Meta-Wiki

User:Amga/vector.js

From Meta, a Wikimedia project coordination wiki
This is an archived version of this page, as edited by Amga (talk | contribs) at 19:40, 16 October 2016. It may differ significantly from the current version .

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
 /* 
  * Based on scripts by PDD and Guandalug
  */

 functionmyAddOnloadHook(code){
 if(document.readyState=="complete")
 code();
 else
 jQuery(window).on('load',code);
 }

 // load my global css
 mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Amga/vector.css&action=raw&ctype=text/css','text/css');

 // current page analysis
 varnamespaceNumber=mw.config.get('wgNamespaceNumber');
 varpagetitle=mw.config.get('wgPageName');
 varaction=mw.config.get('wgAction');
 varcanonicalSpecialPageName=mw.config.get('wgCanonicalSpecialPageName');

 varpesctitle=pagetitle.replace(/_/g," ").split('&').join('%26').replace(/ /g,"+").replace(/_/g,"+");

 varisArticle=namespaceNumber===0;
 varisDisc=namespaceNumber==1;
 varisUser=namespaceNumber==2;
 varisUserDisc=namespaceNumber==3;
 varisTemplate=namespaceNumber==10;
 varisSpecial=namespaceNumber==-1;
 varisTalk=namespaceNumber%2==1;

 varisEdit=action=="submit"||action=="edit";
 varisContrib=isSpecial&&((canonicalSpecialPageName=="Contributions")||(canonicalSpecialPageName=="DeletedContributions"));
 varisHistory=action=="history";
 varisWatchlist=isSpecial&&(wgTitle=="Watchlist");

 /* ---------------
  * helperFunctions
  * ---------------
  */

 varUrlParameters=[];

 functionreadparams(){
 varasReadInUrlParameters;
 varasReadInUrlParameter;

 // 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]);
 }
 }

 readparams();

 ////////////////////////////////////////////////////////////////////////////////////////
 // URI-Parameter für fillActionPage(), benutzt in eintragen.js, hinweise.js
 // außerdem in addEditAndRevertLinks.js (nur subjp, minorp, speichernp)
 // nur in [[Benutzer:Euku/markErledigt.js]] : subjaddp (plus add)

 varsubjp="subj";// Subject
 varsubjaddp="subjadd";// Subject zum Ranhängen
 vartextp="txt";// Für Text-Austausch
 varinsp="ins";// Vor dem Text einfügen
 varaddp="add";// an Text anhängen
 varminorp="minor";// (k)leine Änderung
 varnocreatep="nocreate";// beim Eintragen keine neue Seite generieren
 // für autosave:
 varasuserp="asuser";// usertoken
 varastimep="astime";// timestamptoken

 ////////////////////////////////////////////////////////////////////////////////////////
 // absenden()
 // aufgerufen aus fillActionPage() und hinweis() in hinweise.js

 functionabsenden()
 {
 document.editform.wpSave.click();
 }

 ////////////////////////////////////////////////////////////////////////////////////////
 // fillActionPage() (früher aktion(), ganz früher loeschkandidat() )
 // von Littl, ergänzt von Revvar
 //
 // Entnimmt Parameter aus der URI, fügt sie in die Textfelder ein und klickt ggf. auf "Speichern"
 // (die aufgerufene Seite ist dabei immer im Editmodus)

 functionfillActionPage()
 {
 // wenn Bausteineinfügung am Anfang:
 // nur einfügen, wenn Seite noch nicht gelöscht
 varpagedeleted=false;
 if(document.getElementById("newarticletext"))
 pagedeleted=true;

 // nur einfügen, wenn noch nicht eingetragen
 // der URI-Aktionsparameter ist immer entweder insp oder textp oder addp, daher else
 vardoubleinsert=false;
 if(UrlParameters[textp]>"")
 doubleinsert=findDoubleEntry(UrlParameters[textp],document.editform.wpTextbox1.value);
 elseif(UrlParameters[insp]>"")
 doubleinsert=findDoubleEntry(UrlParameters[insp],document.editform.wpTextbox1.value);
 elseif(UrlParameters[addp]>"")
 doubleinsert=findDoubleEntry(UrlParameters[addp],document.editform.wpTextbox1.value);

 // Textfeld ausfüllen
 if(UrlParameters[textp]>"")
 {
 if(doubleinsert)
 document.editform.wpTextbox1.value=UrlParameters[textp]+document.editform.wpTextbox1.value;
 else
 document.editform.wpTextbox1.value=UrlParameters[textp];
 }
 elseif(UrlParameters[insp]>"")
 document.editform.wpTextbox1.value=UrlParameters[insp]+document.editform.wpTextbox1.value;
 elseif(UrlParameters[addp]>"")
 document.editform.wpTextbox1.value=document.editform.wpTextbox1.value+UrlParameters[addp];

 // weitere Felder ausfüllen
 if(UrlParameters[subjp]>"")
 document.editform.wpSummary.value=UrlParameters[subjp];
 if(UrlParameters[subjaddp]>"")
 document.editform.wpSummary.value+=UrlParameters[subjaddp];
 if(UrlParameters[minorp]=="1")
 document.editform.wpMinoredit.checked=true;

 // wenn Textbaustein doppelt: Warnung
 if(doubleinsert)
 do_rc_alert("Artikel enthält den gewählten Baustein bereits!");
 // wenn Seite schon gelöscht: Warnung
 elseif(pagedeleted&&(UrlParameters[nocreatep]=="1"))
 do_rc_alert("Artikel wurde bereits gelöscht!");
 // wenn autosave eingeschaltet: Seite speichern
 elseif(validate_asuser(UrlParameters[asuserp]))
 {
 if(validate_astime(UrlParameters[astimep]))
 absenden();
 else
 alert("Token zur automatischen Speicherung ist abgelaufen.");
 }
 }

 if((isEdit)&&(!isSpecial))addOnloadHook(fillActionPage);

 ////////////////////////////////////////////////////////////////////////////////////////
 // findDoubleEntry()
 // aufgerufen aus fillActionPage()

 functionfindDoubleEntry(baustein,artikeltext)
 {
 vardoublette=false;

 // wenn keine Vorlage enthalten: Abbruch
 if(baustein==baustein.split("{{")[0])
 returndoublette;

 varchkbaustein=baustein.split("{{")[1].split("}}")[0].split("|")[0];
 chkbaustein="{{"+chkbaustein;

 if(navigator.userAgent.indexOf("Opera")==-1)
 {
 // Zeilen wie die nächste generieren Fehler mit Opera, daher diesen Bereich auskommentiert
 // Fehler: RegExp.prototype.compile: syntax error in pattern or string
 // mit Firefox2 und IE7 geht das problemlos, hmm
 if(artikeltext.search(chkbaustein)!=-1)
 doublette=true;

 // Kleinschreibung & SLA & substs
 if(chkbaustein=="{{Löschen")
 {
 if(artikeltext.search("{{löschen")!=-1)
 doublette=true;
 if(artikeltext.search("{{SLA")!=-1)
 doublette=true;
 }
 if(chkbaustein=="{{subst:Löschantrag")
 {
 if(artikeltext.search("{{Löschantragstext")!=-1)
 doublette=true;
 }
 if(chkbaustein=="{{subst:Qualitätssicherung")
 {
 if(artikeltext.search("{{QS-Antrag")!=-1)
 doublette=true;
 }
 }// end of Opera hack
 return(doublette);
 }

 ////////////////////////////////////////////////////////////////////////////////////////
 // extendWpReason()
 // hebt 255-Zeichen-Textfeldbegrenzung auf
 functionextendWpReason(){
 varloeschgrund;
 if(loeschgrund=document.getElementById('wpReason')){
 loeschgrund.setAttribute('maxLength',512);
 }
 }

 if(action=="delete"){
 addOnloadHook(extendWpReason);
 }


 ////////////////////////////////////////////////////////////////////////////////////////
 // do_rc_alert()

 functiondo_rc_alert(str)
 {
 if(rcalertbox)alert(str);
 }


 // newRequest()
 // Author: D (?)
 functionnewRequest()
 {
 try
 {
 if(window.XMLHttpRequest)
 returnnewXMLHttpRequest();
 else
 returnnewActiveXObject("MSXML2.XMLHTTP");
 }catch(e){
 returnfalse;
 }
 }

 // --> vectorHelpers
 // importScript('User:Amga/vectorHelpers.js'); 

 // renameElement(ElementID,NewText)
 // Renames a HTML GUI element by changing the inner HTML
 // Most elements don't need a 'tag' given (they use an <a> tag)
 functionrenameGUIElement(id,text,tag)
 {
 varelem=document.getElementById(id);
 if(!tag)
 tag='A';
 if(elem)
 elem.getElementsByTagName(tag)[0].innerHTML=text;
 }

 // trim()-- classical string function to remove leading and trailing whitespace 
 functiontrim(str)
 {
 returnstr.replace(/^\s*|\s*$/g,"");
 }

 // Access parameters passed via HTTP 'GET' 
 // Decode parameters "on demand", cache results
 functiongetParam(name)
 {
 if(typeof(getParam.parameters)=='undefined')
 {
 getParam.parameters=newArray();
 varURIparameters;
 varURIParameter;

 // Get URL parameters
 URIparameters=location.search.substring(1,location.search.length).split("&");
 for(i=0;i<URIparameters.length;i++)
 {
 URIParameter=URIparameters[i].split("=");
 getParam.parameters[decodeURIComponent(URIParameter[0])]=decodeURIComponent(URIParameter[1]);
 }
 }
 if(getParam.parameters[name])
 returngetParam.parameters[name];
 else
 returnfalse;
 }

 // insert a new node after a given reference node
 functioninsertAfter(parent,node,referenceNode)
 {
 parent.insertBefore(node,referenceNode.nextSibling);
 }

 // token functions, taken from [[:de:User:PDD/helperFunctions.js]]
 functiongenerate_asuser()
 {
 returnencodeURIComponent(wgUserName);
 }

 functionvalidate_asuser(asuser)
 {
 return(encodeURIComponent(asuser)==generate_asuser());
 }

 functiongenerate_astime(){
 vararbitrary_datestamp=Date.UTC(2010,1,1,0,0,0,0);
 varcurrent_date=newDate();
 varcurrent_timestamp=current_date.getTime();

 return(Math.floor((current_timestamp-arbitrary_datestamp)/1000));
 }

 functionvalidate_astime(astime){
 vartimediff=generate_astime()-astime;
 return(timediff>=0)&&(timediff<45);
 }

 /* ---------
  * markUsers
  * ---------
  */

 jQuery(document).ready(function(){

 varmarkusers=true;
 if(!markusers)return;

 varmarksubpages=false;
 vardontmarkmyself=true;

 varisSpecial=mw.config.get('wgCanonicalNamespace')=="Special";
 varisUserpage=mw.config.get('wgCanonicalNamespace')=="User"||mw.config.get('wgCanonicalNamespace')=="User_talk";
 varisProject=mw.config.get('wgCanonicalNamespace')=="Project";
 varisFile=mw.config.get('wgCanonicalNamespace')=="File";
 varisHelp=mw.config.get('wgCanonicalNamespace')=="Help";
 varisDiff=mw.util.getParamValue('diff')!==null;

 vari;

 varusers=[];
 users.push(newArray('Agentjoerg','Berihert','Blik','Brodkey65','Carl_B_aus_W','ChoG','Dschungelfan','ElTres','FordPrefect42','Giraldillo','Grim','Herbrenner1984','Informationswiedergutmachung','MAyo','Michileo','Minihaa','Nhfflkh','Nuhaa','Odeesi','Plagiat','Plastikt%C3%BCte','Rogi.Official','Si!_SWamP'));
 users.push(newArray('Aschmidt','Biologos','Bjarlin','BrutFork','Flyingfischer','GFreihalter','Gridditsch','Gunslinger.1970','Jocian','Reinhardhauke','Sakra','Schulhofpassage','SDB','Stobaios','Toni_M%C3%BCller','Tscherpownik'));
 varlistCount=users.length;

 varusers_str=[];
 for(i=0;i<listCount;i++){
 users_str.push('|'+users[i].join('|')+'|');
 }

 varmarktxt=newArray('DF','DS');
 for(i=marktxt.length;i<listCount;i++){
 marktxt.push('U'+(i+1));
 }

 if(isSpecial||isHistory||isUserpage||isTalk||isProject||isFile||isHelp||isDiff){
 varaNode;
 varallanchors=document.getElementsByTagName("A");
 varallanchorsuser=[];
 varsearchExp=/\/wiki\/Benutzer(in)?([ _]Diskussion)?:(.+)/;
 varsearchExpTalk=/[ _]Diskussion:/;
 varmarker;
 varmainpageanchor;

 for(i=0;i<allanchors.length;i++){
 aNode=allanchors[i];
 mainpageanchor=true;
 talkpageanchor=false;
 // if it's a link to a user
 if((href=aNode.getAttribute("href"))&&(searchExp.exec(href)!==null)){
 currUser=searchExp.exec(href)[3];
 /* if (isUserpage) */currUserClean=currUser.replace(/\/.*/,'');
 if(currUserClean!=currUser)mainpageanchor=false;
 if(searchExpTalk.exec(href)!==null)talkpageanchor=true;

 // don't mark followups
 allanchorsuser[i]=mainpageanchor?currUserClean:"";
 if((i>0)&&(currUserClean==allanchorsuser[i-1])&&talkpageanchor)continue;

 currUser="|"+currUserClean+"|";

 marker=[];

 for(j=0;j<listCount;j++){
 if(users_str[j].indexOf(currUser)!=-1)marker.push(marktxt[j]);
 }

 // don't mark certain pages, except link to user main page
 if(mainpageanchor||
 (marksubpages&&canonicalSpecialPageName!="Prefixindex"&&canonicalSpecialPageName!="Allpages")){
 // check finished, now append node
 if((marker.length>0)&&!(dontmarkmyself&&(currUserClean==mw.config.get('wgUserName')))){
 varaMark=document.createElement("span");
 aMark.className="userMark";
 varaMarkText=document.createTextNode("\u00A0("+marker.join("/")+")");
 aMark.appendChild(aMarkText);
 aNode.appendChild(aMark);
 }
 }
 }
 }
 }
 });

 // --> vectorDropdownMenus
 // importScript('User:Amga/vectorDropdownMenus.js'); 
 // Create container for our menus
 vartimeout=50;
 varclosetimer=0;
 varddmenuitem=0;

 functionjsddm_open()
 {
 jsddm_canceltimer();
 jsddm_close();
 ddmenuitem=jQuery(this).find('ul').css('visibility','visible');
 }

 functionjsddm_close()
 {
 if(ddmenuitem)
 ddmenuitem.css('visibility','hidden');
 }

 functionjsddm_timer()
 {
 closetimer=window.setTimeout(jsddm_close,timeout);
 }

 functionjsddm_canceltimer()
 {
 if(closetimer)
 {
 window.clearTimeout(closetimer);
 closetimer=null;
 }
 }

 // Main container for personal drop-down menus.
 // Puts itself left of the serach bar
 functiongetPersonalMenu()
 {
 vardiv=document.getElementById('p-my-menu');
 if(!div)
 {
 varroot=document.getElementById('p-search');
 if(!root)returnnull;

 vardiv=document.createElement('div');
 div.id='p-my-menu';
 div.className='vectorTabs';

 div.appendChild(document.createElement('ul'));
 root.parentNode.insertBefore(div,root);
 }
 returndiv;
 }

 // Add a new personal drop-down menu. Auto-creates the container if it's not there.
 // Otherwise, adds itself into the container
 functionnewFavMenu(id,title){
 varroot=getPersonalMenu();
 if(!root){
 return;
 }

 varnode=root.getElementsByTagName('ul')[0];
 if(!node){
 returnnull;
 }

 varli=document.createElement('li');
 li.id=id;
 li.className='personalDropMenu';
 varhref=document.createElement('a');
 href.href='#';
 varspan=document.createElement('span');
 span.appendChild(document.createTextNode(title));
 href.appendChild(span);
 li.appendChild(href);

 varmenu=document.createElement('ul');
 menu.style.visibility='hidden';
 menu.style.position='absolute';
 li.appendChild(menu);

 node.appendChild(li);

 jQuery(document).ready(function(){
 jQuery('#'+id).bind('mouseover',jsddm_open)
 jQuery('#'+id).bind('mouseout',jsddm_timer)
 });
 document.onclick=jsddm_close;
 }

 // --> Eintragen
 // importScript('User:Amga/Eintragen.js');
 functioneintragen(typ,grund){// Littl, PDD
 varwpath=mw.util.wikiScript()+'?title=';
 varwnamesp='Wikipedia:';
 varwdnamesp='Wikipedia_Diskussion:';

 // function placeholders:
 // 4 = BildLA (obsolet)
 // 11 = Lemmasperrung (alt)
 // 12 = Lemmasperrung (neu)
 // 13 = Benutzersperrung (neues Konzept, nicht durchgesetzt)
 if(typ==4)
 alert("Update: Bildlöschanträge gibt es nicht mehr, stattdessen wird der DÜP-Button verwendet. Bitte update deine monobook.js.");
 if((typ==11)||(typ==12))
 alert("Update: Lemmasperren werden jetzt mit dem Karteireiter Schützen vorgenommen. Bitte update deine monobook.js.");
 if(typ==13)
 alert("Update: Diese Benutzersperrfunktion wird nicht mehr verwendet. Bitte update deine monobook.js.");
 if(typ>14)
 alert("Funktion "+typ+" noch nicht implementiert!");
 if((typ==4)||(typ==11)||(typ==12)||(typ==13)||(typ>14))
 return;

 // Variables that should be defined in your monobook
 if(typeof(autosave)=='undefined')
 autosave=false;
 if(typeof(signogrundparam)=='undefined')
 signogrundparam=false;
 if(typeof(emptylinesafterhr)=='undefined')
 emptylinesafterhr=1;
 if(typeof(grund)=='undefined')
 grund="";
 if(typeof(defaultSLA)=='undefined')
 defaultSLA="";
 if(typeof(defaultVandal)=='undefined')
 defaultVandal="vandaliert in [[]]";
 if(typeof(defaultAVandal)=='undefined')
 defaultAVandal="Edit-War";

 if(typeof(Monate)=='undefined')
 Monate=newArray("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
 if(typeof(jetzt)=='undefined')
 jetzt=newDate();
 if(typeof(Jahr)=='undefined')
 Jahr=jetzt.getYear();if(Jahr<999)Jahr+=1900;
 if(typeof(WPDatum)=='undefined')
 WPDatum=jetzt.getDate()+'._'+Monate[jetzt.getMonth()]+'_'+Jahr;
 if(typeof(WPDatum2)=='undefined')
 WPDatum2=Jahr+'/'+Monate[jetzt.getMonth()]+'/'+jetzt.getDate();

 if(typeof(isEdit)=='undefined')
 isEdit=(document.URL.indexOf('action=edit')>0)||(document.URL.indexOf('action=submit')>0);
 if(typeof(isUserpage)=='undefined')
 isUserpage=((mw.config.get('wgCanonicalNamespace')=="User")||(mw.config.get('wgCanonicalNamespace')=="User_talk"));
 if(typeof(isSpecial)=='undefined')
 isSpecial=(mw.config.get('wgCanonicalNamespace')=="Special");
 if(typeof(isPHP)=='undefined')
 isPHP=(document.URL.indexOf('index.php')>0);

 // Variablen für die einzelnen Bausteine
 varkurz="";
 varvorlage="";
 varseite="";

 // bei bestimmten Vorlagen wird Grund als Parameter übergeben
 // (momentan nur Vorlage:Löschantrag, Vorlage:Löschen, Vorlage:QS)
 // außerdem bei RENKAT: neuer Katname als "Grund"
 vargrundparam=false;
 // bestimmte Subst-Vorlagen haben schon noincludes
 // (momentan nur Vorlage:Löschantrag)
 varsubstnoinclude=false;
 // bestimmte Vorlagen beinhalten bereits die Formatierung (Returns, Hline)
 // (momentan nur Vorlage:Löschantrag und Vorlage:Löschen)
 vardontformat=false;

 switch(typ){
 case1:{kurz="QS";
 vorlage="subst:QS";
 seite="Qualitätssicherung";
 if(!signogrundparam){
 grundparam=true;
 dontformat=true;
 }
 break;}
 case2:{kurz="LA";
 vorlage="subst:Löschantrag";
 seite="Löschkandidaten";
 grundparam=true;
 substnoinclude=true;
 dontformat=true;
 break;}
 case3:{kurz="SLA";
 vorlage="Löschen";
 if(!signogrundparam){
 grundparam=true;
 dontformat=true;
 }
 break;}
 case4:{kurz="BildLA";
 vorlage="subst:Löschantrag";
 seite="Löschkandidaten/Bilder";
 grundparam=true;
 substnoinclude=true;
 dontformat=true;
 break;}
 case5:{kurz="URV";
 vorlage="URV";
 seite="Löschkandidaten/Urheberrechtsverletzungen";
 break;}
 case6:{kurz="Vandale";
 vorlage="Benutzer";
 seite="Vandalismusmeldung";
 break;}
 case7:{kurz="LAKAT";
 vorlage="subst:Löschantrag";
 seite="WikiProjekt_Kategorien/Diskussionen";
 grundparam=true;
 substnoinclude=true;
 dontformat=true;
 break;}
 case8:{kurz="LAVORL";
 vorlage="subst:Löschantrag";
 seite="Löschkandidaten";
 grundparam=true;
 substnoinclude=true;
 dontformat=true;
 break;}
 case9:{kurz="Artikelvandalismus";
 vorlage="Artikel";
 seite="Vandalismusmeldung";
 break;}
 case10:{kurz="Reset";
 vorlage="Bitte erst NACH dieser Zeile schreiben! (Begrüßungskasten)";
 break;}
 case11:{kurz="Lemmasperrung";// outdated, do not use!
 vorlage="gesperrtes Lemma";
 break;}
 case12:{kurz="Lemmasperrung";
 seite="Gesperrte Lemmata";
 break;}
 case13:{kurz="Benutzersperrung";
 seite="Unbegrenzt gesperrte Benutzer";
 break;}
 case14:{kurz="Kategorieverschiebung";
 vorlage="subst:Umbenennen";
 seite="WikiProjekt_Kategorien/Diskussionen";
 grundparam=true;
 break;}
 }

 varcustomsig='--\~\~\~\~';

 varlemma=isContrib?extractLemma():pagetitle;

 varlemma2;
 // special lemma handling for usernames (vandals, banned users):
 if((typ==6)||(typ==13)){
 if(isUserpage){
 // leading stuff
 lemma2=lemma.replace(/Benutzer.Diskussion./,'');
 if(lemma2==lemma)
 lemma2=lemma.replace(/Benutzer./,'');
 lemma=lemma2;
 // trailing stuff
 lemma=lemma.replace(/\/.*/,'').replace(/&action.*/,'');
 }
 if(isContrib){
 lemma=lemma.replace(/.*\//,'');
 }
 }
 lemma2=lemma.split('_').join(' ');

 // zu öffnende Zielseite
 varuri="";

 // für typ 14 (RENKAT): Zielkategorie
 varoldkat=mw.config.get('wgTitle');
 varneukat=oldkat;
 if(typ==14){
 while(oldkat==neukat)
 neukat=prompt('Neuer Kategoriename:',neukat);
 }

 // Begründung für die Bausteinsetzung
 if(grund==""){
 if(typ==3)grund=defaultSLA;

 if(typ==5)
 grund=prompt(kurz+'-Quelle (z.B. URL):','[]');
 elseif(typ==6)
 grund=prompt('VM-Grund:',defaultVandal);
 elseif(typ==9)
 grund=prompt('VM-Grund:',defaultAVandal);
 elseif((typ!=10)&&(typ!=11)&&(typ!=12)&&(typ!=13))
 grund=prompt(kurz+'-Grund:',grund);

 /* Shortcuts für SLA*/
 if(typ==3){
 switch(grund){
 case"b":grund="Nur erledigte Bothinweise.";break;
 case"d":grund="Verwaiste Diskussionsseite.";break;
 case"i":grund="Offensichtliche Irrelevanz.";break;
 case"k":grund="Kein Artikel.";break;
 case"u":grund="Unfug.";break;
 case"x":grund="Wiedergänger.";break;
 case"z":grund="Werbeeintrag.";break;
 }
 }
 }

 // Parameter für die URI
 varspeichernpa=(autosave)?"&"+asuserp+"="+generate_asuser()+"&"+astimep+"="+generate_astime():"";
 varnocreatepa="&"+nocreatep+"=1";

 // ab hier wird eingetragen
 if(grund!=null){
 grund=trim(grund);

 // Eintragen auf der entsprechenden LK/QS/usw.-Seite
 // (wird dann ausgeführt von fillActionPage() in der monobook.js)

 //QS / LA / BildLA / LAKAT / LAVORL / RENKAT
 if(typ==1||typ==2||typ==4||typ==7||typ==8||typ==14){
 // Öffnen der QS- oder LK- oder BildLK-Seite, gleich zum Eintragen des QS/LA
 // Texte werden als Parameter übergeben
 uri=wpath
 +encodeURI(wnamesp+seite
 +(((typ==7)||(typ==14))?('/'+WPDatum2):('/'+WPDatum)))
 +"&action=edit"+"&section=new"
 +"&"+subjp+"="
 +encodeURIComponent('[['
 +(((typ==4)||(typ==7)||(typ==14))?':':'')
 +lemma2+']]'
 +((typ==14)?(' nach [[:Kategorie:'+neukat+']]'):''))
 +"&"+textp+"="
 +encodeURIComponent(grund+' '+customsig+'\n')
 +speichernpa;
 }

 //URV
 if(typ==5){
 // Öffnen der URV-Seite gleich zum Eintragen der Meldung, Texte werden als Parameter übergeben
 uri=encodeURI(wpath+wnamesp+seite+'&action=edit')
 +"&"+subjp+"="
 +encodeURIComponent('+[['+lemma2+']]')
 +"&"+addp+"="
 +encodeURIComponent('# [['+lemma2+']] von '+grund+' '+customsig+'\n')
 +speichernpa;
 }

 //Vandale
 if(typ==6){
 // Öffnen der VM-Seite gleich zum Eintragen der Meldung, Texte werden als Parameter übergeben
 uri=encodeURI(wpath+wnamesp+seite+'&action=edit&section=new')
 +"&"+subjp+"="
 +encodeURIComponent('[[Benutzer:'+lemma2+']]')
 +"&"+textp+"="
 +encodeURIComponent('{{'+vorlage+'|'+lemma2+'}} '+grund+' '+customsig+'\n')
 +speichernpa;
 }

 //AVandale
 if(typ==9){
 // Öffnen der VM-Seite gleich zum Eintragen der Meldung, Texte werden als Parameter übergeben
 uri=encodeURI(wpath+wnamesp+seite+'&action=edit&section=new')
 +"&"+subjp+"="
 +encodeURIComponent('Artikel [['+lemma2+']]')
 +"&"+textp+"="
 +encodeURIComponent('{{'+vorlage+'|'+lemma2+'}} '+grund+' '+customsig+'\n')
 +speichernpa;
 }

 //Lemmasperrung
 if(typ==12){
 // Öffnen der Lemmasperrseite und Eintragen
 // Achtung: wdnamesp statt wnamesp
 uri=encodeURI(wpath+wdnamesp+seite+'/'+WPDatum4+'&action=edit')
 +"&"+subjp+"="
 +encodeURIComponent('+[['+lemma2+']]')
 +"&"+addp+"="
 +encodeURIComponent('# {{:'+lemma2+'}} '+customsig+'\n')
 +speichernpa;
 }

 //Benutzersperrung
 if(typ==13){
 // Auswahl der Unterseite
 varugspage="Sonstige";
 if((lemma2.charAt(0)>='A')&&(lemma2.charAt(0)<='Z'))
 ugspage=lemma2.charAt(0);
 // Öffnen der Benutzersperrseite und Eintragen
 uri=encodeURI(wpath+wnamesp+seite+'/'+ugspage+'&action=edit')
 +"&"+subjp+"="
 +encodeURIComponent('+[[Benutzer:'+lemma2+']]')
 +"&"+addp+"="
 +encodeURIComponent('# {{:Benutzer:'+lemma2+'}} '+customsig+'\n'+'# {{:Benutzer Diskussion:'+lemma2+'}} '+customsig+'\n')
 +speichernpa;
 }

 // neue Seite wird in neuem Fenster geöffnet
 if(uri!=""){
 window.open(uri);
 window.focus();
 }

 // bearbeiten der (aktuellen) Artikelseite und eintragen lassen
 // (wird dann ausgeführt von fillActionPage() in der monobook.js)

 // (bei Vandalenmeldung, Lemmasperrung, Benutzersperrung nichts auf aktueller Seite eintragen!!)
 if((typ!=6)&&(typ!=9)&&(typ!=12)&&(typ!=13)){

 vargrundsig="\'\'"+grund+"\'\' "+customsig;

 // wenn grund als Parameter übergeben wird: | und = escapen
 if(grundparam){
 grundsig=grundsig.split('|').join('{{!}}').split('=').join('&#61;');
 }

 // vereinheitlicht plus kursiv (PDD)
 vartxt="{{"+vorlage;
 if(grundparam)
 txt+="|1=";
 else
 txt+="}}";

 if((typ!=10)&&(typ!=11)){

 if(typ==14)txt+=neukat;
 elsetxt+=grundsig;

 if(grundparam)
 txt+="}}";

 if(!dontformat){
 txt+="\n----\n\n";
 for(vari=0;i<emptylinesafterhr;i++)
 txt+="\n";
 }
 elseif(!looksLikeTemplate(lemma2))
 txt+="\n";

 if(!substnoinclude){
 if(looksLikeTemplate(lemma2))
 txt="<noinclude>\n"+txt+"</noinclude>";
 }
 }
 else{// typ==10 oder 11
 txt+="\n";
 }

 if(isEdit){
 // wir sind schon im Edit-Modus
 if((typ==5)||(typ==10)||(typ==11)){
 document.editform.wpTextbox1.value=txt;
 }else{
 document.editform.wpTextbox1.value=txt+document.editform.wpTextbox1.value;
 }
 document.editform.wpSummary.value=kurz+'+';
 document.editform.wpWatchthis.checked=false;
 if(autosave){
 if((typ!=11)&&(document.getElementById("newarticletext"))){
 alert("Artikel wurde bereits gelöscht!");
 }
 elsedocument.editform.wpSave.click();
 }
 }else{
 // Wir müssen die Seite erst zum Editieren öffnen
 if((typ==5)||(typ==10)||(typ==11)){
 // URV-Baustein & Spielwiese-Reset ersetzen den kompletten Text
 uri=wpath+encodeURIComponent(lemma)+"&action=edit"
 +"&"+subjp+"="+encodeURIComponent(kurz+"+")
 +"&"+textp+"="+encodeURIComponent(txt)
 +speichernpa;
 }else{
 // alle anderen Bausteine werden am Anfang eingefügt
 uri=wpath+encodeURIComponent(lemma)+"&action=edit"
 +"&"+subjp+"="+encodeURIComponent(kurz+"+")
 +"&"+insp+"="+encodeURIComponent(txt)
 +speichernpa;
 }
 if(typ!=11)uri+=nocreatepa;

 // neue Seite im aktuellen Fenster öffnen
 location.href=uri;
 }// END: if (isEdit)...else...
 }// END: if (typ != 6)...
 }// END: if (grund != null)...
 }// END: function eintragen(typ)...


 // Funktion looksLikeTemplate()
 // Vorlagen-Check
 // (aufgerufen aus eintragen() )
 functionlooksLikeTemplate(aktuelleslemma){
 returnisTemplate||aktuelleslemma.indexOf("Vorlage:")>-1||aktuelleslemma.indexOf(":Vorlage/")>-1||aktuelleslemma.indexOf("/Vorlage/")>-1;
 }

 // end imported scripts

 // Variable is unset if AJAX search is disabled.
 if(typeof(mw.config.get('wgDBname'))=='undefined'){
 wgDBname="dewiki";
 }

 vardefaultSLA="Kein enzyklopädischer Artikel nach [[WP:WSIGA]] und [[WP:WWNI]]";
 varautosave=false;// automatisches Speichern von QS/LA/SLA/Vandal-Einträgen?
 varversion="Override";

 // Config-Anpassungen für markAdmins (via Gadget)
 markcomadmins=true;
 markexadmins=true;
 marksubpages=true;

 // ----
 varunsigning=true;// Einfügen von Unsigned bei unsignierten Beiträgen auf Diskussionsseiten?
 varssubst=true;// unsigniert-Baustein mit subst einfügen?
 varmax_history_entries=36;// Anzahl der angezeigten Edits (max. 36)

 if(isEdit&&!isArticle){
 mw.loader.load('//de.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Lustiger_seth/unsigned.js');
 }

 // ----
 varsigning=true;// automatische Unterschrift auf Diskussionsseiten?
 // Liste der Nicht-Diskussionsseiten, die ebenfalls unterschrieben werden sollen:
 varregpages=newArray(':Löschkandidaten',':Löschprüfung',':Entsperrwünsche',':Adminkandidaturen',':Qualitätssicherung',':Administratoren/Notizen',':Administratoren/Anfragen',':Fragen_zur_Wikipedia',':Auskunft:',':Meinungsbilder',':Review',':Bilderwünsche',':Kandidaten',':WikiProjekt_Kategorien');

 if(isEdit&&!isArticle){
 mw.loader.load('//de.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Olliminatore/signing.js');
 }

 // Automatische Überschriften auf Diskussionsseiten? Nix da (tm)
 myAddOnloadHook(function()
 {
 vartab=document.getElementById('ca-talk');
 if(!tab||tab.className!='new')return;
 varlink=tab.getElementsByTagName('a')[0];
 if(!link)return;
 link.href=link.href.replace(/&section=new$/,"");
 });

 // ----

 // [[Benutzer:DerHexer/rollback.js]]

 // Erweiterten Rollback aktivieren
 varnewrollback=true;

 // Rollback mit Ansprache und VM-Meldung bzw. Block aktivieren? Dafür bitte PopUps für de.wikipedia.org aktivieren.
 varallowmessage=true;

 // Wenn die ergänzte Vorlage automatisch gespeichert werden soll, ändere false auf true.
 varautowarning=true;

 // Wenn du zwei Warnungen vor einer VM oder Sperre setzen möchtest, gib true ein, um einen Standardkommentar zu ergänzen. 
 // Ansonsten ersetze false/true durch eine zweite Vorlage inklusive Unterschrift.
 varleveltwowarning=true;

 // Hier bitte alle Bezeichnungen der Rollbacks angeben, so man mit den Standards nicht zufrieden ist
 varoptionnames=newArray("ZS-TEST");

 // Hier bitte die zu verwendenden Vorlagen angeben. Genausoviele wie darüber, dies ist eine 1:1-Zuordnung!
 // <nowiki>
 vartemplatenames=newArray("{{subst:Benutzer:Complex/Greetings/TestMitStopschild}} --~~~~");
 // </nowiki>

 // Auf '1' setzen, um mehrere, unter optionnames und templatenames selbstdefinierte Links hinter dem normalen Zurücksetzen zu ergänzen; 
 // auf '2', wenn die oben definierten Links in einem Dropdownmenü erscheinen sollen; 
 // auf '3', wenn man keine Ansprache, aber ein Zusammenfassungskürzel wie beim (rev) haben möchte; 
 // auf '4', wenn man automatisch sperren möchte
 varrollbacktype='1';

 mw.loader.load('//de.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:DerHexer/rollback.js');

 // ----
 varsignogrundparam=false;// auf true setzen, wenn Signatur das SLA-Eintragen behindert
 varemptylinesafterhr=1;// Leerzeilen zwischen LA-Baustein und Artikeltext
 vardefaultSLA="Kein Artikel";// Standard-SLA-Grund
 vardefaultVandal="vandaliert in [[]]";// Standardgrund für Vandalismusmeldung (Benutzer)
 vardefaultAVandal="Edit-War";// Standardgrund für Vandalismusmeldung (Artikel)

 // ----
 vareditlinkoldversion=false;// Bearbeiten-Link für ältere Versionen anzeigen?
 vareditlinktxt="edit";// Text des Edit-Links
 varrevertwithreason=false;// Revert-Link mit Grund-Eingabe anzeigen?
 varrevlinktxt="rev";// Text des Revert-Links
 varrevlinkshowuser=true;// beim Revertieren über (Rev)-Link letzten Benutzer angeben?
 varrvisminor=true;// sind Reverts mit "(rev)"-Link Minor-Changes?
 varaearldefault="Grund: keine Verbesserung des Artikels";// Defaultgrund beim Revertieren
 varaerhistory=true;// Links auch in der Versionsgeschichte?
 varaearlhere=true;// Revertaktion im selben Browserfenster?

 if(isHistory||!isEdit)
 {
 if(editlinkoldversion||revertwithreason)
 mw.loader.load('//de.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:PDD/addEditAndRevertLinks.js');// [[Benutzer:PDD/addEditAndRevertLinks.js]]
 }
 // ----

 mw.loader.load('//de.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=User:Euku/markErledigt.js');// [[Benutzer:Euku/markErledigt.js]] -- 'erledigt' - Links

 // ------------------------------------- Eigene Untermenüs ---------------------------------------------

 // Admin - Aktionen: a) Auf Benutzer(unter)seiten und den Benutzerbeiträgen
 if(isUser||isUserDisc||isContrib)
 myAddOnloadHook(function()
 {
 newFavMenu('p-adminaction-user','Benutzer');

 if(!isSpecial)
 {
 varusername=wgTitle;
 varpos=username.indexOf('/');
 if(pos>=0)
 username=username.slice(0,pos);

 mw.util.addPortletLink('p-adminaction-user',"/wiki/Benutzer Diskussion:"+username,username,"t-user","Benutzerdisk");
 mw.util.addPortletLink('p-adminaction-user',"/wiki/Spezial:Beiträge/"+username," - Beiträge","t-user-contrib","Benutzerbeiträge");
 mw.util.addPortletLink('p-adminaction-user',"/wiki/Spezial:Logbuch/"+username," - Log aktiv","t-user-logs","Logbuch-Einträge aktiv");
 mw.util.addPortletLink('p-adminaction-user',"/wiki/Spezial:Logbuch?page=Benutzer:"+username," - Log passiv","t-user-contrib","Logbuch-Einträge passiv");
 mw.util.addPortletLink('p-adminaction-user',"/wiki/Spezial:Präfixindex/Benutzer:"+username+"/"," - Unterseiten","t-user-pages","Benutzer-Unterseiten");
 mw.util.addPortletLink('p-adminaction-user',"/wiki/Spezial:Präfixindex/Benutzer:SibFreak/"," - Unterseiten SibFreak","t-user-sibfreak-pages","Benutzer-Unterseiten SibFreak");
 }
 });

 // Bausteine für Artikel oder Benutzerdiskussionsseiten
 // Da fehlt noch einiges (incl. huter config)

 if(isArticle||isDisc||isUser){
 myAddOnloadHook(function(){
 newFavMenu('p-templates','Bausteine');

 mw.util.addPortletLink('p-templates',"javascript:eintragen(3);","SLA+","t-add-sla","+Schnelllöschantrag");
 mw.util.addPortletLink('p-templates',"javascript:eintragen(2);","LA+","t-add-la","+Löschantrag");

 if(isArticle){
 mw.util.addPortletLink('p-templates',"javascript:eintragen(1);","QS+","t-add-qs","+Qualitätssicherung");
 mw.util.addPortletLink('p-templates',"javascript:eintragen(5);","URV+","t-add-urv","+URV");
 }
 });
 }

 myAddOnloadHook(function(){
 // Work
 newFavMenu('p-work','Work');

 mw.util.addPortletLink('p-work',"/wiki/Portal:Russland/Mitmachen","Portal Russland",'t-work_pru','Portal Russland');
 mw.util.addPortletLink('p-work',"/wiki/Wikipedia:WikiProjekt_Kaukasus","WikiProjekt Kaukasus",'t-work_wpkauk','WikiProjekt Kaukasus');
 mw.util.addPortletLink('p-work',"/wiki/Portal:Kasachstan/Mitmachen","Portal Kasachstan",'t-work_pkas','Portal Kasachstan');
 mw.util.addPortletLink('p-work',"/wiki/Wikipedia:Namenskonventionen/Kyrillisch","WP:NKK",'t-work_wpnkk','WP:NKK');

 // Tools
 newFavMenu('p-tools','Tools');

 mw.util.addPortletLink('p-tools',"//tools.wmflabs.org/commonshelper/","Move to Commons",'t_tools_m2c','Move-to-commons-Assistent');
 mw.util.addPortletLink('p-tools',"http://vs.aka-online.de/cgi-bin/globalwpsearch.pl?search="+pesctitle,"GlobalWikiSearch",'t_tools_search','GlobalWikiSearch');
 mw.util.addPortletLink('p-tools',"http://wikipedia.ramselehof.de/wikiblame.php?article="+pesctitle+"&ignorefirst=3","WikiBlame",'t_tools_blame','Wikiblame');
 mw.util.addPortletLink('p-tools',"//petscan.wmflabs.org","PetScan",'t_tools_petscan','PetScan');
 mw.util.addPortletLink('p-tools',"//tools.wmflabs.org/missingtopics/","Missing Topics",'t_tools_topics','Missing Topics');
 mw.util.addPortletLink('p-tools',"//tools.wmflabs.org/templatetiger/","Vorlagenauswertung",'t_tools_templates','Vorlagenauswertung');
 mw.util.addPortletLink('p-tools',"//tools.wmflabs.org/templator/","Templator",'t_tools_templator','Templator');
 mw.util.addPortletLink('p-tools',"http://vs.aka-online.de/taxoboxomat/","Taxoboxomat",'t_tools_taxobox','Taxoboxomat');

 // Quellen (extern)
 newFavMenu('p-extern','Quellen');

 mw.util.addPortletLink('p-extern',"http://slovari.yandex.ru/~книги/БСЭ/","БСЭ",'t-ext_bse','Большая советская энциклопедия');
 mw.util.addPortletLink('p-extern',"http://www.vehi.net/brokgauz/index.html","Брокгауз и Ефрон",'t-ext_be','Брокгауз и Ефрон');
 mw.util.addPortletLink('p-extern',"http://slovari.yandex.ru/~книги/Энциклопедии/","Энциклопедии @ Яндекс",'t-ext_slovar','Энциклопедии @ Яндекс');
 mw.util.addPortletLink('p-extern',"http://maps.rosreestr.ru/PortalOnline/","Кадастровая карта",'t-ext_rosreestr','Кадастровая карта');
 mw.util.addPortletLink('p-extern',"http://terrus.ru/cgi-bin/allrussia/v3_index.pl","terrus.ru",'t-ext_terrus','Территориальное устройство России');
 mw.util.addPortletLink('p-extern',"http://www.mosclassific.ru/mClass/okato_view.php","OKATO",'t-ext_okato','OKATO');
 mw.util.addPortletLink('p-extern',"http://www.mosclassific.ru/mClass/oktmo_view.php","OKTMO",'t-ext_oktmo','OKTMO');
 mw.util.addPortletLink('p-extern',"/wiki/Portal:Russland/Tools/Zensus","Zensus Russland",'t-ext_zensus','Zensus Russland');
 mw.util.addPortletLink('p-extern',"http://www.r-arcticnet.sr.unh.edu/v4.0/dareatable.html","R-ArcticNET",'t-ext_rarctic','R-ArcticNET');
 mw.util.addPortletLink('p-extern',"http://textual.ru/gvr/","Государственный водный реестр",'t-ext_gvr','GVR');

 mw.util.addPortletLink('p-extern',"http://oopt.info/","oopt.info",'t-ext_oopt','oopt.info');
 mw.util.addPortletLink('p-extern',"http://www.biodat.ru/db/rb/","Красная Книга России",'t-ext_red','Красная Книга России');
 mw.util.addPortletLink('p-extern',"http://bibliotekar.ru/mif/","Мифологический cловарь",'t-ext_myth','Мифологический cловарь');

 mw.util.addPortletLink('p-extern',"http://commons.wikipedia.org/wiki/Category:Russia","Commons:Russland",'t-ext_commons','Commons:Russland');

 mw.util.addPortletLink('p-extern',"http://www.retrobibliothek.de/retrobib/suche.html","retro-bib",'t-ext_retro','retro-bib');
 mw.util.addPortletLink('p-extern',"http://www.deutsche-biographie.de/suche.html","ADB/NDB",'t-ext_adb','Allgemeine/Neue Deutsche Biographie');
 mw.util.addPortletLink('p-extern',"http://www.zeno.org/Bibliothek","Zeno",'t-ext_zeno','zeno.org');
 mw.util.addPortletLink('p-extern',"http://www.ubka.uni-karlsruhe.de/kvk.html","KVK",'t-ext_kvk','Karlsruher Virtueller Katalog');
 mw.util.addPortletLink('p-extern',"https://portal.d-nb.de/opac.htm?method=showOptions#top","DNB",'t-ext_dnb','Deutsche Nationalbibliothek');

 mw.util.addPortletLink('p-extern',"http://www.loc.gov/standards/iso639-2/php/code_list.php","ISO 639-1/2",'t-ext_iso12','ISO 639-1/2 Language Codes');
 mw.util.addPortletLink('p-extern',"http://www.sil.org/iso639-3/codes.asp","ISO 639-3",'t-ext_iso3','ISO 639-3 Language Codes');
 mw.util.addPortletLink('p-extern',"/wiki/ISO 3166-2:RU","ISO 3166-2:RU",'t-ext_isoru','ISO 3166-2:RU');

 // WP-Seiten

 newFavMenu('p-favorites','Intern');

 mw.util.addPortletLink('p-favorites',"/wiki/Wikipedia:LKH","Löschkandidaten",'t-wp_lkh','Löschkandidaten (heute)');
 mw.util.addPortletLink('p-favorites',"/w/index.php?title=Special:Recentchanges&hideminor=0&hideliu=1&hidebots=1&hidepatrolled=0&days=7&limit=500",
 "Recent Changes",'t-wp_rc','Letzte Änderungen');
 // mw.util.addPortletLink('p-favorites', "/wiki/Vorlage:Beteiligen", "Beteiligen", 't-wp_bet','Beteiligen');
 mw.util.addPortletLink('p-favorites',"/wiki/Wikipedia:Kurier","Kurier",'t-wp_k','Wikipedia-Kurier');
 mw.util.addPortletLink('p-favorites',"/wiki/Wikipedia:NEU","Projektneuheiten",'t-wp_neu','Projektneuheiten');
 mw.util.addPortletLink('p-favorites',"/wiki/Wikipedia:AAF","Adminanfragen",'t-wp_aaf','Adminanfragen');
 mw.util.addPortletLink('p-favorites',"/wiki/Wikipedia:AN","Adminnotizen",'t-wp_an','Adminnotizen');
 mw.util.addPortletLink('p-favorites',"/wiki/Wikipedia:FzW","FzW",'t-wp_fzw','Fragen zur Wikipedia');
 mw.util.addPortletLink('p-favorites',"/wiki/Wikipedia:VM","Vandalismusmeldung",'t-wp_vm','Vandalismusmeldung');
 mw.util.addPortletLink('p-favorites',"/wiki/Wikipedia:SPP","Sperrprüfung",'t-wp_sp','Sperrprüfung');
 mw.util.addPortletLink('p-favorites',"/wiki/Wikipedia:LP","Löschprüfung",'t-wp_lp','Löschprüfung');
 mw.util.addPortletLink('p-favorites',"/wiki/Wikipedia:EW","Entsperrwünsche",'t-wp_ew','Entsperrwünsche');
 mw.util.addPortletLink('p-favorites',"/wiki/Wikipedia:QSH","Qualitätssicherung",'t-wp_qsh','Qualitätssicherung (heute)');
 mw.util.addPortletLink('p-favorites',"/wiki/Wikipedia:AK","Adminkandidatur",'t-wp_ak','Adminkandidatur');
 mw.util.addPortletLink('p-favorites',"/wiki/Wikipedia:AP","Adminprobleme",'t-wp_ap','Adminprobleme');
 mw.util.addPortletLink('p-favorites',"/wiki/Wikipedia:WikiCup","WikiCup",'t-wp_cup','WikiCup');
 // mw.util.addPortletLink('p-favorites', "/wiki/Wikipedia:SL", "Schnelllösch-Kat", 't-wp_sl', 'Schnelllöschkandidaten');
 });

 // ------------------------------------- Eigene GUI-Anpassungen und Untermenüs -----------------------------------------------
 myAddOnloadHook(function(){
 renameGUIElement('ca-history','Versionen');
 renameGUIElement('ca-addsection','+');
 renameGUIElement('pt-logout','X');
 renameGUIElement('pt-mytalk','Diskussion');
 renameGUIElement('pt-mycontris','Beiträge');
 renameGUIElement('t-recentchangeslinked','Verlinkte Änderungen');
 });

 // diverse eingene Einstellungen
 NavigationBarShowDefault=100;// "alle" Navileisten einblenden

AltStyle によって変換されたページ (->オリジナル) /