跳转到内容

User:Xiplus/common.js

维基百科,自由的百科全书

这是本页的一个历史版本,由Xiplus留言 | 贡献2021年6月20日 (日) 02:44编辑。这可能和当前版本存在着巨大的差异。

注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google ChromeFirefoxMicrosoft EdgeSafari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。
/* eslint-disable no-console */
window.LocalComments = {
	twentyFourHours: true,
};
importScript('MediaWiki:Gadget-CommentsinLocalTime.js');

(function() {
	var myLoadJS = function(title) {
		mw.loader.load('https://zh.wikipedia.org/w/index.php?title=' + title + '&action=raw&ctype=text/javascript');
	};
	var myLoadCSS = function(title) {
		mw.loader.load( 'https://zh.wikipedia.org/w/index.php?title=' + title + '&action=raw&ctype=text/css', 'text/css' );
	};
	
	mw.loader.using(['mediawiki.util']).done(function() {

		/* 反importScript */

		var whitelist = ["Xiplus", "A2093064-test", "A2093064-bot"];
		if (whitelist.indexOf(mw.config.get('wgUserName')) === -1) {
			alert("請勿importScript User:Xiplus/common.js!可能有未預期的危害發生。");
			return;
		}

		/* 自己的 */

		if (document.cookie.indexOf("TWtest=0") !== -1) {
			console.log("未啟用Twinkle");
		} else if (document.cookie.indexOf("TWtest=1") !== -1) {
			myLoadJS('User:Xiplus/Twinkle-dev.js');
			console.log("測試版Twinkle");
		} else if (document.cookie.indexOf("TWtest=2") !== -1) {
			mw.loader.load('ext.gadget.Twinkle');
			console.log("Jimmy版Twinkle");
		} else if (document.cookie.indexOf("TWtest=3") !== -1) {
			myLoadJS('User:Xiplus/Twinkle.js');
			console.log("穩定版Twinkle");
		}

		// myLoadJS('User:Xiplus/js/admin-backlog.js');
		myLoadJS('User:Xiplus/js/AFD-stats.js');
		myLoadJS('User:Xiplus/js/AFDpagelog.js');
		myLoadJS('User:Xiplus/js/apply-edit-from-abuselog.js');
		myLoadJS('User:Xiplus/js/bulletin-editor.js');
		myLoadJS('User:Xiplus/js/close-affp.js');
		myLoadJS('User:Xiplus/js/close-move.js');
		myLoadJS('User:Xiplus/js/close-rfpp.js');
		myLoadJS('User:Xiplus/js/close-rrd.js');
		myLoadJS('User:Xiplus/js/close-vip.js');
		myLoadJS('User:Xiplus/js/contribution-filter.js');
		myLoadJS('User:Xiplus/js/csd-reason-in-csd-cat.js');
		myLoadJS('User:Xiplus/js/delete-status.js');
		myLoadJS('User:Xiplus/js/disable-redirect.js');
		myLoadJS('User:Xiplus/js/forceEditSection.js');
		myLoadJS('User:Xiplus/js/hide-log-username.js');
		myLoadJS('User:Xiplus/js/hide-long-summary.js');
		myLoadJS('User:Xiplus/js/highlight-newpages.js');
		myLoadJS('User:Xiplus/js/history-filter.js');
		myLoadJS('User:Xiplus/js/HRTProtectLink.js');
		myLoadJS('User:Xiplus/js/log-move-whatlinkshere.js');
		myLoadJS('User:Xiplus/js/mass-revision-delete.js');
		// myLoadJS('User:Xiplus/js/mass-rollback.js');
		// myLoadJS('User:Xiplus/js/PatrollCount.js');
		myLoadJS('User:Xiplus/js/Page-Preview.js');
		myLoadJS('User:Xiplus/js/report-filter.js');
		myLoadJS('User:Xiplus/js/RFCU-stats.js');
		myLoadJS('User:Xiplus/js/TranslateVariants.js');
		myLoadJS('User:Xiplus/js/TranslateTextVariants.js');
		// myLoadJS('User:Xiplus/js/Twinkle-delete-reason.js');
		myLoadJS('User:Xiplus/js/unblock-zh-ipbe.js');
		myLoadJS('User:Xiplus/js/userRightsManager.js');

		// myLoadCSS('User:Xiplus/js/hide-rollback-link.css');
		myLoadCSS('User:Xiplus/js/highlight-redirect-in-afd.css');

		/* SpecialInterlanguageLink */
		window.SpecialInterlanguageLink = {
			"lang": {
				"wikt": "詞典",
				"q": "語錄",
				"v": "學院",
				"s": "文庫",
				"b": "教科書",
				"voy": "導遊",
				"n": "新聞",
				"m": "Meta",
				"en": "English"
			}
		};
		myLoadJS('User:Xiplus/js/SpecialInterlanguageLink.js');

		myLoadJS('User:Xiplus/js/get-list/Special-BlockList-Target.js');

		mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Xiplus/js/block-time-convert.js&action=raw&ctype=text/javascript');
		mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Xiplus/js/quick-patrol.js&action=raw&ctype=text/javascript');
		// mw.loader.load('https://xiplus.ddns.net/MediaWiki-Gadget/quick-patrol.js');
		mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Xiplus/js/watchlist-markseen.js&action=raw&ctype=text/javascript');

		if (mw.util.getParamValue('edittag') !== null) {
			mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:Xiplus/js/editchangetags-link.js&action=raw&ctype=text/javascript');
		}

		/****************************************************************/
		/** 注意!以下的js請勿使用,如有需要請直接複製原始碼至您的js頁 **/
		/****************************************************************/
		mw.loader.load('https://xiplus.ddns.net/MediaWiki-Gadget/Template-transclusion-count.js');
		/****************************************************************/
		/** 注意!以上的js請勿使用,如有需要請直接複製原始碼至您的js頁 **/
		/****************************************************************/

		/* 其他人的 */

		myLoadJS('User:WhitePhosphorus/js/all-in-one.js');

		mw.loader.load('https://zh.wikipedia.org/w/index.php?title=User:WhitePhosphorus/js/PagePatroller.js&action=raw&ctype=text/javascript');
		mw.loader.load('https://zh.wikipedia.org/w/index.php?title=User:WhitePhosphorus/js/rrd.js&action=raw&ctype=text/javascript');
		mw.loader.load("https://meta.wikimedia.org/w/index.php?title=User:Zhaofeng_Li/Reflinks.js&action=raw&ctype=text/javascript");

		if (mw.util.getParamValue('lintHint') !== null) {
			var myLintHints = {};
			myLintHints.rooms = "*";
			mw.hook("lintHint.config").fire(myLintHints);
			mw.loader.load("https://en.wikipedia.org/w/index.php?title=User:PerfektesChaos/js/lintHint/r.js&action=raw&maxage=86400&ctype=text/javascript");
		} else {
			var url = new URL(window.location.href);
			url.searchParams.set('lintHint', '1');
			mw.util.addPortletLink(
				'p-tb',
				url.href,
				'Enable lintHint',
				't-dtenable'
			);
		}

		/* if (document.cookie.indexOf("POPUP=0") !== -1) {
			console.log("未啟用Popup");
		} else if (document.cookie.indexOf("POPUP=1") !== -1) {
			mw.loader.load('ext.gadget.Navigation_popups');
			console.log("標準Popup");
		} else {
			mw.loader.load('//zh.wikipedia.org/w/index.php?title=User:A2569875-sandbox/MyPopupsSetting_zh-hant.js&action=raw&ctype=text/javascript');
			mw.loader.load('//zh.wikipedia.org/w/index.php?title=User:A2569875-sandbox/MyPopups.css&action=raw&ctype=text/css', 'text/css');
			console.log("A2569875Popup");
		} */

		// mw.loader.load('https://meta.wikimedia.org/w/index.php?title=User:He7d3r/Tools/ScoredRevisions.js&action=raw&ctype=text/javascript');

		/* 設定 */
		window.LocalComments = {};
		window.LocalComments.disablePages = function() {
			if (mw.config.get('wgDiffOldId') !== null) {
				return true;
			}
			return false;
		};

		/* TranslateTextVariants */
		if (mw.config.get('wgAction') === 'edit') {
			var link = mw.util.addPortletLink(
				'p-tb',
				'#',
				'轉換文字'
			);
			$(link).on('click', function() {
				var lang = prompt('lang', 'zh-cn');
				if (lang) {
					window.TranslateTextVariants($('#wpTextbox1').val(), lang).then(function(x) { $('#wpTextbox1').val(x) });
				}
			});
		}

		/* Checklinks */
		mw.util.addPortletLink(
			"p-tb",
			"http://69.142.160.183/~dispenser/cgi-bin/webchecklinks.py?page=" + mw.config.get('wgContentLanguage') + ":" + encodeURIComponent(mw.config.get('wgPageName')),
			"檢測連結",
			't-checklinks',
			'',
			'',
			$('#t-specialpages')
		);

		window.removehiddenchars = function() {
			myLoadJS("User:Vanished user 1929210/removehiddenchars.js");
			mw.notify("已去除不可見字元");
		}
		mw.util.addPortletLink(
			"p-tb",
			"javascript:removehiddenchars()",
			"去除不可見字元",
			't-removehiddenchars',
			'',
			'',
			$('#t-specialpages')
		);

		if (mw.config.get('wgRelevantUserName') !== null) {
			mw.util.addPortletLink(
				'p-tb',
				'/wiki/Special:滥用日志?wpSearchUser=' + mw.config.get('wgRelevantUserName'),
				'用戶過濾器日誌',
				't-userabuselog',
				'',
				'',
				$('#t-blockip')
			);
		}
		if (mw.config.get('wgCanonicalSpecialPageName') === 'AbuseLog' && mw.config.get("wgAbuseFilterVariables") && mw.config.get("wgAbuseFilterVariables")["user_name"]) {
			mw.util.addPortletLink(
				'p-tb',
				'/wiki/Special:滥用日志?wpSearchUser=' + mw.config.get("wgAbuseFilterVariables")["user_name"],
				'用戶過濾器日誌',
				't-userabuselog',
				'',
				'',
				$('#t-blockip')
			);
		}

		if (mw.config.get('wgCanonicalSpecialPageName') === 'AbuseLog') {
			if (mw.config.get("wgAbuseFilterVariables") && mw.config.get("wgAbuseFilterVariables")["page_prefixedtitle"]) {
				mw.util.addPortletLink(
					'p-tb',
					'/wiki/Special:滥用日志?wpSearchTitle=' + mw.config.get("wgAbuseFilterVariables")["page_prefixedtitle"],
					'此頁過濾器日誌',
					't-abuselog',
					'',
					'',
					$('#t-specialpages')
				);
			}
		} else {
			mw.util.addPortletLink(
				'p-tb',
				'/wiki/Special:滥用日志?wpSearchTitle=' + mw.config.get('wgPageName'),
				'此頁過濾器日誌',
				't-abuselog',
				'',
				'',
				$('#t-specialpages')
			);
		}

		mw.util.addPortletLink(
			'p-tb',
			'http://69.142.160.183/~dispenser/cgi-bin/dab_solver.py?page=zh:' + mw.config.get('wgPageName'),
			'Dab solver',
			't-dab-solver',
			'',
			'',
			$('#t-specialpages')
		);

		/* AFD link */
		(function() {
			var today = new Date();
			var yesterday = new Date();
			var tdby = new Date();
			yesterday.setUTCDate(today.getUTCDate() - 1);
			tdby.setUTCDate(today.getUTCDate() - 2);

			$('<li>' +
				'<a href="/wiki/Wikipedia:頁面存廢討論">AFD</a> ' +
				'<a href="/wiki/Wikipedia:頁面存廢討論/積壓討論">積壓</a> ' +
				'<a href="/wiki/Wikipedia:頁面存廢討論/記錄">本週</a> ' +
				'<a href="/wiki/Wikipedia:頁面存廢討論/記錄/' + tdby.getUTCFullYear() + '/' + (tdby.getUTCMonth() + 1 < 10 ? '0' : '') + (tdby.getUTCMonth() + 1) + '/' + (tdby.getUTCDate() < 10 ? '0' : '') + tdby.getUTCDate() + '">前</a> ' +
				'<a href="/wiki/Wikipedia:頁面存廢討論/記錄/' + yesterday.getUTCFullYear() + '/' + (yesterday.getUTCMonth() + 1 < 10 ? '0' : '') + (yesterday.getUTCMonth() + 1) + '/' + (yesterday.getUTCDate() < 10 ? '0' : '') + yesterday.getUTCDate() + '">昨</a> ' +
				'<a href="/wiki/Wikipedia:頁面存廢討論/記錄/' + today.getUTCFullYear() + '/' + (today.getUTCMonth() + 1 < 10 ? '0' : '') + (today.getUTCMonth() + 1) + '/' + (today.getUTCDate() < 10 ? '0' : '') + today.getUTCDate() + '">今</a>' +
				'</li>').appendTo($('#p-navigation ul'));
			$('<li>' +
				'<a href="/wiki/Wikipedia:当前的破坏">VIP</a> ' +
				'<a href="/wiki/Wikipedia:管理员布告板/3RR">EWIP</a> ' +
				'<a href="/wiki/Wikipedia:请求保护页面">PT</a> ' +
				'<a href="/wiki/Wikipedia:需要管理員注意的用戶名">UAA</a> ' +
				'<a href="/wiki/Wikipedia:元維基用戶查核請求">RFCU</a>' +
				'</li>').appendTo($('#p-navigation ul'));
		})();
		
		// 在VIP隱藏有夠長的序言
		if (mw.config.get('wgPageName') === 'Wikipedia:当前的破坏' && mw.config.get('wgAction') === 'view' & mw.config.get('wgCurRevisionId') === mw.config.get('wgRevisionId') && mw.util.getParamValue('oldid') === null) {
		    $('.mw-parser-output').children().each(function(i, e) {
		        if ($(e).hasClass('noedit')) {
		            return false;
		        }
		        $(e).css('display', 'none');
		    })
		}

		// 在RFPP隱藏序言
		if (mw.config.get('wgPageName') === 'Wikipedia:请求保护页面' && mw.config.get('wgAction') === 'view' & mw.config.get('wgCurRevisionId') === mw.config.get('wgRevisionId') && mw.util.getParamValue('oldid') === null) {
		    $('.mw-parser-output').children().each(function(i, e) {
		        if ($(e).hasClass('noedit')) {
		            return false;
		        }
		        $(e).css('display', 'none');
		    })
		}
	});
})();