MediaWiki:Gadget-requestDelete.js

Da Wikisource.

Nota: dopo aver pubblicato, potrebbe essere necessario pulire la cache del proprio browser per vedere i cambiamenti.

  • Firefox / Safari: tieni premuto il tasto delle maiuscole Shift e fai clic su Ricarica, oppure premi Ctrl-F5 o Ctrl-R (⌘-R su Mac)
  • Google Chrome: premi Ctrl-Shift-R (⌘-Shift-R su un Mac)
  • Internet Explorer / Edge: tieni premuto il tasto Ctrl e fai clic su Aggiorna, oppure premi Ctrl-F5
  • Opera: premi Ctrl-F5.
$( function () {
	if ( $( '#ca-request-delete' ).length || !mw.config.get( 'wgIsArticle' ) || mw.config.get( 'wgUserGroups').indexOf('sysop') != -1) return;
	var node = mw.util.addPortletLink(
		'p-cactions',
		mw.util.getUrl(),
		mw.config.get( 'skin' ) === 'vector' ? 'Cancella' : '*',
		'ca-request-delete',
		'Richiedi la cancellazione di questa pagina',
		'd'
	);
	$(node).on( 'click', function (e) {
		e.preventDefault();
		pagename = mw.config.get("wgPageName");
		reason = prompt('Vuoi chiedere la cancellazione di questa pagina?\n\nMotivo della cancellazione (facoltativo):');
		if (reason === null) return;
		
		new mw.Api().get({action: 'query', prop: 'revisions', rvprop: 'content', titles: pagename, format: 'json'}).done(function (data) {
			$.each(data.query.pages, function(index, element) {
				pagetext = '{' + '{Delete|' + reason + '}}\n' + element.revisions[0]['*'];
				editToken = mw.user.tokens.get('csrfToken');
				summary = 'Richiesta CANCELLAZIONE pagina via gadget';
				
				new mw.Api().post({action: 'edit', title: pagename, text: pagetext, summary: summary, token: editToken}).then(function () {
					location.reload();
				}, function () {
					console.log('Richiesta cancellazione fallita');
				});
			});
		});
	});
});