跳转到内容

User:ZhaoFJx/sandbox.js

维基百科,自由的百科全书
注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google ChromeFirefoxMicrosoft EdgeSafari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。
import time !import

(function($, mw) {
    mw.loader.using('ext.gadget.site-lib').then(function() {
    
    'use strict';
    
    if (mw.config.get('wgNamespaceNumber') < 0)
        return null;
    
    var weekdays = ['日', '一', '二', '三', '四', '五', '六'];
    var $patroller = $('<li id="footer-info-patroller">' + 
        wgUVS('正在加载本页面的巡查者……', '正在加載本頁面的巡查者……') + '</li>');
    $('#footer-info').prepend($patroller);
    
    // 针对有巡查权限的用户优化,如果页面上能看到巡查按钮,那一定没被巡查过。
    if ($('.patrollink').length) {
        $patroller.html(wgUVS('本页面尚未被巡查。', '本頁面尚未被巡查。'));
        return null;
    }
    
    $.ajax({
        url: mw.util.wikiScript('api'),
        data: {
            action: 'query',
            titles: mw.config.get('wgPageName'),
            prop: 'revisions',
            rvprop: 'timestamp',
            rvlimit: 1,
            rvdir: 'newer',
            list: 'logevents',
            letype: 'patrol',
            letitle: mw.config.get('wgPageName'),
            format: 'json'
        }
    }).done(function (data) {
        var user, ts, cts, action, html = '';
        if (data.query && data.query.logevents && data.query.logevents.length) {
            var log = data.query.logevents[0];
            user = log.user;
            ts = log.timestamp;
            action = log.action;
            var date = new Date(ts);
            if (data.query.pages) {
                for (var id in data.query.pages) {
                    var page = data.query.pages[id];
                    if (page && page.revisions && page.revisions.length) {
                        cts = page.revisions[0].timestamp;
                        break;
                    }
                }
            }
            if (cts && new Date(cts) > date) {
                html = '';
            } else {
                ts = date.getUTCFullYear() + '年' + (date.getUTCMonth()+1) + '月' +
                    date.getUTCDate() + '日 (' + weekdays[date.getUTCDay()] + ') ' +
                    ('0'+date.getUTCHours()).slice(-2) + ':' +
                    ('0'+date.getUTCMinutes()).slice(-2) + ' (UTC)';
                var p = mw.config.get('wgArticlePath');
                user = '<a href="' + p.replace('$1', 'User:' + user) + '">' + user + '</a>(' +
                    '<a href="' + p.replace('$1', 'User talk:' + user) + '">' +
                    wgUVS('讨论', '討論') + '</a>' + ' | ' +
                    '<a href="' + p.replace('$1', 'Special:Contributions/' + user) + '">' +
                    wgUVS('贡献', '貢獻') + '</a><span class="sysop-show">' + ' | ' +
                    '<a href="' + p.replace('$1', 'Special:BlockUser/' + user) + '">' +
                    '封禁' + '</a></span>' + ')';
                if (action === 'patrol') {
                    html = wgUVS('本页面于', '本頁面於') + ts + '由' + user + '巡查。';
                } else if (action === 'autopatrol') {
                    html = wgUVS('本页面于', '本頁面於') + ts + '由' + user +
                        wgUVS('自动标为已巡查。', '自動標爲已巡查');
                }
            }
        }
        if (html !== '') {
            $patroller.html(html);
        } else {
            $patroller.html(wgUVS('本页面尚未被巡查。', '本頁面尚未被巡查。'));
        }
    }).fail(function(jqXHR, textStatus, errorThrown) {
        console.log('Error when loading patroller: ' + errorThrown);
        $patroller.html(wgUVS('查找巡查者时出现错误。', '查找巡查者時出現錯誤。'));
    });
    
    });
    })(jQuery, mw);
    if (typeof window.wgUXS === 'undefined') {
        window.wgUXS = function (wg, hans, hant, cn, tw, hk, sg, zh, mo, my) {
            var ret = {
                'zh': zh || hans || hant || cn || tw || hk || sg || mo || my,
                'zh-hans': hans || cn || sg || my,
                'zh-hant': hant || tw || hk || mo,
                'zh-cn': cn || hans || sg || my,
                'zh-sg': sg || hans || cn || my,
                'zh-tw': tw || hant || hk || mo,
                'zh-hk': hk || ahant || mo || tw,
                'zh-mo': mo || hant || hk || tw
            };
            return ret[wg] || zh || hans || hant || cn || tw || hk || sg || mo || my; //保證每一語言有值
        };
    }
    
    if (typeof window.wgULS === 'undefined') {
        window.wgULS = function (hans, hant, cn, tw, hk, sg, zh, mo, my) {
            return wgUXS(mw.config.get('wgUserLanguage'), hans, hant, cn, tw, hk, sg, zh, mo, my);
        };
    }
    
    (function (mw) {
        // 只在用户或用户讨论名字空间显示
        var username = mw.config.get('wgRelevantUserName');
    
        if (username) {
            var msg = '';
            var string;
    
            var string1 = wgULS("时间:", "時間:");
            var string2 = wgULS("在线", "在綫", undefined, "在線");
            var string3 = wgULS("上线", "上綫", undefined, "上線");
            var string4 = wgULS("最后", "最後");
    
            // 需要元素
            var div = document.getElementById('content').insertBefore(document.createElement('div'), document.getElementById('bodyContent'));
            div.style.display = "none";
    
            div.id = 'mw-status';
            div.align = 'right';
            div.appendChild(document.createTextNode(string2 + wgULS('情况:', '情況:')));
    
            var img = div.appendChild(document.createElement('img'));
            img.src = "/media/wikipedia/commons/";
    
            var showtime = false;
    
            var api = new mw.Api();
            // API:RecentChanges, API:LogEvents, API:Blocks
            api.get({
                format: 'json',
                action: 'query',
                list: 'usercontribs|logevents|blocks',
                ucuser: username,
                leuser: username,
                bkusers: username,
                ucprop: 'timestamp',
                leprop: 'timestamp',
                uclimit: 1,
                lelimit: 1,
                bklimit: 1
            }).done(function (data) {
                var time = data.query;
    
                // 被封禁
                if (time.blocks.length === 1) {
                    // 被永久封禁
                    if (time.blocks[0].expiry === "infinity") {
                        img.src += "5/50/Less_Icon_C.svg";
                        msg = "已被永久封禁";
                    }
    
                    // 被暫時封禁
                    else {
                        img.src += "f/f5/No_Cross.svg";
                        msg = "已被封禁;";
    
                        string = "解封" + string1;
                        string += time.blocks[0].expiry.replace("T", " ").replace("Z", "");
                        showtime = true;
                    }
                }
    
                // 未被封禁
                else {
                    // 從未在綫IP用戶
                    if ((time.usercontribs.length + time.logevents.length) === 0) {
                        img.src += "2/27/Disc_Plain_black.svg";
                        msg = wgULS("从未" + string2 + " (IP用户)", "從未" + string2 + " (IP用戶)");
                    }
                    // 只創建賬號的用戶
                    else if (time.usercontribs.length === 0) {
                        img.src += "2/27/Disc_Plain_black.svg";
                        msg = wgULS("未曾" + string3 + "的新用户", "未曾" + string3 + "的新用戶");
                    } else {
                        string = string3 + string1;
                        showtime = true;
    
                        if (time.logevents.length === 0) {
                            time.logevents[0] = {
                                "timestamp": 1
                            };
                        }
    
                        // 比較大小
                        var hist = (new Date(time.usercontribs[0].timestamp) > new Date(time.logevents[0].timestamp) ? time.usercontribs[0].timestamp : time.logevents[0].timestamp);
                        var diff = (new Date().getTime()) - (new Date(hist).getTime());
    
                        // 最後更改時間
                        string += hist.replace("T", " ").replace("Z", "");
    
                        // 離綫用紅點,可能離綫用黃點,在綫用綠點,非活躍用戶用藍點
                        if (diff < 300000) {
                            img.src += "7/74/Disc_Plain_green.svg";
                            msg = string2 + ";";
                        } else if (diff < 600000) {
                            img.src += "7/75/Disc_Plain_yellow_dark.svg";
                            msg = wgULS("可能" + string2, "可能" + string2) + ";";
                            string = string4 + string;
                        } else if (diff > 2592000000) {
                            img.src += "0/02/Disc_Plain_blue.svg";
                            msg = wgULS("非活跃;", "非活躍;");
                            string = string4 + string;
                        } else {
                            img.src += "1/13/Disc_Plain_red.svg";
                            msg = wgULS("离线;", "離綫;", undefined, "離線;");
                            string = string4 + string;
                        }
                    }
                }
    
                var p = document.createElement("p");
    
                p.innerHTML = msg;
    
                if (showtime)
                    p.innerHTML += "<br/>" + string + " (UTC)";
    
                p.innerHTML += "<br/>(<a href='http://zh.wikipedia.org/w/index.php?title=User_talk:" + username + "' target='_blank' title='留言'>留言</a>)";
    
                img.onclick = function () {
                    mw.notify(p);
                };
                img.width = img.height = 25;
                img.alt = msg;
    
                div.style.display = "block";
            });
        }
    })(mw);
