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.
// Autodelete
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:~riley/autodel.js&action=raw&ctype=text/javascript');

// Active sysops (For GS/SWMT work)
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Hoo_man/active_sysops.js&action=raw&ctype=text/javascript');

// Gives some useful links on user, user talk and user contribution pages
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Hoo_man/useful_links.js&action=raw&ctype=text/javascript');

// Nuke script for deleting pages
mw.loader.load("//meta.wikimedia.org/w/index.php?title=User:Tulsi_Bhagat/massdelete.js&action=raw&ctype=text/javascript");

// Permalinks on section headers
mw.loader.load("//en.wikipedia.org/w/index.php?title=User:The_Earwig/permalink.js&action=raw&ctype=text/javascript");

// by [[m:User:Erwin]] (to see user groups and such)
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Erwin/stewardlinks.js&action=raw&ctype=text/javascript');

// Last edit info
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:PleaseStand/userinfo.js&action=raw&ctype=text/javascript');

// Forces left-to-right layout and editing on RTL wikis.
mw.loader.load('//tools-static.wmflabs.org/meta/scripts/pathoschild.forceltr.js');

// UTC Clock
mw.loader.load('//www.mediawiki.org/w/index.php?title=MediaWiki:Gadget-UTCLiveClock.js&action=raw&ctype=text/javascript');

// User:Quentinv57/HideButtonsFromNonGsProjects.js
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Quentinv57/HideButtonsFromNonGsProjects.js&action=raw&ctype=text/javascript');

// Ajax sysop
mw.loader.load('//tools-static.wmflabs.org/meta/scripts/pathoschild.ajaxsysop.js');

// Remove sensitive information from delete reasons/clean delete reasons
if ( (mw.config.get("wgDBname") !== "commonswiki") && (mw.config.get("wgDBname") !== "metawiki") ) { // Don't work on commons/meta
    mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Tks4Fish/CleanDeleteReasons.js&action=raw&ctype=text/javascript');
}

// Script that adds several global sysop delete and block reasons to action=delete and Special:Block forms
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:WhitePhosphorus/js/GS_Rationale.js&action=raw&ctype=text/javascript');

// Auto undo/active cluebot - local
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:WhitePhosphorus/js/AutoUndo.js&action=raw&ctype=text/javascript');

// Auto undo/active cluebot - global
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:WhitePhosphorus/js/AutoUndoGlobal.js&action=raw&ctype=text/javascript');

// MoreMenu - user and page menus
mw.loader.load('https://meta.wikimedia.org/w/index.php?action=raw&ctype=text/javascript&title=MediaWiki:MoreMenu.import.js');

// Markblocked
mw.loader.load('//en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-markblocked.js&bcache=1&maxage=259200&action=raw&ctype=text/javascript');

// Massblock for spambots/socks
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Tks4Fish/massBlock.js&action=raw&ctype=text/javascript');

// For easy reporting to SRG and for easy tagging - triggers on userpage
if ( (/^enwiki$/.test(mw.config.get("wgDBname")) === false) && (/^simplewiki$/.test(mw.config.get("wgDBname")) === false) ) // work differently on wikis with local twinkle
	mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Xiplus/TwinkleGlobal.js&action=raw&ctype=text/javascript');
else
	mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Tks4Fish/TwinkleGlobalSRG.js&action=raw&ctype=text/javascript');

// For rollbacking all contribs - triggers on user contribs page
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Writ_Keeper/Scripts/massRollback.js&action=raw&ctype=text/javascript');

// For deleting all new pages - triggers on user contribs page
mw.loader.load('//en.wikipedia.org/w/index.php?title= User:Tks4Fish/nukeAll.js&action=raw&ctype=text/javascript');

// Easy GUC, emergency email, SRG and CA links
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Vermont/sidebar.js&action=raw&ctype=text/javascript');

// SWViewer local
mw.loader.load('//meta.wikimedia.org/w/index.php?title=User:Tulsi_Bhagat/swviewer.js&action=raw&ctype=text/javascript');

// translate button
mw.loader.using("mediawiki.util", function() {
	if ($.inArray(mw.config.get('wgDBname'), ['enwiki', 'enwikibooks', 'enwikinews', 'enwikiquote', 'enwikisource', 'enwikiversity', 'enwikivoyage', 'enwiktionary', 'mediawikiwiki', 'metawiki',
	'simplewiki', 'simplewiktionary', 'testwiki', 'test2wiki', 'testwikidatawiki', 'wikidatawiki']) == -1)
    mw.util.addPortletLink(
        "p-cactions",
        "https://translate.google.com/translate?u="+window.location.href,
        "translate",
        "translate this page"
    );
});

