Pengguna:Kenrick95/online.js
Catatan: Setelah menyimpan, Anda harus memintas tembolok (cache) peramban Anda untuk melihat perubahannya. Google Chrome, Firefox, Microsoft Edge dan Safari: Tahan tombol ⇧ Shift dan klik Muat ulang (Reload) di tombol bilah alat. Untuk detail dan instruksi tentang peramban lain, lihat halaman menghapus singgahan (Inggris).
/**
* apparentlyOnline
* - get RCFeed
* - get list of admin
* - see which admin is listed on RCFeed, report to a list, show as "apparently online"
*/
function apparentlyOnline() {
var online_sysops = [], online_sysops_msg = "Tidak ada";
mw.loader.using("mediawiki.api", function () {
var api = new mw.Api();
// action=query&list=allusers|recentchanges&format=json&augroup=sysop&aulimit=500&rcprop=user%7Cuserid&rclimit=500
api.get({
action: "query",
list: "allusers|recentchanges",
format: "json",
rclimit: 500,
rcprop: "user|userid",
rcshow: "!bot|!anon",
augroup: "sysop",
aulimit: 500
})
.done(function (data) {
var rc = data.query.recentchanges;
var sysops = data.query.allusers;
var is_sysop = {};
for (var i = 0; i < sysops.length; i++) {
is_sysop[sysops[i].userid] = true;
}
for (var i = 0; i < rc.length; i++) {
if (is_sysop[rc[i].userid]) {
if (online_sysops.indexOf(rc[i].user) < 0) {
online_sysops.push(rc[i].user);
}
}
}
console.log(online_sysops);
online_sysops_msg = "";
if (online_sysops.length === 0) {
online_sysops_msg = "Tidak ada";
}
for (var i = 0; i < online_sysops.length; i++) {
online_sysops_msg += "<li><a href=\"" + mw.config.get("wgServer") + "/wiki/User:" + online_sysops[i] + "\">" + online_sysops[i] + "</a></li>";
}
});
});
var link = mw.util.addPortletLink(
'p-cactions', //p-cactions, p-tb, p-views
'#',
'Pengurus daring',
't-prettylinkwidget',
'Perlihatkan daftar pengurus yang daring',
null,
'#t-whatlinkshere'
);
$(link).click(function (e) {
e.preventDefault();
mw.loader.using('jquery.ui.dialog', function() {
$dialog = $("<div></div>")
.html("Pengurus yang daring berdasarkan 500 suntingan terakhir di perubahan terbaru:"
+ "<br>" + online_sysops_msg)
.dialog({
autoOpen: true,
title: "Pengurus Daring",
width: '500px',
modal: true
});
});
});
}
$(apparentlyOnline);