MediaWiki:Gadget-OnlineAdmins.js: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 1: Line 1:
// Localized en version
// Localized en version
// Create portlet link
// Create portlet link
var portletLinkOnline = mw.util.addPortletLink(
function getlistusers() {
    'p-personal',
    '#',
    'Find Admins',
    't-onlineadmin',
    'Seek help from admins.',
    '',
    '#pt-userpage'
);
    var rcstart, rcend, time;
    var users = [];
    var admins = [], rollbackers = [], patrollers = [];
    var api = new mw.Api();
 
    // Bind click handler
     $(portletLinkOnline).click(function(e) {
     $(portletLinkOnline).click(function(e) {
         e.preventDefault();
         e.preventDefault();
Line 57: Line 43:
                 // Removing Duplicate Usernames
                 // Removing Duplicate Usernames
                 users = $.unique(users.sort());
                 users = $.unique(users.sort());
});


var portletLinkOnline = mw.util.addPortletLink(
    'p-personal',
    '#',
    'Find Admins',
    't-onlineadmin',
    'Seek help from admins.',
    '',
    '#pt-userpage'
);
    var rcstart, rcend, time;
    var users = [];
    var admins = [], rollbackers = [], patrollers = [];
    var api = new mw.Api();
getlistusers();
                 var promises = [];
                 var promises = [];
                 var mark = function(data) {
                 var mark = function(data) {
Line 105: Line 106:
             });
             });
         });
         });
     });
     }
// Create portlet link
// Create portlet link
var portletLinkOnline = mw.util.addPortletLink(
var portletLinkOnline = mw.util.addPortletLink(
Line 128: Line 129:
         var usersExt = [];
         var usersExt = [];
         admins = [];
         admins = [];
        rollbackers = [];
         patrollers = [];
         patrollers = [];
 
getlistusers();
        //Recent edit within 15 minutes
        time = new Date();
        rcstart = time.toISOString();
        time.setMinutes(time.getMinutes() - 15);
        rcend = time.toISOString();
 
        //API:RecentChanges
        api.get({
            format: 'json',
            action: 'query',
            list: 'recentchanges',
            rcprop: 'user',
            rcstart: rcstart,
            rcend: rcend,
            rcshow: '!bot|!anon',
            rclimit: 500
        }).done(function(data) {
            $.each(data.query.recentchanges, function(i, item) {
                users[i] = item.user;
            });
            api.get({
                format: 'json',
                action: 'query',
                list: 'logevents',
                leprop: 'user',
                lestart: rcstart,
                leend: rcend,
                lelimit: 500
            }).done(function(data) {
                $.each(data.query.logevents, function(i, item) {
                    usersExt[i] = item.user;
                });
                Array.prototype.push.apply(users, usersExt);
                users = $.unique(users.sort());
                 var promises = [];
                 var promises = [];
                 var mark = function(data) {
                 var mark = function(data) {
Line 211: Line 177:
                     mw.notify('Error 404');
                     mw.notify('Error 404');
                 });
                 });
            });
        });
     });
     });
var portletLinkOnline = mw.util.addPortletLink(
var portletLinkOnline = mw.util.addPortletLink(
Line 227: Line 191:
     var rollbackers = [];
     var rollbackers = [];
     var api = new mw.Api();
     var api = new mw.Api();
    $(portletLinkOnline).click(function(e) {
getlistusers();
        e.preventDefault();
        users = [];
        var usersExt = [];
        rollbackers = [];
        time = new Date();
        rcstart = time.toISOString();
        time.setMinutes(time.getMinutes() - 15);
        rcend = time.toISOString();
        api.get({
            format: 'json',
            action: 'query',
            list: 'recentchanges',
            rcprop: 'user',
            rcstart: rcstart,
            rcend: rcend,
            rcshow: '!bot|!anon',
            rclimit: 500
        }).done(function(data) {
            $.each(data.query.recentchanges, function(i, item) {
                users[i] = item.user;
            });
            api.get({
                format: 'json',
                action: 'query',
                list: 'logevents',
                leprop: 'user',
                lestart: rcstart,
                leend: rcend,
                lelimit: 500
            }).done(function(data) {
                $.each(data.query.logevents, function(i, item) {
                    usersExt[i] = item.user;
                });
                Array.prototype.push.apply(users, usersExt);
                users = $.unique(users.sort());
                 var promises = [];
                 var promises = [];
                 var mark = function(data) {
                 var mark = function(data) {
Line 340: Line 269:
         time.setMinutes(time.getMinutes() - 15);
         time.setMinutes(time.getMinutes() - 15);
         rcend = time.toISOString();
         rcend = time.toISOString();
 
getlistusers();
        //API:RecentChanges
        api.get({
            format: 'json',
            action: 'query',
            list: 'recentchanges',
            rcprop: 'user',
            rcstart: rcstart,
            rcend: rcend,
            rcshow: '!bot|!anon',
            rclimit: 500
        }).done(function(data) {
            $.each(data.query.recentchanges, function(i, item) {
                users[i] = item.user;
            });
            api.get({
                format: 'json',
                action: 'query',
                list: 'logevents',
                leprop: 'user',
                lestart: rcstart,
                leend: rcend,
                lelimit: 500
            }).done(function(data) {
                $.each(data.query.logevents, function(i, item) {
                    usersExt[i] = item.user;
                });
                Array.prototype.push.apply(users, usersExt);
                users = $.unique(users.sort());
                 var promises = [];
                 var promises = [];
                 var mark = function(data) {
                 var mark = function(data) {
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu