User:Codc/monobook.js

// FAQ: // // Frage:  Wie übernehme ich dieses Skript? // // Antwort: Einfach "Quelltext betrachten", alles markieren und kopieren, und dann in deine eigene //         monobook.js (also hierhinein: Benutzer:/monobook.js) kopieren. //         Am sinnvollsten ist es dabei, wenn du die Originalversion von Benutzer:PDD/monobook.js //         übernimmst, da diese immer auf dem neuesten Stand ist. // // Frage:  Kann ich dieses Skript einfach so übernehmen, oder muss ich da tausend Sachen ändern? // // Antwort: Du kannst natürlich alles ändern, aber du musst nicht. Einfach erstmal kopieren, ausprobieren, //         und dann so anpassen, dass es deinem Bedarf gerecht wird. // // Weitere Fragen und Antworten findest du hier: Benutzer:PDD/monobook FAQ

// <--- diese Zeile bitte nicht löschen

// // Hier bitte eine Signaturvariante aussuchen! //

// // (Signaturvariante 1: sinnvoll bei unter "Einstellungen" typografisch angepassten Signaturen) var usersignature = '\~\~\~\~'; // (Signaturvariante 2: Datum kleiner, kein Zeilenumbruch nach dem Leerzeichen) // var usersignature = '-- \~\~\~ \~\~\~\~\~<\/small><\/span>'; // (Wiki-Standard-Signatur, bitte das Leerzeichen nach den zwei Strichen beachten) // var usersignature = '-- \~\~\~\~'; //

// 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)

// *************** SETUP Teil 1a ********************************** // systemweite Default-Optionen aus MediaWiki:Common.js NavigationBarShowDefault = 0;    // Navi-Leisten: alle einklappen == 0; alle ausklappen == 15 (z.B.) var linkFA_enabled = true;       // "Featured Articles" in fremdsprachigen Wikipedias markieren?

// systemweite Default-Optionen aus MediaWiki:Monobook.js var oldEditsectionLinks = false; // "Bearbeiten"-Links bei Abschnitten ganz nach rechts?

// *************** SETUP Teil 1b ********************************** // Parameter für Gadgets // Gadgets müssen über Spezial:Einstellungen -> Gadgets freigeschaltet werden

// Gadget: Extra-Editbuttons, siehe: Helferlein/Extra-Editbuttons

// Anzahl und Reihenfolge wählbar (siehe: Helferlein/Extra-Editbuttons) 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 = true;       // monobook-Version anzeigen? var zeigehilfe = true;         // kurze Hilfetexte beim überfahren mit der Maus anzeigen? var qbnewpage = true;          // 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 ndlimit = 250;             // angezeigte Anzahl auf "Neue Dateien" 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 = 100;           // Schriftgröße im QuickBar (relativ in Prozent)

// // Modul: changeBeschriftungen.js var beschriftungen = true;      // kosmetische Änderungen an der MediaWiki-Oberfläche? var markhandsoff = true;       // 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 = "xt";                   // Art der Benutzerstatistik (Auswahl: xt/x/super/quick) 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 userarticletype = "x";                  // verwendeter Artikelcounter (Auswahl: x)

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 addbrowsedellink = true;      // auf allen Seiten Link zum Browsen in gelöschten Seiten? var browsedeltext = "BrowseDel";            // Text des Links auf BrowseDel-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 addpageinfo = true;        // Tab für Seiteninfo hinzufügen? var pageinfotext = "Info";             // Beschriftung des Tabs var addpurge = true;           // Tab zum Purgen (Servercache-Updaten) einer Seite hinzufügen? var purgetext = "Purge";               // Beschriftung des Tabs var addwatchers = false;       // Tab mit Link zum Watchers-Tool hinzufügen? var watcherstext = "ºº";               // 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 markombudsmantxt = "Omb";   // Markierung für Ombudspersonen

var markexadmins = true;      // zusätzlich: Ex-Admins besonders hervorheben? var markexatxt = "Ex-A";        // Markierung für Ex-Admins

var markexbureaucrats = true; // zusätzlich: Ex-Bürokraten besonders hervorheben? 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 markoversight = true;     // zusätzlich: Oversighter besonders hervorheben? var markoversighttxt = "OS";    // Markierung für Oversight-Berechtigte

var markcomadmins = true;     // zusätzlich: Commons-Admins besonders hervorheben? var markcomatxt = "Com-A";      // Markierung für Commons-Admins

var markwdadmins = true;      // zusätzlich: Wikidata-Admins besonders hervorheben? var markwdatxt = "WD-A";        // Markierung für Wikidata-Admins

// 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: 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 = true;           // automatische Unterschrift auf Diskussionsseiten?

// Modul: SearchBox.js var searchbox = false;         // erweitertes suchen/ersetzen

//

