MediaWiki:Gadget-UserMessages.js

H萌娘,万物皆可H的百科全书!
跳到导航 跳到搜索

注意:这类代码页面在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。

// <nowiki>
/**
 * https://commons.wikimedia.org/w/index.php?oldid=494706072
 */
"use strict";
(function () {
    var linktext = "警告用户", nsNr = mw.config.get("wgNamespaceNumber");
    if (nsNr === 3 || nsNr === 2 ||
        nsNr === -1 &&
            ["Contributions", "DeletedContributions", "Block", "CentralAuth", "Userrights", "Listfiles", "Log"].includes(mw.config.get("wgCanonicalSpecialPageName"))) {
        var loadFullScript_1 = function () {
            mw.loader.load(mw.config.get("wgServer") + mw.config.get("wgScript") + "?title=MediaWiki:AxUserMsg.js&action=raw&ctype=text/javascript&dummy=1");
            setTimeout(function () {
                if (!window.AxUserMsg) {
                    loadFullScript_1();
                }
            }, 4500);
        };
        if (window.installOldLinks || window.AxUserMsgFireAsYouClick) {
            if (window.AxUserMsgFireAsYouClick) {
                window.installOldLinks = true;
            }
            // User wants old links - therefore we have to load the whole script each time
            loadFullScript_1();
            return;
        }
        $(function () {
            mw.loader.using(["mediawiki.util"], function () {
                if (window.installOldLinks || window.AxUserMsgFireAsYouClick) {
                    if (window.AxUserMsgFireAsYouClick) {
                        window.installOldLinks = true;
                    }
                    // User js was loaded later, so do it now!
                    loadFullScript_1();
                    return;
                }
                if ($("#t-AjaxUserMessage").length === 0 && $("#t-AjaxUserMessageLOD").length === 0) {
                    var pHref = mw.util.addPortletLink("p-tb", "#", linktext, "t-AjaxUserMessageLOD", "对用户进行警告");
                    if (!pHref) {
                        mw.notify("UserMessages 小工具加载出错");
                    }
                    $(pHref).on("click.umBootStrap", function (e) {
                        var $linknode = $(this).find("a");
                        if ($linknode.length === 0) {
                            $linknode = $(this);
                        }
                        e.preventDefault();
                        $linknode.text("受理中……");
                        $(document).on("scriptLoaded", function (_, st, o) {
                            if (st) {
                                if (st === "AxUserMsg" && o) {
                                    $linknode.text(linktext);
                                    o.umNotifyUser();
                                }
                            }
                        });
                        $(this).off("click.umBootStrap");
                        loadFullScript_1();
                    });
                }
            });
        });
    } // Namespace Guard
})();