מדיה ויקי:סקריפטים/63.js
הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
- אופרה: ללחוץ על Ctrl-F5.
// סקריפט 63 patrolUndo: סימון עריכות כ"מנוטרות" בלחיצה על ביטול
if ($.inArray( mw.config.get( 'wgAction' ), ['history', 'historysubmit', 'view']) + 1)
mw.loader.using(['mediawiki.user', 'mediawiki.util', 'mediawiki.page.ready']).done(function() {
$('.mw-history-undo, #mw-diff-ntitle1 a:contains("ביטול")').click(function() {
var user, href;
if ($('#mw-diff-ntitle1').length) {
href = this.href;
user = $('#mw-diff-ntitle2>a').text();
} else {
href=$(this).find('a:eq(0)').attr('href');
user = $(this).siblings('.history-user').find('a:eq(0)').text();
}
if (!href || !user)
return;
var match = href.match(/&undo=(\d*)/);
if (!match.length)
return;
var revToMark = parseInt(match[1], 10);
var token = mw.user.tokens.get('patrolToken');
$.ajax({
url: mw.util.wikiScript('api'),
type: 'post',
async: false,
data: {action: 'query', list: 'recentchanges', rcprop: 'ids|patrolled', rclimit: 500, rcuser: user, format: 'json'},
success: function(data) {
var item = $.grep(data.query.recentchanges, function(i){return i.revid == revToMark}).pop();
if (!item || !item.rcid || (typeof item.patrolled == "string"))
return;
$.ajax(
{data: {action: 'patrol', rcid: item.rcid, token: token, format: 'json'},
url: mw.util.wikiScript('api'),
type: 'post',
async: false
});
}
});
});
});