User:Bosco/common.js: Difference between revisions

From Test Wiki
Jump to navigation Jump to search
Content deleted Content added
m =
Tag: Reverted
Line 1: Line 1:
// rollback-summary (zh) with Simplified + Traditional Chinese
// Undo / Rollback
(() => {
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:WhitePhosphorus/js/AutoUndo.js&action=raw&ctype=text/javascript');
const messages = {
//mw.loader.load('//en.wikipedia.org/w/index.php?title=User:BrandonXLF/Restorer.js&action=raw&ctype=text/javascript');
hans: {
//mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Gracenotes/rollback.js&action=raw&ctype=text/javascript');
prompt: '请输入自定义回退摘要(留空则使用系统预设摘要)',
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:FR30799386/undo.js&action=raw&ctype=text/javascript');
cancelNotify: '已取消回退操作。',
//mw.loader.load( "https://zh.wikipedia.org/w/index.php?title=User:1F616EMO/AdvancedRollback/en.js&action=raw&ctype=text/javascript" );
summary: '已还原$1的编辑:$2',
//seletive rollback config
summaryUser: '[[Special:Contributions/$1|$1]]([[User talk:$1|对话]])',
window.selectiveRollbackConfig = {};
summaryNoUser: '已隐藏用户'
selectiveRollbackConfig.editSummaries = {};
},
selectiveRollbackConfig.editSummaries[0]='Reverted $7 edit(s) by [[Special:Contributions/$2|$2]] to version [[Special:Diff/$3|$3]] done by [[Special:Contributions/$1|$1]]';
hant: {
selectiveRollbackConfig.editSummaries[1]='Reverted $7 edit(s) by [[Special:Contributions/$2|$2]] to version [[Special:Diff/$3|$3]] done by [[Special:Contributions/$1|$1]]: Spam or spambot';
prompt: '請輸入自定義回退摘要(留空則使用系統預設摘要)',
selectiveRollbackConfig.editSummaries[2]='Reverted $7 edit(s) by [[Special:Contributions/$2|$2]] to version [[Special:Diff/$3|$3]] done by [[Special:Contributions/$1|$1]]: LTA';
cancelNotify: '已取消回退操作。',
selectiveRollbackConfig.editSummaries[3]='Reverted $7 edit(s) by [[Special:Contributions/$2|$2]] to version [[Special:Diff/$3|$3]] done by [[Special:Contributions/$1|$1]]: Vandalism';
summary: '已還原$1的編輯:$2',
selectiveRollbackConfig.editSummaries[4]='Reverted $7 edit(s) by [[Special:Contributions/$2|$2]] to version [[Special:Diff/$3|$3]] done by [[Special:Contributions/$1|$1]]: Bot error';
summaryUser: '[[Special:Contributions/$1|$1]]([[User talk:$1|對話]])',
selectiveRollbackConfig.editSummaries[5]='Reverted $7 edit(s) by [[Special:Contributions/$2|$2]] to version [[Special:Diff/$3|$3]] done by [[Special:Contributions/$1|$1]]';
summaryNoUser: '已隱藏用戶'
selectiveRollbackConfig.editSummaries[6]='Reverted $7 edit(s) to version [[Special:Diff/$3|$3]] done by [[Special:Contributions/$1|$1]]';
}
// Mass js
};
importScript('User:DodoMan/smartpatrol.js'); // Backlink: [[User:DodoMan/smartpatrol.js]]

mw.loader.load('//fr.wikipedia.org/w/index.php?title=MediaWiki:Gadget-Smart_patrol.js&action=raw&ctype=text/javascript');
const hansLangs = ['zh-hans','zh-cn','zh-my','zh-sg'];
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Timotheus_Canens/massblock.js&action=raw&ctype=text/javascript');
const hantLangs = ['zh-hant','zh-hk','zh-mo','zh-tw'];
//mw.loader.load('//it.wikipedia.org/w/index.php?title=MediaWiki:Gadget-Massblock.js&action=raw&ctype=text/javascript');

// Inactive sysops
const lang = mw.config.get('wgUserLanguage');
importScript('User:JJBullet/findInactiveSysops.js'); // Backlink: [[User:JJBullet/findInactiveSysops.js]]
let chosen;
// Script installer
if (hansLangs.includes(lang)) {
// Edit count
chosen = messages.hans;
//importScript('User:PB2008/editcount.js'); // Backlink: [[User:PB2008/editcount.js]]
} else if (hantLangs.includes(lang)) {
importScript('User:PB2008/script-installer.js'); // Backlink: [[User:PB2008/script-installer.js]]
chosen = messages.hant;
// TW
} else {
mw.loader.load("https://dev.miraheze.org/wiki/MediaWiki:Twinkle.js?action=raw&ctype=text/javascript");
chosen = messages.hans; // 預設簡體
// Mark admins
}
importScript('User:PB2008/markadmins/tw.js'); // Backlink: [[User:PB2008/markadmins/tw.js]]

// Edit count
const loadedMap = new WeakMap();
(function(editCount) {

if (editCount !== null) mw.loader.addStyleTag('#pt-mycontris>a::after, .menu__item--userContributions>span>span::after, #mw-mf-page-left .menu__item--userContributions>span::after {content: " (' + editCount + ')"}')
mw.hook('wikipage.content').add(() => {
})(mw.config.get('wgUserEditCount'));
for (const link of $('.mw-rollback-link a')) {
// InPageEdit
if (loadedMap.has(link)) {
//mw.loader.load('https://cdn.jsdelivr.net/npm/mediawiki-inpageedit');
continue;
// InPageEdit NEXT
}
document.body.append(
loadedMap.set(link, true);
Object.assign(document.createElement('script'), {

src: 'https://cdn.jsdelivr.net/npm/@inpageedit/core/dist/index.js',
type: 'module',
$(link)
.on('click', (ev) => {
})
const summary = prompt(chosen.prompt);
)
if (summary === null) {
//JWB
ev.preventDefault();
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Joeytje50/JWB.js&action=raw&ctype=text/javascript');
mw.notify(chosen.cancelNotify);
//importScript('User:Bosco/markadmins.js'); // Backlink: [[User:Bosco/markadmins.js]]
return;
//importScript('User:Bosco/UserRightsManager/crat.js'); // Backlink: [[User:Bosco/UserRightsManager/crat.js]]
} else if (summary === '') {
//importScript('User:Bosco/MarkRights.js'); // Backlink: [[User:Bosco/MarkRights.js]]
return;
importScript('User:Bosco/MediaWiki:Gadget-MarkRights.js'); // Backlink: [[User:Bosco/MediaWiki:Gadget-MarkRights.js]]
}
//importScript('User:Bosco/UserRightsManager.js'); // Backlink: [[User:Bosco/UserRightsManager.js]]

importScript('User:Bosco/prot.js'); // Backlink: [[User:Bosco/prot.js]]
ev.preventDefault();
mw.loader.load( '//meta.wikimedia.org/w/index.php?title=User:Jon_Harald_Søby/diffedit.js&action=raw&ctype=text/javascript' );
const url = new URL(link.href);
importScript('User:Bosco/add-delete.js'); // Backlink: [[User:Bosco/add-delete.js]]
const username = url.searchParams.get('from');
url.searchParams.set(
'summary',
mw.format(
chosen.summary,
username ? mw.format(chosen.summaryUser, username) : chosen.summaryNoUser,
summary
)
);
window.location.assign(url.href);
})
.css('color', '#099');
}
});
})();

