User:Examknow/autoSockTag.js

From Simple English Wikipedia, the free encyclopedia

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)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
//<nowiki>
mw.loader.using( 'mediawiki.util', function () {

    // Wait for the page to be parsed
    $( document ).ready( function () {
    	
    	function tagSock(type) {
    		var status;
    		if (type === '1') {
    			status = "suspected";
    		} else if (type === '2') {
    			status = "confirmed";
    		} else if (type === '3') {
    			status = "confirmed|locked=yes"
    		}
    		var sockmaster = prompt("Who is this user a sock of?", "Example sock");
			if (sockmaster === null) {
			  alert("Error. You did not specify a sockmaster.");
			  return;
			}
    		var currentpage = mw.config.get( 'wgPageName' );
	    	var params = {
				action: 'edit',
				title: currentpage,
				text: '{{sockpuppet|' + sockmaster + '|' + status + '}}',
				summary: 'Adding sockpuppet tag using AutoSockTagger',
				format: 'json'
			},
			api = new mw.Api();
			api.postWithToken( 'csrf', params ).done( function ( data ) {
				console.log( data );
				window.location.reload(false);
			} );
    	}

        var link = mw.util.addPortletLink( 'p-cactions', '#', 'Tag Sock', 'ca-socktagger', 'Tag user as a sockpuppet'); 
        $( link ).click( function ( event ) {
            event.preventDefault();
            var UserAuthorized = Morebits.userIsInGroup( "autoconfirmed" ) || Morebits.userIsInGroup( "confirmed" );
            if (!UserAuthorized) {
            	alert("Sorry, but you are not permitted to use this script.");
            	return;
            }
			var ready = confirm("WARNING: This script is only to be used when tagging real sockpuppets. Using this tool irresponsibly could get you blocked from editing. Use at your own risk.");
			if (ready !== true) {
			  return;
			}
			var type = prompt("Is the sockpuppet (1) Suspected, (2) Confirmed by the checkuser, or (3) Globally locked. See docs for more help.");
			if (0 < type < 4) {
				tagSock(type);
			} else {
				alert("Error. You did not specify a type. See docs for more help.");
				return;
			}
        } );
    } );
} );
//</nowiki>