// Modul: popups.js (Lupin, Navpop) var lupinpopups = false;       // Popup-Modul einbinden? // Optionen für Lupin-Popups // (ausführliche Liste siehe Helferlein/Navigation-Popups bzw. // aktueller und auf englisch en:Wikipedia:Tools/Navigation popups) popupDelay = 1;               // Popupverzögerung in s (DEFAULT: 0.5) simplePopups = false;         // auf true setzen, wenn Laden im Hintergrund unerwünscht (DEFAULT: false) popupStructure = 'menus';     // Aussehen der Popups (DEFAULT: 'shortmenus') popupActionsMenu = false;     // separates "actions"-Menu (DEFAULT: true) popupImages = true;           // Bilder im Popup erwünscht? (DEFAULT: true) popupSubpopups = true;        // Popups für Links innerhalb von Popups generieren? (DEFAULT: true) popupAdminLinks = false;      // Funktionen, die nur Admins nutzen können (DEFAULT: false) // nächste Option sollte bei Verwendung von showRedundantLinks.js *nicht* auf true gesetzt werden removeTitles = false;         // Originaltitel der Links nach popups verschieben? (DEFAULT: true) popupFixRedirs = true;                 // Links auf Redirects korrigieren? (DEFAULT: false) popupWatchRedirredPages = false;       // korrigierte Seite beobachten? (DEFAULT: null) popupRedirAutoClick = 'wpSave';        // ausgeführte Aktion beim Korrigieren von Redirects (DEFAULT: 'wpDiff') popupRedlinkRemoval = true;            // Rote Links entfernen? (DEFAULT: false) popupFixDabs = true;                   // Links auf BKLs korrigieren? (DEFAULT: false) popupWatchDisambiggedPages = false;    // korrigierte Seite beobachten? (DEFAULT: null) popupLastModified = true;     // Zeit seit letzter Änderung anzeigen? (DEFAULT: true) popupDiffDates = true;        // Änderungsdaten bei Diffs anzeigen? (DEFAULT: true) popupOnlyArticleLinks = true; // Popups nur für Artikel-Links (DEFAULT: true) imagePopupsForImages = false; // Bildvorschau laden, wenn Mausposition über Bild? (DEFAULT: true) popupMaxWidth = 400;          // Maximalbreite des Popup-Fensters (DEFAULT: 350) popupRevertSummaryPrompt = true;       // Prompt zum Ändern des Revert-Kommentars? (DEFAULT: false) popupMaxPreviewSentences = 2; // Anzahl der angezeigten Sätze in der Vorschau (DEFAULT: 4) // // Link auf Popups zu Messages hinzufügen? addpopuplink = true; // deutsche Texte für Lupin popupFixDabsSummary = "Ersetze BKL-Seite %s durch %s" + (addpopuplink ? " mit Popups" : ""); popupExtendedRevertSummary = "Revert auf Version vom %s von Benutzer %s, oldid %s" + (addpopuplink ? " mit Popups" : ""); popupRevertSummary = "Revert auf Version %s" + (addpopuplink ? " mit Popups" : ""); popupRevertToPreviousSummary = "Revert auf Vorgängerversion der Version %s" + (addpopuplink ? " mit Popups" : ""); popupQueriedRevertSummary = "Revert auf Version $1 vom $2 von $3" + (addpopuplink ? " mit Popups" : ""); popupQueriedRevertToPreviousSummary = "Revert auf Vorgängerversion der Version $1 vom $2 von $3" + (addpopuplink ? " mit Popups" : ""); popupFixRedirsSummary = "Ersetze Redirect %s durch %s" + (addpopuplink ? " mit Popups" : ""); popupRedlinkSummary = "Entferne Link auf leere Seite %s" + (addpopuplink ? " mit Popups" : ""); popupRmDabLinkSummary = "Entferne Link auf BKL-Seite %s" + (addpopuplink ? " mit Popups" : "");

// Modul: wikEdDiff.js (Cacycle) var cacyclediff = false;       // verbesserte Diff-Ansicht (Cacycle) einbinden? var wikEdFullDiff = false;

// Modul: diff.js (Schnark) var schnarkdiff = true;        // verbesserte Diff-Ansicht (Schnark) einbinden?

// Modul: letzteredit.js (Schnark) var letzteredit = true;        // Anzeigen, wann Benutzer zuletzt aktiv?

// 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) var hidenslinksearch = true;   // bei Weblink-Suche unnötiges Zeugs ausblenden (nach 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 ***********************************

// (PDD: note to self: version auch in alert-Funktion ändern!) var version = '0.99h';

