مندرجات کا رخ کریں

صارف:Ulubatli Hasan/Restorer.js

آزاد دائرۃ المعارف، ویکیپیڈیا سے

تفصیل کے لیے کھولیں کے بٹن پر کلک کریں یاددہانی: محفوظ کرنے کے بعد تازہ ترین تبدیلیوں کو دیکھنے کے لیے آپ کو اپنے براؤزر کا کیش صاف کرنا ہوگا۔

  • فائرفاکس/ سفاری: جب Reload پر کلک کریں تو Shift دبا کر رکھیں، یا Ctrl-F5 یا Ctrl-R دبائیں (Mac پر R- )
  • گوگل کروم: Ctrl-Shift-R دبائیں (Mac پر Shift-R-⌘)
  • انٹرنیٹ ایکسپلورر: جب Refresh پر کلک کریں تو Ctrl یا Ctrl-F5 دبائیں
  • اوپیرا: Tools → Preferences میں جائیں اور کیش صاف کریں

/*** بحال ***/

// Easily restore an older version of a page
// Documentation at [[صارف:Ulubatli Hasan/ترمیم بحال]]
// By [[صارف:Ulubatli Hasan ]]

$(function() {
window.restorerSummary = window.restorerSummary ||'[[Special:Contributions/$USER|$USER]] کی $ID ترمیم بحال کر دی گئی  ([[صارف:Ulubatli Hasan/ترمیم بحال|ترمیم بحال]])';

	function restore(user, revid) {
		$.post(mw.config.get('wgScriptPath') + '/api.php', {
			action: 'edit',
			pageid: mw.config.get('wgArticleId'),
			undo: mw.config.get('wgCurRevisionId'),
			undoafter: revid,
			summary: window.restorerSummary.replace(/\$ID/g, revid).replace(/\$USER/g, user),
			token: mw.user.tokens.get('csrfToken'),
			format: 'json'
		}).fail(function() {
			mw.notify('An error occured while restoring the revision.', {type: 'error'});
		}).done(function(result) {
			if (result.error) {
				mw.notify(result.error.info, {type: 'error'});
			} else {
				mw.notify('ترمیم کامیابی کے ساتھ بحال کر دی گئی.');
				location.reload();
			}
		});
	}

	function addLink(item) {
		var revid = item.getAttribute('data-mw-revid'),
			user,
			links,
			ele,
			parent;

		if (revid != mw.config.get('wgCurRevisionId')) {
			user = item.getElementsByClassName('mw-userlink')[0].textContent.replace('User:', '');
			links = item.getElementsByClassName('mw-changeslist-links');
			links = links[links.length - 1];
			parent = document.createElement('span');
			ele = document.createElement('a');

			ele.addEventListener('click', function() {
				restore(user, revid);
			});

			ele.innerHTML = 'ترمیم بحال کریں';
			parent.appendChild(ele);
			links.appendChild(parent);
		}
	}

	if (location.search.includes('action=history')) {
		var i,
			parents = document.querySelectorAll('li[data-mw-revid]');
		for (i = 0; i < parents.length; i++) {
			addLink(parents[i]);
		}
	}
});