// Custom settings for [[User:WhitePhosphorus/js/all-in-one.js]]
mw.loader.load( '//meta.wikimedia.org/w/index.php?title=User:WhitePhosphorus/js/all-in-one.js&action=raw&ctype=text/javascript');
if (typeof(p4js_all_in_one) === 'undefined') p4js_all_in_one = {};
p4js_all_in_one.packages = {
    // default
    "Vandalism": {
        tracingedits: {
            duration: 3600,
            indefregistered: true,
        },
        rollback: {
            bot: true,
            showname: true,
        },
        block: {
            enabled: true,
            duration: "31 hours",
            indefregistered: true,
            reason: "Vandalism/Disruptive editing",
            autoblock: true,
            hardblock: false,
            create: true,
            talk: false,
            mail: false,
            hidename: false,
        },
        pagedelete: {
            enabled: true,
            reason: "Vandalism/Disruptive editing",
        },
        revisiondelete: {
            enabled: false,
            content: true,
            summary: true,
            username: false,
            reason: "Vandalism/Disruptive editing",
            oversight: false,
        },
    },
    "GS - Vandalism": {
        tracingedits: {
            duration: 3600,
            indefregistered: true,
        },
        rollback: {
            bot: true,
            showname: true,
        },
        block: {
            enabled: true,
            duration: "31 hours",
            indefregistered: true,
            reason: "Vandalism/Disruptive editing) ([[m:Global sysop|global sysop]] action",
            autoblock: true,
            hardblock: false,
            create: true,
            talk: false,
            mail: false,
            hidename: false,
        },
        pagedelete: {
            enabled: true,
            reason: "Vandalism/Disruptive editing) ([[m:Global sysop|global sysop]] action",
        },
        revisiondelete: {
            enabled: false,
            content: true,
            summary: true,
            username: false,
            reason: "Vandalism/Disruptive editing) ([[m:Global sysop|global sysop]] action",
            oversight: false,
        },
    },
    // package
    "LTA-hide": {
        tracingedits: {
            duration: 3600,
            indefregistered: true,
        },
        rollback: {
            bot: true,
            showname: false,
        },
        block: {
            enabled: true,
            duration: "31 hours",
            indefregistered: true,
            reason: "Long-term abuse",
            autoblock: true,
            hardblock: false,
            create: true,
            talk: true,
            mail: true,
            hidename: false,
        },
        pagedelete: {
            enabled: true,
            reason: "Long-term abuse",
        },
        revisiondelete: {
            enabled: true,
            content: true,
            summary: true,
            username: true,
            reason: "Long-term abuse ([[en:WP:DENY|deny]])",
            oversight: false,
        },
    },
    // package
    "IP-hide": {
        tracingedits: {
            duration: 'inf',
            indefregistered: true,
        },
        rollback: {
            bot: true,
            showname: false,
        },
        block: {
            enabled: true,
            duration: "31 hours",
            indefregistered: true,
            reason: "Long-term abuse",
            autoblock: true,
            hardblock: true,
            create: true,
            talk: true,
            mail: true,
            hidename: false,
        },
        pagedelete: {
            enabled: true,
            reason: "Long-term abuse",
        },
        revisiondelete: {
            enabled: true,
            content: true,
            summary: true,
            username: false,
            reason: "Long-term abuse ([[en:WP:DENY|deny]])",
            oversight: false,
        },
    },
    // This name will appear in the select box. You may want to use the abbreviation of LTA to indicate what it targets.
    "LTA-general": {
        tracingedits: {
            duration: 3600, // Only deal with the edits made no earlier than this time (in seconds) ago. 'inf' for everything.
            indefregistered: true, // If true, the above duration only apply to IP users. When you input a registered username, the duration will be set to indef.
        },
        rollback: {
            bot: true, // If true, your rollbacks will not appear in recent changes, if you have `markbotedits` right.
            showname: true, // If false, the villain's username won't appear in your rollback summary. Only use it when the username needs to be hidden.
        },
        block: {
            enabled: true, // If false, you will not block the villain in default settings.
            duration: "31 hours", // You can set it to everything as you do in the block interface.
            indefregistered: true, // If true, the above duration only apply to IP users. When you input a registered username, the duration will be set to indef.
            reason: "Long-term abuse", // The reason you used to fill in the block interface.
            autoblock: true, // Automatically block the last IP address used by this user, and any subsequent IP addresses they try to edit from. Not applicable to IP users.
            hardblock: false, // Prevent logged-in users from editing from this IP address. Not applicable to registered users.
            create: true, // Block account creation.
            talk: true, // Block talk page editing.
            mail: true, // Block email interface access. Not applicable to IP users.
            hidename: false, // If true, hide username from the public logs. Only applicable if you have `hideuser` right, e.g. be an oversighter.
        },
        pagedelete: {
            enabled: true, // If false, you will not delete pages created by the villain in default settings.
            reason: "Long-term abuse", // The reason you used to fill in the delete interface.
        },
        revisiondelete: {
            enabled: false, // If true, you will delete all the revisions the villain edited.
            content: true, // Whether to hide the revision content or not.
            summary: true, // Whether to hide the summary or not.
            username: false, // Whether to hide the username or not.
            reason: "Long-term abuse ([[en:WP:DENY|deny]])", // The reason you used to fill in the revision delete interface.
            oversight: false, // If true, suppress the edits instead of revision deletion. Only applicable if you have `suppressrevision` right, e.g. be an oversighter.
        },
    },
    // package
    "Spambot": {
        tracingedits: {
            duration: 3600,
            indefregistered: true,
        },
        rollback: {
            bot: true,
            showname: true,
        },
        block: {
            enabled: true,
            duration: "31 hours",
            indefregistered: true,
            reason: "Spamming/Spambot",
            autoblock: true,
            hardblock: false,
            create: true,
            talk: false,
            mail: false,
            hidename: false,
        },
        pagedelete: {
            enabled: true,
            reason: "Created by spammer/spambot",
        },
        revisiondelete: {
            enabled: false,
            content: false,
            summary: false,
            username: false,
            reason: "Blatant offensive materials",
            oversight: false,
        },
    },
        // package
    "GS - Spambot": {
        tracingedits: {
            duration: 3600,
            indefregistered: true,
        },
        rollback: {
            bot: true,
            showname: true,
        },
        block: {
            enabled: true,
            duration: "31 hours",
            indefregistered: true,
            reason: "Spamming/Spambot) ([[m:Global sysop|global sysop]] action",
            autoblock: true,
            hardblock: false,
            create: true,
            talk: false,
            mail: false,
            hidename: false,
        },
        pagedelete: {
            enabled: true,
            reason: "Created by spammer/spambot)  ([[m:Global sysop|global sysop]] action",
        },
        revisiondelete: {
            enabled: false,
            content: false,
            summary: false,
            username: false,
            reason: "Blatant offensive materials)  ([[m:Global sysop|global sysop]] action",
            oversight: false,
        },
    },
// package
    "Translation": {
        tracingedits: {
            duration: 3600,
            indefregistered: true,
        },
        rollback: {
            bot: true,
            showname: true,
        },
        block: {
            enabled: false,
            duration: "31 hours",
            indefregistered: true,
            reason: "Translation vandalism",
            autoblock: true,
            hardblock: false,
            create: true,
            talk: false,
            mail: false,
            hidename: false,
        },
        pagedelete: {
            enabled: true,
            reason: "Not a real translation",
        },
        revisiondelete: {
            enabled: false,
            content: false,
            summary: false,
            username: false,
            reason: "Blatant offensive materials",
            oversight: false,
        },
    },
    "Abusing multiple accounts": {
        tracingedits: {
            duration: 3600,
            indefregistered: true,
        },
        rollback: {
            bot: true,
            showname: true,
        },
        block: {
            enabled: true,
            duration: "31 hours",
            indefregistered: true,
            reason: "Abusing multiple accounts",
            autoblock: true,
            hardblock: false,
            create: true,
            talk: false,
            mail: false,
            hidename: false,
        },
        pagedelete: {
            enabled: true,
            reason: "Abusing multiple accounts",
        },
        revisiondelete: {
            enabled: false,
            content: false, 
            username: false,
            reason: "Blatant offensive materials",
            oversight: false,
        },
    },
};
p4js_all_in_one.default_package = "LTA-general"; // The default package will get selected upon page is rendered.
p4js_all_in_one.suffixes = [") ([[m:Global sysop|global sysop]] action"];

// Add a GS action button to deletion pages
$( document.body ).ready( function () {

if( mw.config.get('wgAction') === 'delete' && mw.config.get( 'wgUserGroups' ).indexOf( 'sysop' ) == -1 ) {
// GS Action
	var buttonInsert = new OO.ui.ButtonWidget( {
		label: 'GS Action',
		target: '_blank',
	flags: [
		'primary',
		'progressive'
	]
	});    

	$('#wpConfirmB').parent().append( buttonInsert.$element );
	buttonInsert.$element.click(function () {
		Value = $('#wpReason').val();
		append = $('#wpReason').val( Value + ' ([[m:Global sysops|Global sysop]] Action)');
	});
	
} 
}); // end delete button