Benutzer:Nicola/common.js
aus Wikipedia, der freien Enzyklopädie
< Benutzer:Nicola
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 10. September 2021 um 15:57 Uhr durch imported>Ladsgroup(567577) (Maintenance: Replacing legacy global variable (phab:T72470)).
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
// FAQ:
//
// Frage: Wie übernehme ich dieses Skript?
//
// Antwort: Einfach "Quelltext betrachten", alles markieren und kopieren, und dann in deine eigene
// monobook.js (also hierhinein: [[Spezial:Mypage/monobook.js|Benutzer:<DeinName>/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]]
// <nowiki> {{subst:Benutzer:PDD/monobook.js.DLWS}} </nowiki> <--- diese Zeile bitte nicht löschen
//
// Hier bitte eine Signaturvariante aussuchen!
//
// <nowiki>
// (Signaturvariante 1: sinnvoll bei unter "Einstellungen" typografisch angepassten Signaturen)
var usersignature = '\~\~\~\~';
// (Signaturvariante 2: Datum kleiner, kein Zeilenumbruch nach dem Leerzeichen)
// var usersignature = '<span style=\"white-space:nowrap;\">-- \~\~\~ <small>\~\~\~\~\~<\/small><\/span>';
// (Wiki-Standard-Signatur, bitte das Leerzeichen nach den zwei Strichen beachten)
// var usersignature = '-- \~\~\~\~';
// </nowiki>
// 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 == 1; 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: [[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 = 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)
// <nowiki>
// 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: admin.js
var showadminbar = true; // Adminbar standardmäßig anzeigen?
// Wer nicht mit den Standardknöpfen zufrieden sein sollte, lese sich bitte das Tutorial auf [[Benutzer_Diskussion:DerHexer/admin.js]] durch.
var delreason = true; // Löschgründe ergänzen?
var deletereasons = "Unsinn; Test; Kein Artikel; Verschieberest; Falschschreiberedirect; Werbung; Wiedergänger; Falsches Lemma; Wunsch des Benutzers; Verwaiste Diskussionsseite|Verwaiste Disk.; Offensichtlich enyzklopädisch irrelevant|Irrelevant; Unnötige Diskussionsseitenweiterleitung|Dikussionsseiten-WL; Urheberrechtsverletzung|URV; Unzureichende Lizenzierung|Unzureichende Lizenz; Veraltete IP-Diskussionsseite|IP-DISK; Ohne Lizenz; Lokale Kopie einer Datei auf Commons|Commons; prompt|prompt";
var blockreason = true; // Blockgründe ergänzen?
var blockreasons = "Unsinnige Bearbeitungen [[Wikipedia:Vandalismus]]|1|B(V+1); Unsinnige Bearbeitungen [[Wikipedia:Vandalismus]]|2|B(V+2); Unsinnige Bearbeitungen [[Wikipedia:Vandalismus]]|7|B(V+7); Einstellen unsinniger Artikel siehe [[Wikipedia:Artikel]]|2|ART; Verstoss gegen \[\[WP:WEB\]\]|2|WEB(2); Trotz Aufforderung nicht verifiziertes Benutzerkonto|indefinite|UGB; prompt|prompt|prompt";
var protectreason = true; // Schutzgründe ergänzen?
var protectreasons = "IP-Vandalismus|3 months|1|P(IP-V+3m); IP-Vandalismus|indefinite|1|P(IP-V+i); Editwar|indefinite|2|P(EW+i); \{\{Gesperrter Benutzer\}\}|indefinite|2|P(GB+i); prompt|prompt|1|prompt1; prompt|prompt|2|prompt2";
var blockedtext = "7 h "; // Standardtext für die VM
// Modul: rollback.js
var newrollback = true; // Erweiterten Rollback aktivieren
var allowmessage = true; // Rollback mit Ansprache und VM-Meldung bzw. Block aktivieren? Dafür bitte PopUps für de.wikipedia.org aktivieren.
var autowarning = true; // Wenn die ergänzte Vorlage bzw. der Sperrdialog automatisch gespeichert werden soll, ändere false auf true.
var standardblocktime = '7 hours';
var leveltwowarning = false; // Wenn du zwei Warnungen vor einer VM oder Sperre setzen möchtest, gib true ein, um einen Standardkommentar zu ergänzen. Ansonsten ersetze false/true durch eine zweite Vorlage inklusive Unterschrift.
var optionnames = new Array("ZS-TEST"); // Hier bitte alle Bezeichnungen der Rollbacks angeben, so man mit den Standards nicht zufrieden ist
var templatenames = new Array("{{subst:Test}}"); // Hier bitte die zu verwendenden Vorlagen angeben. Genausoviele wie darüber, dies ist eine 1:1-Zuordnung!
// Auf '1' setzen, um mehrere, unter optionnames und templatenames selbstdefinierte Links hinter dem normalen Zurücksetzen zu ergänzen; auf '2', wenn die oben definierten Links in einem Dropdownmenü erscheinen sollen; auf '3', wenn man keine Ansprache, aber ein Zusammenfassungskürzel wie beim (rev) haben möchte; auf '4', wenn man automatisch sperren möchte
var rollbacktype = '1';
var allowlogblock = true; // Schnellsperre aus dem Neuanmeldungslogbuch gestatten
// 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 = false; // 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
var usersToHide = ['Informationswiedergutmachung', 'Brodkey65', 'Duden Dude',];
mw.loader.load("https://de.wikipedia.org/w/index.php?title=Benutzer:Martin_Kraft/hideUserComments.js&action=raw&ctype=text/javascript");
// 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 = true; // 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 =false; // 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?
// Modul: SearchBox.js
var searchbox = false; // erweitertes suchen/ersetzen
// </nowiki>
// Modul: popups.js (Lupin, Navpop)
var lupinpopups = false; // Popup-Modul einbinden?
// Optionen für Lupin-Popups
// (ausführliche Liste siehe [[Wikipedia:Helferlein/Navigation-Popups#Optionen]] bzw.
// aktueller und auf englisch [[:en:Wikipedia:Tools/Navigation popups#Options]])
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)
// <nowiki>
// Link auf Popups zu Messages hinzufügen?
addpopuplink = true;
// deutsche Texte für Lupin
popupFixDabsSummary = "Ersetze BKL-Seite [[%s]] durch [[%s]]" + (addpopuplink ? " mit [[Wikipedia:Helferlein/Navigation-Popups|Popups]]" : "");
popupExtendedRevertSummary = "Revert auf Version vom %s von Benutzer %s, oldid %s" + (addpopuplink ? " mit [[Wikipedia:Helferlein/Navigation-Popups|Popups]]" : "");
popupRevertSummary = "Revert auf Version %s" + (addpopuplink ? " mit [[Wikipedia:Helferlein/Navigation-Popups|Popups]]" : "");
popupRevertToPreviousSummary = "Revert auf Vorgängerversion der Version %s" + (addpopuplink ? " mit [[Wikipedia:Helferlein/Navigation-Popups|Popups]]" : "");
popupQueriedRevertSummary = "Revert auf Version $1 vom $2 von $3" + (addpopuplink ? " mit [[Wikipedia:Helferlein/Navigation-Popups|Popups]]" : "");
popupQueriedRevertToPreviousSummary = "Revert auf Vorgängerversion der Version $1 vom $2 von $3" + (addpopuplink ? " mit [[Wikipedia:Helferlein/Navigation-Popups|Popups]]" : "");
popupFixRedirsSummary = "Ersetze Redirect [[%s]] durch [[%s]]" + (addpopuplink ? " mit [[Wikipedia:Helferlein/Navigation-Popups|Popups]]" : "");
popupRedlinkSummary = "Entferne Link auf leere Seite [[%s]]" + (addpopuplink ? " mit [[Wikipedia:Helferlein/Navigation-Popups|Popups]]" : "");
popupRmDabLinkSummary = "Entferne Link auf BKL-Seite [[%s]]" + (addpopuplink ? " mit [[Wikipedia:Helferlein/Navigation-Popups|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.", "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;
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;
// 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 = '<div class="pBody noprint" id="p-quickbar" style="position:absolute; top:5px; left:0px; width:14.1em; z-index:10;">';
var showquickbar = true;
var showcompletebar = true;
var showadminbar2 = '';
var showcompletebar2 = '';
var showquicktebar2 = '';
// optional: opacity:0.9;
var xxx = '';
var trenner='<hr />';
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() {
addition = new Date();
addition = new Date(addition.getTime() +1000*60*60*24*365);
if (document.cookie) {
var cookies = document.cookie;
cookies = cookies.split(';');
for (i=0; i<cookies.length; i++) {
var cookienames = cookies[i].split('=')[0];
var cookievalues = cookies[i].split('=')[1];
if (cookienames.search('showcompletebar') != -1) {
if (cookievalues.search('block') != -1) {
showcompletebar2 = "block";
} else {
showcompletebar2 = "none";
}
document.cookie = 'showcompletebar=' + showcompletebar2 + '; path=/; expires=' + addition.toGMTString + ';';
} else if (cookienames.search('showquickbar') != -1) {
if (cookievalues.search('block') != -1) {
showquickbar2 = "block";
} else {
showquickbar2 = "none";
}
document.cookie = 'showquickbar=' + showquickbar2 + '; path=/; expires=' + addition.toGMTString + ';';
} else if (cookienames.search('showadminbar') != -1) {
if (cookievalues.search('block') != -1) {
showadminbar2 = "block";
} else {
showadminbar2 = "none";
}
document.cookie = 'showadminbar=' + showadminbar2 + '; path=/; expires=' + addition.toGMTString + ';';
} else {
if (showcompletebar) {
showcompletebar2 = 'block';
} else {
showcompletebar2 = 'none';
}
if (showquickbar) {
showquickbar2 = 'block';
} else {
showquickbar2 = 'none';
}
if (showadminbar) {
showadminbar2 = 'block';
} else {
showadminbar2 = 'none';
}
document.cookie = 'showcompletebar=' + showcompletebar2 + '; path=/; expires=' + addition + ';';
document.cookie = 'showquickbar=' + showquickbar2 + '; path=/; expires=' + addition + ';';
document.cookie = 'showadminbar=' + showadminbar2 + '; path=/; expires=' + addition + ';';
}
}
}
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();
// Automatisches Bausteinsetzen
qbAutoTemps();
// der folgende Abschnitt wird nur bei Admins eingeblendet
qbAdminTools();
}
/*
* 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','','<!--Kommentar-->');
w (3,"'„','“',''",'„“','','Anführungszeichen');
// </nowiki>
w (3,"'<nowiki>','</nowiki>',''",'Nowiki','','<nowiki>');
w (3,"'<code><nowiki>','</nowiki></code>',''",'Code','','<code+nowiki>');
w (3,"'<onlyinclude>','</onlyinclude>',''",'OIncl','','<onlyinclude>');
// <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,"'{{lang|ru|','}}',''",'ru','','Russisch');
w (3,"'{{HeS|','}}<!--x-->',''",'HeS','','Hebräisch (mit Bidi-Stopper)');
w (3,"'<math>','</math>',''",'Math');
w (3,"':<math>\\u005Cmathrm{','}</math>',''",'ChemForm');
w (3,"'\\n{{Kasten|1=',' " + usersignature + "}}\\n',''","Kast",'','Kasten');
// temporary
w (3,"'{{SortKeyName|','|nl=1}}',''",'SKN','','SortKeyName');
}
function qbArticleTemps() {
if (isFile) return;
if (!isEdit) return;
w (0,trenner,'Artikelbausteine','');
w (3,"'== Einzelnachweise ==\\n<references></references>\\n','',''",'Refs','','== Einzelnachweise ==');
w (3,"'== Literatur ==\\n','',''",'Lit','','== Literatur ==');
w (3,"'== Weblinks ==\\n','',''",'Web','','== Weblinks ==');
w (3,"'{{commonscat}}\\n','',''",'ComC','','commonscat');
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,"'* {{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<!-- bitte vollständig ausfüllen -->\\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:Itti/Hallo|1=" + tagEscape(user) + "|2=" + tagEscape(usersignature) + "}}\\n','','','Willkommen!'","Hallo",'','Baustein Itti/Hallo');
// w (3,"'{{subst:Begrüßungsbox|1=" + tagEscape(user) + "|2=a}}\\n','','','Willkommen!'","HalloC",'','Baustein Begrüßungsbox');
w (3,"'{{subst:Benutzer:Logograph/Test1}} " + tagEscape(usersignature) + "\\n','','','Test'",'Test','','Baustein Logograph:Test1');
w (3,"'{{subst:Benutzer:Itti/UGB|1=" + tagEscape(user) + "|2=" + tagEscape(usersignature) + "}}\\n','','','Bitte verifizieren'","UGB",'','Baustein Itti/UGB');
// 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?");
}
if (showadminbar == false) {
w (0,'<hr />','','');
w (4,"switchbars('adminbar');switchbars('quickbar');","Adminbar an-/ausschalten","","Adminbar an-/ausschalten");
}
w (0,'<div id="adminbar" style="display:' + showadminbar2 + '"><hr />','Adminbar','');
if (delreason) {
w (0,'<center>Löschen</center>','Löschen','');
decodeadminreasons(deletereasons);
}
if (blockreason) {
w (0,'<center>Sperren</center>','Sperren','');
decodeadminreasons(blockreasons);
}
if (protectreason) {
w (0,'<center>Schützen</center>','Schützen','');
decodeadminreasons(protectreasons);
}
w (0,'</div></div>','','');
}
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 +=
'<table width="100%"><tr><td align="left" width="15%"><a href="#" onclick="switchbars(\'completebar\');" title="Komplette Quickbar an/aus">an/aus</a></td><td align="right" valign="top">' +
(zeigeversion ?
('<a href="#" onclick="amIuptodate()" title="Versionscheck">' + (adminflag ? 'A/' : '') + version + '</a> ')
: '') +
(!isEdit ?
('<input type="checkbox" id="reloadme" name="reloadme" onchange="setReload()" title="Seite alle ' + (timeout/1000) + ' s neu laden?"></input> ')
: '') +
'<a href="' + mw.config.get( 'wgScript' ) + '?title=Special%3APrefixindex&prefix=' + user +
'&namespace=2" target="' + qbtarget + '" title="Meine Seiten im Benutzernamensraum">' +
'MyPages' +
'</a>' +
(userbrowser !== "Standard" ?
(' <a href="#" onclick="badBrowser()" title="Browser nicht unterstützt">' +
userbrowser.charAt(0) + userbrowser.charAt(1) + '!</a>')
: '') + '</td></tr></table><div id="completebar" style="display:' + showcompletebar2 + '">';
}
Quickbar += '<div style="font-size:' + qbfontsize + '%;">' + xxx + '</div></div>';
if (scrpt > '') {
Quickbar += '<script> 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 += '<a href="'+lurl+'" target="'+targt+'" title="'+title+'">'+linktext+'</a> ';break;
case 2 : xxx += '<a href="#" onclick="newtext('+ lurl +')" title="'+title+'">'+linktext+'</a> ';break;
case 3 : xxx += '<a href="#" onclick="insertTagsWrapper('+ lurl +')" title="'+title+'">'+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+'<option>'+linktext+'</option>';ind=2; }
else
if (lurl==trenner) newdropdown(linktext);
break;
case 1 : xxx += '<option value="1|'+lurl+'">'+ltext+'</option>';break;
case 2 : xxx += '<option value="2|'+scrptn+'">'+ltext+'</option>';
scrpt=scrpt+'case '+scrptn+':newtext('+lurl+');break;';scrptn++;break;
case 3 : xxx += '<option value="3|'+scrptn+'">'+ltext+'</option>';
scrpt=scrpt+'case '+scrptn+':insertTagsWrapper('+lurl+');break;';scrptn++;break;
case 4 : 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 += '<select size=1 onchange="dodropdown(this.value);" style="width:135px;font-size:9px;">';
if (oname > '') { xxx += '<option>'+oname+'</option>'; }
indropdown = true;
ind=2;
}
function closedropdown () {
if (indropdown) 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;
}
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(/[DŽDžDZDz]/g, 'Dz').replace(/[dždz]/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(/IJ/g, 'Ij').replace(/ij/g, 'ij')
.replace(/[ĴǰɈ]/g, 'J').replace(/[ĵȷɉ]/g, 'j')
.replace(/[ĶƘǨⱩḰḲḴ]/g, 'K').replace(/[ķĸƙǩⱪḱḳḵ]/g, 'k')
.replace(/[ĹĻĽĿŁȽⱠⱢḶḸḺḼ]/g, 'L').replace(/[ĺļľŀłƚƛȴⱡḷḹḻḽ]/g, 'l')
.replace(/[LJLj]/g, 'Lj').replace(/lj/g, 'lg')
.replace(/[ḾṀṂ]/g, 'M').replace(/[ḿṁṃ]/g, 'm')
.replace(/[ÑŃŅŇŊƝǸȠṄṆṈṊ]/g, 'N').replace(/[ñńņňʼnŋƞǹȵṅṇṉṋ]/g, 'n')
.replace(/[NJNj]/g, 'Nj').replace(/nj/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' ;
else
import_url = '//' + lang + '.wikipedia.org' + sPath + '/index.php?title=' + unameprefix + seite + '&action=raw&ctype=text/javascript' ;
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: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.");
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' ;
else
import_url = '//' + lang + '.wikipedia.org' + sPath + '/index.php?title=User:' + page + '.js&action=raw&ctype=text/javascript' ;
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: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.");
lang = lang || cLang;
/* create import url */
import_url = '//' + lang + '.wikipedia.org' + sPath + '/index.php?title=User:' + page +
'.css&action=raw&ctype=text/css';
/* 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;
}
}
function decodeadminreasons(adminreasons) { // DerHexer
var adminreason = adminreasons.split('; ');
for (i=0; i < adminreason.length; i++) {
var adminreasoncount = adminreason[i].split("|");
switch(adminreasoncount.length) {
case 1 : w (4,"deleting('" + adminreasoncount[0] + "');","" + adminreasoncount[0] + ""); break;
case 2 : w (4,"deleting('" + adminreasoncount[0] + "');","" + adminreasoncount[1] + ""); break;
case 3 : w (4,"blocking('" + adminreasoncount[0] + "', '" + adminreasoncount[1] + "');","" + adminreasoncount[2] + ""); break;
case 4 : w (4,"protecting('" + adminreasoncount[0] + "', '" + adminreasoncount[1] + "', '" + adminreasoncount[2] + "');","" + adminreasoncount[3] + ""); break;
case 5 : w (4,"protecting('" + adminreasoncount[0] + "', '" + adminreasoncount[1] + "', '" + adminreasoncount[2] + "', '" + adminreasoncount[3] + "');","" + adminreasoncount[4] + ""); break;
}
}
}
function switchbars(ids)
{
addition = new Date();
addition = new Date(addition.getTime() +1000*60*60*24*365);
var element = document.getElementById(ids);
if(element.style.display == "none")
{
element.style.display = "block";
document.cookie = 'show' + ids + '=block; path=/; expires=' + addition + ';';
}
else
{
element.style.display = "none";
document.cookie = 'show' + ids + '=none; path=/; expires=' + addition + ';';
}
}
/**
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 */
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 *****
// </nowiki> <- 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]]
// Schnellsperre aus dem Logbuch ergänzen
if (allowlogblock)
importJavascriptL('DerHexer/logblock','de'); // [[Benutzer:DerHexer/logblock.js]]
// Löschgründe ergänzen
if (adminflag && (delreason || blockreason || protectreason) && wgUserName == "Itti") importPage('DerHexer/admin.js'); // [[Benutzer:DerHexer/admin.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]]
}
var asqmReq = false;
if (mw.config.get('wgNamespaceNumber') == 0) {
$('<li id="ca-asqm" style="position: relative;"><span><a onclick="javascript:asqm()">ASQM</a></span>' +
'<div id="asqmContainer" style="visibility: hidden; position:absolute; right: 0; ' +
'font-size: 0.8em; border: 1px solid silver; margin: -5px 0 0 -1px; padding: 10px; ' +
'z-index: 1000; background: white;"></div></li>').insertAfter("#ca-history");
}
function asqm() {
if ($('#asqmContainer').css('visibility') == 'hidden') {
$('#asqmContainer').css('visibility', 'visible');
if (!asqmReq) {
$('#asqmContainer').html('<img src="http://toolserver.org/~render/stools/res/img/load.gif" style="padding: 20px;" />');
$.getJSON("http://toolserver.org/~render/stools/asqm/query/json/id/" +
mw.config.get('wgArticleId') + "/lang/" + mw.config.get('wgPageContentLanguage') + "/asqmid/0f74ca1e?callback=?", function(data) {
var output = "<table>";
$.each(data.asqmResponse, function(key, groupObj) {
output += "<tr><td colspan='2' style='text-align: center; font-weight: bold;'>" + groupObj.title + "</td></tr>";
$.each(groupObj.items, function(itemTitle, value) {
var link = "";
if ($.isArray(value)) {
link = value[1];
value = value[0];
}
if (link && link != "") {
value = "<a href='" + link + "' target='_blank'>" + value + "</a>";
}
output += "<tr><td>" + itemTitle + "</td><td>" + value.replace("|", "<br />") + "</td></tr>";
});
});
output += "</table>";
asqmReq = true;
$('#asqmContainer').html(output);
});
}
} else {
$('#asqmContainer').css('visibility', 'hidden');
}
}
importScript("user:lustiger_seth/unsigned.js");
//Dokumentation unter [[Benutzer:Schnark/js/notizen.js]] <nowiki>
/*global mediaWiki: false */
(function ($, mw) {
mw.messages.set({
'pagetitle': '$1 – {{SITENAME}}',
'brackets': '[$1]',
'wikinotes': 'Wikinotizen',
'wikinotes-minutes': 'Minuten',
'wikinotes-hours': 'Stunden',
'wikinotes-days': 'Tage',
'wikinotes-weeks': 'Wochen',
'wikinotes-months': 'Monate',
'wikinotes-years': 'Jahre',
'wikinotes-date-format': '$1, $2:$3',
'wikinotes-dateformat': 'd. M yy',
'wikinotes-alarm': '<i>$2</i> auf $1',
'wikinotes-disable-alarm': '✓',
'wikinotes-disable-alarm-title': 'Alarm ausschalten',
'wikinotes-delete-note': '✕',
'wikinotes-delete-note-title': 'Notiz löschen',
'wikinotes-alarms': 'Folgende Notizen erfordern Aufmerksamkeit: $1',
'wikinotes-no-notes': 'Du hast noch zu keiner Seite Notizen hinzugefügt.',
'wikinotes-list-head': 'Folgende Notizen hast du zu Seiten hinzugefügt ($1):',
'wikinotes-list-delete-all': 'alle Notizen löschen',
'wikinotes-list-page': 'Seite',
'wikinotes-list-title': 'Titel',
'wikinotes-list-alarm': 'Alarm',
'wikinotes-list-delete': 'Notiz löschen',
'wikinotes-no-alarm': '(kein Alarm)',
'wikinotes-list-alarm-rule': 'regelmäßig alle $1 $2',
'wikinotes-delete-from-list': 'löschen',
'wikinotes-dialog': 'Neue Notiz erstellen',
'wikinotes-dialog-intro': 'Mit diesem Dialog kannst eine neue Notiz erstellen und – falls gewünscht – einen Alarm für sie einrichten.',
'wikinotes-dialog-note': 'Notiz',
'wikinotes-dialog-title': 'Titel:',
'wikinotes-dialog-content': 'Inhalt:',
'wikinotes-dialog-alarm': 'Alarm',
'wikinotes-dialog-alarm-type': 'Art des Alarms:',
'wikinotes-dialog-alarm-type-none': 'kein Alarm',
'wikinotes-dialog-alarm-type-once': 'einmaliger Alarm',
'wikinotes-dialog-alarm-type-regular-times': 'Alarm zu regelmäßigen Zeitpunkten',
'wikinotes-dialog-alarm-type-regular-period': 'Alarm in regelmäßigen Abständen',
'wikinotes-dialog-alarm-time': 'Zeitpunkt:',
'wikinotes-dialog-expire': 'Alarm erlischt nach (0, falls er nicht automatisch erlöschen soll):',
'wikinotes-dialog-rule': 'Häufigkeit des Alarms:',
'wikinotes-dialog-save': 'Speichern',
'wikinotes-dialog-cancel': 'Abbrechen',
'wikinotes-error-date': 'Gib bitte einen korrekten Zeitpunkt an, der in der Zukunft liegt!',
'wikinotes-error-rule': 'Gib bitte eine eine korrekte Zahl für die zeitlichen Abstände des regelmäßigen Alarms an!',
'wikinotes-error-expire': 'Gib bitte eine korrekte Zahl für den automatischen Ablauf des Alarms an!',
'wikinotes-new': 'neue Notiz',
'wikinotes-new-title': 'Öffnet den Dialog zum Erstellen einer neuen Notiz'
});
function getCSS () {
return '#wikinotes-alarm { border: 3px solid red; }' +
'aside.wikinote { display: block; border-radius: 1em; background-color: yellow; padding: 0.2em; margin-right: 2em; min-width: 7em; float: left; }' +
'aside.active-alarm { border: 3px solid red; }' +
'aside.inactive-alarm h5::after { content: "✶"; color: gray; font-size: 150%; }' +
'aside.active-alarm h5::after { content: "✶"; color: red; font-size: 170%; }' +
'aside.wikinote .delete-note { float: right; }' +
'label.disabled { color: #ccc; }';
}
function isCompatible () {
return window.localStorage && window.JSON;
}
function random () {
return String(Math.floor(Math.random() * 10000 + 1));
}
var cachedData;
function getData () {
if (cachedData) {
return cachedData;
}
var data = localStorage.getItem('schnark-wikinotes');
if (data === null) {
data = {};
} else {
data = JSON.parse(data);
}
cachedData = data;
return data;
}
function setData (data) {
cachedData = data;
localStorage.setItem('schnark-wikinotes', JSON.stringify(data));
}
function deleteData () {
cachedData = {};
localStorage.removeItem('schnark-wikinotes');
}
function resetData () {
cachedData = false;
}
function addNote (note) {
var data = getData(), key = random();
while (key in data) {
key += random();
}
note.key = key;
data[key] = note;
setData(data);
return key;
}
function updateNote (key, note) {
var data = getData();
$.extend(data[key], note);
setData(data);
}
function deleteNote (key) {
var data = getData();
delete data[key];
setData(data);
}
function nextTime (start, rule) {
var date, toMS = {
's': 1000,
'm': 1000 * 60,
'h': 1000 * 60 * 60,
'd': 1000 * 60 * 60 * 24,
'w': 1000 * 60 * 60 * 24 * 7
};
if (!rule) {
return false;
}
if (rule.unit in toMS) {
return start + toMS[rule.unit] * rule.count;
}
date = new Date(start);
if (rule.unit === 'M') {
date.setMonth(date.getMonth() + rule.count);
} else {
date.setFullYear(date.getFullYear() + rule.count);
}
return Number(date);
}
function updateExpiredAlarm (alarm) {
do {
alarm.time = nextTime(alarm.time, alarm.rule);
} while (alarm.time && alarm.time + alarm.expire < $.now());
if (!alarm.time) {
return false;
}
return alarm;
}
function updateAlarm (alarm) {
var time = nextTime(alarm.rule && alarm.rule.fromNow ? $.now() : alarm.time, alarm.rule);
if (!time) {
return false;
}
alarm.time = time;
return alarm;
}
function updateAlarmFor (key) {
updateNote(key, {alarm: updateAlarm(getData()[key].alarm)});
}
function updateExpiredNotes () {
var key, data = getData(), note;
for (key in data) {
note = data[key];
if (note.alarm && note.alarm.expire && note.alarm.time + note.alarm.expire < $.now()) {
updateNote(key, {alarm: updateExpiredAlarm(note.alarm)});
}
}
}
function getActiveAlarms () {
var key, data = getData(), note, list = [];
for (key in data) {
note = data[key];
if (note.alarm && note.alarm.time <= $.now()) {
list.push(note);
}
}
return list;
}
function getNotesForPage () {
var key, data = getData(), note, list = [];
for (key in data) {
note = data[key];
if (note.page === mw.config.get('wgPageName')) {
list.push(note);
}
}
return list;
}
function getAllNotes () {
var key, data = getData(), list = [];
for (key in data) {
list.push(data[key]);
}
return list;
}
function formatAlarm (note) {
return mw.html.element('li', {'data-wikinoteskey': note.key}, new mw.html.Raw(
mw.msg('wikinotes-alarm',
mw.html.element('a', {href: mw.util.getUrl(note.page)}, note.page),
note.title
) + ' ' +
mw.html.element('a', {
href: '#',
'class': 'disable-alarm',
title: mw.msg('wikinotes-disable-alarm-title')
}, mw.msg('wikinotes-disable-alarm'))
));
}
function formatNote (note) {
var classes = ['wikinote'];
if (note.alarm) {
if (note.alarm.time <= $.now()) {
classes.push('active-alarm');
} else {
classes.push('inactive-alarm');
}
}
return mw.html.element('aside', {
'class': classes.join(' '),
'data-wikinoteskey': note.key
}, new mw.html.Raw(
mw.html.element('a', {
href: '#',
'class': 'delete-note',
title: mw.msg('wikinotes-delete-note-title')
}, mw.msg('wikinotes-delete-note')) + '\n' +
mw.html.element('h5', {}, note.title) + '\n' +
mw.html.element('div', {}, note.content)
));
}
function formatRow (note) {
var alarm, unitToMsg = {
m: 'wikinotes-minutes',
h: 'wikinotes-hours',
d: 'wikinotes-days',
w: 'wikinotes-weeks',
M: 'wikinotes-months',
Y: 'wikinotes-years'
};
if (!note.alarm) {
alarm = mw.msg('wikinotes-no-alarm');
} else {
alarm = (new Date(note.alarm.time)).toLocaleString();
if (note.alarm.rule) {
alarm += mw.html.element('br', {}) + mw.msg('wikinotes-list-alarm-rule', note.alarm.rule.count, mw.msg(unitToMsg[note.alarm.rule.unit]));
}
}
return mw.html.element('tr', {'data-wikinoteskey': note.key}, new mw.html.Raw([
mw.html.element('td', {}, new mw.html.Raw(
mw.html.element('a', {href: mw.util.getUrl(note.page + (note.section ? '#' + note.section : ''))}, note.page)
)),
mw.html.element('td', {}, note.title),
mw.html.element('td', {}, new mw.html.Raw(alarm)),
mw.html.element('td', {}, new mw.html.Raw(
mw.html.element('a', {href: '#', 'class': 'delete-note'}, mw.msg('wikinotes-delete-from-list'))
))
].join('')));
}
function readFromForm () {
var data = {
title: $('#wikinotes-title').val(),
content: $('#wikinotes-content').val()
}, alarmType, alarm, time, date, hour, minute, expire;
alarmType = $('#wikinotes-alarm-type :selected').val();
if (alarmType === 'none') {
alarm = false;
} else {
date = Number($('#wikinotes-alarm-date-hidden').val());
hour = Number($('#wikinotes-alarm-hour').val());
minute = Number($('#wikinotes-alarm-minute').val());
time = date + (hour * 60 + minute) * 60 * 1000;
if (isNaN(time) || time <= $.now()) {
return {error: mw.msg('wikinotes-error-date')};
}
if (alarmType === 'once') {
alarm = {time: time};
} else {
alarm = {
time: time,
rule: {
count: Number($('#wikinotes-alarm-rule-count').val()),
unit: $('#wikinotes-alarm-rule-unit :selected').val()
}
};
if (isNaN(alarm.rule.count) || alarm.rule.count <= 0) {
return {error: mw.msg('wikinotes-error-rule')};
}
if (alarmType === 'regularPeriod') {
alarm.rule.fromNow = true;
}
}
expire = Number($('#wikinotes-alarm-expire').val()) * $('#wikinotes-alarm-expire-unit :selected').val();
if (isNaN(expire) || expire < 0) {
return {error: mw.msg('wikinotes-error-expire')};
}
if (expire > 0) {
alarm.expire = expire;
}
}
data.alarm = alarm;
return data;
}
function showNotesForPage () {
var i, list = getNotesForPage(), head;
if (list.length === 0) {
return;
}
for (i = 0; i < list.length; i++) {
head = list[i].section && document.getElementById(list[i].section);
if (head) {
$(head).parent().after(formatNote(list[i]));
} else {
$('#mw-content-text').prepend(formatNote(list[i]));
}
}
$('.wikinote .delete-note').click(function (e) {
e.preventDefault();
var $note = $(this).parents('.wikinote');
deleteNote($note.data('wikinoteskey'));
$note.remove();
});
}
function showActiveAlarms () {
var i, list = getActiveAlarms(), html = [];
if (list.length === 0) {
return;
}
for (i = 0; i < list.length; i++) {
html.push(formatAlarm(list[i]));
}
html = mw.html.element('ul', {}, new mw.html.Raw(html.join('')));
html = mw.html.element('div', {id: 'wikinotes-alarm'}, new mw.html.Raw(mw.msg('wikinotes-alarms', html)));
$('#wikinotes-alarm').remove();
$('#content').prepend(html);
$('#wikinotes-alarm .disable-alarm').click(function (e) {
e.preventDefault();
var $this = $(this);
updateAlarmFor($this.parents('li').data('wikinoteskey'));
$this.remove();
});
}
function showAllNotes () {
var i, list = getAllNotes(), html = [];
document.title = mw.msg('pagetitle', mw.msg('wikinotes'));
$('#firstHeading').html(mw.msg('wikinotes'));
if (list.length === 0) {
$('#mw-content-text').html(mw.msg('wikinotes-no-notes'));
return;
}
html.push(mw.html.element('tr', {}, new mw.html.Raw([
mw.html.element('th', {}, mw.msg('wikinotes-list-page')),
mw.html.element('th', {}, mw.msg('wikinotes-list-title')),
mw.html.element('th', {}, mw.msg('wikinotes-list-alarm')),
mw.html.element('th', {}, mw.msg('wikinotes-list-delete'))
].join(''))));
for (i = 0; i < list.length; i++) {
html.push(formatRow(list[i]));
}
html = mw.html.element('table', {id: 'wikinotes-table', 'class': 'wikitable'}, new mw.html.Raw(html.join('')));
html = mw.html.element('p', {}, new mw.html.Raw(
mw.msg('wikinotes-list-head', mw.html.element('a', {id: 'delete-all-notes', href: '#'}, mw.msg('wikinotes-list-delete-all')))
)) + html;
$('#mw-content-text').html(html);
$('tr .delete-note').click(function (e) {
e.preventDefault();
var $tr = $(this).parents('tr');
deleteNote($tr.data('wikinoteskey'));
$tr.remove();
});
$('#delete-all-notes').click(function (e) {
e.preventDefault();
deleteData();
$('#wikinotes-table').remove();
});
}
function showNewNoteDialog (section) {
var html, $dialog;
function onClose () {
var note = readFromForm();
if (note.error) {
window.alert(note.error);
return;
}
note.page = mw.config.get('wgPageName');
if (section) {
note.section = section;
}
addNote(note);
$dialog.remove();
}
function enableDisable () {
var alarmType = $('#wikinotes-alarm-type :selected').val(),
selAlarmInput = '#wikinotes-alarm-date, #wikinotes-alarm-hour, #wikinotes-alarm-minute, #wikinotes-alarm-expire, #wikinotes-alarm-expire-unit',
selRuleInput = '#wikinotes-alarm-rule-count, #wikinotes-alarm-rule-unit',
selAlarmLabel = '[for="wikinotes-alarm-date"], [for="wikinotes-alarm-expire"]',
selRuleLabel = '[for="wikinotes-alarm-rule-count"]';
if (alarmType === 'none') {
$(selAlarmInput + ',' + selRuleInput).prop('disabled', true);
$(selAlarmLabel + ',' + selRuleLabel).addClass('disabled');
} else if (alarmType === 'once') {
$(selAlarmInput).prop('disabled', false);
$(selAlarmLabel).removeClass('disabled');
$(selRuleInput).prop('disabled', true);
$(selRuleLabel).addClass('disabled');
} else {
$(selAlarmInput + ',' + selRuleInput).prop('disabled', false);
$(selAlarmLabel + ',' + selRuleLabel).removeClass('disabled');
}
}
html =
mw.html.element('fieldset', {}, new mw.html.Raw(
mw.html.element('legend', {}, mw.msg('wikinotes-dialog-note')) +
mw.html.element('label', {'for': 'wikinotes-title'}, mw.msg('wikinotes-dialog-title')) + mw.html.element('br', {}) +
mw.html.element('input', {id: 'wikinotes-title', css: 'width: 100%;'}) + mw.html.element('br', {}) +
mw.html.element('label', {'for': 'wikinotes-content'}, mw.msg('wikinotes-dialog-content')) + mw.html.element('br', {}) +
mw.html.element('textarea', {id: 'wikinotes-content'})
)) + mw.html.element('fieldset', {}, new mw.html.Raw(
mw.html.element('legend', {}, mw.msg('wikinotes-dialog-alarm')) +
mw.html.element('label', {'for': 'wikinotes-alarm-type'}, mw.msg('wikinotes-dialog-alarm-type')) + mw.html.element('br', {}) +
mw.html.element('select', {id: 'wikinotes-alarm-type', size: 1}, new mw.html.Raw(
mw.html.element('option', {value: 'none', selected: true}, mw.msg('wikinotes-dialog-alarm-type-none')) +
mw.html.element('option', {value: 'once'}, mw.msg('wikinotes-dialog-alarm-type-once')) +
mw.html.element('option', {value: 'regularTimes'}, mw.msg('wikinotes-dialog-alarm-type-regular-times')) +
mw.html.element('option', {value: 'regularPeriod'}, mw.msg('wikinotes-dialog-alarm-type-regular-period'))
)) + mw.html.element('br', {}) +
mw.html.element('label', {'for': 'wikinotes-alarm-date'}, mw.msg('wikinotes-dialog-alarm-time')) + mw.html.element('br', {}) +
mw.msg('wikinotes-date-format',
mw.html.element('input', {id: 'wikinotes-alarm-date'}),
mw.html.element('input', {id: 'wikinotes-alarm-hour', size: 2, value: '12'}),
mw.html.element('input', {id: 'wikinotes-alarm-minute', size: 2, value: '00'})
) + mw.html.element('input', {id: 'wikinotes-alarm-date-hidden', type: 'hidden'}) + mw.html.element('br', {}) +
mw.html.element('label', {'for': 'wikinotes-alarm-expire'}, mw.msg('wikinotes-dialog-expire')) + mw.html.element('br', {}) +
mw.html.element('input', {id: 'wikinotes-alarm-expire', value: 0, size: 3}) + ' ' + mw.html.element('select', {id: 'wikinotes-alarm-expire-unit', size: 1}, new mw.html.Raw(
mw.html.element('option', {value: 1000 * 60}, mw.msg('wikinotes-minutes')) +
mw.html.element('option', {value: 1000 * 60 * 60}, mw.msg('wikinotes-hours')) +
mw.html.element('option', {value: 1000 * 60 * 60 * 24, selected: true}, mw.msg('wikinotes-days')) +
mw.html.element('option', {value: 1000 * 60 * 60 * 24 * 7}, mw.msg('wikinotes-weeks'))
)) + mw.html.element('br', {}) +
mw.html.element('label', {'for': 'wikinotes-alarm-rule-count'}, mw.msg('wikinotes-dialog-rule')) + mw.html.element('br', {}) +
mw.html.element('input', {id: 'wikinotes-alarm-rule-count', value: 1, size: 3}) + ' ' + mw.html.element('select', {id: 'wikinotes-alarm-rule-unit', size: 1}, new mw.html.Raw(
mw.html.element('option', {value: 'h'}, mw.msg('wikinotes-hours')) +
mw.html.element('option', {value: 'd', selected: true}, mw.msg('wikinotes-days')) +
mw.html.element('option', {value: 'w'}, mw.msg('wikinotes-weeks')) +
mw.html.element('option', {value: 'M'}, mw.msg('wikinotes-months')) +
mw.html.element('option', {value: 'Y'}, mw.msg('wikinotes-years'))
))
));
html = mw.html.element('p', {}, new mw.html.Raw(mw.msg('wikinotes-dialog-intro'))) + mw.html.element('p', {}, new mw.html.Raw(html));
$dialog = $('<div>').html(html);
$dialog.appendTo('body').dialog({
title: mw.msg('wikinotes-dialog'),
modal: true,
width: '47em',
close: function () {
$dialog.remove();
},
buttons: [{
text: mw.msg('wikinotes-dialog-save'),
click: onClose
}, {
text: mw.msg('wikinotes-dialog-cancel'),
click: function () {
$dialog.remove();
}
}]
});
$('#wikinotes-alarm-date').datepicker({
altField: '#wikinotes-alarm-date-hidden',
altFormat: '@',
autoSize: true,
dateFormat: mw.msg('wikinotes-dateformat'),
//defaultDate: 0,
minDate: 0
});
$('#wikinotes-alarm-type').change(enableDisable).change();
}
function addNewNote (e) {
var section = $(this).find('a').data('wikinotessection');
e.preventDefault();
mw.loader.using(['jquery.ui'], function () {
showNewNoteDialog(section);
});
}
function initAlarms () {
updateExpiredNotes();
$(function () {
showActiveAlarms();
window.setInterval(function () {
resetData();
showActiveAlarms();
}, 5 * 60 * 1000);
});
}
function initPage () {
if (mw.config.get('wgNamespaceNumber') === -1 && (mw.config.get('wgTitle') === 'Wikinotes' || mw.config.get('wgTitle') === mw.msg('wikinotes'))) {
mw.config.set('wgCanonicalSpecialPageName', 'Wikinotes');
showAllNotes();
}
showNotesForPage();
}
function initNew () {
mw.util.$content.find('h1,h2,h3,h4,h5,h6').each(function (i, h) {
var $h = $(h), hash = $h.find('.mw-headline').attr('id') || '';
if (i === 0 || hash !== '') {
$h.append($('<span>')
.addClass('wikinotes-add-new mw-editsection noprint')
.html(mw.msg('brackets', mw.html.element('a', {href: '#', title: mw.msg('wikinotes-new-title'), 'data-wikinotessection': hash}, mw.msg('wikinotes-new'))))
);
}
});
$('.wikinotes-add-new').click(addNewNote);
}
function init () {
mw.util.addCSS(getCSS());
initAlarms();
$(function () {
initPage();
initNew();
});
}
if (mw.config.get('wgAction') === 'view' && isCompatible()) {
mw.loader.using(['mediawiki.util', 'mediawiki.jqueryMsg'], init);
}
})(jQuery, mediaWiki);
//</nowiki>
importScript('Benutzer:APPER/WikiHistory.js');
NavigationBarShowDefault = 0;
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Hedonil/XTools/XTools.js&action=raw&ctype=text/javascript')
var asqmReq = false;
if (mw.config.get('wgNamespaceNumber') == 0) {
$('<li id="ca-asqm" style="position: relative;"><span><a onclick="javascript:asqm()">ASQM</a></span>' +
'<div id="asqmContainer" style="visibility: hidden; position:absolute; right: 0; ' +
'font-size: 0.8em; border: 1px solid silver; margin: -5px 0 0 -1px; padding: 10px; ' +
'z-index: 1000; background: white;"></div></li>').insertAfter("#ca-history");
}
function asqm() {
if ($('#asqmContainer').css('visibility') == 'hidden') {
$('#asqmContainer').css('visibility', 'visible');
if (!asqmReq) {
$('#asqmContainer').html('<img src="http://toolserver.org/~render/stools/res/img/load.gif" style="padding: 20px;" />');
$.getJSON("http://toolserver.org/~render/stools/asqm/query/json/id/" +
mw.config.get('wgArticleId') + "/lang/" + mw.config.get('wgPageContentLanguage') + "/asqmid/0f74ca1e?callback=?", function(data) {
var output = "<table>";
$.each(data.asqmResponse, function(key, groupObj) {
output += "<tr><td colspan='2' style='text-align: center; font-weight: bold;'>" + groupObj.title + "</td></tr>";
$.each(groupObj.items, function(itemTitle, value) {
var link = "";
if ($.isArray(value)) {
link = value[1];
value = value[0];
}
if (link && link != "") {
value = "<a href='" + link + "' target='_blank'>" + value + "</a>";
}
output += "<tr><td>" + itemTitle + "</td><td>" + value.replace("|", "<br />") + "</td></tr>";
});
});
output += "</table>";
asqmReq = true;
$('#asqmContainer').html(output);
});
}
} else {
$('#asqmContainer').css('visibility', 'hidden');
}
}
importScript('Benutzer:Schnark/js/notizen.js'); //[[Benutzer:Schnark/js/notizen.js]]
/*global mediaWiki*/
function runTests(test) {
"use strict";
test('Beobachtungsliste++', function (S) {
S.load('Spezial:Letzte Änderungen', {hidebots: 1});
S.wait();
S.waitFor('!!$(".mw-changeslist-line-not-watched .mw-title a").length', 3000, 'Änderungen an nicht beobachteten Seiten');
S.exec('mw.libs.browsertest.data.title = $(".mw-changeslist-line-not-watched .mw-title a").first().text();');
S.exec('mw.libs.browsertest.data.done = false;' +
'mw.loader.using("mediawiki.api").done(function () {' +
'(new mw.Api()).watch(mw.libs.browsertest.data.title).done(function () {' +
'$.post(mw.util.wikiScript("api"), {' +
'action: "setnotificationtimestamp",' +
'timestamp: "2000-01-01T00:00:00Z",' +
'titles: mw.libs.browsertest.data.title,' +
'token: mw.user.tokens.get("csrfToken"),' +
'format: "json"' +
'}).done(function () {' +
'mw.libs.browsertest.data.done = true;' +
'});' +
'});' +
'});'
);
S.waitFor('mw.libs.browsertest.data.done', 7000, 'Seite beobachtet');
S.load('Spezial:Watchlist++');
S.wait();
S.waitFor('$("#rules-add").length > 0', 5000, 'Interface aufgebaut');
S.exec('mw.libs.browsertest.data.rules = $("#rules-container li").length;');
S.exec('$("#rules-add").click();');
S.exec('$("#new-rule-desc").val("tEST");');
S.exec('$(".new-rule-filter .key-input").eq(0).val("title").change();');
S.assert('$(".new-rule-filter").length === 2', 'Neue Zeile angezeigt');
S.exec('$(".new-rule-filter .val-input").eq(0).val(mw.libs.browsertest.data.title.replace(/.*?:/, ""));'); //FIXME nur Namensraum
S.exec('window.alert = function (note) {mw.libs.browsertest.data.alert = note;};');
S.exec('$("button:contains(\'Speichern\')").click();');
S.assert('mw.libs.browsertest.data.alert === "Gib bitte mindestens eine Markierung und eine Filterregel an!"', 'Fehlende Markierung bemängelt');
S.exec('$("#new-rule-mark").val("1");');
S.exec('$("button:contains(\'Speichern\')").click();');
S.load('Spezial:Watchlist++');
S.wait();
S.waitFor('$("#changes-table tr:visible").length > 0', 18000, 'Seite mit ungesehenen Änderungen');
S.assert('$("#changes-table tr.mark-1:visible").text().indexOf(mw.libs.browsertest.data.title) > -1', 'Erwartete Seite mit richtiger Markierung aufgeführt');
S.exec('mw.libs.browsertest.data.changes = $("#changes-table tr:visible").length');
S.exec('$("#toggle-read").click();');
S.assert('$("#changes-table tr:visible").length > mw.libs.browsertest.data.changes', 'weitere Änderungen');
S.exec('$("tr:contains(\'" + mw.libs.browsertest.data.title.replace(/\'/, "\\\\\'") + "\')").find(".td-read a").first().click();');
S.exec('$("#toggle-read").click();');
S.assert('$("#changes-table tr:visible").length === mw.libs.browsertest.data.changes - 1', 'als gelesen markiert');
S.exec('$(".rules-edit").eq(-1).click();');
S.assert('$(".new-rule-filter .val-input").eq(0).val() === mw.libs.browsertest.data.title.replace(/.*?:/, "")', 'Dialog angezeigt'); //FIXME
S.exec('window.confirm = function (q) {return q === "Soll die Regel „tEST“ wirklich gelöscht werden?";};');
S.exec('$(".rules-delete").eq(-1).click();');
S.assert('mw.libs.browsertest.data.rules === $("#rules-container li").length', 'Regel gelöscht');
S.exec('mw.libs.browsertest.data.done = false;' +
'mw.loader.using("mediawiki.api").done(function () {' +
'(new mw.Api()).unwatch(mw.libs.browsertest.data.title).done(function () {' +
'mw.libs.browsertest.data.done = true;' +
'});' +
'});'
);
S.waitFor('mw.libs.browsertest.data.done', 5000, 'Seite entobachtet');
});
};
if (mediaWiki.libs.browsertest) {
runTests(mediaWiki.libs.browsertest.test);
}
mw.loader.load('//de.wikipedia.org/w/index.php?title=Benutzer:APPER/WikiHistory.js&action=raw&ctype=text/javascript');
mw.loader.load('//de.wikipedia.org/w/index.php?title=Benutzer:APPER/WikiHistory.js&action=raw&ctype=text/javascript');
//[[Benutzer:Schnark/js/artikel-statistik.js]]
mw.loader.load('https://de.wikipedia.org/w/index.php?title=Benutzer:Schnark/js/artikel-statistik.js&action=raw&ctype=text/javascript');
mw.loader.load('https://de.wikipedia.org/w/index.php?title=Benutzer:Reinhard Kraasch/GenderCats.js' + '&action=raw&ctype=text/javascript'); // GenderCats
// Und hier ist die monobook.js zu Ende.