Utente:Melos/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>
$( mw.loader.using(['mediawiki.util']).done(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;}' +
'#blockScripttalkcontent, #blockScriptupcontent {margin-left:5px;}'
);
//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: "blockScriptdivup"
})
);
$('#blockScriptForm').append(
$("<div>", {
id: "blockScriptdivtalk"
})
);
//appende gli oggetti della up
$('#blockScriptdivup').append(
$("<input>", {
type: "checkbox",
id: "blockScriptckup",
})
);
$('#blockScriptdivup').append(
$("<label>", {
'for': "blockScriptckup",
text: 'Sostituisci la pagina utente con:'
})
);
$('#blockScriptdivup').append(
$("<input>", {
id: 'blockScriptupcontent'
})
);
//appende gli oggetti della talk
$('#blockScriptdivtalk').append(
$("<input>", {
type: "checkbox",
id: "blockScriptcktalk",
})
);
$('#blockScriptdivtalk').append(
$("<label>", {
'for': "blockScriptcktalk",
text: 'Sostituisci la discussione utente con:'
})
);
$('#blockScriptdivtalk').append(
$("<input>", {
id: 'blockScripttalkcontent'
})
);
//inserisce i link dopo gli oggetti up
$('#blockScriptdivup').append(
$("<a>", {
text: "Bloccoinfinito",
href:'#',
title: "Inserisci {{BloccoInfinito}}",
class:"blockscript-firstlink",
click:function() {
$('#blockScriptupcontent').val('{{BloccoInfinito}}');
return false;
}
}),
$("<a>", {
text: "SP",
title: "Inserisci {{SP}}",
href:'#',
class:"blockscript-link",
click:function() {
sock= prompt('Inserisci il nome utente principale (senza [[utente:)');
$('#blockScriptupcontent').val('{{SP|' + sock + '}}');
return false;
}
}),
$("<a>", {
text: "Bloccoinfinito + SP",
title: "Inserisci {{BloccoInfinito}} + {{SP}}",
href:'#',
class:"blockscript-link",
click:function() {
sock= prompt('Inserisci il nome utente principale (senza [[utente:)','');
$('#blockScriptupcontent').val('{{BloccoInfinito}}{{SP|' + sock + '}}');
return false;
}
}),
$("<a>", {
text: "NUI",
title: "Inserisci {{NUI}} --~~~~",
href:'#',
class:"blockscript-link",
click:function() {
$('#blockScriptupcontent').val('{{NUI}} --~~~~');
return false;
}
})
);
$('#blockScriptdivup').find('a').slice(1).before(' | ');
//inserisce i link dopo gli oggetti talk
$('#blockScriptdivtalk').append(
$("<a>", {
text: "Bloccoinfinito",
href:'#',
title: "Inserisci {{BloccoInfinito}}",
class:"blockscript-firstlink",
click:function() {
$('#blockScripttalkcontent').val('{{BloccoInfinito}}');
return false;
}
}),
$("<a>", {
text: "SP",
title: "Inserisci {{SP}}",
href:'#',
class:"blockscript-link",
click:function() {
sock= prompt('Inserisci il nome utente principale (senza [[utente:)');
$('#blockScripttalkcontent').val('{{SP|' + sock + '}}');
return false;
}
}),
$("<a>", {
text: "Bloccoinfinito + SP",
title: "Inserisci {{BloccoInfinito}} + {{SP}}",
href:'#',
class:"blockscript-link",
click:function() {
sock= prompt('Inserisci il nome utente principale (senza [[utente:)','');
$('#blockScripttalkcontent').val('{{BloccoInfinito}}{{SP|' + sock + '}}');
return false;
}
}),
$("<a>", {
text: "NUI",
title: "Inserisci {{NUI}} --~~~~",
href:'#',
class:"blockscript-link",
click:function() {
$('#blockScripttalkcontent').val('{{NUI}} --~~~~');
return false;
}
})
);
$('#blockScriptdivtalk').find('a').slice(1).before(' | ');
//crea il nuovo pulsante di blocco
$('#blockScriptForm').append(
$("<input>", {
type: "button",
id: "blockScriptBlocca",
value: "Blocca & proteggi pagine 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 pu 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:' + $('#ooui-1').val()){
$('.oo-ui-buttonElement-button').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: $('#ooui-1').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() !== ''){
if($('#blockScriptckup').is(':checked')){
$.post(mw.util.wikiScript('api'),
{
format: 'json',
action: 'edit',
title: 'User:' + $('#ooui-1').val(),
text: $('#blockScriptupcontent').val(),
token: btoken,
summary:'Utente [[WP:BLOCCO|bloccato infinito]]',
recreate:''
}
).done (function(){
ProteggiUtente('User:'+ $('#ooui-1').val());
});
}else{
ProteggiUtente('User:'+ $('#ooui-1').val());
}
$.post(mw.util.wikiScript('api'),
{
format: 'json',
action: 'edit',
title: 'User talk:' + $('#ooui-1').val(),
text: $('#blockScripttalkcontent').val(),
token: btoken,
summary:'Utente [[WP:BLOCCO|bloccato infinito]]',
recreate:''
}
).done (function(){
ProteggiUtente('User talk:'+ $('#ooui-1').val());
});
}else{
alert('Devi almeno sostituire la pagina utente per bloccare e proteggere');
}
}else{
alert ('Non è registrato alcun utente di nome "' + $('#ooui-1').val() +'". Verificare il nome inserito.');
}
});
}
}( mediaWiki, jQuery )));
//</nowiki>