var user = mw.config.get('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 = mw.config.get('wgMonthNames'); var Monatekurz = [ "", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ]; 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; var ndDatum = Jahr + '-' + LeadingZero(Monat) + '-' + LeadingZero(Tag);

// Lemma-Varianten (work in progress) + redundant zu addLogsLink etc. // get page title var pagetitle = mw.config.get('wgPageName'); var spagetitle = mw.config.get('wgTitle'); var cpn = mw.config.get('wgCanonicalSpecialPageName');

var ns = mw.config.get('wgNamespaceNumber'); var cns = mw.config.get('wgCanonicalNamespace'); var cLang = mw.config.get('wgContentLanguage'); var sPath = mw.config.get('wgScriptPath');

// 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]; } var import_url; var summary = $('#wpSummary')[0]; var textbox = $('#wpTextbox1')[0]; // stub for internal links if ( mw.config.get( 'wgServer' ).indexOf('https://') === 0 ) { // this is now only for secure.wikimedia.org (while the normal https: uses normal relative URLs) var intlinkstub = 'https://secure.wikimedia.org/wikipedia/' + cLang + '/wiki/' ; var intfuncstub = 'https://secure.wikimedia.org/wikipedia/' + cLang + sPath + '/index.php?' ; } else { var intlinkstub = '//' + cLang + '.wikipedia.org/wiki/' ; var intfuncstub = '//' + cLang + '.wikipedia.org' + sPath + '/index.php?' ; }

// get URL parameters (used for page type variables) var UrlParameters = []; 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      = ns === 0; var isArticleTalk  = ns === 1; var isFile         = cns === "File"; var isCategory     = cns === "Category"; var isTemplate     = cns === "Template"; var isGeneric      = false; if ((!isFile) && (!isCategory) && (!isTemplate)) isGeneric = true; var isProject      = (cns === "Project"); /* NR Wikipedia: */ var isHelp         = (cns === "Help");    /* NR Hilfe */

// page type variables: namespace === -1 var isSpecial   = cns === "Special"; var isRestore   = (isSpecial && (cpn === "Undelete")); var isContrib   = (isSpecial && (cpn === "Contributions")); var isDelContrib = (isSpecial && (cpn === "DeletedContributions")); var isWatchlist = (isSpecial && (cpn === "Watchlist")); var isCompare   = (isSpecial && (cpn === "ComparePages"));

// page type variables: namespace === -1 var isTalk = (!isSpecial && isOdd(ns));

// page type variables: other stuff var isPHP    = (document.URL.indexOf('index.php') > 0);

var isDiff   = mw.util.getParamValue('diff') !== null; var isEdit   = ( ( mw.config.get('wgAction') === 'edit' ) || ( mw.config.get('wgAction') === 'submit' ) ); var isHistory = mw.config.get('wgAction') === 'history';

// individual page specials var isLKpage = false; if ((isProject) && (spagetitle.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 = cns === "User" || cns === "User_talk"; var isUserMainpage = false; if (isUserpage) if (spagetitle === spagetitle.split("/")[0]) { isUserMainpage = true; userPageOwner = spagetitle; }

// 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 = ''; // optional: opacity:0.9; var xxx     = '';

var trenner = ' '; var 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,intlinkstub+'Hilfe:MediaWiki','MW',qbtarget,'MediaWiki-Hilfe'); // w (1,intlinkstub+'Wikipedia:Hilfe','RTFM',qbtarget,'Wikipedia-Hilfe'); // w (1,intlinkstub+'Hilfe:Textgestaltung','TG',qbtarget,'Hilfe zur Textgestaltung'); // w (1,intlinkstub+'Hilfe:Farben','FT',qbtarget,'Hilfe zur Farbgestaltung'); w (1,intlinkstub+'Wikipedia:Kurier','K',qbtarget,'Kurier – Das Wikipedia-Nachrichtenblatt'); w (1,intlinkstub+'Wikipedia:Fragen zur Wikipedia','FZW',qbtarget,'Fragen zur Wikipedia'); w (1,intlinkstub+'Wikipedia:Auskunft','AU',qbtarget,'Auskunft'); // w (1,intlinkstub+'Wikipedia:Autorenportal','P',qbtarget,'Autorenportal'); w (1,intlinkstub+'Wikipedia:Projektneuheiten','NEU',qbtarget,'Projektneuheiten'); w (1,intlinkstub+'Wikipedia:Verbesserungsvorschläge','VV',qbtarget,'Verbesserungsvorschläge'); // w (1,intlinkstub+'Wikipedia:Tellerrand','TE',qbtarget,'Tellerrand'); w (1,intlinkstub+'Wikipedia:Administratoren/Anfragen','AAF',qbtarget,'Administratoren/Anfragen'); w (1,intlinkstub+'Wikipedia:Administratoren/Notizen','AN',qbtarget,'Administratoren/Notizen'); w (1,intlinkstub+'Wikipedia:Kandidaturen','AK',qbtarget,'Kandidaturen'); w (1,intlinkstub+'Wikipedia:Adminwiederwahl','A/W',qbtarget,'Adminwiederwahl'); w (1,intlinkstub+'Wikipedia:Dritte_Meinung','3M',qbtarget,'Dritte Meinung'); w (1,intlinkstub+'Wikipedia:Vermittlungsausschuss','VA',qbtarget,'Vermittlungsausschuss'); w (1,intlinkstub+'Wikipedia:Schiedsgericht/Anfragen','SG/A',qbtarget,'Schiedsgericht/Anfragen'); // w (1,intlinkstub+'Wikipedia:Projektdiskussionen','PRD',qbtarget,'Projektdiskussionen'); w (1,intlinkstub+'Wikipedia:Checkuser/Anfragen','CU/A',qbtarget,'Checkuser/Anfragen'); // w (1,intlinkstub+'Wikipedia:Abkürzungen','ABK',qbtarget,'Abkürzungen'); }

