Benutzer:Lukas²³/monobook.js
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
// ==UserScript==
// @name vectortest
// @namespace jona
// @include http://de.wikipedia.org/*
// ==/UserScript==
var usersignature = '\~\~\~\~';
var version = "Override";
// Originalskript ursprünglich gefunden bei [[:en:User:Angela]]
// bearbeitet von [[Benutzer:Maximus Rex]]
// bearbeitet von [[Benutzer:SirJective]]
// bearbeitet von [[Benutzer:BLueFiSH.as]]
// bearbeitet von [[Benutzer:Littl]] (2005-09-07)
// bearbeitet von [[Benutzer:Schwalbe]] (2006-02-03)
// bearbeitet wieder von [[Benutzer:Littl]] (2006-02-21)
// bearbeitet von [[Benutzer:PDD]] (ab 2006-04-22)
// bearbeitet von [[Benutzer:Jonathan Haas]] (ab 2009-09-23)
// *************** SETUP Teil 1 **********************************
// Parameter für Gadgets
// Gadgets müssen über [[Spezial:Einstellungen]] -> Gadgets freigeschaltet werden
// Gadget: Extra-Editbuttons, siehe[[Wikipedia:Helferlein/Extra-Editbuttons]]
// Anzahl und Reihenfolge wählbar (siehe: [[Wikipedia:Helferlein/Extra-Editbuttons#Die Buttons]])
var customEditButtons = "A,A3,B,C,E,F,G,H,I,I1,I2,J1,K,M,O,P,PO,Q,R,R3,S,T,T1,U,V,W,X,Y1,Y2,VP,VC,VN,SM";
// zu entfernende Standard-Edit buttons (0...10)
var rmEditButtons = [6,7,10]; // Standardbutton entfernen
var myButtons = {} // eigene Buttons?
// *************** SETUP Teil 2 **********************************
// Parameter für diese monobook.js (Quickbar, Module etc.)
var zeigeversion = false; // monobook-Version anzeigen?
var zeigehilfe = true; // kurze Hilfetexte beim überfahren mit der Maus anzeigen?
var qbnewpage = false; // sollen Seiten aus dem QuickBar im neuen Fenster aufgerufen werden?
var rclimit = 500; // angezeigte Anzahl auf "Letzte Änderungen"
var nplimit = 500; // angezeigte Anzahl auf "Neue Artikel"
var nulimit = 1000; // angezeigte Anzahl auf "Neuanmeldungs-Logbuch"
var nvlimit = 500; // angezeigte Anzahl auf "Alte, gesichtete Seiten"
var usedropdown = false; // Wenn keine Dropdowns gewünscht sind, hier false eintragen!
var timeout = 50000; // 50 Sekunden auf das Neuladen der Seite warten
var timezoneshift = 0; // Unterschied lokale Zeit zur Systemzeit (bleibt für Mitteleuropäer 0)
var debugme = false; // Debug-Modus?
var qbfontsize = 75; // Schriftgröße im QuickBar (relativ in Prozent)
// systemweite Default-Optionen aus [[MediaWiki:Monobook.js]]
NavigationBarShowDefault = 0; // Navi-Leisten: alle einklappen == 0; alle ausklappen == 15 (z.B.)
var oldEditsectionLinks = false; // "Bearbeiten"-Links bei Abschnitten ganz nach rechts?
var enable_linkFA = true; // "Featured Articles" in fremdsprachigen Wikipedias markieren?
// <nowiki>
// Modul: changeBeschriftungen.js
var beschriftungen = false; // kosmetische Änderungen an der MediaWiki-Oberfläche?
var markhandsoff = false; // fremde Benutzerseiten grafisch markieren?
// Beschriftungen: personal toolbar
var cbmytalk = "Meine Diskussion";
var cbprefs = "Einstellungen";
var cbwatchlist = "Beobachtungsliste";
var cbmyconts = "Meine Beiträge";
var cblogout = "X";
// Beschriftungen: current article
var cbedit = "Bearbeiten";
var cbhistory = "Versionen";
var cbmove = "Verschieben";
var cbwatch = "Beobachten";
var cbunwatch = "Ignorieren";
// Beschriftungen: tools
var cbwhatlinkshere = "Links a. d. Seite";
var cblinked = "Verlinkte Änderungen";
var cbmail = "E-Mail senden";
var cbupload = "Datei hochladen";
var cbprint = "Druckversion";
var cbblock = "User sperren";
// Beschriftungen: portlets
var cblang = "Interwiki";
// Modul: Sperrstatus.js
var sperrstatus = true; // Sperrstatus einer Seite farblich anzeigen?
// Modul: eintragen.js
var autosave = true; // automatisches Speichern von QS/LA/SLA/Vandal-Einträgen?
var signogrundparam = false; // auf true setzen, wenn Signatur das SLA-Eintragen behindert
var emptylinesafterhr = 1; // Leerzeilen zwischen LA-Baustein und Artikeltext
var defaultSLA = "Kein Artikel"; // Standard-SLA-Grund
var defaultVandal = "vandaliert in [[]]"; // Standardgrund für Vandalismusmeldung (Benutzer)
var defaultAVandal = "Edit-War"; // Standardgrund für Vandalismusmeldung (Artikel)
// Modul: hinweise.js
var hinweis = true; // Portal- und Redaktionshinweis verwenden?
// Modul: godmode-light.js
var godmodelight = true; // "Zurücksetzen" einblenden?
var godmodenewstyle = true; // neuer Rollback-Kommentartext?
// Modul: addEditAndRevertLinks.js
var editlinkoldversion = true; // Bearbeiten-Link für ältere Versionen anzeigen?
var editlinktxt = "edit"; // Text des Edit-Links
var revertwithreason = true; // Revert-Link mit Grund-Eingabe anzeigen?
var revlinktxt = "rev"; // Text des Revert-Links
var revlinkshowuser = true; // beim Revertieren über (Rev)-Link letzten Benutzer angeben?
var rvisminor = true; // sind Reverts mit "(rev)"-Link Minor-Changes?
var aearldefault = "Grund: keine Verbesserung des Artikels"; // Defaultgrund beim Revertieren
var aerhistory = true; // Links auch in der Versionsgeschichte?
var aearlhere = true; // Revertaktion im selben Browserfenster?
// Modul: addLogsLink.js
var addlogslink = true; // Zusatzlinks zu Spezial:Log einfügen?
var pagelogtext = "Page:Log"; // Text des Seitenlogbuch-Links
var userlogtext1 = "User:Log:1"; // Texte der beiden Benutzerlog-Links
var userlogtext2 = "User:Log:2";
var addusercontriblink = true; // auf Benutzerseiten auch noch Link auf Contributions?
var usercontribtext = "User:Contribs"; // Text des Contributions-Links ("Benutzerbeiträge")
var userdeledittext = "User:DelEdits"; // Text des Links auf Deleted Edits
var userstatstext = "User:Stats"; // Text des Links auf Benutzerstatistik
var userstatstype = "interiot"; // Art der Benutzerstatistik
// (interiot/dab/yaec/kate/wannabe_kate/misza)
var usergallerytext = "User:Gallery"; // Text des Links auf Bildergalerie des Benutzers
var userstimmrechttext = "User:Stimmrecht"; // Text des Links auf Stimmrechtcheck
var adduserarticlelink = true; // auf Benutzerseiten Link auf erstellte Artikel?
var userarticletext = "User:Articles"; // Text des Links auf erstellte Artikel
var addbrowselink = true; // auf allen Seiten Link zum alphabetischen Browsen?
var browseuserprefix = true; // bei Nutzerseiten stattdessen alle Unterseiten des Nutzers zeigen?
var browsetext = "Browse"; // Text des Links auf Browsing-Seite
var addiusagelink = true; // bei Bildern Link zur Bildnutzung (Commons)?
var imgusagetext = "IMG:C-Usage"; // Text des Links auf Bildnutzung
// Modul: modifyCA.js
var addeditintro = true; // TAB zum Editieren des Nullabschnitts (Intros) einer Seite hinzufügen?
var editintrotext = "IntroBearbeiten"; // Beschriftung des TABs
var addpurge = true; // TAB zum Purgen (Servercache-Updaten) einer Seite hinzufügen?
var purgetext = "Purge"; // Beschriftung des TABs
// Modul: markAdmins.js
var markadmins = true; // Admins u.ä. besonders hervorheben?
var marksubpages = true; // auch Links auf Admin-Unterseiten markieren?
var mawatchlist = true; // auch auf der Beobachtungsliste?
var macontribs = true; // auch auf den Benutzerbeiträgen?
var markatxt = "A"; // Markierung für Admins
var markrenatxt = "A-Ren"; // Markierung für umbenannte Admins
var markbureautxt = "B"; // Markierung für Bürokraten
var markstewtxt = "S"; // Markierung für Stewards
var markcomadmins = true; // zusätzlich: Commons-Admins besonders hervorheben?
var markcomatxt = "Com-A"; // Markierung für Commons-Admins
var markexadmins = true; // zusätzlich: Ex-Admins besonders hervorheben?
var markexatxt = "Ex-A"; // Markierung für Ex-Admins
var markexbureautxt = "Ex-B"; // Markierung für Ex-Bürokraten
var markarbcom = true; // zusätzlich: Schiedsgericht besonders hervorheben?
var markarbcomtxt = "SG"; // Markierung für Schiedsgerichtler
var markcheckuser = true; // zusätzlich: CheckUser besonders hervorheben?
var markcheckusertxt = "CU"; // Markierung für Checkuser-Berechtigte
var markombudsmantxt = "O"; // Markierung für Ombudspersonen
// Modul: markUTF8.js
var markutf8 = false; // Sonderzeichenbenutzernamen besonders hervorheben?
var muwatchlist = true; // auch auf der Beobachtungsliste?
var mucontribs = true; // auch auf den Benutzerbeiträgen?
var markutf8txt = "UTF8!"; // Markierung für UTF8-kodierte Nutzernamen etc.
var markltrtxt = "UTF8:LTR!"; // Markierung für Lemmata mit LTR-Mark
// Modul: markMentors.js
var markmentors = true; // Mentoren besonders hervorheben?
var markmsubpages = true; // auch Links auf Mentoren-Unterseiten markieren?
var mmwatchlist = true; // auch auf der Beobachtungsliste?
var mmcontribs = true; // auch auf den Benutzerbeiträgen?
var markmtxt = "M"; // Markierung für Mentoren
// Modul: markErledigt.js
var markerledigt = true; // Erledigt-Button auf Seiten mit [[Vorlage:Autoarchiv-Erledigt]]
// Modul: reftoggle.js
var reftoggle = false; // "Quellen verstecken"/"Quellen anzeigen"-Schalter für Fußnoten?
// Modul: newgallery.js
var newgallery = false; // Anzahl Bilder/Zeile in Galerien verändern?
var gallery_len = 6; // Breite der Galerien
var bCategory = true; // nur in Kategorien?
var bArticle = true; // (oder/und) nur in Artikeln?
// Modul: quickedit.js
var qeEnabled = false; // QuickEdit aktivieren?
var qeEnableSection0 = false; // QuickEdit-Link für Abschnitt 0 (Einleitung)?
var qeEnableAccessKeys = true; // Tastaturbefehle aktivieren?
var qeShowErrors = true; // Fehlermeldungen anzeigen
var qeTextboxHeight = 20; // Höhe des Textfelds
// Modul: APPERs RP
var rechtschreibpruefung = false; // Rechtschreibprüfung aktivieren?
var AutorunRP = false; // false = RP durch Anklicken; true = automatische RP
// Modul: APPERs IP-Patrol Vandalenmarkierer
var ippvandalmark = false; // IP-Patrol-Vandalenmarkierung aktivieren?
// Modul: osm.js
var openstreetmap = false; // OpenStreetMap-Link anschalten?
// Modul: coordinates.js
// (für dieses Modul im CSS #editpage-copywarn nicht ausblenden!)
var coordinates = false; // Koordinate_Artikel in Editfenster generierbar?
// Modul: unsigned.js
var unsigning = true; // Einfügen von Unsigned bei unsignierten Beiträgen auf Diskussionsseiten?
var ssubst = true; // unsigniert-Baustein mit subst einfügen?
var max_history_entries = 36; // Anzahl der angezeigten Edits (max. 36)
// Modul: signing.js
var signing = false; // automatische Unterschrift auf Diskussionsseiten?
// Liste der Nicht-Diskussionsseiten, die ebenfalls unterschrieben werden sollen:
var regpages = new Array(':Verbesserungsvorschläge', ':Löschkandidaten', ':Löschprüfung', ':Entsperrwünsche', ':Adminkandidaturen', ':Qualitätssicherung', ':Fragen_zur_Wikipedia', ':Meinungsbilder', ':Review', ':Bilderwünsche', ':Kandidaten');
// </nowiki>
// weitere Module
var showredundantlinks = false; // zeigt doppelte Links an
var ripe = false; // Ripe-Tooltips?
var irrenhaus = false; // Script für mehr Abwechslung im "neue Nachrichten"-Balken
var js_highlight = false; // javascript-code farbig hervorheben (.js and pre-tags)
var imgdupecheck = true; // Bilder-Duplikate anzeigen
var diffhistory = true; // bei Nachsichtungen Übersicht der ungesichteten Versionen zeigen (von P.Copp)
var hideduplicatecontribs = true; // bei Benutzerbeiträgen Checkboxen zum Filtern einblenden (von P.Copp)
// special rights options
var adddelreason = true; // Löschgrund einfügen (von P.Copp)
var dellinknowcommons = true; // Löschlink bei NowCommons-Bildern (von Revvar/Codeispoetry)
var loescheimer = true; // erleichtertes LK-Abarbeiten (von mnh)
var filter_rfdtoc_by_default = true; // Löscheimer: TOC der LK-Seite filtern?
// **************** SETUP Ende ***********************************
var user = wgUserName; // username wird automatisch übernommen
// aktuelle Zeit ermitteln
var jetzt = new Date();
// recalculate 4 furriners
var jetztfixed = jetzt.getTime();
jetztfixed += (timezoneshift * 3600 * 1000);
jetzt.setTime(jetztfixed);
// fill date variables
var Monate = new Array("", "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
var Monatekurz = new Array("", "Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez");
var Jahr = jetzt.getYear();
if (Jahr < 999) Jahr += 1900;
var Monat = jetzt.getMonth() + 1;
var Tag = jetzt.getDate();
var Stunde = jetzt.getHours();
var Minute = jetzt.getMinutes();
// fill WP date variables
var WPDatum = Tag + '._' + Monate[Monat] + '_' + Jahr;
var WPDatum2 = Jahr + '/' + Monate[Monat] + '/' + Tag;
var WPDatum3 = Monate[Monat] + ' ' + Jahr;
var WPDatum4 = Jahr + '-' + LeadingZero(Monat);
var WPDatum5 = Jahr + LeadingZero(Monat) + '/';
var refDatum = Tag + '. ' + Monatekurz[Monat] + '. ' + Jahr;
var refDatumlang = Tag + '. ' + Monate[Monat] + ' ' + Jahr;
// Lemma-Varianten (work in progress) + redundant zu addLogsLink etc.
// get page title
var pagetitle = wgPageName;
var spagetitle = wgTitle;
// do real spaces; fix for lemmas with '&'
var ptitle = pagetitle.replace(/_/g, " ").split('&').join('%26');
var sptitle = spagetitle.replace(/_/g, " ").split('&').join('%26');
// do + escaped (" " to "+")
var pesctitle = spaceEscape(ptitle);
var spesctitle = spaceEscape(sptitle);
// lemmatitle for external lookup
var spesctitlelookup = spesctitle.split('+(')[0];
// Komma-Lemma für Personen (Klammerzusätze weg etc.)
var personlemma = spagetitle.split(' (')[0];
var titlesplit = personlemma.split(' ');
if (titlesplit.length > 1) {
personlemma = titlesplit[titlesplit.length-1] + ',';
for (i=0; i<(titlesplit.length-1); i++)
personlemma=personlemma + " "+titlesplit[i];
}
// get URL parameters (used for page type variables)
var UrlParameters = new Array ();
readparams();
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]);
}
}
// page type variables: namespaces
var isArticle = (mw.config.get('wgNamespaceNumber') == 0);
var isArticleTalk = (mw.config.get('wgNamespaceNumber') == 1);
var isDatei = (wgCanonicalNamespace == "File");
var isCategory = (wgCanonicalNamespace == "Category");
var isTemplate = (wgCanonicalNamespace == "Template");
var isGeneric = false;
if ((!isDatei) && (!isCategory) && (!isTemplate))
isGeneric = true;
var isProject = (wgCanonicalNamespace == "Project"); /* NR Wikipedia: */
var isHelp = (wgCanonicalNamespace == "Help"); /* NR Hilfe */
// page type variables: namespace == -1
var isSpecial = (wgCanonicalNamespace == "Special");
var isRestore = (isSpecial && (wgCanonicalSpecialPageName == "Undelete"));
var isContrib = (isSpecial && (wgCanonicalSpecialPageName == "Contributions"));
var isDelContrib = (isSpecial && (wgCanonicalSpecialPageName == "DeletedContributions"));
var isWatchlist = (isSpecial && (wgCanonicalSpecialPageName == "Watchlist"));
// page type variables: namespace == -1
var isTalk = (!isSpecial && isOdd(mw.config.get('wgNamespaceNumber')));
// page type variables: other stuff
var isPHP = (document.URL.indexOf('index.php') > 0);
var isDiff = UrlParameters["diff"];
var isEdit = ( (UrlParameters['action']=='edit')
|| (UrlParameters['action']=='submit') );
var isHistory = (UrlParameters['action']=='history');
// individual page specials
var isLKpage = false;
if ((isProject) && (wgTitle.indexOf('Löschkandidaten') != -1))
isLKpage = true;
// userpage/name stuff, vor allem für IPs
var userPageOwner = "";
if (isContrib || isDelContrib) {
if (UrlParameters['target']) userPageOwner = UrlParameters['target'].split('+').join('_');
else {
userPageOwner = decodeURIComponent(location.href.substring(location.href.indexOf("/wiki/") + 6)).split('#')[0];
userPageOwner = userPageOwner.substring(userPageOwner.indexOf("Beiträge/") + 9);
}
}
// page type variables: user & user discussion lumped together
var isUserpage = ( (wgCanonicalNamespace == "User") || (wgCanonicalNamespace == "User_talk") );
var isUserMainpage = false;
if (isUserpage)
if (wgTitle == wgTitle.split("/")[0]) {
isUserMainpage = true;
userPageOwner = wgTitle;
}
// handelt es sich um eine IP?
var isIPUser = false;
if (userPageOwner != "")
if (userPageOwner.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/) != null)
if ((userPageOwner.split(".")[0] > 1) && (userPageOwner.split(".")[0] < 255))
isIPUser = true;
// Admin & editor functions
var adminflag = false;
if (hasRight("sysop")) adminflag = true;
var editorflag = false;
if (hasRight("editor")) editorflag = true;
// Browserkram
var userbrowser = "Standard";
if (navigator.userAgent.indexOf("Opera") > -1)
userbrowser = "Opera";
if (navigator.userAgent.indexOf("Safari") > -1)
userbrowser = "Standard";
if (navigator.userAgent.indexOf("MSIE") > -1) {
userbrowser = "IE";
if (navigator.userAgent.indexOf("MSIE 7") > -1)
userbrowser = "IE7";
}
// force Browserswitches
if ((userbrowser == "IE") || (userbrowser == "IE7")) {
godmodelight = false;
showredundantlinks = false;
}
if (userbrowser == "Opera") {
godmodelight = false;
}
/*
* ab hier wird der Quickbar (der Kasten oben links) zusammengebaut
*
* zuerst die allgemeinen Variablen (hier bitte nix ändern!)
*/
var Quickbar = '<div class="pBody noprint" id="p-quickbar" style="position:absolute; top:5px; left:0px; z-index:10;margin:0 0 0 1.25em;">';
// optional: opacity:0.9;
var xxx = '';
var trenner='<div style="background-image: url(/skins-1.5/vector/images/portal-break-ltr.png);background-repeat: no-repeat;background-position: left top;height:1px;margin:2px 0;"></div>';
var br ='<br />';
var qbtarget = '_self';
if (qbnewpage) qbtarget = '_blank';
var dropdown = usedropdown;
var scrpt = '';
var scrptn = 0;
var indropdown;
var ind;
/*
* Quickbar-Zusammenbau, Teil 1:
*
* zuerst die Reihenfolge der einzelnen Abschnitte:
*/
function buildQuickbar() {
qbWPIntern();
qbPatrol();
qbWartung();
qbToolserver();
qbCategoryTools();
qbImageTools();
qbExternTools();
// ab hier keine Dropdowns mehr
closedropdown();
dropdown=false;
// die folgenden werden nur im Edit-Modus eingeblendet
qbEditTags();
qbArticleTemps();
qbMarkupTools();
qbImageTemps();
qbUsertalkTemps();
// der folgende Abschnitt wird nur bei Admins eingeblendet
qbAdminTools();
// Automatisches Bausteinsetzen
qbAutoTemps();
}
/*
* Quickbar-Zusammenbau, Teil 2:
*
* die Belegung der einzelnen Abschnitte
*/
function qbWPIntern() {
// w (0,trenner,'Wikipedia','');
// w (1,'/wiki/Hilfe:MediaWiki','MW',qbtarget,'MediaWiki-Hilfe');
// w (1,'/wiki/Wikipedia:Hilfe','RTFM',qbtarget,'Wikipedia-Hilfe');
// w (1,'/wiki/Hilfe:Textgestaltung','TG',qbtarget,'Hilfe zur Textgestaltung');
// w (1,'/wiki/Hilfe:Farben','FT',qbtarget,'Hilfe zur Farbgestaltung');
w (1,'/wiki/Wikipedia:Kurier','K',qbtarget,'Wikikurier - Das Wikipedia-Nachrichtenblatt');
w (1,'/wiki/Wikipedia:Fragen zur Wikipedia','FZW',qbtarget,'Fragen zur Wikipedia');
w (1,'/wiki/Wikipedia:Auskunft','A',qbtarget,'Auskunft');
// w (1,'/wiki/Wikipedia:Autorenportal','P',qbtarget,'Autorenportal');
w (1,'/wiki/Wikipedia:Projektneuheiten','NEU',qbtarget,'Projektneuheiten');
w (1,'/wiki/Wikipedia:Verbesserungsvorschläge','VV',qbtarget,'Verbesserungsvorschläge');
// w (1,'/wiki/Wikipedia:Tellerrand','TE',qbtarget,'Tellerrand');
w (1,'/wiki/Wikipedia:Administratoren/Anfragen','AAF',qbtarget,'Administratoren/Anfragen');
w (1,'/wiki/Wikipedia:Administratoren/Notizen','AN',qbtarget,'Administratoren/Notizen');
w (1,'/wiki/Wikipedia:Dritte_Meinung','3M',qbtarget,'Dritte Meinung');
// w (1,'/wiki/Wikipedia:Projektdiskussionen','PRD',qbtarget,'Projektdiskussionen');
w (1,'/wiki/Wikipedia:Adminkandidaturen','AK',qbtarget,'Adminkandidaturen');
w (1,'/wiki/Wikipedia:Schiedsgericht/Anfragen','SG/A',qbtarget,'Schiedsgericht/Anfragen');
w (1,'/wiki/Wikipedia:Checkuser/Anfragen','CU/A',qbtarget,'Checkuser/Anfragen');
// w (1,'/wiki/Wikipedia:Abkürzungen','ABK',qbtarget,'Abkürzungen');
}
function qbPatrol() {
w (0,trenner,'Überwachung','');
w (1,'/w/index.php?title=Special:Recentchanges&hideminor=0&hideliu=1&hidebots=1&hidepatrolled=0&days=7&limit='+rclimit,'RCs',qbtarget,'Letzte Änderungen');
w (1,'/wiki/Special:Contributions/newbies','RCNs',qbtarget,'Beiträge neuer Benutzer');
w (1,'/w/index.php?title=Special:Newpages&namespace=0&limit='+nplimit,'NeuA',qbtarget,'Neue Artikel');
// w (1,'/wiki/Special:Newimages','NeuD',qbtarget,'Neue Dateien (Bilder)');
w (1,'/w/index.php?title=Special:Log&limit='+nulimit+'&type=newusers','NeuB',qbtarget,'Neue Benutzer');
w (1,'/w/index.php?title=Special:OldReviewedPages&limit='+nvlimit,'NeuE',qbtarget,'Neue Edits in gesichteten Artikeln');
w (1,'/wiki/Wikipedia:Vandalismusmeldung','VM',qbtarget,'Vandalismusmeldung');
w (1,'/wiki/Wikipedia:Sperrprüfung','SP',qbtarget,'Sperrprüfung');
w (1,'/wiki/Wikipedia:Löschprüfung','LP',qbtarget,'Löschprüfung');
w (1,'/wiki/Wikipedia:Entsperrwünsche','EW',qbtarget,'Entsperrwünsche');
w (1,'/wiki/Wikipedia:Administratoren/Probleme','AP',qbtarget,'Admin-Probleme');
w (1,'/wiki/Special:Log','Log',qbtarget,'Logfiles');
// w (1,'irc://irc.freenode.net/wikipedia-de','IRC',qbtarget,'IRC-Chat #wikipedia-de');
}
function qbWartung() {
w (0,trenner,'Wartung','');
// w (1,'/wiki/Wikipedia:Löschregeln','WP:LR',qbtarget,'Löschregeln');
w (1,'/wiki/Kategorie:Wikipedia:Schnelllöschen','SLK',qbtarget,'Schnelllöschkandidaten');
w (1,'/wiki/Wikipedia:Löschkandidaten','LK',qbtarget,'Löschkandidaten');
w (1,'/wiki/Wikipedia:Löschkandidaten/'+WPDatum,'LKH',qbtarget,'Löschkandidaten (heute)');
// w (1,'/wiki/Wikipedia:Löschkandidaten/Bilder/'+WPDatum,'BildLK',qbtarget,'Löschkandidaten (Bilder)');
// w (1,'/wiki/Wikipedia:WikiProjekt_Kategorien/Diskussionen/'+WPDatum2,'KatLK',qbtarget,'Löschkandidaten (Kategorien)');
w (1,'/wiki/Wikipedia:Versionslöschungen','LKV',qbtarget,'Versionslöschungen');
w (1,'/wiki/Wikipedia:Löschkandidaten/Urheberrechtsverletzungen','URV',qbtarget,'Löschkandidaten (URVs)');
w (1,'/wiki/Wikipedia:Qualitätssicherung/'+WPDatum,'QS',qbtarget,'Qualitätssicherung');
w (1,'/wiki/Wikipedia:Redundanz/'+WPDatum3,'RED',qbtarget,'Redundanz');
w (1,'/wiki/Kategorie:Wikipedia:Unverständlich','Wirr',qbtarget,'Unverständlich');
w (1,'/wiki/Wikipedia:Kandidaten für exzellente Artikel','KEA',qbtarget,'Kandidaten für exzellente Artikel');
w (1,'/wiki/Wikipedia:Kandidaten für lesenswerte Artikel','KLA',qbtarget,'Kandidaten für lesenswerte Artikel');
w (1,'/wiki/Wikipedia:Review','RV',qbtarget,'Review');
w (1,'/wiki/Wikipedia:Kandidaten für exzellente Bilder','KEB',qbtarget,'Kandidaten für exzellente Bilder');
w (1,'/wiki/Wikipedia:Kandidaten für informative Listen und Portale','KILP',qbtarget,'Kandidaten für informative Listen und Portale');
// w (1,'/wiki/Wikipedia:Kandidaten für exzellente Aufnahmen','KEAU',qbtarget,'Kandidaten für exzellente Aufnahmen');
}
function qbToolserver() {
w (0,trenner,'Toolserver','');
qbUserTools();
// w (1,"http://toolserver.org/~leon/stats/wikicharts/index.php?lang=de&wiki=dewiki&ns=Artikel&limit=200&month=" + LeadingZero(Monat) + "%2F" + Jahr + "&mode=view",'WCh',qbtarget,'WikiCharts');
w (1,"http://toolserver.org/~vvv/adminstats.php?wiki=dewiki_p&tlimit=2419200",'AdmA',qbtarget,'Adminaktivität (letzte 4 Wochen)');
w (1,"http://toolserver.org/~aka/cgi-bin/revstat.cgi?period=168",'RStat',qbtarget,'Revert-Statistik (letzte Woche)');
w (1,"http://toolserver.org/~luxo/Geburtstag.php",'GK',qbtarget,'Wikipedia Geburtstagskalender');
w (1,"http://toolserver.org/~magnus/wikitodo.php?language=de",'2Do',qbtarget,'Wikipedia ToDo');
w (1,"http://toolserver.org/~aka/cgi-bin/reviewcnt.cgi",'RCt',qbtarget,'Sichtungsstatistik');
if (isArticle) {
w (1,"http://stats.grok.se/de/"+WPDatum5+ptitle,'AStat',qbtarget,'Wikipedia article traffic statistics');
w (1,"http://toolserver.org/~daniel/WikiSense/Contributors.php?wikilang=de&wikifam=.wikipedia.org&page="+pesctitle+"&since=&until=&grouped=on&order=-rev_timestamp&max=100&order=-rev_timestamp&format=html",'Conts',qbtarget,'Beiträge zu diesem Artikel');
}
}
function qbUserTools() {
if (userPageOwner == "") return;
if (isIPUser) {
// w (1,"http://www.ripe.net/whois?form_type=simple&full_query_string=&searchtext="+userPageOwner+"&do_search=Search",'IPripe',qbtarget);
w (1,"http://www.dnsstuff.com/tools/ipall.ch?domain="+userPageOwner,'IPinfo',qbtarget,'IPInfo/Whois');
w (1,"http://www.dnsstuff.com/tools/tracert.ch?ip="+userPageOwner,'IPtrcrt',qbtarget,'Traceroute');
// w (1,"https://www.dan.me.uk/torcheck?ip="+userPageOwner,'TOR',qbtarget,'TOR-Node-Check');
w (1,"http://toolserver.org/~krimpet/torcheck.php?ip="+userPageOwner,'K-TOR',qbtarget,'Krimpets TOR-Node-Check');
w (1,"http://toolserver.org/~luxo/contributions/contributions.php?user="+userPageOwner+"&blocks=true&lang=de",'IP-GUC',qbtarget,'Global user contributions');
// w (1,"http://toolserver.org/~vvv/rangecontribs.php?wiki=dewiki_p&user="+userPageOwner.substring(0, userPageOwner.lastIndexOf('.')),'IP-RaC',qbtarget,'IP range contributions');
w (1,"http://de.wikipedia.org/w/api.php?action=query&list=usercontribs&format=xmlfm&uclimit=500&ucstart=" + getFutureDate() + "&ucend=" + getPastDate() + "&ucuserprefix="+userPageOwner.substring(0, userPageOwner.lastIndexOf('.'))+".",'IP-RaC',qbtarget,'IP range contributions via API');
w (1,"http://jodies.de/ipcalc?host="+userPageOwner+"&mask1=18&mask2=",'Rng',qbtarget,'Range/Subnet Rechner');
w (1,"http://toolserver.org/~krimpet/rbhelper.php?db=dewiki_p&ip="+userPageOwner,'RngB?',qbtarget,'Range Block Finder');
} else {
// w (1,"http://www.ripe.net/whois",'ripe',qbtarget);
// w (1,"http://www.dnsstuff.com/",'whois',qbtarget,'Whois');
// w (1,"http://www.denic.de/de/",'denic',qbtarget,'Domain-Lookup');
// w (1,"http://www.iks-jena.de/cgi-bin/whois",'iks-whois',qbtarget,'IKS-Whois-Lookup');
w (1,"http://toolserver.org/~vvv/sulutil.php?user="+userPageOwner,'GUA',qbtarget,'Global user accounts');
w (1,"http://toolserver.org/~purodha/sample/dbswithuser.php?usr="+userPageOwner+"&go=Go%21&uselang=de",'GUA+',qbtarget,'Global user accounts (ausführlich)');
w (1,"http://toolserver.org/~luxo/contributions/contributions.php?user="+userPageOwner+"&lang=de",'GUC',qbtarget,'Global user contributions');
if (user != userPageOwner)
w (1,"http://toolserver.org/~cyroxx/familiar/familiar.php?user1="+spaceEscape(user)+"&user2="+spaceEscape(userPageOwner),'UFam',qbtarget,'Are U familiar?');
}
// w (1,"http://toolserver.org/~interiot/cgi-bin/count_edits?user="+user+"&dbname=dewiki_p",'EC+',qbtarget,'Mein Editcount');
w (1,"http://toolserver.org/~chm/blockcalc.php",'BCalc',qbtarget,'Rangeblock-Calculator');
}
function qbCategoryTools() {
if (!isCategory) return;
w (0,trenner,'Kategorie-Tools','');
w (1,"http://toolserver.org/~daniel/WikiSense/CategoryIntersect.php?wikilang=de&wikifam=.wikipedia.org&basecat="+spesctitle+"&userlang=de",'K:Scan',qbtarget,'Kategorie: CatScan');
w (1,"http://toolserver.org/~daniel/WikiSense/CategoryIntersect.php?wikilang=de&wikifam=.wikipedia.org&basecat="+spesctitle+"&basedeep=5&mode=rc&hours=168&onlynew=on&userlang=de&go=Scannen",'K:NeuA',qbtarget,'Kategorie: Neue Artikel');
w (1,"http://toolserver.org/~daniel/WikiSense/CategoryIntersect.php?wikilang=de&wikifam=.wikipedia.org&basecat="+spesctitle+"&basedeep=5&mode=cs&tagcat=Wikipedia%3AL%C3%B6schkandidat&tagdeep=1&userlang=de&go=Scannen",'K:LA',qbtarget,'Kategorie: Artikel mit Löschantrag');
w (1,"http://toolserver.org/~magnus/missingtopics.php?project=wikipedia&language=de&category="+spesctitle+"&depth=5&wikimode=0&doit=Run",'K:Miss',qbtarget,'Kategorie: Fehlende Artikel');
w (1,"http://toolserver.org/~magnus/deep_out_of_sight.php?category="+spesctitle+"&depth=9",'K:NeuE',qbtarget,'Kategorie: Nachzusichtende Artikel');
w (1,"http://toolserver.org/~magnus/deep_insight.php?category="+spesctitle+"&depth=9",'K:UsP',qbtarget,'Kategorie: Erstzusichtende Artikel');
}
function qbImageTools() {
if (!isDatei) return;
w (0,trenner,'Bild-Tools','');
w (1,"http://toolserver.org/~magnus/commonshelper.php?interface=de&lang=de&project=wikipedia&image="+spesctitle+"&doit='Text generieren'",'D:M2C',qbtarget,'Datei: Move-to-commons-Assistent');
w (1,"http://toolserver.org/~luxo/reworkhelper/index.php?image="+pesctitle,'D:RWH',qbtarget,'Datei: Reworkhelper');
w (1,'http://commons.wikimedia.org/wiki/Special:Upload','C-Up',qbtarget,'Commons-Upload');
w (1,'http://toolserver.org/~daniel/WikiSense/CommonsClash.php?wikilang=de&wikifam=.wikipedia.org&order=img_name&max=200&format=html','C-C',qbtarget,'CommonsClash');
w (1,"http://toolserver.org/~magnus/commonshelper.php?interface=de&lang=de&project=wikipedia",'M2C',qbtarget,'Move-to-commons-Assistent');
}
function qbExternTools() {
w (0,trenner,'Externe Tools','');
// w (1,"http://www.copyscape.com",'CopySc',qbtarget);
w (1,"http://www.affenkrieger.de/wiki/wikicc.php",'AffenKr',qbtarget,'Affenkrieger');
w (1,'http://vs.aka-online.de/cgi-bin/globalwpsearch.pl?search='+pesctitle+'&timeout=300&minor=1','GWS',qbtarget,'GlobalWikiSearch');
w (1,'http://wikipedia.ramselehof.de/wikiblame.php?article='+pesctitle+'&user_lang=de&skipversions=2&ignorefirst=3&limit=250','WBlame',qbtarget,'Wikiblame');
w (1,'http://vs.aka-online.de/cgi-bin/wppagehiststat.pl?lang=de&page='+pesctitle,'WPHS',qbtarget,'Seitenstatistik');
// w (1,"http://www.itp.uni-hannover.de/~krohn/wscan.html.utf8",'Krohn',qbtarget);
// w (1,'http://toolserver.org/~arnomane/cgi-bin/WP-autoreview.pl?l=de&do_typo_check=ON&Go%21=Go%21&lemma='+pesctitle,'AR',qbtarget,'AutoReview');
w (1,'http://toolserver.org/~timl/cgi-bin/wikilint?l=de&do_typo_check=ON&remove_century=ON&Go%21=Go%21&lemma='+pesctitle,'WL',qbtarget,'WikiLint (Autoreviewer)');
// w (1,"http://www.canoo.net",'Canoo',qbtarget);
w (1,"http://www.cia.gov/cia/publications/factbook/index.html",'FactB',qbtarget,'CIA World Factbook');
w (1,"http://de.encarta.msn.com/artcenter_/browse.html",'Enc',qbtarget,'MSN Encarta');
w (1,"http://lexikon.meyers.de/meyers/Meyers:Meyers_Lexikon_online",'Meyers',qbtarget,'Meyers Lexikon online');
w (1,"http://www.retrobibliothek.de/retrobib/suche.html",'rbib',qbtarget,'retro-bib (u. a. Meyers Konversationslexikon 1888)');
if (isArticle) {
// w (1,"http://www.zeno.org/Zeno/0/Suche?&q=%22" + spesctitlelookup + "%22&h=1",'Zeno',qbtarget,'Verschiedene Lexika bei zeno.org');
w (1,"http://www.zeno.org/Zeno/0/Suche?&q=" + spesctitlelookup + "&h=1",'Zeno',qbtarget,'Verschiedene Lexika bei zeno.org');
} else {
w (1,"http://www.zeno.org/Bibliothek",'Zeno',qbtarget,'Verschiedene Lexika bei zeno.org');
}
w (1,"http://www.ddb.de",'DNB',qbtarget,'Deutsche Nationalbibliothek');
if (isArticle) {
w (1,"http://dispatch.opac.ddb.de/DB=4.1/CMD?ACT=SRCHA&IKT=8514&SRT=YOP&TRM="+quickEscape(personlemma,1),'DNB-PND',qbtarget,'DNB (PND-Suche)');
} else {
w (1,"http://dnb.ddb.de/",'DNB-PND',qbtarget,'DNB (PND-Suche)');
}
w (1,"http://www.ubka.uni-karlsruhe.de/kvk.html",'KVK',qbtarget,'Karlsruher Virtueller Katalog');
// w (1,"http://toolserver.org/gradzeichen/IsbnCheckAndFormat?Language=Deutsch&FormatOnlyRaw=no&Test=http%3A%2F%2Fswb.bsz-bw.de%2FDB%3D2.1%2FCMD%3FACT%3DSRCHA%26IKT%3D1007%26TRM%3DMAGIC",'ISBN',qbtarget,'ISBN Checker/Formatter');
w (1,"http://www.deutsche-biographie.de/ndbmaske.html",'A/NDB',qbtarget,'Allgemeine/Neue Deutsche Biographie');
// w (1,"http://bse.sci-lib.com/",'Бсэ',qbtarget,'Большая советская энциклопедия');
w (1,"http://encycl.yandex.ru/dict/bse",'Бсэ',qbtarget,'Большая советская энциклопедия');
w (1,"http://wikyrilliza.visuelya.de/index.php.utf8",'Вик',qbtarget,'Wikyrilliza');
}
function qbEditTags() {
if (isDatei) return;
if (!isEdit) return;
w (0,trenner,'Editierhilfen','');
w (3,"br,'',''",'br','','Zeilenumbruch');
w (3,"'&','nbsp;',''",'nbsp','','Geschütztes Leerzeichen');
w (3,"'†','',''",'†','','Kreuz');
// w (3,"'—','',''",'—','','Geviertstrich (Spiegelstrich)');
w (3,"'–','',''",'–','','Halbgeviertstrich (Gedankenstrich)');
// w (3,"'-','',''",'-','','Viertelgeviertstrich (Bindestrich)');
// w (3,"'-','',''",'-','','Minuszeichen');
w (3,"'?','',''",'?','','Pfeil nach rechts');
w (3,"'?','',''",'?','','Pfeil nach links');
w (3,"'<!-- ',' -->',''",'// comment','','<!--Kommentar-->');
w (3,"'„','“',''",'„“','','Anführungszeichen');
// </nowiki>
w (3,"'<nowiki>','</nowiki>',''",'Nowiki','','<nowiki>');
w (3,"'<code><nowiki>','</nowiki></code>',''",'Code','','<code+nowiki>');
// <nowiki>
w (3,"'<span class=\\u0022plainlinks\\u0022>','</span>',''",'Plain','','Plain Link');
w (3,"'<small>','</small>',''",'<small>small</small>','','Klein');
w (3,"'<s>','</s>',''",'<s>strike</s>','','Durchstreichen');
w (3,"'<u>','</u>',''",'<u>under</u>','','Unterstreichen');
w (3,"'<ref>','</ref>',''",'<small>[ref]</small>','','Referenz');
w (3,"'<ref name=\\u0022name\\u0022>','</ref>',''",'<small>[refN]</small>','','Referenz-Name');
w (3,"'<ref name=\\u0022name\\u0022 />','',''",'<small>[refR]</small>','','Referenz-Name-Wiederholung');
// w (3,"'<ref group=\\u0022name\\u0022>','</ref>',''",'<small>[refG]</small>','','Referenz-Gruppe');
// w (3,"'<ref group=\\u0022name\\u0022 name=\\u0022name\\u0022>','</ref>',''",'<small>[refGN]</small>','','Referenz-Gruppe-Name');
w (3,"'<math>','</math>',''",'Math');
w (3,"':<math>\\u005Cmathrm{','}</math>',''",'ChemForm');
w (3,"'\\n{{Kasten|',' " + usersignature + "}}\\n',''","Kast",'','Kasten');
}
function qbArticleTemps() {
if (isDatei) return;
if (!isEdit) return;
w (0,trenner,'Artikelbausteine','');
w (3,"'== Weblinks ==\\n','',''",'Weblinks','','== Weblinks ==');
w (3,"'== Einzelnachweise ==\\n<references />\\n','',''",'Refs','','== Einzelnachweise ==');
w (3,"'[[Kategorie:',']]\\n',''","Kat:",'','[[Kategorie:]]');
w (3,"'{{DEFAULTSORT:" + tagEscape(quickEscape(personlemma,2)) + "}}\\n','',''","DefSrt",'','{{DEFAULTSORT:');
w (3,"'[[Benutzer:',']]',''","User:",'','[[Benutzer:]]');
w (3,"'[[Wikipedia:',']]',''","WP:",'','[[Wikipedia:]]');
w (0,br,'','');
w (3,"'{{Personendaten\\n|NAME=" + tagEscape(personlemma) + "\\n|ALTERNATIVNAMEN=\\n|KURZBESCHREIBUNG=\\n|GEBURTSDATUM=\\n|GEBURTSORT=\\n|STERBEDATUM=\\n|STERBEORT=\\n}}\\n','',''",'PD','','{{Personendaten...');
w (3,"'* {{PND|','}}\\n',''","PND",'','PND (individualisiert)');
w (3,"'* {{PND|','|Keine Treffer im DNB-OPAC, " + refDatumlang + "}}\\n',''","PNDx",'','PND (individualisiert, ohne Treffer)');
w (3,"'* {{PNDfehlt|" + refDatumlang + "|','}}\\n',''","PNDF",'','PNDfehlt (nicht individualisiert, aber mit Treffern)');
w (3,"'* {{ADB|Band|SeiteStart|SeiteEnde|" + tagEscape(personlemma) + "|Artikelautor}}\\n','',''","ADB",'','{{ADB...');
w (3,"'* {{NDB|Band|SeiteStart|SeiteEnde|" + tagEscape(personlemma) + "|Artikelautor}}\\n','',''","NDB",'','{{NDB...');
w (3,"'* {{BBKL|x/name_x_y|autor=|artikel=" + tagEscape(personlemma) + "|band=|spalten=–}}\\n<!-- bitte vollständig ausfüllen -->\\n','',''","BBKL",'','{{BBKL...');
w (3,"'* {{IMDb Name|','|" + tagEscape(wgTitle) + "}}\\n',''","IMDb-n",'','{{IMDb Name...');
w (3,"'* {{IMDb Titel|tt','|" + tagEscape(wgTitle) + "}}\\n',''","IMDb-t",'','{{IMDb Titel...');
w (3,"'* {{IMDb Firma|','|" + tagEscape(wgTitle) + "}}\\n',''","IMDb-f",'','{{IMDb Firma...');
w (3,"'* {{OFDb|','|" + tagEscape(wgTitle) + "}}\\n',''","OFDb",'','{{OFDb...');
w (0,br,'','');
w (2,"'','#REDIRECT [[]]',1","Redir",'','#REDIRECT [[]]');
w (2,"'+Überarbeiten','{{Überarbeiten}}\\n',3","Überarb",'','{{Überarbeiten}}');
w (2,"'+Quelle','{{Quelle}}\\n',3","Quelle?",'','{{Quelle}}');
w (2,"'+Lückenhaft','{{Lückenhaft|Es fehlen...}}\\n',3","Lücke","","Lückenhaft");
// w (2,"'+Rechtshinweis','{{Rechtshinweis}}',2","Recht");
// w (2,"'+Gesundheitshinweis','{{Gesundheitshinweis}}',2","Gesundh.");
}
function qbMarkupTools() {
if (isDatei) return;
if (!isEdit) return;
w (0,trenner,'Markup-Tools','');
w (4,"addPersData();","AutoPD",'','Automatische Kategorien und Personendaten'); // extern
w (4,"wpTextReplace();","Replace",'','Suchen und Ersetzen');
if (rechtschreibpruefung && !AutorunRP && !isSpecial)
w (4,"spellcheck();","SpellChk",'','Rechtschreibprüfung');
w (4,"ReplaceQuoteSigns();","FixQuote",'','Anführungszeichen korrigieren'); // extern
w (4,"convertEntities();","FixEnt",'','HTML-Entities entfernen'); // extern
w (4,"fixDash();","FixDash",'','Striche auf Halbgeviert vereinheitlichen'); // extern
w (4,"ReplaceMarkup();","FixMark",'','Verschiedene Markup-Korrekturen'); // extern
w (4,"undate();","UnDate",'','Daten entlinken');
}
function qbImageTemps() {
if (!isDatei) return;
if (!isEdit) return;
w (0,trenner,'Bildbausteine','');
w (4,"nowcomm();","NowCommons",'','NowCommons-Baustein setzen');
w (2,"'+DÜP','{{Dateiüberprüfung|Quelle|Urheber|Lizenz|Freigabe|Recht am eigenen Bild|Gezeigtes Werk|Besonderer Fall}}\\n\\n',3","DÜP",'','Dateiüberprüfung (bitte überflüssige Parameter entfernen)');
}
function qbUsertalkTemps() {
if (!isUserpage) return;
if (!isTalk) return;
if (!isEdit) return;
w (0,trenner,'Benutzerbausteine','');
// w (3,"'{{subst:Benutzer:PDD/Greetings/Hallo|1=" + tagEscape(user) + "}} " + tagEscape(usersignature) + "\\n','','','Willkommen!'","Hallo",'','Baustein PDD:Hallo');
w (3,"'{{subst:Benutzer:PDD/Greetings/HalloG|1=" + tagEscape(user) + "|2=" + tagEscape(usersignature) + "}}\\n','','','Willkommen!'","Hallo",'','Baustein PDD:HalloG');
w (3,"'{{subst:Begrüßungsbox|1=" + tagEscape(user) + "|2=a}}\\n','','','Willkommen!'","HalloC",'','Baustein Begrüßungsbox');
w (3,"'{{subst:Benutzer:PDD/Greetings/Danke}} " + tagEscape(usersignature) + "\\n','',''",'Danke','','Baustein PDD:Danke');
w (3,"'{{subst:Benutzer:Complex/Greetings/TestMitStopschild}} " + tagEscape(usersignature) + "\\n','',''",'Stop','','Baustein Complex:TestMitStopschild'); // Abwandlung von [[Benutzer:LKD/V/VHinweis]]
// w (3,"'{{subst:Benutzer:Blah/Vorlage:Vandale}}\\n','',''",'Vand','','Baustein Blah:Vandale');
// w (3,"'{{subst:Benutzer:Tobi B./Vorlage:Löschvandale}} " + tagEscape(usersignature) + "\\n','',''",'LöschV','','Baustein Tobi B.:Löschvandale');
w (3,"'{{subst:Benutzer:PDD/Greetings/KinderKinder!}}\\n','',''",'Kind','','Baustein PDD:Kind');
w (3,"'{{subst:Benutzer:Chaddy/Vorlage:Signaturhinweis}} " + tagEscape(usersignature) + "\\n','',''",'Sign!','','Signieren nicht vergessen');
w (3,"'{{subst:Vorschau}}\\n','',''",'Vorschau','','{{subst:Vorschau}}');
// w (3,"'{{subst:Benutzer:PDD/Greetings/Linkspam}} " + tagEscape(usersignature) + "\\n','',''",'Linkspam','','Baustein PDD:Linkspam');
w (3,"'{{subst:Benutzer:LKD/V/LHinweis}} " + tagEscape(usersignature) + "\\n','',''",'Linkspam','','Baustein LKD:Linkspam');
// w (3,"'{{subst:Benutzer:Complex/Greetings/WP-WEB}} " + tagEscape(usersignature) + "\\n','',''",'LinkspamC','','Baustein Complex:WP-WEB'); // Abwandlung von [[Benutzer:LKD/V/LHinweis]]
if (adminflag)
w (3,"'{{subst:Gelöscht|g=ja}} " + tagEscape(usersignature) + "\\n','',''",'SLA-ex','','Autorenbenachrichtigung nach Schnelllöschung');
}
function qbAdminTools() {
if (!adminflag) return;
if (isUserMainpage && isEdit) {
w (0,trenner,'','');
w (2,"'+Gesperrter Benutzer','{{Gesperrter Benutzer}}',1","BSp",'','Benutzer gesperrt');
w (2,"'+Offener Proxy','{{Offener Proxy}}',2","OP",'','Offener Proxy');
w (2,"'+Gesperrte IP','{{IP-Sperrung}}',2","IP-S",'','IP gesperrt');
}
if (isRestore) {
w (0,trenner,'','');
w (4,"revAllDeletedVersions();","Auswahl umkehren?","","Versionsauswahl umkehren?");
}
}
function qbAutoTemps() {
if (isSpecial && !isContrib) return;
w (0,trenner,'Auto-Bausteine','');
if (( isGeneric) && (!isSpecial)) w (4,"eintragen(1);","QS+","","+Qualitätssicherung");
if (( isGeneric) && (!isSpecial)) w (4,"eintragen(5);","URV+","","+URV");
if (( isGeneric) && (!isSpecial)) w (4,"eintragen(2);","LA+","","+Löschantrag");
if (( isCategory) && (!isSpecial)) {
w (4,"eintragen(7);","KatLA+","","+Löschantrag (Kategorie)");
w (4,"eintragen(14);","KatMove+","","+Verschiebeantrag (Kategorie)");
}
if (( isTemplate) && (!isSpecial)) w (4,"eintragen(8);","VorLA+","","+Löschantrag (Vorlage)");
if ( (!isSpecial)) {
w (4,"eintragen(3);","SLA+","","+Schnelllöschantrag");
// w (4,"eintragen(3, 'Kein Artikel.');","SLA+/KA","","+Schnelllöschantrag (Kein Artikel)");
}
if (hinweis) {
// if (( isGeneric) && (!isSpecial)) w (4,"hinweis(1);","PH+","","+Portalhinweis");
// if (( isGeneric) && (!isSpecial)) w (4,"hinweis(2);","RH+","","+Redaktionshinweis");
}
if (wgPageName == "Wikipedia:Spielwiese") w (4,"eintragen(10);","SPW-Reset","","Spielwiese zurücksetzen");
if (( isContrib) || ( isUserpage)) {
w (4,"eintragen(6);","VANDAL+","","+Vandalismusmeldung (Benutzer)");
}
if (( isArticle) || ( isCategory)) {
w (4,"eintragen(9);","VANDAL+","","+Vandalismusmeldung (Artikel)");
}
}
/*
* hier wird der Quickbar in die Seite geschrieben
* (ab hier bitte nichts ändern)
*/
buildQuickbar();
document.write(Quickbar);
if (typeof(version) == 'undefined') var version = "?";
document.write('<div style="font-size:',qbfontsize,'%;width: 11.6666em;">',xxx,'</div></div>');
if (scrpt > '') {
document.write('<script> function _doopt (was) { switch (was) {', scrpt, '}}<\/script>');
scrpt='';
}
//
// ab hier functions
//
function w (was,lurl,linktext,targt,title) {
if (!title) title=linktext;
if (!zeigehilfe) title='';
if (!dropdown) {
switch (was) {
case 0 : xxx=xxx+lurl;break;
case 1 : xxx=xxx+'<a href="'+lurl+'" target="'+targt+'" title="'+title+'">'+linktext+'</a> ';break;
case 2 : xxx=xxx+'<a href="#" onclick="newtext('+ lurl +')" title="'+title+'">'+linktext+'</a> ';break;
case 3 : xxx=xxx+'<a href="#" onclick="insertTagsWrapper('+ lurl +')" title="'+title+'">'+linktext+'</a> ';break;
case 4 : xxx=xxx+'<a href="#" onclick="'+ lurl +'" title="'+title+'">'+linktext+'</a> ';break;
}
} //if
else //todo: Hilfe bei Dropdowns. Benutzt die überhaupt jemand????
{
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+':insertTagsWrapper('+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 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 closedropdown () {
if (indropdown) xxx=xxx+'</select>';
indropdown = false;
}
function newtext (subj,text,wo)
{ //wo=1 : Text austauschen
//wo=2 : Text am Ende anhängen
//wo=3 : Text vorne Einfügen
if (subj > "") {
if (document.editform.wpSummary.value > "") document.editform.wpSummary.value += ", ";
document.editform.wpSummary.value = 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=text+'\n'+document.editform.wpTextbox1.value;break;
}
document.editform.wpTextbox1.focus();
}
function insertTagsWrapper(tagOpen, tagClose, sampleText, subj) {
if (subj > "") {
if (document.editform.wpSummary.value > "") document.editform.wpSummary.value += ", ";
document.editform.wpSummary.value = document.editform.wpSummary.value + subj;
}
insertTags(untagEscape(tagOpen), untagEscape(tagClose), untagEscape(sampleText))
}
// Krimskrams
function isEven(myNumber) {
return (myNumber % 2 == 0);
}
function isOdd(myNumber) {
return (! isEven(myNumber));
}
function LeadingZero(x) {
return (x >= 10 || x < 0 ? "" : "0") + x;
}
function hasRight(right) {
var specialrights = false;
if (typeof wgUserGroups != 'object') return(specialrights);
if (typeof wgUserGroups[0] != 'string') return(specialrights);
for (i=0;i<wgUserGroups.length;i++) {
if (wgUserGroups[i] == right) specialrights = true;
}
return(specialrights);
}
function quickEscape(text, esctype)
{
// esctype = 1 -> normal umlaut escapes
// esctype = 2 -> wikisort umlaut escapes
text = text.replace(/ß/g, "ss");
text = text.replace(/Á/g,"A").replace(/á/g,"a")
.replace(/À/g,"A").replace(/à/g,"a")
.replace(/Ă/g,"A").replace(/ă/g,"a")
.replace(/Â/g,"A").replace(/â/g,"a")
.replace(/Å/g,"A").replace(/å/g,"a")
.replace(/Ā/g,"A").replace(/ā/g,"a")
.replace(/Ć/g,"C").replace(/ć/g,"c")
.replace(/Č/g,"C").replace(/č/g,"c")
.replace(/Ç/g,"C").replace(/ç/g,"c")
.replace(/Đ/g,"Dj").replace(/đ/g,"dj")
.replace(/É/g,"E").replace(/é/g,"e")
.replace(/È/g,"e").replace(/è/g,"e")
.replace(/Ë/g,"e").replace(/ë/g,"e")
.replace(/Ě/g,"e").replace(/ě/g,"e")
.replace(/Ğ/g,"G").replace(/ğ/g,"g")
.replace(/Í/g,"I").replace(/í/g,"i")
.replace(/Ì/g,"I").replace(/ì/g,"i")
.replace(/Ï/g,"I").replace(/ï/g,"i")
.replace(/İ/g,"I").replace(/ı/g,"i")
.replace(/Î/g,"I").replace(/î/g,"i")
.replace(/Ł/g,"L").replace(/ł/g,"l")
.replace(/Ļ/g,"L").replace(/ļ/g,"l")
.replace(/Ń/g,"N").replace(/ń/g,"n")
.replace(/Ñ/g,"N").replace(/ñ/g,"n")
.replace(/Ň/g,"N").replace(/ň/g,"n")
.replace(/Ņ/g,"N").replace(/ņ/g,"n")
.replace(/Ó/g,"O").replace(/ó/g,"o")
.replace(/Ò/g,"O").replace(/ò/g,"o")
.replace(/Ô/g,"O").replace(/ô/g,"o")
.replace(/Ø/g,"O").replace(/ø/g,"o")
.replace(/Õ/g,"O").replace(/õ/g,"o")
.replace(/Ő/g,"O").replace(/ő/g,"o")
.replace(/Ř/g,"R").replace(/ř/g,"r")
.replace(/Ś/g,"S").replace(/ś/g,"s")
.replace(/Š/g,"S").replace(/š/g,"s")
.replace(/Ş/g,"S").replace(/ş/g,"s")
.replace(/Ţ/g,"T").replace(/ţ/g,"t")
.replace(/Ú/g,"U").replace(/ú/g,"u")
.replace(/Ù/g,"U").replace(/ù/g,"u")
.replace(/Ű/g,"U").replace(/ű/g,"u")
.replace(/Ů/g,"U").replace(/ů/g,"u")
.replace(/Ý/g,"Y").replace(/ý/g,"y")
.replace(/Ÿ/g,"Y").replace(/ÿ/g,"y")
.replace(/Ź/g,"Z").replace(/ź/g,"z")
.replace(/Ž/g,"Z").replace(/ž/g,"z")
.replace(/Ż/g,"Z").replace(/ż/g,"z")
.replace(/Æ/g,"Ae").replace(/æ/g,"ae")
.replace(/Œ/g,"Oe").replace(/œ/g,"oe");
if (esctype == 1) {
text = text.replace(/Ä/g,"Ae").replace(/ä/g,"ae")
.replace(/Ö/g,"Oe").replace(/ö/g,"oe")
.replace(/Ü/g,"Ue").replace(/ü/g,"ue")
.replace(/Ə/g,"Ae").replace(/ə/g,"ae");
} else {
text = text.replace(/Ä/g,"A").replace(/ä/g,"a")
.replace(/Ö/g,"O").replace(/ö/g,"o")
.replace(/Ü/g,"U").replace(/ü/g,"u")
.replace(/Ə/g,"A").replace(/ə/g,"a");
}
return(text);
}
function tagEscape(text)
{
text = text.replace(/'/g, "%27");
text = text.replace(/"/g, "%22");
return(text);
}
function untagEscape(text)
{
text = text.replace(/%27/g, "'");
text = text.replace(/%22/g, "\"");
return(text);
}
function spaceEscape(text)
{
text = text.replace(/ /g, "+");
text = text.replace(/_/g, "+");
return(text);
}
// functions for getting API timestamp
function getAPItimestamp(dateobject) {
return (dateobject.getFullYear() * 10000000000) + ((dateobject.getMonth() + 1) * 100000000) + (dateobject.getDate() * 1000000) + (dateobject.getHours() * 10000) + (dateobject.getMinutes() * 100);
}
function getFutureDate() {
var dateobject = new Date();
// adding 3 hours to dateobject
dateobject.setTime(dateobject.getTime() + (3 * 3600 * 1000));
return (getAPItimestamp(dateobject));
}
function getPastDate() {
var dateobject = new Date();
// subtracting 3 days from dateobject
dateobject.setTime(dateobject.getTime() - (3 * 24 * 3600 * 1000));
return (getAPItimestamp(dateobject));
}
// Funktion: importPage()
// zum Einbinden der Module
function importPage(seite, lang) { // all languages support
name='User:'; // international name, works in all wikipedias
if(!lang) lang = wgContentLanguage;
// new version
seite = 'http://' + lang + '.wikipedia.org' + wgScriptPath + '/index.php?title=' + name + seite +
'&action=raw&ctype=text/javascript&smaxage=0';
var head = document.getElementsByTagName('head').item(0);
var js = document.createElement('script');
js.setAttribute('type', 'text/javascript');
js.setAttribute('src', seite);
js.setAttribute('charset', 'utf-8');
head.appendChild(js);
return false;
// old version
// document.write('<SCRIPT TYPE="text/javascript" SRC="http://' + lang
// + '.wikipedia.org/w/index.php?title=' + name + seite
// + '&action=raw&ctype=text/javascript&smaxage=0"><\/SCRIPT>');
}
/*
* 3xImport von [[Benutzer:Revvar]]
* aus [[Benutzer:Revvar/wikibits.js]] und [[Benutzer:Revvar/monobook.js]]
*/
/**
Imports a user javascript page from any wikipedia project into the actual document.
@version 0.1
@date 2007/03/22
@author: based on function importPage from [[de:User:PDD]]s monobook.js, extended by [[de:User:Revvar]]
@param page Name of the user page without the "user:" prefix and the ".js" appendix
@param lang (optional) Language code of the corresponding wikipedia project. Default is the callers project.
@return "true" on success, "false" otherwise
*/
function importJavascriptL(page, lang)
{
try {
/* check the parameters and set defaults */
if(!page) throw("importJavascriptL: Missing parameter page.");
if(!lang) lang = wgContentLanguage;
/* create import url */
var import_url = 'http://' + lang + '.wikipedia.org' + wgScriptPath + '/index.php?title=User:' + page +
'.js&action=raw&ctype=text/javascript&smaxage=0';
/* import page */
var Head = document.getElementsByTagName('head').item(0);
var Script = document.createElement('script');
Script.setAttribute('type', 'text/javascript');
Script.setAttribute('src', import_url);
Script.setAttribute('charset', 'utf-8');
Head.appendChild(Script);
return true;
} catch(e) {
alert(e.message);
return false;
}
}
/**
Imports a user css page from any wikipedia project into the actual document.
@version 0.1.1
@date 2007/03/26
@author: based on function importPage from [[de:User:PDD]]s monobook.js, rewritten by [[de:User:Revvar]]
@param page Name of the user page without the "user:" prefix and the ".css" appendix
@param lang (optional) Language code of the corresponding wikipedia project. Default is the callers project.
@return "true" on success, "false" otherwise
*/
function importCSSL(page, lang)
{
try {
/* check the parameters and set defaults */
if(!page) throw("importCSSL: Missing parameter page.");
if(!lang) lang = wgContentLanguage;
/* create import url */
var import_url = 'http://' + lang + '.wikipedia.org' + wgScriptPath + '/index.php?title=User:' + page +
'.css&action=raw&ctype=text/css&smaxage=0';
/* import page */
var Head = document.getElementsByTagName('head').item(0);
var CSS = document.createElement('style');
CSS.setAttribute('type', 'text/css');
CSS.setAttribute('charset', 'utf-8');
CSS.appendChild(document.createTextNode("@import url(" + import_url + ");"));
Head.appendChild(CSS);
return true;
} catch(e) {
alert(e.message);
return false;
}
}
/**
Asynchron import of a Javascript file from the toolserver.
@version 0.1
@date 2007/04/24
@author based on function importPage from [[de:User:PDD]]s monobook.js, rewritten by [[de:User:Revvar]]
@param path Path to the toolserver script without the ".js" appendix
*/
function import_JS_from_TS(path)
{
try {
/* check the parameter */
if(!path) throw("import_JS_from_TS: Missing parameter path.");
/* create import url */
var import_url = 'http://toolserver.org/' + path + '.js';
/* import */
setTimeout(function(e) {
var Head = document.getElementsByTagName('head').item(0);
var Script = document.createElement('script');
Script.setAttribute('type', 'text/javascript');
Script.setAttribute('src', import_url);
Script.setAttribute('charset', 'utf-8');
Head.appendChild(Script);
}, 1000);
} catch(e) {
alert(e.message);
return;
}
}
// helperFunctions.js:
// enthält obligatorische Hilfsfunktionen für [[Benutzer:PDD/monobook.js]]
// <nowiki>
if (typeof(rcalertbox) == 'undefined')
var rcalertbox = true;
if (typeof(drawquickbar) == 'undefined')
var drawquickbar = true;
////////////////////////////////////////////////////////////////////////////////////////
// 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)
var subjp = "subj"; // Subject
var subjaddp = "subjadd"; // Subject zum Ranhängen
var textp = "txt"; // Für Text-Austausch
var insp = "ins"; // Vor dem Text einfügen
var addp = "add"; // an Text anhängen
var minorp = "minor"; // (k)leine Änderung
var nocreatep = "nocreate"; // beim Eintragen keine neue Seite generieren
// für autosave:
var asuserp = "asuser"; // usertoken
var astimep = "astime"; // timestamptoken
////////////////////////////////////////////////////////////////////////////////////////
// URI-Parameter für setReload() und doReload()
var reloadme = "neuladen"; // merker für reload
////////////////////////////////////////////////////////////////////////////////////////
// absenden()
// aufgerufen aus fillActionPage() und hinweis() in hinweise.js
function absenden() {
if (!debugme)
document.editform.wpSave.click();
else
alert ('Speichern');
}
////////////////////////////////////////////////////////////////////////////////////////
// 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)
function fillActionPage() {
// wenn Bausteineinfügung am Anfang:
// nur einfügen, wenn Seite noch nicht gelöscht
var pagedeleted = 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
var doubleinsert = false;
if (UrlParameters[textp] > "")
doubleinsert = findDoubleEntry(UrlParameters[textp], document.editform.wpTextbox1.value);
else if (UrlParameters[insp] > "")
doubleinsert = findDoubleEntry(UrlParameters[insp], document.editform.wpTextbox1.value);
else if (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];
}
else if (UrlParameters[insp] > "")
document.editform.wpTextbox1.value = UrlParameters[insp] + document.editform.wpTextbox1.value;
else if (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
else if (pagedeleted && (UrlParameters[nocreatep] == "1"))
do_rc_alert("Artikel wurde bereits gelöscht!");
// wenn autosave eingeschaltet: Seite speichern
else if (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()
function findDoubleEntry(baustein, artikeltext) {
var doublette = false;
// wenn keine Vorlage enthalten: Abbruch
if (baustein == baustein.split("{{")[0]) return (doublette);
var chkbaustein = baustein.split("{{")[1].split("}}")[0].split("|")[0];
chkbaustein = "{{" + chkbaustein ;
if (navigator.userAgent.indexOf("Opera") == -1) {
// checking
// 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);
}
////////////////////////////////////////////////////////////////////////////////////////
// initQuickbar()
// positioniert den Quickbar
function initQuickbar() {
// Variables that could be defined in your monobook
if (typeof(keeplogo) == 'undefined')
keeplogo = false;
if (typeof(releasequickbar) == 'undefined')
releasequickbar = false;
quickbarpos = "absolute";
if (!keeplogo) {
document.getElementById("p-navigation").style.marginTop =
(document.getElementById("p-quickbar").clientHeight -146)+"px";
document.getElementById("p-logo").style.display = "none";
}
if (!releasequickbar) {
document.getElementById("p-quickbar").style.position = quickbarpos;
}
//hack
document.getElementById('p-cactions').getElementsByTagName('h5')[0].style.fontSize="100%";
}
if (drawquickbar) addOnloadHook(initQuickbar);
////////////////////////////////////////////////////////////////////////////////////////
// doReload()
// setzt nach Reload die Reload-Selection wieder
function doReload() {
if (UrlParameters[reloadme] == "1") {
document.getElementById('reloadme').checked=true;
setReload();
}
}
if (!isEdit) addOnloadHook(doReload);
////////////////////////////////////////////////////////////////////////////////////////
// extendWpReason()
// hebt 255-Zeichen-Textfeldbegrenzung auf
function extendWpReason() {
var loeschgrund;
if (loeschgrund = document.getElementById('wpReason')) {
loeschgrund.setAttribute('maxLength',512);
}
}
if (wgAction == "delete") addOnloadHook(extendWpReason);
////////////////////////////////////////////////////////////////////////////////////////
// setReload()
// aufgerufen, wenn im Quickbar die Reload-Selection gesetzt wird
var timeoutaktiv;
function setReload() {
if (document.getElementById('reloadme').checked && (UrlParameters[reloadme] != "1")) {
var uri = (document.URL.indexOf('?') >0) ? ('&' + reloadme + '=1') : ('?' + reloadme + '=1');
timeoutaktiv = window.setTimeout(location.href=location.href+uri, timeout);
}
else if (document.getElementById('reloadme').checked && (UrlParameters[reloadme] == "1")) {
timeoutaktiv=window.setTimeout("location.reload()", timeout);
}
else {
window.clearTimeout(timeoutaktiv); // bizarr, timeoutaktiv ist hier gar nicht belegt?
}
}
////////////////////////////////////////////////////////////////////////////////////////
// checkAllDeletedVersions()
// alle Checkboxen auswählen, für Versionenwiederherstellung ([[Spezial:Wiederherstellen]])
// Idee: Poupou
// Autoren: BLueFiSH.as, Schwalbe (ursprünglich als "TaggAll()")
// Neue Version ohne JS-Errors: PDD
function checkAllDeletedVersions() {
var inputobject = document.getElementsByTagName("input");
for (var i=3; i<inputobject.length; i++)
inputobject[i].checked = true;
}
function revAllDeletedVersions() {
var inputobject = document.getElementsByTagName("input");
for (var i=3; i<inputobject.length; i++)
inputobject[i].checked = !inputobject[i].checked;
}
// obsolete Version davon!!
function TaggAll() {
if (minimalVersionStrong(49) < 49) checkAllDeletedVersions();
else checkAllDeletedVersions();
}
/*
* Stringlänge überprüfen für Zusammenfassungszeile
*/
function EditCommentLength(str) {
return (199-str.length);
}
////////////////////////////////////////////////////////////////////////////////////////
// undate()
// von [[Benutzer:D]]
// entlinkt verlinkte Daten
function undate() {
var tbvalue = document.editform.wpTextbox1.value;
tbvalue = tbvalue.replace(/\[\[\s*(\d+(er)?( v. Chr.)?)\s*\]\]/g, "$1");
tbvalue = tbvalue.replace(/\[\[\s*(\d+\. (Jahrhundert|Januar|Februar|März|April|Mai|Juni|Juli|August|September|Oktober|November|Dezember))\s*\]\]/g, "$1");
document.editform.wpTextbox1.value = tbvalue;
document.editform.wpDiff.click();
}
////////////////////////////////////////////////////////////////////////////////////////
// fixDash()
// von [[Benutzer:PDD]]
// speziell für BKLs: alle Striche zu endash vereinheitlichen
// ToDo: nur wenn davor oder danach Ziffer! + bei Leerzeichen (weg)
function fixDashes(s) {
s = s.replace(/\*([12][0-9]{3})/g, "* $1")
.replace(/†([12][0-9]{3})/g, "† $1")
.replace(/([^-0-9][12][0-9]{3})—/g, "$1–")
.replace(/([^-0-9][12][0-9]{3})-/g, "$1–")
.replace(/([^-0-9][12][0-9]{3})−/g, "$1–")
.replace(/([^-0-9][12][0-9]{3}) — /g, "$1–")
.replace(/([^-0-9][12][0-9]{3}) - /g, "$1–")
.replace(/([^-0-9][12][0-9]{3}) − /g, "$1–")
.replace(/([^-0-9][12][0-9]{3}) – /g, "$1–");
return (s);
}
function fixDash() {
// find editor
var form = document.forms['editform'];
if (!form) return;
var tb = form.elements['wpTextbox1'];
if (!tb) return;
tb.value = tb.value;
tb.value = fixDashes(tb.value);
document.editform.wpDiff.click();
}
////////////////////////////////////////////////////////////////////////////////////////
// insertAfter()
// neuen Node nach einem referenceNode einfügen
function insertAfter(parent, node, referenceNode) {
parent.insertBefore(node, referenceNode.nextSibling);
}
////////////////////////////////////////////////////////////////////////////////////////
// trim()
// Leerzeichen am Anfang und Ende entfernen
function trim(str) {
return str.replace(/^\s*|\s*$/g,"");
}
////////////////////////////////////////////////////////////////////////////////////////
// do_rc_alert()
function do_rc_alert(str) {
if (rcalertbox) alert(str);
}
//
// Funktion nowcomm()
// Trägt NowCommons-Baustein ein
// (aufgerufen aus der monobook.js)
//
function nowcomm() {
var lemmaneu = prompt('Dateiname auf Commons:',wgTitle);
if (lemmaneu != null )
newtext('NowCommons','\{\{NowCommons|' + lemmaneu +'}}',3);
}
//
// Helper-Funktion getLemma()
// (aufgerufen von eintragen() aus der eintragen.js )
//
function getLemma () {
var lemma;
lemma = wgPageName;
return lemma;
}
//
// Helper-Funktion extractLemma()
// hack: nur noch für contribs
// (aufgerufen von eintragen() aus der eintragen.js )
//
function extractLemma () { //Littl
var lemma;
if ((isContrib) && ( UrlParameters["target"] > "" ))
lemma = UrlParameters["target"];
else if ( UrlParameters["title"] > "" )
lemma = UrlParameters["title"];
else {
lemma = decodeURIComponent(location.href.substring(location.href.indexOf("/wiki/") + 6)).split('#')[0];
// fix linky links (?redirect=no)
//lemma = lemma.split['\x3F'][0];
if (lemma.indexOf("redirect=no")!=-1)
lemma=lemma.substring(0,lemma.indexOf("redirect=no")-1);
}
// if (lemma.substring(0, 5) == "Bild:") lemma=lemma.slice(5);
// if (lemma.substring(0, 10) == "Kategorie:") lemma=lemma.slice(10);
if (isPHP) lemma=lemma.split('+').join('_');
return lemma;
}
// token functions
function generate_asuser () {
return encodeURIComponent(wgUserName);
}
function validate_asuser (asuser) {
var retval = false;
if (encodeURIComponent(asuser) == generate_asuser() )
retval = true;
return retval;
}
function generate_astime () {
var arbitrary_datestamp = Date.UTC(2008,10,1,0,0,0,0); // 1.11.2008
var current_date = new Date();
var current_timestamp = current_date.getTime();
return ( Math.floor((current_timestamp - arbitrary_datestamp) / 1000) );
}
function validate_astime (astime) {
var retval = false;
var timediff = generate_astime() - astime;
if ((timediff >= 0) && (timediff < 45))
retval = true;
return retval;
}
// ***** FOOT-Block *****
// </nowiki> <- nicht löschen!!!
// ausgelagerte obligatorische Funktionen
importJavascriptL('PDD/supportFuncs','de'); // [[Benutzer:PDD/supportFuncs.js]]
importJavascriptL('PDD/eintragen','de'); // [[Benutzer:PDD/eintragen.js]]
// obligatorisch nur für editpages
if (isEdit) {
importJavascriptL('PDD/wpTextReplace','de'); // [[Benutzer:PDD/wpTextReplace.js]]
importJavascriptL('BLueFiSH.as/JS/replaceQuoteSigns','de'); // [[Benutzer:BLueFiSH.as/JS/replaceQuoteSigns.js]]
importJavascriptL('BLueFiSH.as/JS/markup','de'); // [[Benutzer:BLueFiSH.as/JS/markup.js]]
importJavascriptL('PDD/convertEntities','de'); // [[Benutzer:PDD/convertEntities.js]]
importJavascriptL('Euku/persDaten','de'); // [[Benutzer:Euku/persDaten.js]]
}
// ausgelagerte optionale Funktionen (Autoload)
// revert/loglink-Funktionen: möglichst früh einbinden
// Revert godmode-light
if (godmodelight && !adminflag && !editorflag && !isEdit && !(isSpecial && !isContrib)) {
importJavascriptL('PDD/godmode-light','de'); // [[Benutzer:PDD/godmode-light.js]]
// importJavascriptL('Olliminatore/godmode-light','en'); // [[:en:User:Olliminatore/godmode-light.js]]
}
// Revert addEditAndRevertLinks
if (!(!aerhistory && isHistory) && !isEdit) {
if (editlinkoldversion || revertwithreason)
importJavascriptL('PDD/addEditAndRevertLinks','de'); // [[Benutzer:PDD/addEditAndRevertLinks.js]]
}
// LogLinks addLogsLink
if (addlogslink && !isSpecial) importJavascriptL('PDD/addLogsLink','de'); // [[Benutzer:PDD/addLogsLink.js]]
// jetzt alles andere, was optional ist
if (!isSpecial)
if (addeditintro || addpurge) importJavascriptL('PDD/modifyCA','de'); // [[Benutzer:PDD/modifyCA.js]]
// changeBeschriftungen *nach* modifyCA.js (!)
if (beschriftungen) importJavascriptL('PDD/changeBeschriftungen','de'); // [[Benutzer:PDD/changeBeschriftungen.js]]
if (sperrstatus) importJavascriptL('Stefan/Sperrstatus','de'); // [[Benutzer:Stefan/Sperrstatus.js]]
if (rechtschreibpruefung && !isSpecial) {
DontAutorunRP = !AutorunRP;
importPage('APPER/RP/js'); // [[Benutzer:APPER/RP/js]]
}
if (ippvandalmark && !isEdit) importPage('APPER/IP-Patrol/js'); // [[Benutzer:APPER/IP-Patrol/js]]
if (showredundantlinks && !isSpecial)
importJavascriptL('PDD/showRedundantLinks','de'); // [[Benutzer:PDD/showRedundantLinks.js]]
// Signierfunktionen
if (isEdit && !isArticle) {
if (signing) importJavascriptL('Olliminatore/signing','de'); // [[Benutzer:Olliminatore/signing.js]]
if (unsigning) importJavascriptL('Jonathan_Haas/unsigned','de'); // [[Benutzer:Jonathan_Haas/unsigned.js]]
}
// Portal- und Redaktionshinweis
if (hinweis) importJavascriptL('DerHexer/hinweise','de'); // [[Benutzer:DerHexer/hinweise.js]]
// Kackbalken-Script
if (irrenhaus) importJavascriptL('Revvar/irrenhaus','de'); // [[Benutzer:Revvar/irrenhaus.js]]
// Syntax highlighter
if (js_highlight) importJavascriptL('Olliminatore/shCore','en'); // [[:en:User:Olliminatore/shCore.js]]
// openstreetmap: OpenStreetMap bei Georeferenzen
if (openstreetmap && !isSpecial)
importJavascriptL('Magnus_Manske/osm','de'); // [[Benutzer:Magnus Manske/osm.js]]
// coordinates: Generierung der Koordinaten-Vorlage
if (coordinates && isEdit) importJavascriptL('Dschwen/coordinates','de'); // [[Benutzer:Dschwen/coordinates.js]]
// showreftoggle
if (reftoggle && !isSpecial)
importJavascriptL('Malte_Schierholz/reftoggle','de'); // [[Benutzer:Malte Schierholz/reftoggle.js]]
// setGallery
if (newgallery && !isSpecial)
importJavascriptL('Olliminatore/newgallery','de'); // [[Benutzer:Olliminatore/newgallery.js]]
// quickedit
if (qeEnabled) importJavascriptL('ASM/quickedit','de'); // [[Benutzer:ASM/quickedit.js]]
// RIPE tooltips
if (ripe && !isEdit) importJavascriptL('PDD/tooltips','de'); // [[Benutzer:PDD/tooltips.js]]
// adddelreason
if (adddelreason && adminflag)
importJavascriptL('P.Copp/scripts/adddeletereason','de'); // [[Benutzer:P.Copp/scripts/adddeletereason.js]]
// dellinknowcommons
if (dellinknowcommons && adminflag && isDatei)
importJavascriptL('PDD/dellink-nc','de'); // [[Benutzer:PDD/dellink-nc.js]]
// loescheimer
if (loescheimer && adminflag)
importJavascriptL('PDD/modifyLKs','de'); // [[Benutzer:PDD/modifyLKs.js]]
// Codeispoetrys DupeCheck
if (imgdupecheck && isDatei)
importJavascriptL('PDD/checkDupes','de'); // [[Benutzer:PDD/checkDupes.js]]
// P.Copp's Diffhistory
if (diffhistory) importJavascriptL('P.Copp/scripts/diffhistory','de'); // [[Benutzer:P.Copp/scripts/diffhistory.js]]
// P.Copp's Hideduplicatecontribs
if (isContrib && hideduplicatecontribs) importJavascriptL('P.Copp/scripts/hideduplicatecontribs','de'); // [[Benutzer:P.Copp/scripts/hideduplicatecontribs.js]]
// Markierskripte ganz zum Schluss einbinden, da sie innerHTML verändern
if (markerledigt) importJavascriptL('Euku/markErledigt','de'); // [[Benutzer:Euku/markErledigt.js]]
if (!(!mawatchlist && isWatchlist) && !(!macontribs && isContrib)) {
if (markadmins)
importJavascriptL('PDD/markAdmins','de'); // [[Benutzer:PDD/markAdmins.js]]
}
if (!(!muwatchlist && isWatchlist) && !(!mucontribs && isContrib)) {
if (markutf8)
importJavascriptL('PDD/markUTF8','de'); // [[Benutzer:PDD/markUTF8.js]]
}
if (!(!mmwatchlist && isWatchlist) && !(!mmcontribs && isContrib)) {
if (markmentors)
importJavascriptL('Anka_Friedrich/markMentors','de'); // [[Benutzer:Anka Friedrich/markMentors.js]]
}
// Modul: markAdmins.js
var markadmins = true; // Admins u.ä. besonders hervorheben?
var marksubpages = true; // auch Links auf Admin-Unterseiten markieren?
var mawatchlist = true; // auch auf der Beobachtungsliste?
var macontribs = true; // auch auf den Benutzerbeiträgen?
var markatxt = "A"; // Markierung für Admins
var markrenatxt = "A-Ren"; // Markierung für umbenannte Admins
var markstewtxt = "S"; // Markierung für Stewards
var markombudsmantxt = "Omb"; // Markierung für Ombudspersonen
var markbureautxt = "B"; // Markierung für Bürokraten
var markcomadmins = true; // zusätzlich: Commons-Admins besonders hervorheben?
var markcomatxt = "Com-A"; // Markierung für Commons-Admins
var markexadmins = true; // zusätzlich: Ex-Admins besonders hervorheben?
var markexatxt = "Ex-A"; // Markierung für Ex-Admins
var markexbureautxt = "Ex-B"; // Markierung für Ex-Bürokraten
var markarbcom = true; // zusätzlich: Schiedsgericht besonders hervorheben?
var markarbcomtxt = "SG"; // Markierung für Schiedsgerichtler
var markoversight = true; // zusätzlich: Oversights besonders hervorheben?
var markoversighttxt = "OS"; // Markierung für Oversight-Berechtigte
var markcheckuser = true; // zusätzlich: CheckUser besonders hervorheben?
var markcheckusertxt = "CU"; // Markierung für Checkuser-Berechtigte
// Modul: markUTF8.js
var markutf8 = true; // Sonderzeichenbenutzernamen besonders hervorheben?
var muwatchlist = true; // auch auf der Beobachtungsliste?
var mucontribs = true; // auch auf den Benutzerbeiträgen?
var markutf8txt = "UTF8!"; // Markierung für UTF8-kodierte Nutzernamen etc.
var markltrtxt = "UTF8:LTR!"; // Markierung für Lemmata mit LTR-Mark
// Modul: markErledigt.js
var markerledigt = true; // Erledigt-Button auf Seiten mit [[Vorlage:Autoarchiv-Erledigt]]
// Modul: markAdmins.js
var markadmins = true; // Admins u.ä. besonders hervorheben?
var marksubpages = true; // auch Links auf Admin-Unterseiten markieren?
var mawatchlist = true; // auch auf der Beobachtungsliste?
var macontribs = true; // auch auf den Benutzerbeiträgen?
var markatxt = "A"; // Markierung für Admins
var markrenatxt = "A-Ren"; // Markierung für umbenannte Admins
var markstewtxt = "S"; // Markierung für Stewards
var markombudsmantxt = "Omb"; // Markierung für Ombudspersonen
var markbureautxt = "B"; // Markierung für Bürokraten
var markcomadmins = true; // zusätzlich: Commons-Admins besonders hervorheben?
var markcomatxt = "Com-A"; // Markierung für Commons-Admins
var markexadmins = true; // zusätzlich: Ex-Admins besonders hervorheben?
var markexatxt = "Ex-A"; // Markierung für Ex-Admins
var markexbureautxt = "Ex-B"; // Markierung für Ex-Bürokraten
var markarbcom = true; // zusätzlich: Schiedsgericht besonders hervorheben?
var markarbcomtxt = "SG"; // Markierung für Schiedsgerichtler
var markoversight = true; // zusätzlich: Oversights besonders hervorheben?
var markoversighttxt = "OS"; // Markierung für Oversight-Berechtigte
var markcheckuser = true; // zusätzlich: CheckUser besonders hervorheben?
var markcheckusertxt = "CU"; // Markierung für Checkuser-Berechtigte
// Modul: markUTF8.js
var markutf8 = true; // Sonderzeichenbenutzernamen besonders hervorheben?
var muwatchlist = true; // auch auf der Beobachtungsliste?
var mucontribs = true; // auch auf den Benutzerbeiträgen?
var markutf8txt = "UTF8!"; // Markierung für UTF8-kodierte Nutzernamen etc.
var markltrtxt = "UTF8:LTR!"; // Markierung für Lemmata mit LTR-Mark
// Modul: markErledigt.js
var markerledigt = true; // Erledigt-Button auf Seiten mit [[Vorlage:Autoarchiv-Erledigt]]