Revision as of 13:11, 30 December 2025

// rollback-summary (zh) with Simplified + Traditional Chinese
(() => {
    const messages = {
        hans: {
            prompt: '请输入自定义回退摘要(留空则使用系统预设摘要)',
            cancelNotify: '已取消回退操作。',
            summary: '已还原$1的编辑:$2',
            summaryUser: '[[Special:Contributions/$1|$1]]([[User talk:$1|对话]])',
            summaryNoUser: '已隐藏用户'
        },
        hant: {
            prompt: '請輸入自定義回退摘要(留空則使用系統預設摘要)',
            cancelNotify: '已取消回退操作。',
            summary: '已還原$1的編輯:$2',
            summaryUser: '[[Special:Contributions/$1|$1]]([[User talk:$1|對話]])',
            summaryNoUser: '已隱藏用戶'
        }
    };

    const hansLangs = ['zh-hans','zh-cn','zh-my','zh-sg'];
    const hantLangs = ['zh-hant','zh-hk','zh-mo','zh-tw'];

    const lang = mw.config.get('wgUserLanguage');
    let chosen;
    if (hansLangs.includes(lang)) {
        chosen = messages.hans;
    } else if (hantLangs.includes(lang)) {
        chosen = messages.hant;
    } else {
        chosen = messages.hans; // 預設簡體
    }

    const loadedMap = new WeakMap();

    mw.hook('wikipage.content').add(() => {
        for (const link of $('.mw-rollback-link a')) {
            if (loadedMap.has(link)) {
                continue;
            }
            loadedMap.set(link, true);

            $(link)
                .on('click', (ev) => {
                    const summary = prompt(chosen.prompt);
                    if (summary === null) {
                        ev.preventDefault();
                        mw.notify(chosen.cancelNotify);
                        return;
                    } else if (summary === '') {
                        return;
                    }

                    ev.preventDefault();
                    const url = new URL(link.href);
                    const username = url.searchParams.get('from');
                    url.searchParams.set(
                        'summary',
                        mw.format(
                            chosen.summary,
                            username ? mw.format(chosen.summaryUser, username) : chosen.summaryNoUser,
                            summary
                        )
                    );
                    window.location.assign(url.href);
                })
                .css('color', '#099');
        }
    });
})();