function qbPatrol { w (0,trenner,'Überwachung','');

w (1,intfuncstub+'title=Special:Recentchanges&hideminor=0&hideliu=1&hidebots=1&hidepatrolled=0&days=7&limit='+rclimit,'RCs',qbtarget,'Letzte Änderungen'); w (1,intlinkstub+'Special:Contributions/newbies','RCNs',qbtarget,'Beiträge neuer Benutzer'); w (1,intfuncstub+'title=Special:Newpages&namespace=0&limit='+nplimit,'NeuA',qbtarget,'Neue Artikel'); // w (1,intlinkstub+'Special:Newimages','NeuD',qbtarget,'Neue Dateien (Bilder)'); w (1,intfuncstub+'title=Special:Log&limit='+nulimit+'&type=newusers','NeuB',qbtarget,'Neue Benutzer'); w (1,intfuncstub+'title=Special:Listfiles&limit='+ndlimit,'NeuD',qbtarget,'Neue Dateien'); w (1,intfuncstub+'title=Special:OldReviewedPages&limit='+nvlimit,'NeuE',qbtarget,'Neue Edits in gesichteten Artikeln'); // w (1,intfuncstub+'title=Special:ArticleFeedbackv5','NeuF',qbtarget,'Neues Feedback'); w (1,intlinkstub+'Wikipedia:Vandalismusmeldung','VM',qbtarget,'Vandalismusmeldung'); w (1,intlinkstub+'Wikipedia:Oversight/Kontakt','OSA',qbtarget,'Oversight-Kontakt'); w (1,intlinkstub+'Wikipedia:Sperrprüfung','SP',qbtarget,'Sperrprüfung'); w (1,intlinkstub+'Wikipedia:Löschprüfung','LP',qbtarget,'Löschprüfung'); w (1,intlinkstub+'Wikipedia:Entsperrwünsche','EW',qbtarget,'Entsperrwünsche'); w (1,intlinkstub+'Wikipedia:Administratoren/Probleme','AP',qbtarget,'Admin-Probleme'); w (1,intlinkstub+'Special:Log','Log',qbtarget,'Logbücher');

if (adminflag) { w (1,intlinkstub+'Special:AbuseLog','ELog',qbtarget,'Bearbeitungsfilter-Logbuch'); w (1,intlinkstub+'Wikipedia:Erkennung_offener_Proxys','EOP',qbtarget,'Erkennung offener Proxys'); }   // w (1,'irc://irc.freenode.net/wikipedia-de','IRC',qbtarget,'IRC-Chat #wikipedia-de'); }

function qbWartung { w (0,trenner,'Wartung','');

// w (1,intlinkstub+'Wikipedia:Löschregeln','WP:LR',qbtarget,'Löschregeln'); w (1,intlinkstub+'Kategorie:Wikipedia:Schnelllöschen','SLK',qbtarget,'Schnelllöschkandidaten'); w (1,intlinkstub+'Wikipedia:Löschkandidaten','LK',qbtarget,'Löschkandidaten'); w (1,intlinkstub+'Wikipedia:Löschkandidaten/'+WPDatum,'LKH',qbtarget,'Löschkandidaten (heute)'); // w (1,intlinkstub+'Wikipedia:Löschkandidaten/Bilder/'+WPDatum,'BildLK',qbtarget,'Löschkandidaten (Bilder)'); // w (1,intlinkstub+'Wikipedia:WikiProjekt_Kategorien/Diskussionen/'+WPDatum2,'KatLK',qbtarget,'Löschkandidaten (Kategorien)'); w (1,intlinkstub+'Wikipedia:Löschkandidaten/Urheberrechtsverletzungen','URV',qbtarget,'Löschkandidaten (URVs)');

w (1,intlinkstub+'Wikipedia:Qualitätssicherung/'+WPDatum,'QS',qbtarget,'Qualitätssicherung'); w (1,intlinkstub+'Wikipedia:Redundanz/'+WPDatum3,'RED',qbtarget,'Redundanz'); w (1,intlinkstub+'Kategorie:Wikipedia:Unverständlich','Wirr',qbtarget,'Unverständlich');

w (1,intlinkstub+'Wikipedia:Kandidaturen von Artikeln, Listen und Portalen','KALP',qbtarget,'Kandidaturen von Artikeln, Listen und Portalen'); w (1,intlinkstub+'Wikipedia:Kandidaten für lesenswerte Artikel','KLA',qbtarget,'Kandidaten für lesenswerte Artikel');

w (1,intlinkstub+'Wikipedia:Review','RV',qbtarget,'Review'); w (1,intlinkstub+'Wikipedia:Kandidaten für exzellente Bilder','KEB',qbtarget,'Kandidaten für exzellente Bilder'); // w (1,intlinkstub+'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,"//tools.wmflabs.org/xtools/adminstats/?project=de.wikipedia.org",'AdmA',qbtarget,'Adminaktivität (letzte 100 Tage)'); // 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,"//tools.wmflabs.org/wiki-todo/?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,'ASt',qbtarget,'Wikipedia article traffic statistics'); // w (1,"http://toolserver.org/~mzmcbride/cgi-bin/watcher.py?db=dewiki_p&titles="+pesctitle,'AWa',qbtarget,'Watcher'); // w (1,"https://tools.wmflabs.org/xtools-articleinfo/?wikilang=de&wikifam=.wikipedia.org&page="+pesctitle+"&since=&until=&grouped=on&order=-rev_timestamp&max=100&order=-rev_timestamp&format=html",'ACnt',qbtarget,'Beiträge zu diesem Artikel'); w (1,"//tools.wmflabs.org/wikihistory/wh.php?page_title="+pesctitle+"&lang=de",'AHst',qbtarget,'WikiHistory (APPER)'); } }

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,'IPripe'); w (1,"http://www.mxtoolbox.com/SuperTool.aspx?action=scan%3a"+userPageOwner,'PScan',qbtarget,'Portscan'); // w (1,"http://network-tools.com/default.asp?prog=lookup&host="+userPageOwner,'IPinfo',qbtarget,'IPInfo'); // w (1,"http://toolserver.org/~chm/whois.php?ip="+userPageOwner,'IPinfo',qbtarget,'IPInfo'); w (1,"//tools.wmflabs.org/whois/"+userPageOwner+"/lookup",'IPinfo',qbtarget,'IPInfo'); // 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,"//tools.wmflabs.org/guc/?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,"//de.wikipedia.org" + sPath + "/api.php?action=query&list=usercontribs&format=xml&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'); // w (1,"//tools.wmflabs.org/erwin85/blockfinder.php?lang=de&family=wikipedia&ip="+userPageOwner,'RngB?',qbtarget,'Range Block Finder'); w (1,"//tools.wmflabs.org/blockcalc/index.php?lang=de",'BCalc',qbtarget,'Rangeblock Calculator'); w (1,"http://nativeforeigner.com/calc/",'BCalcNF',qbtarget,'Another Rangeblock Calculator'); w (1,"http://www.mikero.com/misc/ipcalc/?start="+userPageOwner+"&end="+userPageOwner,'BCalcM',qbtarget,'Yet another Rangeblock Calculator'); } else { // w (1,"http://www.ripe.net/whois",'ripe',qbtarget,'Ripe-Lookup'); // 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,"//tools.wmflabs.org/quentinv57-tools/tools/sulinfo.php?username="+userPageOwner+"&showblocks=1&showlocked=1",'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,"//tools.wmflabs.org/guc/?user="+userPageOwner+"&blocks=true&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? (cyroxx)'); // w (1,"http://toolserver.org/~merl/familiar.php?user1="+spaceEscape(user)+"&user2="+spaceEscape(userPageOwner),'UFam',qbtarget,'Are U familiar? (Merlissimo-Backup)'); w (1,"//tools.wmflabs.org/intersect-contribs/?project=dewiki&user1="+spaceEscape(user)+"&user2="+spaceEscape(userPageOwner),'IntC',qbtarget,'Intersect Contribs (pietrodn)'); // w (1,"//tools.wmflabs.org/erwin85/contribs.php?lang=de&family=wikipedia&users="+spaceEscape(user)+"|"+spaceEscape(userPageOwner)+"&limit=500&submit=Submit",'ErwC',qbtarget,'Multiple Contribs (erwin85)'); }   } }

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,"//tools.wmflabs.org/catscan2/quick_intersection.php?lang=de&project=wikipedia&cats="+spesctitle+"&ns=0&depth=12&max=30000&start=0&format=html&redirects=&callback=",'K:Scan',qbtarget,'Kategorie: CatScan'); w (1,"//tools.wmflabs.org/catscan2/catscan2.php?depth=3&categories="+spesctitle+"&interface_language=de&doit=1",'K:Scan2',qbtarget,'Kategorie: CatScan 2.0'); // w (1,"//tools.wmflabs.org/erwin85/categorycount.php?lang=de&family=wikipedia&namespaces=0&category="+spesctitle+"&subcats=1&d=100&submit=Submit",'K:Count',qbtarget,'Kategorie: Anzahl der Artikel'); // 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,"//tools.wmflabs.org/missingtopics/?language=de&project=wikipedia&article=&category="+spesctitle+"&depth=5&wikimode=0&limitnum=1&doit=Run",'K:Miss',qbtarget,'Kategorie: Fehlende Artikel'); w (1,"//tools.wmflabs.org/sighting/deep_out_of_sight.php?category="+spesctitle+"&depth=9",'K:NeuE',qbtarget,'Kategorie: Nachzusichtende Artikel'); w (1,"//tools.wmflabs.org/sighting/deep_insight.php?category="+spesctitle+"&depth=9",'K:UsP',qbtarget,'Kategorie: Erstzusichtende Artikel'); }

