Utente:Titore/VC.js: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
+1
funzione apposita per segnalazione, commenti
Riga 1:
/**
* Aggiunge un link nella barra degli strumenti laterale
* per segnalare rapidamente un'utenza o un IP tra i vandalismi in corso.
* Permette di scegliere una motivazione, l'utenza viene selezionata automaticamente.
*
* @author https://it.wikipedia.org/wiki/Utente:Titore and contributors
* @date 2019-09-17
* @license Dual-licensed under CC BY-SA 3.0 and GPL 3.0 (or any later version)
*/
(function(mw, $) {
 
/**
* Aggiunge il link "Segnala vandalo" in pagine relativepertinenti a(ad unes. contributi utente (contributi, discussionediscussioni utente, pagina utente, ...).
*/
$(function() {
if (mw.config.get("wgRelevantUserName")) {
var link = mw.util.addPortletLink('p-tb', '#', "Segnala vandalo", "t-segnalavandalo", "Segnala questa utenza o IP in WP:VC");
$(link)
.click(function(event) {
event.preventDefault();
segnalaVandalofinestraSegnalazione();
});
}
Riga 25 ⟶ 26:
 
/**
* Finestra di dialogo per la segnalazione.
*/
function segnalaVandalofinestraSegnalazione(event) {
mw.loader.using('oojs-ui-windows')
.done(function() {
var username = mw.config.get('wgRelevantUserName');
OO.ui.prompt(username + ' verrà segnalato tra i vandalismi in corso', {
title: 'Nuova segnalazione',
Riga 36 ⟶ 38:
size: 'medium'
})
.done(functioninviaSegnalazione(motivo) {);
 
// Dialog: L'utente ha compilato la motivazione
if (motivo) {
// Nuova segnalazione in WP:VC
api = new mw.Api();
api.postWithEditToken({
action: 'edit',
title: 'Wikipedia:Vandalismi in corso',
appendtext: '\n\n{{vandalo|' + username + '}} ' + motivo + ' --~~\~~',
summary: '+1',
format: 'json'
})
.done(function(data) {
mw.notify(username + ' segnalato tra i vandalismi in corso.', { title: 'Segnalato', tag: 'notif' });
console.log('L\'utente ha scritto "' + motivo + '" e fatto clic su "OK".');
console.log(data);
})
.fail(function(code, data) {
mw.notify(code, { title: 'Errore', type: 'error', autoHide: false, tag: 'notif' });
console.error('Segnalazione non inviata: ' + code);
});
 
// Dialog: L'utente non ha compilato la motivazione
} else if (motivo === '') {
mw.notify('Fornire una motivazione', { title: 'Errore', type: 'error', autoHide: false, tag: 'notif' });
console.error('L\'utente non ha fornito una motivazione');
 
// Dialog: L'utente ha fatto clic su annulla
} else {
console.warn('L\'utente ha fatto clic su "Annulla" o chiuso la finestra di dialogo.');
}
});
})
.fail(function() {
console.error('Impossibile avviare lo script VC.js.');
});
}
/**
//* Nuova segnalazione in WP:VC
*/
function inviaSegnalazione(motivo) {
// Motivazione compilata
if (motivo) {
api = new mw.Api();
var pagina title:= 'Wikipedia:Vandalismi in corso',;
var oggetto = '+1';
var segnalazione appendtext:= '\n\n{{vandalo|' + username + '}} ' + motivo + ' --~~\~~',;
api.postWithEditToken({
action: 'edit',
title: pagina,
appendtext: segnalazione,
summary: '+1'oggetto,
format: 'json'
})
.done(function(data) {
mw.notify(username + ' segnalato tra i vandalismi in corso.', { title: 'Segnalato', tag: 'notif' });
title: 'Segnalato',
iftag: (motivo) {'notif'
});
console.log('L\'utente ha scritto "' + motivo + '" e fatto clic su "OK".');
console.log(data);
})
.fail(function(code, data) {
mw.notify(code, {
}title: else {'Errore',
type: })'error',
autoHide: false,
tag: api = new mw.Api();'notif'
});
console.error('Segnalazione non inviata: ' + code);
});
// Motivazione non compilata
} else if (motivo === '') {
mw.notify('Fornire una motivazione', {
title: 'Errore',
type: 'error',
autoHide: false,
tag: 'notif'
});
// Dialog: console.error('L\'utente non ha compilatofornito launa motivazione');
// Clic su annulla
} else {
console.warn('L\'utente ha fatto clic su "Annulla" o chiuso la finestra di dialogo.');
}
}
}(mediaWiki, jQuery));