コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

利用者:Syunsyunminmin/script/sockblock.js

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

多くの WindowsLinux のブラウザ

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

Mac における Safari

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

Mac における ChromeFirefox

  • 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>