Utente:Ruthven/adminscript.js
Questa pagina definisce alcuni parametri di aspetto e comportamento generale di tutte le pagine. Per personalizzarli vedi Aiuto:Stile utente.
Nota: dopo aver salvato è necessario pulire la cache del proprio browser per vedere i cambiamenti (per le pagine globali è comunque necessario attendere qualche minuto). Per Mozilla / Firefox / Safari: fare clic su Ricarica tenendo premuto il tasto delle maiuscole, oppure premere Ctrl-F5 o Ctrl-R (Command-R su Mac); per Chrome: premere Ctrl-Shift-R (Command-Shift-R su un Mac); per Konqueror: premere il pulsante Ricarica o il tasto F5; per Opera può essere necessario svuotare completamente la cache dal menù Strumenti → Preferenze; per Internet Explorer: mantenere premuto il tasto Ctrl mentre si preme il pulsante Aggiorna o premere Ctrl-F5.
//<nowiki>
$(function(){
var btoken;
if (mw.config.get( 'wgCanonicalSpecialPageName' ) === "Block") {
mw.util.addCSS(
'#blockScriptForm {margin-top: 15px;}' +
'.blockscript-firstlink {margin-left:5px;}' +
'#blockScriptdivtalk {margin-top: 5px; background-color: "#ffce7b";border: "1px solid #ffa500"}' +
'#blockScripttalkcontent {margin-left:5px; background-color: "#ceff7b";}'
);
//Crea il div dove andare a appendere gli oggetti dello script
$('.mw-htmlform-submit').after($('<div>', {id:'blockScriptForm'}));
//crea i div per raccogliere gli oggetti talk e up
$('#blockScriptForm').append(
$("<div>", {
id: "blockScriptdivtalk"
})
);
//appende gli oggetti della talk
$('#blockScriptdivtalk').append(
$("<input>", {
type: "checkbox",
id: "blockScriptcktalk",
})
);
$('#blockScriptdivtalk').append(
$("<label>", {
'for': "blockScriptcktalk",
text: 'Inserisci nella discussione utente:'
})
);
$('#blockScriptdivtalk').append(
$("<input>", {
id: 'blockScripttalkcontent'
})
);
//inserisce i link dopo gli oggetti talk
$('#blockScriptdivtalk').append(
$("<a>", {
text: "RC",
title: "Inserisci {{RC}}",
href:'#',
class:"blockscript-link",
click:function() {
durata= prompt('Inserisci la durata del blocco');
$('#blockScripttalkcontent').val('{{RC|' + durata + '}}\n--~~~~');
return false;
}
})
);
$('#blockScriptdivtalk').find('a').slice(1).before(' | ');
//crea il nuovo pulsante di blocco
$('#blockScriptForm').append(
$("<input>", {
type: "button",
id: "blockScriptBlocca",
value: "Blocca utente",
click:function() {
getprotectToken();
}
})
);
}
function ProteggiUtente(targhet){
$.post(mw.util.wikiScript('api'),
{
format: 'json',
action: 'protect',
title: targhet,
reason: 'Pagina o sottopagina di utente [[WP:BLOCCO|bloccato infinito]]',
token: btoken,
expiry:'infinite',
protections:'edit=sysop|move=sysop'
}
).done(function(data) {
try{
//genera l'errore in caso di piu non esistente e passa al create=sysop
var er = data.protect.title;
//la protezione della talk è l'ultima operazione che compie dopo esegue il blocco
if (targhet === 'User talk:' + $('#mw-bi-target').val()){
$('.mw-htmlform-submit').click();
}
} catch ( e ) {
$.post(mw.util.wikiScript('api'),
{
format: 'json',
action: 'protect',
title: targhet,
reason: 'Pagina o sottopagina di utente [[WP:BLOCCO|bloccato infinito]]',
token: btoken,
expiry:'infinite',
protections:'create=sysop'
}
);
}
});
}
function getprotectToken(){
$.getJSON(
mw.util.wikiScript('api'),
{
format: 'json',
action: 'query',
meta: 'tokens',
type: 'csrf'
}
).done(function ( data ) {
btoken=data.query.tokens.csrftoken;
PassAuth();
});
}
function PassAuth(){
$.getJSON(
mw.util.wikiScript('api'),
{
format: 'json',
action: 'query',
list: 'users',
ususers: $('#mw-bi-target').val()
}
).done (function (data){
//se l'utente esiste esegue il resto
if (data.query.users[0].missing === undefined){
//Per uso comune la talk va sempre sostituita
if ($('#blockScriptcktalk').is(':checked') && $('#blockScripttalkcontent').val() !== ''){
$.post(mw.util.wikiScript('api'),
{
format: 'json',
action: 'edit',
title: 'User talk:' + $('#mw-bi-target').val(),
appendtext: $('#blockScripttalkcontent').val(),
token: btoken,
summary:'notifica di blocco',
recreate:''
}
).done (function(){
/* ProteggiUtente('User talk:'+ $('#mw-bi-target').val()); */
});
}else{
alert('Devi almeno sostituire la pagina utente per bloccare');
}
}else{
alert ('Non è registrato alcun utente di nome "' + $('#mw-bi-target').val() +'". Verificare il nome inserito.');
}
});
}
}( mediaWiki, jQuery ));
//</nowiki>