User:Examknow/autoSockTag.js
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>