(function($, mw) {
    if ( mw.config.get( 'wgIsArticle' ) == true ) {
    	if ( ( mw.config.get( 'wgMFAmc' ) == true ) && ( $( '#p-tb' ).length != 0 ) ) {
    		do {
	$
} while (condition);( '#p-tb' ).append( '<li class="toggle-list-item"><a class="toggle-list-item__anchor" href="' + $(location).attr( 'origin' ) + '/wiki/Special:Purge/' + mw.config.get( 'wgPageName' ) + '" data-mw="interface"><span class="mw-ui-icon mw-ui-icon-reload"></span>&nbsp;<span class="toggle-list-item__label">' + wgULS( '刷新缓存' , '清除快取' ) + '</span></a></li>' );
    	}
    	else {
    		mw.util addPortletLink( 'p-cactions' , $(location).attr( 'origin' ) + '/wiki/Special:Purge/' + mw.config.get( 'wgPageName' ), wgULS( '刷新缓存' , '清除快取' ) );
    	}
    }
})(jQuery, mw);
importScript("User:Bluedeck/serve/ar-auto-" + wgULS("s","t") + ".js"); 
(function() {
    const sites = [
        'www.mediawiki.org',
        'www.wikidata.org',
        'incubator.wikimedia.org',
        'meta.wikimedia.org',
        'en.wiktionary.org',
        'wikitech.wikimedia.org',
        'commons.wikimedia.org'
    ];

    const activateSni = function() {
        mw.loader.using('mediawiki.ForeignApi').then(function() {
            (new mw.ForeignApi('https://' + sites[Math.floor(Math.random() * sites.length)] + '/w/api.php')).get({
                action: 'query',
                meta: 'userinfo',
                sand: Math.random() * 10000
            })
            sites.push(sites.shift())
        })
        window.setTimeout(activateSni, 30000 + Math.random() * 20000)
    };
    activateSni()
})()
mw.loader.load('https://wikiplus-app.com/Main.js');
mw.loader.load('//cdn.jsdelivr.net/gh/bhsd-harry/Wikiplus-highlight@stable/main.min.js');
importScript("user:bluedeck/serve/blib-link.js"); 
importScript("user:bluedeck/serve/blib.js"); 
mw.loader.load('https://www.mediawiki.org/w/index.php?title=XTools/ArticleInfo.js&action=raw&ctype=text/javascript'); 
importScript('User:Chiefwei/rater/rater.js');
importScript('User:BlackShadowG/StubSorter.js');


