MediaWiki:Gadget-OnlineAdmins.js: Difference between revisions
From Test Wiki
Content deleted Content added
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) { |
|||
e.preventDefault(); |
|||
users = []; |
|||
var usersExt = []; |
|||
admins = []; |
|||
// Recent edits within 15 minutes |
// Recent edits within 15 minutes |
||
time = new Date(); |
time = new Date(); |
||
| Line 38: | Line 57: | ||
// 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(); |
|||
// Bind click handler |
|||
$(portletLinkOnline).click(function(e) { |
|||
e.preventDefault(); |
|||
users = []; |
|||
var usersExt = []; |
|||
admins = []; |
|||
getlistusers(); |
|||
var promises = []; |
var promises = []; |
||
var mark = function(data) { |
var mark = function(data) { |
||
| Line 107: | Line 105: | ||
}); |
}); |
||
}); |
}); |
||
}); |
|||
// Create portlet link |
// Create portlet link |
||
var portletLinkOnline = mw.util.addPortletLink( |
var portletLinkOnline = mw.util.addPortletLink( |
||
| Line 131: | Line 130: | ||
rollbackers = []; |
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 179: | Line 212: | ||
}); |
}); |
||
}); |
}); |
||
}); |
|||
}); |
|||
var portletLinkOnline = mw.util.addPortletLink( |
var portletLinkOnline = mw.util.addPortletLink( |
||
'p-personal', |
'p-personal', |
||
| Line 198: | Line 233: | ||
rollbackers = []; |
rollbackers = []; |
||
time = new Date(); |
time = new Date(); |
||
rcstart = time.toISOString(); |
|||
getlistusers(); |
|||
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 270: | Line 334: | ||
var usersExt = []; |
var usersExt = []; |
||
reviewers = []; |
reviewers = []; |
||
getlistusers(); |
|||
// Edits made 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) { |
||