function qbImageTools { if (!isFile) return;

w (0,trenner,'Bild-Tools','');

w (1,"//tools.wmflabs.org/commonshelper/?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,"//tools.wmflabs.org/commonshelper/?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,'CopyScape'); // w (1,"http://toolserver.org/~revvar/urv.php",'URV?',qbtarget,'URV-Suche'); 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&searchmethod=lin",'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,'Krohn');

// 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&url=http://de.wikipedia.org/wiki/"+pesctitle,'WL',qbtarget,'WikiLint (Autoreviewer)');

// w (1,"http://www.canoo.net",'Canoo',qbtarget,'Canoo'); w (1,"http://www.cia.gov/cia/publications/factbook/index.html",'FactB',qbtarget,'CIA World Factbook'); 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.d-nb.de/DB=4.1/CMD?ACT=SRCHA&IKT=8514&SRT=YOP&TRM="+quickEscape(personlemma,1),'DNB-GND',qbtarget,'DNB (GND-Suche)'); w (1,"http://swb2.bsz-bw.de/DB=2.104/SET=2/TTL=2/CMD?ACT=SRCHA&IKT=1&TRM="+quickEscape(personlemma,1),'OGND-GND',qbtarget,'OGND (GND-Suche)'); } else { w (1,"http://dnb.ddb.de/",'DNB-GND',qbtarget,'DNB (GND-Suche)'); w (1,"http://swb2.bsz-bw.de/DB=2.104/SET=2/TTL=2/LNG=DU/START_WELCOME",'OGND-GND',qbtarget,'OGND (GND-Suche)'); }

w (1,"http://www.ubka.uni-karlsruhe.de/kvk.html",'KVK',qbtarget,'Karlsruher Virtueller Katalog'); w (1,"//tools.wmflabs.org/isbn/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://mdz10.bib-bvb.de/~ndb/ndbmaske.html",'A/NDB',qbtarget,'Allgemeine/Neue Deutsche Biographie'); // w (1,"http://www.deutsche-biographie.de/suche.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",'Вик',qbtarget,'Wikyrilliza'); w (1,"http://www.mcaviglia.ch/gmap/get_coor_ext.asp?l=de",'Coord',qbtarget,'Get Coordinates'); }

function qbEditTags { if (isFile) 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',,); w (3,"'„','“',",'„“',,'Anführungszeichen'); //    w (3,"' ',' ',",'Nowiki',,' '); w (3,"' ',",'Code',,' \\n',,",'Refs',,'== Einzelnachweise ==');   w (3,"'== Literatur ==\\n',,",'Lit',,'== Literatur ==');    w (3,"'== Weblinks ==\\n',,",'Web','','== Weblinks ==');

w (3,"'\\n',,",'ComC','','commonscat');

w (3,"'\\n',","Kat:",,'[[Kategorie:]]'); w (3,"'\\n',,","DefSrt",'','{{DEFAULTSORT:'); w (3,"'Benutzer:',,","User:",'','Benutzer:'); w (3,",,","WP:",,'');

w (0,br,,);

w (3,"'* {{DNB-Portal|','}}\\n',","DNB-P",,'PND (individualisiert mit Treffern)'); w (3,"'{{Normdaten|TYP=p|GND=','|LCCN=|NDL=|VIAF=}}\\n',","ND",,'Normdaten (GND individualisiert)'); // w (3,"'* {{PNDfehlt|" + refDatumlang + "|','}}\\n',","PNDF",,'PNDfehlt (nicht individualisiert, aber mit Treffern)'); w (3,"'{{Normdaten|TYP=p|GND=|LCCN=|NDL=|VIAF=|GNDName=','|GNDfehlt=ja|GNDCheck=" + ndDatum + "|REMARK=}}\\n',","PNDF",,'PNDfehlt (nicht individualisiert, aber mit Treffern)');

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,"'* {{ADB|Band|SeiteStart|SeiteEnde|" + tagEscape(personlemma) + "|Artikelautor}}\\n',,","ADB",'','{{ADB...'); w (3,"'* {{NDB|Band|SeiteStart|SeiteEnde|" + tagEscape(personlemma) + "|Artikelautor}}\\n',,","NDB",'','{{NDB...'); w (3,"'* {{ÖBL|Band|SeiteStart|SeiteEnde|" + tagEscape(personlemma) + "|Artikelautor}}\\n',,","ÖBL",'','{{ÖBL...'); w (3,"'* {{HLS|Artikelnummer|" + tagEscape(personlemma) + "|Autor=Artikelautor}}\\n',,","HLS",'','{{HLS...'); w (3,"'* {{WWW-DDR|Artikelnummer|" + tagEscape(personlemma) + "|Artikelautor}}\\n',,","DDR",'','{{WWW-DDR...'); w (3,"'* {{BBKL|x/name_x_y|autor=|artikel=" + tagEscape(personlemma) + "|band=|spalten=–}}\\n\\n',,","BBKL",'','{{BBKL...'); // w (3,"'* {{RE|Band|SpalteStart|SpalteEnde|" + tagEscape(personlemma) + "|Artikelautor|Wikisource-Lemma}}\\n',,","RE",'','{{RE...'); // w (3,"'* {{DNP|Band|SpalteStart|SpalteEnde|" + tagEscape(personlemma) + "|Artikelautor}}\\n',,","DNP",'','{{DNP...');

w (3,"'* {{IMDb|nm','|" + tagEscape(spagetitle) + "}}\\n',","IMDb-n",,'{{IMDb Name...'); w (3,"'* {{IMDb|tt','|" + tagEscape(spagetitle) + "}}\\n',","IMDb-t",,'{{IMDb Titel...'); w (3,"'* {{IMDb|co','|" + tagEscape(spagetitle) + "}}\\n',","IMDb-u",,'{{IMDb Unternehmen...'); w (3,"'* {{OFDb|','|" + tagEscape(spagetitle) + "}}\\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 (isFile) 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 (!isFile) 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|Gezeigtes Werk|1923|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',,,'Probier doch mal die Spielwiese!'",'Danke','','Baustein PDD:Danke'); w (3,"'{{subst:Benutzer:LKD/V/VHinweis}}\\n',,,'Bitte damit aufhören.'",'Stop','','Baustein 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',,,'Bitte Diskussionsbeiträge unterschreiben!'",'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|wwni|ka|wer|rel|pov|que|urv|g=ja|art=}} " + tagEscape(usersignature) + "\\n',,,'Dein Artikel wurde gelöscht. Was nun?'",'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 (pagetitle === "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;

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

(zeigeversion ?     ('' + (adminflag ? 'A/' : ) + version + '  ')         : ) +

(!isEdit ?     ('  ')         : ' ') +

'' + (user.split(' ')[0].length < 10) ? user.split(' ')[0] : 'MyPages' + '' +

(userbrowser !== "Standard" ?     ('  ' + userbrowser.charAt(0) + userbrowser.charAt(1) + '!')        : '') + ' '; } Quickbar += '' + xxx + ' ';

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

// // ab hier functions //

function w (was,lurl,linktext,targt,title) { if (!title) title=linktext; if (!zeigehilfe) title=''; if (!dropdown) { switch (was) { case 0 : xxx += lurl;break; case 1 : xxx += ''+linktext+' ';break; case 2 : xxx += ''+linktext+' ';break; case 3 : xxx += ''+linktext+'</a> ';break; case 4 : 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+' '+linktext+' ';ind=2; } else if (lurl==trenner) newdropdown(linktext); break; case 1 : xxx += '<option value="1|'+lurl+'">'+ltext+' ';break; case 2 : xxx += '<option value="2|'+scrptn+'">'+ltext+' '; scrpt=scrpt+'case '+scrptn+':newtext('+lurl+');break;';scrptn++;break; case 3 : xxx += '<option value="3|'+scrptn+'">'+ltext+' '; scrpt=scrpt+'case '+scrptn+':insertTagsWrapper('+lurl+');break;';scrptn++;break; case 4 : xxx += '<option value="4|'+scrptn+'">'+ltext+' '; 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 += '<select size=1 onchange="dodropdown(this.value);" style="width:135px;font-size:9px;">'; if (oname > '') { xxx += ' '+oname+' '; } indropdown = true; ind=2; }

function closedropdown { if (indropdown) xxx += ' '; 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 (summary.value > "") summary.value += ", "; summary.value += subj; }

switch (wo) { case 1 : textbox.value = text + '\n'; break; case 2 : textbox.value += '\n' + text; break; case 3 : textbox.value = text + '\n' +textbox.value; break; }  textbox.focus; }

function insertTagsWrapper(tagOpen, tagClose, sampleText, subj) { if (subj > "") { if (summary.value > "") summary.value += ", "; summary.value += subj; }  mw.toolbar.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; var userrights = mw.config.get('wgUserGroups'); if (typeof userrights !== 'object') return(specialrights); if (typeof userrights[0] !== 'string') return(specialrights); for (i=0;i<userrights.length;i++) { if (userrights[i] === right) specialrights = true; }  return(specialrights); } function quickEscape(text, esctype) {  // esctype = 1 -> normal umlaut escapes // esctype = 2 -> wikisort umlaut escapes

text = text.replace(/[ÀÁÂÃÅĀĂĄǍǞǠǺȀȂȦȺḀẠẢẤẦẨẪẬẮẰẲẴẶ]/g, 'A').replace(/[àáâãåāăąǎǟǡǻȁȃȧⱥḁạảấầẩẫậắằẳẵặẚ]/g, 'a') .replace(/[ÆǢǼ]/g, 'Ae').replace(/[æǣǽ]/g, 'ae') .replace(/[ƁƂɃḂḄḆ]/g, 'B').replace(/[ƀƃḃḅḇ]/g, 'b') .replace(/[ÇĆĈĊČƇȻḈ]/g, 'C').replace(/[çćĉċčƈȼḉ]/g, 'c') .replace(/[ÐĎĐƉƊƋḊḌḎḐḒ]/g, 'D').replace(/[ðďđƌȡḋḍḏḑḓ]/g, 'd') .replace(/ȸ/g, 'db') .replace(/[ǄǅǱǲ]/g, 'Dz').replace(/[ǆǳ]/g, 'dz') .replace(/[ÈÉÊËĒĔĖĘĚƎƐȄȆȨɆḔḖḘḚḜẸẺẼẾỀỂỄỆ]/g, 'E').replace(/[èéêëēĕėęěǝȅȇȩɇḕḗḙḛḝẹẻẽếềểễệ]/g, 'e') .replace(/[ƑḞ]/g, 'F').replace(/[ƒḟ]/g, 'f') .replace(/[ĜĞĠĢƓƔǤǦǴḠ]/g, 'G').replace(/[ĝğġģǥǧǵḡ]/g, 'g') .replace(/[ĤĦȞⱧⱵḢḤḦḨḪ]/g, 'H').replace(/[ĥħȟⱨⱶḣḥḧḩḫẖ]/g, 'h') .replace(/Ƕ/g, 'Hv').replace(/ƕ/g, 'hv') .replace(/[ÌÍÎÏĨĪĬĮİƖƗǏȈȊḬḮỈỊ]/g, 'I').replace(/[ìíîïĩīĭįıǐȉȋḭḯỉị]/g, 'i') .replace(/Ĳ/g, 'Ij').replace(/ĳ/g, 'ij') .replace(/[ĴǰɈ]/g, 'J').replace(/[ĵȷɉ]/g, 'j') .replace(/[ĶƘǨⱩḰḲḴ]/g, 'K').replace(/[ķĸƙǩⱪḱḳḵ]/g, 'k') .replace(/[ĹĻĽĿŁȽⱠⱢḶḸḺḼ]/g, 'L').replace(/[ĺļľŀłƚƛȴⱡḷḹḻḽ]/g, 'l') .replace(/[Ǉǈ]/g, 'Lj').replace(/ǉ/g, 'lg') .replace(/[ḾṀṂ]/g, 'M').replace(/[ḿṁṃ]/g, 'm') .replace(/[ÑŃŅŇŊƝǸȠṄṆṈṊ]/g, 'N').replace(/[ñńņňŉŋƞǹȵṅṇṉṋ]/g, 'n') .replace(/[Ǌǋ]/g, 'Nj').replace(/ǌ/g, 'nj') .replace(/[ÒÓÔÕØŌŎŐƆƟƠǑǪǬǾȌȎȪȬȮȰṌṎṐṒỌỎỐỒỔỖỘỚỜỞỠỢ]/g, 'O').replace(/[òóôõøōŏőơǒǫǭǿȍȏȫȭȯȱṍṏṑṓọỏốồổỗộớờởỡợ]/g, 'o') .replace(/Œ/g, 'Oe').replace(/œ/g, 'oe') .replace(/Ƣ/g, 'Oi').replace(/ƣ/g, 'oi') .replace(/[ƤⱣṔṖ]/g, 'P').replace(/[ƥṕṗ]/g, 'p') .replace(/Ɋ/g, 'Q').replace(/ɋ/g, 'q') .replace(/ȹ/g, 'qp') .replace(/[ŔŖŘȐȒɌⱤṘṚṜṞ]/g, 'R').replace(/[ŕŗřȑȓɍṙṛṝṟ]/g, 'r') .replace(/[ŚŜŞŠƩȘṠṢṤṦṨ]/g, 'S').replace(/[śŝşšſșȿṡṣṥṧṩẛ]/g, 's') .replace(/ß/g, 'ss') .replace(/[ŢŤŦƬƮȚȾṪṬṮṰ]/g, 'T').replace(/[ţťŧƫƭțȶⱦṫṭṯṱẗ]/g, 't') .replace(/Þ/g, 'Th').replace(/þ/g, 'th') .replace(/[ÙÚÛŨŪŬŮŰŲƯǓǕǗǙǛȔȖɄṲṴṶṸṺỤỦỨỪỬỮỰ]/g, 'U').replace(/[ùúûũūŭůűųưǔǖǘǚǜȕȗṳṵṷṹṻụủứừửữự]/g, 'u') .replace(/[ƲṼṾ]/g, 'V').replace(/[ⱴṽṿ]/g, 'v') .replace(/[ŴǷẀẂẄẆẈ]/g, 'W').replace(/[ŵƿẁẃẅẇẉẘ]/g, 'w') .replace(/[ẊẌ]/g, 'X').replace(/[ẋẍ]/g, 'x') .replace(/[ÝŸŶƳȲɎẎỲỴỶỸ]/g, 'Y').replace(/[ýÿŷƴȳɏẏỳỵỷỹẙ]/g, 'y') .replace(/[ŹŻŽƵȤⱫẐẒẔ]/g, 'Z').replace(/[źżžƶȥɀⱬẑẓẕ]/g, 'z');

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 var unameprefix = 'User:'; // international name, works in all wikipedias lang = lang || cLang;

/* create import url */ if ( mw.config.get( 'wgServer' ).indexOf('https://') === 0 ) import_url = 'https://secure.wikimedia.org/wikipedia/' + lang + sPath + '/index.php?title=' + unameprefix + seite + '&action=raw&ctype=text/javascript&smaxage=0' ; else import_url = '//' + lang + '.wikipedia.org' + sPath + '/index.php?title=' + unameprefix + seite + '&action=raw&ctype=text/javascript&smaxage=0' ;

mw.loader.load( import_url );

return false; }

/* * 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:PDDs 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."); lang = lang || cLang;

/* create import url */ if ( mw.config.get( 'wgServer' ).indexOf('https://') === 0 ) import_url = 'https://secure.wikimedia.org/wikipedia/' + lang + sPath + '/index.php?title=User:' + page + '.js&action=raw&ctype=text/javascript&smaxage=0' ; else import_url = '//' + lang + '.wikipedia.org' + sPath + '/index.php?title=User:' + page + '.js&action=raw&ctype=text/javascript&smaxage=0' ;

mw.loader.load( import_url );

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:PDDs 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."); lang = lang || cLang;

/* create import url */ import_url = '//' + lang + '.wikipedia.org' + sPath + '/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:PDDs 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 */ 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; } }

// ***** FOOT-Block ***** // <- nicht löschen!!!

// ausgelagerte obligatorische Funktionen importJavascriptL('PDD/supportFuncs','de'); // Benutzer:PDD/supportFuncs.js importJavascriptL('PDD/helperFunctions','de'); // Benutzer:PDD/helperFunctions.js importJavascriptL('PDD/eintragen','de'); // Benutzer:PDD/eintragen.js importJavascriptL('PDD/alertOnChanges','de'); // Benutzer:PDD/alertOnChanges.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 } // 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('Perhelion/signing','de'); // Benutzer:Perhelion/signing.js if (unsigning) importJavascriptL('Lustiger_seth/unsigned','de'); // Benutzer:Lustiger seth/unsigned.js }

// extended search & replace feature if (isEdit && searchbox) importJavascriptL('Zocky/SearchBox','en'); // en:User:Zocky/SearchBox.js

// Portal- und Redaktionshinweis if (hinweis) importJavascriptL('DerHexer/hinweise','de'); // Benutzer:DerHexer/hinweise.js

// Kackbalken-Script if (irrenhaus) { mw.user.options.set('userjs-schnark-kackbalken-irr', '1'); importJavascriptL('Schnark/js/kackbalken','de'); // Benutzer:Schnark/js/kackbalken.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 && isFile) importJavascriptL('PDD/dellink-nc','de'); // Benutzer:PDD/dellink-nc.js

// loescheimer if (loescheimer && adminflag) importJavascriptL('PDD/modifyLKs','de'); // Benutzer:PDD/modifyLKs.js

// Lupin's popups if (lupinpopups) importJavascriptL('Lupin/popups','en');  // en:User:Lupin/popups.js

// Schnarks letzteredit if (letzteredit && isUserMainpage) importJavascriptL('Schnark/js/letzteredit','de');  // Benutzer:Schnark/js/letzteredit.js

// Schnarks diff if (schnarkdiff && (isDiff || isEdit || isCompare) ) importJavascriptL('Schnark/js/diff','de');  // Benutzer:Schnark/js/diff.js

// Cacycle's diff if (cacyclediff && (isDiff || isEdit) ) importJavascriptL('Cacycle/wikEdDiff','en');  // en:User:Cacycle/wikEdDiff.js

// Codeispoetrys DupeCheck if (imgdupecheck && isFile) 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('PDD/hideduplicatecontribs','de');  // Benutzer:PDD/hideduplicatecontribs.js

// hideNsLinkSearch.js if (hidenslinksearch) importJavascriptL('PDD/hideNsLinkSearch','de');  // Benutzer:PDD/hideNsLinkSearch.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 } // Und hier ist die monobook.js zu Ende.