User:Amga/vector.js
Appearance
From Meta, a Wikimedia project coordination wiki
This is an archived version of this page, as edited by Amga (talk | contribs) at 16:46, 5 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 */ // <source> functionmyAddOnloadHook(code){ if(document.readyState=="complete") code(); else jQuery(window).on('load',code); } // load my global .css mw.loader.load('/w/index.php?title=User:Amga/vector.css&action=raw&ctype=text/css','text/css'); // current page analysis varnamespaceNumber=mw.config.get('wgNamespaceNumber'); varaction=mw.config.get('wgAction'); varcanonicalSpecialPageName=mw.config.get('wgCanonicalSpecialPageName'); 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(); functiongetLemma(){ returnwgPageName; } //////////////////////////////////////////////////////////////////////////////////////// // 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','Bjarlin','BrutFork','Flyingfischer','GFreihalter','Gunslinger.1970','Reinhardhauke','Sakra','Toni_M%C3%BCller')); 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; // console.info(currUserClean); 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;} } varstandardsig='-- \~\~\~\~'; varcustomsig; if(typeof(usersignature)=='undefined') customsig=standardsig; else customsig=usersignature; varlemma; if(isContrib) lemma=extractLemma(); else lemma=getLemma(); 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="Bandspam";break; case"c":grund="Clanspam";break; case"d":grund="Verwaiste Diskussionsseite";break; case"i":grund="Offensichtliche Irrelevanz";break; case"k":grund="Kein Artikel";break; case"l":grund="Linkcontainer";break; case"m":grund="Müll";break; case"r":grund="Rapperspam";break; case"t":grund="Tastaturtest";break; case"u":grund="Unfug";break; case"w":grund="Wörterbucheintrag";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"+"§ion=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§ion=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§ion=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('='); } // 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(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(/§ion=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"); } }); } varpagetitle=wgPageName; varptitle=pagetitle.replace(/_/g," ").split('&').join('%26'); varpesctitle=ptitle.replace(/ /g,"+").replace(/_/g,"+"); 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'); mw.util.addPortletLink('p-work',"//de.wikipedia.org/wiki/Spezial:Artikelr%C3%BCckmeldungen_v5_Beobachtungsliste?ref=watchlist","Feedback",'t-work_feedback','Feedback'); // Tools newFavMenu('p-tools','Tools'); mw.util.addPortletLink('p-tools',"http://toolserver.org/~magnus/commonshelper.php","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+"&timeout=300&minor=1","GlobalWikiSearch",'t_tools_search','GlobalWikiSearch'); mw.util.addPortletLink('p-tools',"http://wikipedia.ramselehof.de/wikiblame.php?article="+pesctitle+"&user_lang=de&skipversions=2&ignorefirst=3&limit=250","WikiBlame",'t_tools_blame','Wikiblame'); mw.util.addPortletLink('p-tools',"http://toolserver.org/~daniel/WikiSense/CategoryIntersect.php?wikilang=de&wikifam=.wikipedia.org&userlang=de","CatScan",'t_tools_catscan','CatScan'); mw.util.addPortletLink('p-tools',"http://toolserver.org/~magnus/catscan_rewrite.php?interface_language=de","CatScan 2.0",'t_tools_catscan2','CatScan2'); mw.util.addPortletLink('p-tools',"http://toolserver.org/~magnus/missingtopics.php","Missing Topics",'t_tools_topics','Missing Topics'); mw.util.addPortletLink('p-tools',"http://vs.aka-online.de/taxoboxomat/","Taxoboxomat",'t_tools_taxobox','Taxoboxomat'); mw.util.addPortletLink('p-tools',"http://toolserver.org/~magnus/templator.php?language=de","Templator",'t_tools_templator','Templator'); mw.util.addPortletLink('p-tools',"http://toolserver.org/~kolossos/templatetiger/template-choice.php?lang=dewiki","Vorlagenauswertung",'t_tools_templates','Vorlagenauswertung'); mw.util.addPortletLink('p-tools',"http://toolserver.org/~mzmcbride/watcher/?db=dewiki_p&titles="+pesctitle,"Anzahl Beobachter",'t_tools_watch','Watchers'); // 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'); // mw.util.addPortletLink('p-favorites', "/wiki/Wikipedia:LK-URV", "URV-Sammlung", 't-wp_urv','Urheberrechtsverletzungen'); // mw.util.addPortletLink('p-favorites', "/wiki/Wikipedia:UV", "Unverständliches", 't-wp_uv', 'unverständliche Artikel'); }); // ------------------------------------- Eigene GUI-Anpassungen und Untermenüs ----------------------------------------------- myAddOnloadHook(function(){ renameGUIElement('ca-history','Versionen'); renameGUIElement('ca-addsection','+');// Zurück zum Pluszeichen 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