మీడియావికీ:Gadget-PurgeTab.js

వికీసోర్స్ నుండి

గమనిక: భద్రపరచిన తర్వాత, మార్పులను చూడాలంటే మీ విహారిణి కోశాన్ని తీసేయాల్సిరావచ్చు.

  • ఫైర్‌ఫాక్స్‌ / సఫారి: Shift మీటని నొక్కిపట్టి Reloadని నొక్కండి లేదా Ctrl-F5 గానీ Ctrl-R (మాకింటోషులో ⌘-Shift-R) గానీ నొక్కండి
  • గూగుల్ క్రోమ్: Ctrl-Shift-R (మాక్ లో ⌘-Shift-R) నొక్కండి
  • ఇంటర్నెట్ ఎక్ప్లోరర్/ఎడ్జి: Ctrl ను నొక్కిపట్టి Refresh నొక్కండి లేదా Ctrl-F5 నొక్కండి.
  • ఒపేరా:* Ctrl-F5 నొక్కండి.
jQuery(document).ready(function () {

	if (!mw.config.get('wgArticleId'))
		return;
	var link;

	link = mw.util.addPortletLink(
		'p-cactions', mw.util.getUrl(mw.config.get('wgPageName'), { 'action': 'purge' }),
		(mw.user.options.get( 'skin' ) == 'vector' ) ? "Purge" : "*",
		'ca-purge', "Purge cache for this page", '*'
	);

	link = mw.util.addPortletLink(
	// not sure if raw link is valid for extra params  Using wikiScript instead of getUrl
		'p-cactions', mw.util.wikiScript('api') + '?action=purge&titles=' + mw.config.get('wgPageName') + '&forcerecursivelinkupdate=1&redirects=1',
		(mw.user.options.get( 'skin' ) == 'vector' ) ? "Hard purge" : "**",
		'ca-purge-forcerecursivelinkupdate', "Purge with forced recursive-link table update", ','
	);

	if ( link ) {
		link.addEventListener('click', function (ev) {
			mw.loader.using( 'mediawiki.api' ).done(function() {
				( new mw.Api() ).post({
					action: 'purge',
					pageids: mw.config.get('wgArticleId'),
					forcerecursivelinkupdate: 1,
					redirects: 1
				}).then(function () {
					location.reload();
				}, function (code, details) {
					var mesg;
					switch (code) {
					case 'http':
						mesg = 'HTTP error: ' + details.xhr.statusText;
						break;
					case 'ok-but-empty':
						mesg = 'Received empty response.';
						break;
					default:
						mesg = details.error.info;
					}
					mw.notify('<b>Hard purge failed</b>: ' + mesg);
					console.error(arguments);
				} );
			} );
			ev.preventDefault();
		}, false);
	}

	link = mw.util.addPortletLink(
		'p-cactions', 'javascript:void window.warranty',
		(mw.user.options.get( 'skin' ) == 'vector' ) ? "Null edit" : "***",
		'ca-nulledit', "Null edit", '0'
	);


	if ( link ) {
		link.addEventListener('click', function (ev) {
			mw.loader.using( 'mediawiki.api' ).done( function() {
				( new mw.Api() ).post({
					action: 'edit',
					pageid: mw.config.get('wgArticleId'),
					appendtext: '',
					watchlist: 'nochange',
					nocreate: '1',
					token: mw.user.tokens.get('csrfToken')
				}).then(function () {
					location.reload();
				}, function (code, details) {
					var mesg;
					switch (code) {
					case 'http':
						mesg = 'HTTP error: ' + details.xhr.statusText;
						break;
					case 'ok-but-empty':
						mesg = 'Received empty response.';
						break;
					default:
						mesg = details.error.info;
					}
					mw.notify('<b>Null edit failed</b>: ' + mesg);
					console.error(arguments);
				} );
			} );
			ev.preventDefault();
		}, false);
	}
} );