MediaWiki:Common.js: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 30: Line 30:


// Experimental donator user group checker
// Experimental donator user group checker
mw.loader.using('mediawiki.api', function() {
window.onload = function() {
var api = new mw.Api();
    mw.loader.using('mediawiki.api', function() {
        var api = new mw.Api();
// Get all user links on the page. Filter out non-user links (e.g. "talk" links)
 
var userelements = Array.from(document.getElementsByTagName("a")).filter(function (el) {
        // Get all user links on the page. Filter out non-user links (e.g. "talk" links)
    return el.href.includes("User:");
        var userelements = Array.from(document.getElementsByTagName("a")).filter(function (el) {
});
            return el.href.includes("User:");
        });
if (userelements.length != 0) {
 
    var users = userelements.map(function (el) {
        if (userelements.length != 0) {
        var match = el.href.match(new RegExp("/(?<=\/wiki\/User:).*/gis"))
            var users = userelements.map(function (el) {
        if (match) {
                var match = el.href.match(new RegExp("/(?<=\/wiki\/User:).*/gis"))
            return match[0];
                if (match) {
        } else {
                    return match[0];
            return null;
                } else {
        }
                    return null;
    }).filter(function (el) {
                }
        return el != null;
            }).filter(function (el) {
    });
                return el != null;
            });
    api.get( {
 
        action: "query",
            api.get( {
        list: "users",
                action: "query",
        usprop: "groups",
                list: "users",
        ususers: users.join("|"),
                usprop: "groups",
        format: "json"
                ususers: users.join("|"),
    } ).done( function ( data ) {
                format: "json"
        var users = data.query.users;
            } ).done( function ( data ) {
                var users = data.query.users;
        for (var user in users) {
 
            if (users[user].groups.includes("donator")) {
                for (let user in users) {
                console.log(users[user].name + "is a donator");
                    if (users[user].groups.includes("donator")) {
            }
                        console.log(users[user].name + "is a donator");
        }
                    }
                }
    } );
 
}
            } );
} );
        }
    } );
}