משתמש:קיפודנחש/common.js/patrolUndo.js

מתוך ויקיפדיה, האנציקלופדיה החופשית

הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
if ($.inArray(mw.config.get('wgAction'), ['history', 'historysubmit', 'view']) + 1) 
$(document).ready(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);
		$.ajax({
			url: mw.util.wikiScript('api'), 
			type: 'post', 
			async: false,
			data: {action: 'query', list: 'recentchanges', rctoken: 'patrol', 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 || !item.patroltoken || (typeof item.patrolled == "string"))
					return;
				$.ajax(
					{data: {action: 'patrol', rcid: item.rcid, token: item.patroltoken, format: 'json'},
					url: mw.util.wikiScript('api'), 
					type: 'post', 
					async: false,
				});
			} 
		});
	});
});