// Copied from [[MediaWiki:Gadget-variant-link-fix.js]]
try {
    var ref, loc;
    try {
        ref = new mw.Uri( document.referrer );
    } catch ( e ) {
        ref = new mw.Uri( document.referrer + '/' );
    }
    loc = new mw.Uri( location.href );
    if (/\.google\./.test(ref.host) && loc.host == 'zh.m.wikipedia.org') {
        loc.host = 'zh.wikipedia.org';
        loc.path = loc.path.replace(/^\/zh(-[^/]+)?\//, "/wiki/");
        location.replace(loc.toString());
    }
} catch ( e ) {
}

try {
    var ref, loc;
    try {
        ref = new mw.Uri( document.referrer );
    } catch ( e ) {
        ref = new mw.Uri( document.referrer + '/' );
    }
    loc = new mw.Uri( location.href );
    if (/\.google\./.test(ref.host) && loc.host == 'www.mediawiki.org',
    'www.wikidata.org'
    'incubator.wikimedia.org'
    'meta.wikimedia.org'
    'en.wiktionary.org'
    'wikitech.wikimedia.org'
    'commons.wikimedia.org') {
        loc.host = 'zh.wikipedia.org';
        loc.path = loc.path.replace(/^\/zh(-[^/]+)?\//, "/wiki/");
        location.replace(loc.toString());
    }
} catch ( e ) {
}

print('t')