ميډياويکي:Gadget-UserisOnlineOrNo.js
يادښت: د غوره توبونو د خوندي کولو وروسته، خپل د کتنمل (براوزر) ساتل سوې حافظه تازه کړی.
- فايرفاکس/سفري: په دې کتنمل کې د Reload د ټکوهلو په وخت د Shift تڼۍ نيولې وساتی، او يا هم Ctrl-F5 يا Ctrl-Rتڼۍ کېښکاږۍ (په Apple Mac کمپيوټر باندې ⌘-R کېښکاږۍ)
- ګووګل کروم: په دې کتنمل کې د Ctrl-Shift-R تڼۍ کېښکاږۍ (د مک لپاره ⌘-Shift-R)
- انټرنټ اېکسپلورر: په دې کتنمل کې د Refresh د ټکوهلو په وخت کې د Ctrl تڼۍ کېښکاږلې ونيسۍ، او يا هم د Ctrl-F5 تڼۍ کېښکاږۍ
- اوپرا: په دې کتنمل کې د خپل براوزر ساتل سوې حافظه پدې توگه سپينولی سی Tools→Preferences
// کارن انلاین دی که نه!؟
if(mw.config.get('wgNamespaceNumber')==2 || mw.config.get('wgNamespaceNumber')==3)
mw.loader.using('jquery.tipsy', function() {
var user=mw.config.get('wgTitle').replace(/\/.*$/, '');
if (!user)
return;
function tsToDate(rc) {
var date = new Date(rc.timestamp);
if (isNaN(date)) {// all sane browsers can just do new Date(rc.timestanp). only IE refuses.
dar = rc.timestamp.split(/[^\d]/); // timestamp looks like so: "2011-05-05T18:56:27Z"
var month = parseInt(dar[1],10) - 1; // "Date" expexts months in the range of 0..11, timestamp is more conventional.
var minutes = parseInt(dar[4], 10) - new Date().getTimezoneOffset();//ts is UTC, but new Date(y,M,d,h,m,s) assumes local TZ
date = new Date(dar[0],month,dar[2],dar[3],minutes,dar[5]);
}
return date;
}
function ago(ms) {
var s = ms / 1000;
if (s < 100)
return 'څو ثانیې مخکي';
var ranges = [
{r: 60, t: 'تېره دقیقه', s: 'یوه دقیقه مخکي', d: 'دوه دقیقې مخکي'},
{r: 60, t: 'تېر ساعت', s: 'یو ساعت مخکي', d: 'دوه ساعته مخکي'},
{r: 24, t: 'تېره ورځ', s: 'یو ورځ مخکي', d: 'دوه ورخي مخکي'},
{r: 7, t: 'تېره اوني', s: 'یوه اونې مخکي', d: 'دوه اونې مخکي'},
{r: 52, t: 'تېر کال', s: 'یو کال مخکی', d: 'دوه کاله مخکي'}
];
var est = '', num;
for (var i = 0; i < ranges.length; i++) {
var range = ranges[i];
s /= range.r;
if (s < 1)
break;
num = '';
if (s < 2)
est = range.s;
else if (s < 3 && range.d)
est = range.d;
else {
num = ' ' + Math.floor(s) + ' ';
est = range.t;
}
}
return 'شاوخوا ' + num + est;
}
function pic(recent) {
return recent
? '//upload.wikimedia.org/wikipedia/commons/3/31/Button_Icon_Green.svg'
: '//upload.wikimedia.org/wikipedia/commons/0/07/Button_Icon_Red.svg';
}
$.getJSON(mw.util.wikiScript('api'),
{action: 'query', list: 'usercontribs', ucuser: user, uclimit: '1', format:'json'},
function (data) {
if (data && data.query && data.query.usercontribs && data.query.usercontribs.length) {
var lastEditTime = tsToDate(data.query.usercontribs[0]),
timeSinceEdit = new Date() - lastEditTime;
recent = timeSinceEdit < 1000 * 60 * 20,
page = data.query.usercontribs[0].title,
pageLink = $('<a>', {href: mw.util.getUrl(page), text: page}),
userLinkTitle = 'پیغام ' + user + ' د کارن خبرې اترې مخ کې',
userLink = $('<a>', {href: mw.util.getUrl('User Talk:' + user) + '?action=edit§ion=new', title: userLinkTitle, text: user}),
div = $('<div>')
.append('وروستي سمونه: ' + ago(timeSinceEdit) + '<br />')
.append('په: ').append(pageLink).append('<br />')
.append('کارن خبرې اترې مخ کې پیغام کیږده').append(userLink),
timer = null,
img = $('<img>',{src: pic(recent)})
.css({float: 'left'})
.css({width: '12px'})
.css({cursor: 'pointer'})
.tipsy({gravity: 'nw', trigger: 'manual', title: function(){return div.html();}, html: true, fade: true})
.mouseover(function() {
img.tipsy('show')
})
.mouseout(function() {
timer = setTimeout(function(){
img.tipsy('hide')
}, 5000);
});
$('.tipsy')
.on('mouseover', function() {
clearTimeout(timer);
})
.on('mouseout', function(){
timer = setTimeout(function(){
img.tipsy('hide')
}, 1000);
});
$('#firstHeading').prepend(img);
}
}
);
});