利用者:Syunsyunminmin/script/sockblock.js
表示
お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。
多くの Windows や Linux のブラウザ
- Ctrl を押しながら F5 を押す。
Mac における Safari
Mac における Chrome や Firefox
- ⌘ Cmd と ⇧ Shift を押しながら R を押す。
詳細についてはWikipedia:キャッシュを消すをご覧ください。
/* <nowiki>
* Source: [[:en:User:Enterprisey/quick-vand-block.js]] https://en-two.iwiki.icu/w/index.php?title=User:Enterprisey/quick-vand-block.js&oldid=1004971679
* Original Author: [[:en:User:Enterprisey]]
* Adjustment: [[User:Syunsyunminmin]]
*/
$.when( mw.loader.using( [ "mediawiki.api", "mediawiki.util" ] ), $.ready ).then( function () {
var api = new mw.Api();
var IP_BLOCK_LENGTH = "1 week";
function go( obj ) {
obj.find( "span.mw-usertoollinks" ).each( function( idx, element ) {
var isAnon = this.previousElementSibling.className.indexOf( "mw-anonuserlink" ) >= 0;
var text = isAnon ? "1週間" : "無期限";
$( element ).contents().last().before( " | ",
$( "<a>" ).attr( "href", "#" )
.text( text )
.click( function () {
var username = $( this ).parent().get( 0 ).previousElementSibling.textContent;
if( confirm( '"' + username + '"を' + text + 'ブロックします') ) {
var params = {
action: "block",
user: username,
expiry: isAnon ? IP_BLOCK_LENGTH : "never",
reason: "[[WP:SOCK|sockpuppet]]",
nocreate: "true",
noemail: "true",
autoblock: "true",
watchuser: "true"
};
if (isAnon) params.anononly = "true";
new mw.Api().postWithToken( "csrf", params ).then( function () {
mw.notify( '"' + username + '"をブロックしました' );
}, function(error) {
mw.notify( error, { title: 'エラー', type: 'error' } );
} );
return false;
}
} ) );
} ); // end .each
} // end function go()
mw.hook( "wikipage.content" ).add( function ( obj ) { go( obj ); } );
} ); // end $.when handler
//</nowiki>