Benutzer:Steef389/monobook.js

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

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
  • Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
// based on PDDs monobook
mw.user.options.set('NavigationBarShowDefault', 0);

$(function()
{
    "use strict";

    var quickbar =
    {
        content: "",
        current_section: [],

        finalize: function(username)
        {
            quickbar.content += quickbar.current_section.join(" ");

            return $('<div class="pBody noprint" id="p-quickbar" style="font-size: 95%; position:absolute; top:5px; left:0px; width:14.1em; z-index:10;">'
                +       '<div align=right>'
                +           '<a href="/w/index.php?title=Spezial%3APrefixindex&prefix=' + mw.config.get("wgUserName") + '&namespace=2" title="Eigene Seiten">Browse own</a><hr>'
                +       '</div>'
                +       '<div>'
                +           quickbar.content
                +       '</div>'
                +       '<div style="display: none" id="steefAutoAntraege"><hr></div>'
                +       '<div style="display: none" id="steefNewSearchBox"><hr></div>'
                +   '</div>');
        },

        addSeparator: function()
        {
            quickbar.content += quickbar.current_section.join(" ");
            quickbar.current_section = [];
            quickbar.content += "<hr>";
        },

        addLink: function(href, text, title)
        {
            text    = (typeof text  === "undefined") ? href : text;
            title   = (typeof title === "undefined") ? text : title;
            quickbar.current_section.push(mw.html.element ('a' ,
                {
                    href: href,
                    title: title
                },
                text));
        }
    };

    var steefMonobookJs =
    {
        loadUrl: function (url, mime)
        {
            mime = (typeof mime === "undefined") ? "text/javascript" : mime;
            mw.loader.load(url, mime);
        },
        loadScript: function (pagetitle, language, wiki)
        {
            language    = (typeof language  === "undefined") ? "de"          : language;
            wiki        = (typeof wiki      === "undefined") ? "wikipedia"   : wiki;
            mw.loader.load("//" + language + "." + wiki + ".org/w/index.php?title=" + pagetitle.replace(/^\[\[(.*)\]\]$/, "$1") + "&action=raw&ctype=text/javascript");
        },

        pdd_helper_dependent: function()
        {
            window.jetzt = new Date();
            // fill date variables
            window.Monate = new Array("", "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
            window.Monatekurz = new Array("", "Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez");
            window.Jahr = jetzt.getYear();
            if (Jahr < 999)  Jahr += 1900;
            window.Monat = jetzt.getMonth() + 1;
            window.Tag = jetzt.getDate();
            window.Stunde = jetzt.getHours();
            window.Minute = jetzt.getMinutes();
            // fill WP date variables
            function LeadingZero(v)
            {
                if (v < 10)
                    return "0" + v;
                else
                    return "" + v;
            }
            window.WPDatum = Tag + '._' + Monate[Monat] + '_' + Jahr;
            window.WPDatum2 = Jahr + '/' + Monate[Monat] + '/' + Tag;
            window.WPDatum3 = Monate[Monat] + ' ' + Jahr;
            window.WPDatum4 = Jahr + '-' + LeadingZero(Monat);
            window.WPDatum5 = Jahr + LeadingZero(Monat) + '/';
            window.refDatum = Tag + '. ' + Monatekurz[Monat] + '. ' + Jahr;
            window.refDatumlang = Tag + '. ' + Monate[Monat] + ' ' + Jahr;

            window.isEdit = ['edit', 'submit'].indexOf(mw.config.get("wgAction")) > -1;
            window.isSpecial = (-1 === mw.config.get("wgNamespaceNumber"));
            window.minimalVersion = function(x) { return x; };

            // get URL parameters (used for page type variables)
            function readparams()
            {
                var asReadInUrlParameters;
                var asReadInUrlParameter;

                // Get URL parameters
                asReadInUrlParameters = location.search.substring(1, location.search.length).split("&");
                for (var i = 0; i < asReadInUrlParameters.length; i++) {
                    asReadInUrlParameter = asReadInUrlParameters[i].split("=");
                    window.UrlParameters[decodeURIComponent(asReadInUrlParameter[0])] = decodeURIComponent(asReadInUrlParameter[1]);
                }
            }
            window.UrlParameters = new Array ();
            readparams();

            steefMonobookJs.loadScript("[[Benutzer:PDD/helperFunctions.js]]");
            steefMonobookJs.loadScript("[[Benutzer:Euku/markErledigt.js]]");
        },

        generateQuickbar: function()
        {
            var ns = mw.config.get("wgNamespaceNumber");
            var page_title = mw.config.get("wgPageName").split('&').join('%26').replace(/_/g, "+").replace(/ /g, "+");
            var title = mw.config.get("wgTitle").split('&').join('%26').replace(/_/g, "+").replace(/ /g, "+");

            var quickbox = quickbar;

            quickbox.addLink("/wiki/Wikipedia:Fragen zur Wikipedia",                        "FZW",  "Fragen zur Wikipedia");
            quickbox.addLink("/wiki/Wikipedia:Auskunft",                                    "AU",   "Auskunft");
            quickbox.addLink("/wiki/Wikipedia:Sperrprüfung",                                "SP",   "Sperrprüfung");
            quickbox.addLink("/wiki/Wikipedia:Administratoren/Probleme#Aktuelle_Probleme",  "AP",   "Admin-Probleme");
            quickbox.addLink("/wiki/Wikipedia:Vandalismusmeldung",                          "VM",   "Vandalismusmeldung");
            quickbox.addLink("/wiki/Wikipedia:Checkuser/Anfragen#Laufende_Anfragen",        "CU/A", "Checkuser/Anfragen");
            quickbox.addLink("/wiki/Wikipedia:Schiedsgericht/Anfragen#Neu",                 "SG/A", "Schiedsgericht/Anfragen");
            quickbox.addLink("/wiki/Wikipedia:Kurier",                                      "K",    "Kurier");

            quickbox.addSeparator();
            quickbox.addLink("/wiki/Wikipedia:Adminwiederwahl",                             "A/W",  "Adminwiederwahl");
            quickbox.addLink("/wiki/Wikipedia:Löschprüfung",                                "LP",   "Löschprüfung");
            quickbox.addLink("/wiki/Kategorie:Wikipedia:Schnelllöschen",                    "SLK",  "Schnelllöschkandidaten");
            quickbox.addLink("/wiki/Wikipedia:Löschkandidaten",                             "LK",   "Löschkandidaten");
            quickbox.addLink("/wiki/Wikipedia:Administratoren/Anfragen",                    "AAF",  "Administratoren/Anfragen");
            quickbox.addLink("/wiki/Wikipedia:Entsperrwünsche",                             "EW",   "Entsperrwünsche");
            quickbox.addLink("/wiki/Wikipedia:Dritte_Meinung",                              "3M",   "Dritte Meinung");

            quickbox.addSeparator();

            if ([ 2, 3 ].indexOf(ns) > -1)
            {
                var userPageOwner = mw.config.get("wgTitle").split("/")[0];

                // handelt es sich um eine IP?
                var isIPUser = false;
                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;
                    }
                }

                if (isIPUser)
                {
                    quickbox.addLink("http://http://www.utrace.de/whois/" + userPageOwner,      "Whois");
                    quickbox.addLink("http://http://www.utrace.de/?query" + userPageOwner,      "Loc",  "IP localization");
                    quickbox.addLink("https://www.dan.me.uk/torcheck?ip=" + userPageOwner,      "TOR",  "TOR-Node-Check");
                    quickbox.addLink("https://tools.wmflabs.org/guc/?user=" + userPageOwner + "&blocks=true&lang=de",   "EC",       "Global user contributions");
                    quickbox.addLink("http://toolserver.org/~erwin85/blockfinder.php?lang=de&family=wikipedia&ip=" + userPageOwner,           "RngB?",    "Range Block Finder");
                }
                else
                {
                    quickbox.addLink("http://toolserver.org/~vvv/sulutil.php?user=" + userPageOwner,"SUL",  "Global user accounts");
                    quickbox.addLink("https://tools.wmflabs.org/guc/?user=" + userPageOwner  + "&blocks=true&lang=de", "SUL-EC",   "Global user contributions");
                    quickbox.addLink("http://toolserver.org/~tparis/count/index.php?name=" + userPageOwner + "&lang=de&wiki=wikipedia",             "EC",       "Editcount");
                }
            }

            if (0 === ns)
            {
                var jetzt = new Date();
                var datum = "" + (1900 + jetzt.getYear());
                if (jetzt.getMonth() < 9)
                {
                    datum += "0";
                }
                datum += jetzt.getMonth() + 1;
                quickbox.addLink("http://stats.grok.se/de/" + datum + "/" + mw.config.get("wgPageName").split('&').join('%26'), "Pagehits", "Wikipedia article traffic statistics");
            }

            // Cats
            if (14 === ns)
            {
                quickbox.addLink("http://toolserver.org/~daniel/WikiSense/CategoryIntersect.php?wikilang=de&wikifam=.wikipedia.org&basecat=" + title + "&userlang=de",          "CatScan",  "Kategorie: CatScan");
                quickbox.addLink("http://toolserver.org/~erwin85/categorycount.php?lang=de&family=wikipedia&namespaces=0&category=" + title + "&subcats=1&d=100&submit=Submit", "K:Count",  "Kategorie: Anzahl der Artikel");
                quickbox.addLink("http://toolserver.org/~daniel/WikiSense/CategoryIntersect.php?wikilang=de&wikifam=.wikipedia.org&basecat=" + title + "&basedeep=5&mode=cs&tagcat=Wikipedia%3AL%C3%B6schkandidat&tagdeep=1&userlang=de&go=Scannen", "K:LA", "Kategorie: Artikel mit Löschantrag");
            }

            // File
            if (6 === ns)
            {
                quickbox.addLink("http://toolserver.org/~magnus/commonshelper.php?interface=de&lang=de&project=wikipedia&image=" + title + '&doit="Text generieren"', "D:M2C", "Datei: Move-to-commons-Assistent");
            }
            else
            {
                quickbox.addLink("http://wikipedia.ramselehof.de/wikiblame.php?article=" + page_title + "&user_lang=de&skipversions=2&ignorefirst=3&limit=250&searchmethod=lin", "WBlame", "Wikiblame");
            }

            $("body").append(quickbox.finalize(mw.config.get("wgUserName")));

            // Searchbox
            $("div#steefNewSearchBox").append($("form#searchform"));
            $("input#searchGoButton").hide();
            $("input#mw-searchButton").val("VT").css("padding-left", "0").css("padding-right", "0");
            $("div#p-search").remove();
            $("div#steefNewSearchBox").show();
        },

        schnarkAutoAntraege: null,

        run: function()
        {
            if (mw.config.get("wgNamespaceNumber") >= 0)
            {
                window.editintrotext = "Intro bearbeiten";
                window.addeditintro = true;
                window.addpurge = true;
                window.addpageinfo = true;
                steefMonobookJs.loadScript("[[Benutzer:PDD/modifyCA.js]]");
            }
            steefMonobookJs.loadScript("[[Benutzer:Steef389/sperrstatus.js]]");
            steefMonobookJs.loadScript("[[Benutzer:Schnark/js/autoedit.js]]");
            steefMonobookJs.loadScript("[[Benutzer:Schnark/js/dialog.js]]");
            mw.loader.load("jquery.ui");     // für autoanträge
            $(document).bind("loadWikiScript",
                function (e, name, autoantraege)
                {
                    if (name === "Benutzer:Schnark/js/autoantraege.js")
                    {
                        if (steefMonobookJs.schnarkAutoAntraege != null)
                        {
                            return;
                        }
                        steefMonobookJs.schnarkAutoAntraege = autoantraege;
                        var ns = mw.config.get("wgNamespaceNumber");
                        autoantraege.zeige_menu = false;
                        autoantraege.zeige_revert = true;
                        autoantraege.zeige_erl = false;
                        autoantraege.zeige_inuse = false;
                        autoantraege.inform_autor = false;

                        // Links, gelaut bei [[User:Schnark]]
                        //SLA
                        if (ns != -1)
                        {
                            $("#steefAutoAntraege").append($(mw.html.element ('a' ,
                                {
                                    href: "#",
                                    title: "Schnelllöschantrag stellen"
                                },
                                "SLA+")).click(function(){steefMonobookJs.schnarkAutoAntraege.eintragen('sla'); return false;})).append(" ");
                        }
                        //LA: keine Diskussionsseiten
                        if (ns % 2 === 0)
                        {
                            $("#steefAutoAntraege").append($(mw.html.element ('a' ,
                                {
                                    href: "#",
                                    title: "Löschantrag stellen"
                                },
                                "LA+")).click(function(){steefMonobookJs.schnarkAutoAntraege.eintragen('la'); return false;})).append(" ");
                        }
                        //VM
                        if ([ 2, 3 ].indexOf(ns) > -1 || mw.config.get("wgCanonicalSpecialPageName") === "Contributions")
                        {
                            $("#steefAutoAntraege").append($(mw.html.element ('a' ,
                                {
                                    href: "#",
                                    title: "Vandalismusmeldung Benutzer"
                                },
                                "VM+")).click(function(){steefMonobookJs.schnarkAutoAntraege.eintragen('vm_benutzer'); return false;})).append(" ");
                        }
                        else if (ns != -1)
                        {
                            $("#steefAutoAntraege").append($(mw.html.element ('a' ,
                                {
                                    href: "#",
                                    title: "Vandalismusmeldung Seite"
                                },
                                "VM+")).click(function(){steefMonobookJs.schnarkAutoAntraege.eintragen('vm_artikel'); return false;})).append(" ");
                        }

                        $("#steefAutoAntraege").show();
                    }
                });
            steefMonobookJs.loadScript("[[Benutzer:Schnark/js/autoantraege.js]]");

            window.pagelogtext = "Seite:Log";
            window.userlogtext1 = "Benutzer:Log:aktiv";
            window.userlogtext2 = "Benutzer:Log:passiv";
            window.usercontribtext = "Benutzer:Beiträge";
            window.userdeledittext = "Benutzer:Gelöschte Beiträge";
            window.userstatstext = "Benutzer:Editcounter";
            window.userarticletext = "Benutzer:Artikel";
            steefMonobookJs.loadScript("[[Benutzer:PDD/addLogsLink.js]]");

            steefMonobookJs.loadScript("[[Benutzer:PDD/hideduplicatecontribs.js]]");
            steefMonobookJs.loadScript("[[Benutzer:P.Copp/scripts/diffhistory.js]]");

            if (mw.config.get("wgCanonicalNamespace") === "File")
            {
                steefMonobookJs.loadScript("[[Benutzer:PDD/checkDupes.js]]");
            }
            if (mw.config.get("wgNamespaceNumber") % 2 == 1)
            {
                steefMonobookJs.loadScript("[[Benutzer:Lustiger seth/unsigned.js]]");
            }

            steefMonobookJs.pdd_helper_dependent();

            window.cbmytalk = "Disk.";
            window.cbprefs = "Einst.";
            window.cbwatchlist = "Beo.";
            window.cbmyconts = "Contr.";
            window.cblogout = "X";
            window.cbwhatlinkshere = "Links auf diese Seite";
            steefMonobookJs.loadScript("[[Benutzer:PDD/changeBeschriftungen.js]]");

            steefMonobookJs.generateQuickbar();
        }
    };

    steefMonobookJs.run();
});