מדיה ויקי:סקריפטים/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
			});
			} 
		});
	});
});