User:Animum/userrights.js

This is an old revision of this page, as edited by Animum (talk | contribs) at 00:26, 14 August 2008 (more conditions). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
importScript('User:Voice of All/Addtabs/monobook.js');

var groups = {
    "add"    : function(rollback, ipblockExempt, accountcreator) {
        var accountcreator = accountcreator.length;
        var rollback = rollback.length;
        var ipblockExempt = ipblockExempt.length;

        if(rollback > 0) document.getElementById("wpGroup-rollbacker").checked = true;
        if(ipblockExempt > 0) document.getElementById("wpGroup-ipblock-exempt").checked = true;
        if(accountcreator > 0) document.getElementById("wpGroup-accountcreator").checked = true;

        document.getElementById("wpReason").value = "Granting the following rights, due to demonstration of trust:  " + (rollback > 0 ? "rollback" + (ipblockExempt > 0 || accountcreator > 0 ? ", " : "") : "") + (ipblockExempt > 0 ? "ipblock-exempt" + (accountcreator > 0 ? ", " : "") : "") + (accountcreator > 0 ? "accountcreator" : "");
        document.forms["mw-userrights-form1"].submit();
    },
    "remove" : function(rollback, ipblockExempt, accountcreator) {
        var accountcreator = accountcreator.length;
        var rollback = rollback.length;
        var ipblockExempt = ipblockExempt.length;

        if(rollback > 0) document.getElementById("wpGroup-rollbacker").checked = false;
        if(ipblockExempt > 0) document.getElementById("wpGroup-ipblock-exempt").checked = false;
        if(accountcreator > 0) document.getElementById("wpGroup-accountcreator").checked = false;

        document.getElementById("wpReason").value = "Removing the following rights, due to abuse:  " + (rollback > 0 ? "rollback" + (ipblockExempt > 0 || accountcreator > 0 ? ", " : "") : "") + (ipblockExempt > 0 ? "ipblock-exempt" + (accountcreator > 0 ? ", " : "") : "") + (accountcreator > 0 ? "accountcreator" : "");
        document.forms["mw-userrights-form1"].submit();
    }
};

addOnloadHook(function() {
    if(wgCanonicalSpecialPageName == "Userrights" && wgNamespaceNumber == -1 && document.getElementById("username").value.length > 0) {        
        addlimenu(document.getElementById("p-cactions").getElementsByTagName("ul")[0], "add", "ca-addrights", "");
        var addrights = document.getElementById("ca-addrights").getElementsByTagName("ul")[0];
        addlilink(addrights, "javascript:groups.add('rollback', '', '')", "rollback", "");
        addlilink(addrights, "javascript:groups.add('', 'ipblock-exempt', '')", "ipblock-exempt", "");
        addlilink(addrights, "javascript:groups.add('', '', 'accountcreator')", "accountcreator", "");
        addlilink(addrights, "javascript:groups.add('rollback', 'ipblock-exempt', '')", "rollback+ipblock-exempt", "");
        addlilink(addrights, "javascript:groups.add('rollback', '', 'accountcreator')", "rollback+accountcreator", "");
        addlilink(addrights, "javascript:groups.add('', 'ipblock-exempt', 'accountcreator')", "ipblock-exempt+accountcreator", "");
        addlilink(addrights, "javascript:groups.add('rollback', 'ipblock-exempt', 'accountcreator')", "all modifiable rights", "");

        addlimenu(document.getElementById("p-cactions").getElementsByTagName("ul")[0], "remove", "ca-removerights", "");
        var removerights = document.getElementById("ca-removerights").getElementsByTagName("ul")[0];
        addlilink(removerights, "javascript:groups.remove('rollback', '', '')", "rollback", "");
        addlilink(removerights, "javascript:groups.remove('', 'ipblock-exempt', '')", "ipblock-exempt", "");
        addlilink(removerights, "javascript:groups.remove('', '', 'accountcreator')", "accountcreator", "");
        addlilink(removerights, "javascript:groups.remove('rollback', 'ipblock-exempt', '')", "rollback+ipblock-exempt", "");
        addlilink(removerights, "javascript:groups.remove('rollback', '', 'accountcreator')", "rollback+accountcreator", "");
        addlilink(removerights, "javascript:groups.remove('', 'ipblock-exempt', 'accountcreator')", "ipblock-exempt+accountcreator", "");
        addlilink(removerights, "javascript:groups.remove('rollback', 'ipblock-exempt', 'accountcreator')", "all modifiable rights", "");
    }
});