User:Xiplus/global.js
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* 反importScript */
var whitelist = ["Xiplus", "A2093064-test", "A2093064-bot"];
if (mw.config.get('wgUserName') && whitelist.indexOf(mw.config.get('wgUserName')) === -1) {
alert("請勿importScript User:Xiplus/common.js!可能有未預期的危害發生。");
throw new Error();
}
console.log("using User:Xiplus/global.js");
mw.loader.using(['mediawiki.util']).done(function() {
/* mediawiki.util */
mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Xiplus/js/api-query.js&action=raw&ctype=text/javascript');
// mw.loader.load('https://xiplus.ddns.net/Xiplus-zhWP/APIedit.js');
mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Xiplus/js/APIedit.js&action=raw&ctype=text/javascript');
mw.loader.using(['mediawiki.util']).done(function() {
mw.loader.load('https://en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-ShowMessageNames.js&action=raw&ctype=text/javascript');
});
// [[File:Krinkle_CVNSimpleOverlay_wiki.js]]
mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Krinkle/Scripts/CVNSimpleOverlay_wiki.js&action=raw&ctype=text/javascript');
mw.loader.load("https://zh.wikipedia.org/w/index.php?title=User:Bluedeck/serve/edit-count.js&action=raw&ctype=text/javascript");
mw.loader.load('//en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-edittop.js&action=raw&ctype=text/javascript');
mw.loader.load("https://meta.wikimedia.org/w/index.php?title=User:Xiplus/js/section-link.js&action=raw&ctype=text/javascript");
/* wikiplus */
mw.loader.load('https://wikiplus-app.com/Main.min.js');
(function() {
function wikiplusSettingdefaultSummary(w) {
if (w.sectionNumber == -1) {
return ' ';
}
if (w.sectionNumber == 0) {
return '/* top */ ';
}
return '/* ' + w.sectionName + ' */ ';
}
var wikiplusSetting = {
"defaultSummary": wikiplusSettingdefaultSummary.toString().replace(/\s+/g, " "),
"documatation": "http://zh.moegirl.org/User:%E5%A6%B9%E7%A9%BA%E9%85%B1/Wikiplus/%E8%AE%BE%E7%BD%AE%E8%AF%B4%E6%98%8E"
};
localStorage.setItem("Wikiplus_Settings", JSON.stringify(wikiplusSetting));
})();
/* XTools */
mw.loader.load('https://www.mediawiki.org/w/index.php?title=XTools/ArticleInfo.js&action=raw&ctype=text/javascript');
/* FakeRollback */
/*
if ($.inArray('sysop', mw.config.get('wgUserGroups')) === -1) {
mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:WhitePhosphorus/js/FakeRollback.js&action=raw&ctype=text/javascript');
}
*/
/* AutoUndo */
if ($.inArray('sysop', mw.config.get('wgUserGroups')) === -1) {
mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:WhitePhosphorus/js/AutoUndo.js&action=raw&ctype=text/javascript');
}
/* AutoUndoGlobal */
mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:WhitePhosphorus/js/AutoUndoGlobal.js&action=raw&ctype=text/javascript');
/* cvn-smart */
// mw.loader.load('https://xiplus.ddns.net/wikipedia_rc/gadget.js');
mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Xiplus/js/cvn-smart-gadget.js&action=raw&ctype=text/javascript');
/* history-merge */
if ($.inArray('sysop', mw.config.get('wgUserGroups')) !== -1) {
mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Xiplus/js/history-merge.js&action=raw&ctype=text/javascript');
}
/* list-user-last-active */
switch (mw.config.get('wgDBname')) {
// case 'zhwiki':
// break;
default:
mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Xiplus/js/list-user-last-active.js&action=raw&ctype=text/javascript');
break;
}
/* smart rollback */
if (typeof window.smartRollbackConfig === 'undefined') {
window.smartRollbackConfig = {};
}
var smartRollbackConfig = window.smartRollbackConfig;
smartRollbackConfig.toolLinkMethod = 'p-tb';
smartRollbackConfig.editSummaries = ['批量回退無意義文字', '批量回退破壞', '批量回退傀儡編輯'];
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Hoo_man/smart_rollback.js&action=raw&ctype=text/javascript');
/* get-translatewiki-link */
mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Xiplus/js/get-translatewiki-link.js&action=raw&ctype=text/javascript');
/* UTC clock */
mw.loader.load('//www.mediawiki.org/w/index.php?title=MediaWiki:Gadget-UTCLiveClock.js&action=raw&ctype=text/javascript');
/* importer */
switch (mw.config.get('wgDBname')) {
case 'commonswiki':
case 'mediawikiwiki':
case 'metawiki':
break;
default:
mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Xiplus/js/importer.js&action=raw&ctype=text/javascript');
}
/* CentralAuth */
function showCentralAuth(username) {
if (username === undefined) {
return;
}
if (mw.util.isIPAddress(username, true)) {
username = username.replace(/\/\d+$/, '');
mw.util.addPortletLink(
'p-cactions',
'https://tools.wmflabs.org/meta/stalktoy/' + username,
'全域封禁'
);
mw.util.addPortletLink(
'p-cactions',
'https://whatismyipaddress.com/ip/' + username,
'地理位置'
);
mw.util.addPortletLink(
'p-cactions',
'https://rms.twnic.tw/query_whois2.php?q=' + username,
'TWNIC'
);
mw.util.addPortletLink(
'p-cactions',
'https://whois.tanet.edu.tw/showWhoisPublic.php?queryString=' + username,
'TANet'
);
mw.util.addPortletLink(
'p-cactions',
'https://tools.wmflabs.org/ipcheck/index.php?ip=' + username,
'Proxy Checker'
);
} else {
mw.util.addPortletLink(
'p-cactions',
'https://meta.wikimedia.org/wiki/Special:CentralAuth?target=' + encodeURIComponent(username),
'全域帳號'
);
}
mw.util.addPortletLink(
'p-cactions',
'https://xtools.wmflabs.org/globalcontribs/' + username,
'全域貢獻 (xtools)'
);
mw.util.addPortletLink(
'p-cactions',
'https://tools.wmflabs.org/guc/?by=date&user=' + username,
'全域貢獻 (guc)'
);
}
if (mw.config.get('wgNamespaceNumber') === 2 || mw.config.get('wgNamespaceNumber') === 3) {
showCentralAuth(mw.config.get('wgTitle').replace(/^([^/]+).*$/, '$1'));
} else if (mw.config.get('wgRelevantUserName') !== null) {
showCentralAuth(mw.config.get('wgRelevantUserName'));
} else if (mw.config.get('wgCanonicalSpecialPageName') === 'Contributions') {
showCentralAuth($('[name="target"]').val());
}
/* Admin list */
switch (mw.config.get('wgDBname')) {
// case 'zh_classicalwiki':
// case 'zh_yuewiki':
// case 'zhwiki':
// case 'zhwikibooks':
// case 'zhwikinews':
// case 'zhwikiquote':
// case 'zhwikisource':
// case 'zhwikivoyage':
// case 'zhwiktionary':
// break;
default:
mw.util.addPortletLink(
'p-cactions',
mw.config.get('wgServer') + mw.config.get('wgArticlePath').replace('$1', 'Special:Userlist') + '?group=sysop',
'管理員列表'
);
}
/* Twinkle */
if (mw.config.get('wgUserName') === 'Xiplus' && !mw.util.getParamValue('disableGTW')) {
switch (mw.config.get('wgDBname')) {
// case 'enwiki':
// case 'simplewiki':
case 'testwiki':
// case 'zh_classicalwiki':
// case 'zhwiki':
// case 'zhwikibooks':
// case 'zhwikinews':
// case 'zhwikiquote':
// case 'zhwikisource':
// case 'zhwikiversity':
// case 'zhwikivoyage':
// case 'zhwiktionary':
break;
default:
console.log("Load Twinkle-global");
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Xiplus/TwinkleGlobal.js&action=raw&ctype=text/javascript');
break;
}
}
/* Popup */
switch (mw.config.get('wgDBname')) {
case 'enwiki':
case 'zhwiki':
case 'testwiki':
break;
default:
console.log("載入 zhwp Popup");
mw.loader.getScript('https://zh.wikipedia.org/w/index.php?title=MediaWiki:Gadget-site-lib.js&action=raw&ctype=text/javascript').then(function() {
mw.loader.load('//zh.wikipedia.org/w/index.php?title=MediaWiki:Gadget-popups.js&action=raw&ctype=text/javascript');
mw.loader.load('//zh.wikipedia.org/w/index.php?title=MediaWiki:Gadget-popups.css&action=raw&ctype=text/css', 'text/css');
});
break;
}
/* tagger */
/* if ($.inArray('sysop', mw.config.get('wgUserGroups')) === -1) {
switch (mw.config.get('wgDBname')) {
case 'enwiki':
break;
default:
var template = (mw.config.get('wgDBname') === 'commonswiki' ? 'Speedydelete' : 'Delete');
if (typeof (window.taggerConfig) == 'undefined') window.taggerConfig = {};
var taggerConfig = window.taggerConfig;
taggerConfig.noDeleteOnly = false;
if (typeof (taggerConfig) == 'undefined') taggerConfig = {};
taggerConfig.tags = [];
taggerConfig.editSummary = [];
taggerConfig.tags[1] = '{{' + template + '|Vandalism}}';
taggerConfig.editSummary[taggerConfig.tags[1]] = '+' + template;
taggerConfig.tags[2] = '{{' + template + '|Nonsense}}';
taggerConfig.editSummary[taggerConfig.tags[2]] = '+' + template;
taggerConfig.tags[3] = '{{' + template + '|Vandalism. Created by LTA from zhwiki.}}';
taggerConfig.editSummary[taggerConfig.tags[3]] = '+' + template;
taggerConfig.tags[4] = '{{' + template + '|Spam}}';
taggerConfig.editSummary[taggerConfig.tags[4]] = '+' + template;
taggerConfig.tags.other = 'This is used for the option you have to select to be able to insert a custom template';
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Hoo_man/tagger.js&action=raw&ctype=text/javascript');
break;
}
} */
/* 側欄 */
mw.util.addPortletLink(
'p-tb',
'/wiki/Special:PrefixIndex/' + mw.config.get('wgRelevantPageName'),
'前綴索引',
't-prefixindex',
'',
'',
$('#t-specialpages')
);
if (mw.config.get("wgNamespaceNumber") == 8) {
mw.util.addPortletLink(
'p-cactions',
'https://translatewiki.net/wiki/' + mw.config.get("wgPageName").split("/")[0] + '/zh-hant?action=edit',
'translatewiki'
);
mw.util.addPortletLink(
'p-cactions',
mw.util.getUrl('Special:Search', {
search: 'insource: "' + mw.config.get('wgTitle').split('/')[0] + '"',
ns0: 1, ns1: 1, ns2: 1, ns3: 1, ns4: 1, ns5: 1, ns6: 1, ns7: 1, ns8: 1, ns9: 1, ns10: 1, ns11: 1, ns12: 1, ns13: 1, ns14: 1, ns15: 1, ns100: 1, ns101: 1, ns102: 1, ns103: 1, ns118: 1, ns119: 1, ns828: 1, ns829: 1, ns2300: 1, ns2301: 1, ns2302: 1, ns2303: 1,
}),
'Search msg key'
);
}
/* 刪除摘要 */
mw.loader.using(['mediawiki.api']).done(function() {
new mw.Api().get({
action: "query",
format: "json",
list: "logevents",
leprop: "comment|type",
letype: "delete",
letitle: mw.config.get('wgPageName')
}).then(function(data) {
for (var i = 0; i < data.query.logevents.length && i < 3; i++) {
var comment = data.query.logevents[i].comment;
console.log('Deletion log: ' + comment);
}
});
});
/* templates-last-edit */
mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Xiplus/js/templates-last-edit.js&action=raw&ctype=text/javascript');
/* mediawiki.util */
});
/* CurIDLink */
mw.loader.using(['mediawiki.api', 'mediawiki.ForeignApi']).then(function() {
var api;
if (mw.config.get('wgDBname') === 'metawiki') {
api = new mw.Api();
} else {
api = new mw.ForeignApi('//meta.wikimedia.org/w/api.php');
}
api.loadMessagesIfMissing(['Link-by-id', 'Link-by-id-desc']).then(function() {
mw.loader.load('https://meta.wikimedia.org/w/index.php?title=MediaWiki:Gadget-CurIDLink.js&action=raw&ctype=text/javascript');
}, function() {
mw.notify('Load CurIDLink messages failed', { type: 'error' });
});
}, function() {
console.error('Load CurIDLink dependencies failed');
});
/* shortURL */
mw.loader.using(['mediawiki.util', 'oojs-ui', 'mediawiki.ForeignApi', 'oojs-ui-windows', 'mediawiki.widgets']).done(function() {
mw.loader.getScript('https://zh.wikipedia.org/w/index.php?title=MediaWiki:Gadget-site-lib.js&action=raw&ctype=text/javascript').then(function() {
mw.loader.load('https://zh.wikipedia.org/w/index.php?title=MediaWiki:Gadget-shortURL.js&action=raw&ctype=text/javascript');
});
});
/* Sandbox link */
mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Xiplus/js/SandboxLink.js&action=raw&ctype=text/javascript');
/* quick-link-wikidata */
switch (mw.config.get('wgDBname')) {
case 'zhwiktionary':
break;
default:
mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Xiplus/js/quick-link-wikidata.js&action=raw&ctype=text/javascript');
}
/* CatUpdates */
mw.loader.load('https://zh.wikipedia.org/w/index.php?title=User:WhitePhosphorus/js/CatUpdates.js&action=raw&ctype=text/javascript');
/* Debug */
var url = new URL(location.href);
if (mw.util.getParamValue('debug')) {
url.searchParams.set('debug', '0');
mw.util.addPortletLink(
'p-tb',
url.href,
'Disable debug',
't-debug'
);
} else {
url.searchParams.set('debug', '1');
mw.util.addPortletLink(
'p-tb',
url.href,
'Enable debug',
't-debug'
);
}
/* Check signatures */
if (mw.config.get('wgRelevantUserName')) {
mw.util.addPortletLink(
'p-tb',
'https://signatures.toolforge.org/check/' + mw.config.get('wgServerName') + '/' + mw.util.escapeIdForLink(mw.config.get('wgRelevantUserName')),
'Check signatures',
't-signatures'
);
}
/* enable-discussion-tools */
mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Xiplus/js/enable-discussion-tools.js&action=raw&ctype=text/javascript');
if (mw.config.get('wgUserGroups').indexOf('sysop') !== -1) {
mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Xiplus/js/remove-selection-from-revisiondelete.js&action=raw&ctype=text/javascript');
}
mw.loader.load('https://en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-script-installer.js&action=raw&ctype=text/javascript');
/* lintHint */
if (mw.util.getParamValue('lintHint') !== null) {
var myLintHints = {};
myLintHints.rooms = "*";
mw.hook("lintHint.config").fire(myLintHints);
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:PerfektesChaos/js/lintHint/r.js&action=raw&ctype=text/javascript');
} else {
var url = new URL(window.location.href);
url.searchParams.set('action', 'edit');
url.searchParams.set('lintHint', '1');
mw.util.addPortletLink(
'p-tb',
url.href,
'Enable lintHint',
't-dtenable'
);
}
/* MarkRights */
mw.loader.load('https://zh.wikipedia.org/w/index.php?title=MediaWiki:Gadget-MarkRights.js&action=raw&ctype=text/javascript');
mw.loader.load('https://zh.wikipedia.org/w/index.php?title=MediaWiki:Gadget-MarkRights.css&action=raw&ctype=text/css', 'text/css');
console.log("global.js end");