MediaWiki:Gadget-QuickDelete.js
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.
/**
* Gadget-QuickDelete.js
* Nel namespace File: aggiunge cinque link al portlet Strumenti per inserire
* automaticamente il template unverdata all'immagine e un avviso all'utente.
* Riscritto da zero a partire da:
* http://it.wikipedia.org/w/index.php?title=MediaWiki:Gadget-QuickDelete.js&oldid=51134251
*
* @author [[Utente:Rotpunkt]]
*/
/*jshint unused: false */
/*global mediaWiki, jQuery */
/* <nowiki> */
( function ( mw, $ ) {
'use strict';
// se impostato a true la pagina viene salvata automaticamente
var autosave = true,
// portlet links
portletLinks = {
licenza: {
name: 'Immagine senza licenza',
summary: 'Immagine senza licenza',
template: '{{subst:Avvisoimmagine|immagine=[[:$1]]}}'
},
fonte: {
name: 'Immagine senza fonte/autore',
summary: 'Informazioni mancanti',
template: '{{subst:Avvisoimmagine3|$1}}'
},
otrs: {
name: 'Immagine senza OTRS',
summary: 'Informazioni mancanti',
template: '{{subst:AvvisoOTRS|$1}}'
},
edp: {
name: 'Immagine EDP non accettabile',
summary: 'EDP non rispettata',
template: '{{subst:AvvisoEDP|$1}}'
},
altro: {
name: 'Immagine senza altre informazioni',
summary: 'Immagine senza informazioni',
template: '{{subst:Avvisoimmagine2|immagine=[[:$1]]}}'
}
};
// modifica la pagina dell'immagine
function editFile() {
if ( $( '#wpTextbox1' ).length && $( '#wpSummary' ).length && $( '#wpSave' ).length ) {
$( '#wpTextbox1' ).val( function ( i, text ) {
return '{{subst:unverdata}}\n' + text;
} );
$( '#wpSummary' ).val( 'Segnalazione di immagine [[Wikipedia:Immagini da verificare|' +
'da verificare]] ( unverified ). Se non verificata questa immagine ' +
'sarà cancellata tra 7 giorni.' );
if ( autosave ) {
$( '#wpSave' ).click();
}
}
}
// modifica la pagina di discussione dell'utente
function editUserTalk( gqdaction, gqdpage ) {
if ( $( '#wpTextbox1' ).length && $( '#wpSummary' ).length && $( '#wpSave' ).length ) {
$( '#wpTextbox1' ).val( function ( i, text ) {
return text + '\n== ' + portletLinks[gqdaction].summary + ' ==\n' +
portletLinks[gqdaction].template.replace( '$1', decodeURIComponent( gqdpage ) ) +
' ~~~~\n';
} );
$( '#wpSummary' ).val( portletLinks[gqdaction].summary );
if ( autosave ) {
$( '#wpSave' ).click();
}
}
}
function addPortletLinks() {
$.each( portletLinks, function ( key, portletLink ) {
var link = mw.util.addPortletLink( 'p-tb', '#', portletLink.name );
$( link ).click( function ( event ) {
event.preventDefault();
var username = $( 'table[class="wikitable filehistory"] tr:eq( 1 ) td:eq( -2 ):first a' ).filter( '[title]' );
username = username.length ? username.attr( 'title' ).split( ':' ) : null;
if ( username && username[0] === 'Utente' ) {
username[1] = username[1].replace( '(la pagina non esiste)', '' );
window.open( mw.config.get( 'wgScript' ) +
'?action=edit&title=Discussioni_utente:' + username[1] + '&gqdaction=' + key +
'&gqdpage=' + encodeURIComponent( mw.config.get( 'wgPageName' ) ), '_blank' );
document.location = mw.config.get( 'wgScript' ) +
'?title=' + mw.config.get( 'wgPageName' ) +
'&action=edit&gqdaction=unverdata';
} else {
alert( '[Gadget-QuickDelete] username non trovato' );
}
} );
} );
}
$( function () {
var nsNum = mw.config.get( 'wgNamespaceNumber' ),
gqdaction = mw.util.getParamValue( 'gqdaction' ),
gqdpage = mw.util.getParamValue( 'gqdpage' );
if ( $.inArray( mw.config.get( 'wgAction' ), ['edit', 'submit'] ) !== -1 ) {
// edit richiamato dallo script stesso per modificare la pagina dell'immagine o dell'utente
if ( nsNum === 6 && gqdaction && gqdaction === 'unverdata' ) {
editFile();
} else if ( nsNum === 3 && gqdaction && gqdpage ) {
editUserTalk( gqdaction, gqdpage );
}
} else if ( nsNum === 6 ) {
addPortletLinks();
}
} );
}( mediaWiki, jQuery ) );
/* </nowiki> */