コンテンツにスキップ

利用者:Marine-Blue/user status tab.js

お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。

多くの WindowsLinux のブラウザ

  • Ctrl を押しながら F5 を押す。

Mac における Safari

  • Shift を押しながら、更新ボタン をクリックする。

Mac における ChromeFirefox

  • Cmd Shift を押しながら R を押す。

詳細についてはWikipedia:キャッシュを消すをご覧ください。

/*

////////////////////////////////////////////////////////////////////////////////////////
//
//  user status tab.js
//
//  last update 2020-05-14
//
////////////////////////////////////////////////////////////////////////////////////////

ブロック記録、SULなどの情報が参照できるタブを追加する。追加項目が多いのでVectorスキン向き。
利用者ページ、会話ページ、投稿記録から参照可能。

*/

jQuery(document).ready(function ($) {
	// 利用者ページから投稿記録を参照できるか(アカウントが存在するかどうか)
	if($('#t-contributions')) {
		username = mw.config.get('wgTitle').replace(/\/.*/,"");
		username = encodeURIComponent(username);
		
		if($('#t-log')) {
			anoncheck = false;
		}
		
		setToolTab();
	}
	// 投稿記録のページか
	else if(mw.config.get('wgCanonicalSpecialPageName') == 'Contributions') {
		username = encodeURIComponent($('.target')[0].value);

		var userMenu = $('#contentSub');
		var userMenuAnchor = userMenu.$('a')[0];
		var userNameSpace = mw.config.get('wgFormattedNamespaces')['2'] + ':';
		
		// 利用者ページへのリンクがあるかどうか(アカウントが存在するかどうか)
		if(userMenuAnchor.title.indexOf(userNameSpace) > -1) {
			anoncheck = false;
		}

		setToolTab();
	}
});

function setToolTab() {
	// ユーザーの種別に関係なく追加する項目
	mw.util.addPortletLink('p-cactions', mw.config.get('wgScript') + '?title=%E7%89%B9%E5%88%A5:%E3%83%AD%E3%82%B0&type=block&page=%E5%88%A9%E7%94%A8%E8%80%85:' + username, 'ブロック記録', 'ca-block');
	mw.util.addPortletLink('p-cactions', 'https://tools.wmflabs.org/guc/index.php?user=' + username + '&blocks=true&lang=ja', '他プロジェクトでの活動', 'ca-global');
	
	// ローカルにアカウントが存在する場合のみ
	if(anoncheck === false) {
		mw.util.addPortletLink('p-cactions', '/wiki/%E7%89%B9%E5%88%A5:%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E7%B5%B1%E4%B8%80%E7%AE%A1%E7%90%86/' + username, '統一ログイン状況', 'ca-sul');
		mw.util.addPortletLink('p-cactions', '/wiki/%E7%89%B9%E5%88%A5:%E5%88%A9%E7%94%A8%E8%80%85%E6%A8%A9%E9%99%90/' + username, '利用者グループ', 'ca-rights');
	}
	
	// 利用者グループが管理者か
	for (i = 0; i < mw.config.get('wgUserGroups').length; i++) {
		if(mw.config.get('wgUserGroups')[i] == 'sysop') {
			addSysopTabs();
		}
	}
}

// 管理者用の項目
function addSysopTabs() {
	mw.util.addPortletLink('p-cactions', '/wiki/%E7%89%B9%E5%88%A5:%E3%81%BE%E3%81%A8%E3%82%81%E3%81%A6%E5%89%8A%E9%99%A4/' + username, 'まとめて削除', 'ca-nuke');
}