MediaWiki:Gadget-QuickDelete.js

Versione del 28 nov 2013 alle 12:49 di Rotpunkt (discussione | contributi) (Nuovo gadget)

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.

/**
 * Gadget-QuickDelete.js
 * Nel namespace File: aggiunge 5 portlet nella sezione 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]]
 */

/* <nowiki> */

(function (mw, $) {
    'use strict';

    // se impostato a true la pagina viene salvata automaticamente
    var autosave = false;

    var portlets = {
        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]]}}'
        }
    }

    function addPortlets() {
        $.each(portlets, function (key, portlet) {
            var portletLink = mw.util.addPortletLink('p-tb', '#', portlet.name);
            $(portletLink).click(function (event) {
                event.preventDefault();
                var username = $('table[class="wikitable filehistory"] tr td:nth-child(6):first a').filter('[title]');
                if (username.length) {
                    username = username.attr('title').split(':')[1];
                    window.open(wgScript +
                            '?action=edit&title=Discussioni_utente:' + username +
                            '&gqdaction=' + key +
                            '&gqdpage=' + encodeURIComponent(wgPageName), '_blank');
                    document.___location = wgScript + '?title=' + wgPageName +
                                        '&action=edit&gqdaction=unverdata';
                } else {
                    alert('[Gadget-QuickDelete] username non trovato');
                }
            });
        });
    }

    // 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==' + portlets[gqdaction].summary + '==\n' +
                       portlets[gqdaction].template.replace('$1', decodeURIComponent(gqdpage)) +
                       '~~~~\n';
            });
            $('#wpSummary').val(portlets[gqdaction].summary);
            if (autosave)
                $('#wpSave').click();
        }
    }

    if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1) {
        // edit richiamato dallo script stesso per modificare la pagina dell'immagine o dell'utente
        var gqdaction = mw.util.getParamValue('gqdaction');
        var gqdpage = mw.util.getParamValue('gqdpage');
        if (wgNamespaceNumber == 6 && gqdaction && gqdaction == 'unverdata')
            editFile();
        else if (wgNamespaceNumber == 3 && gqdaction && gqdpage)
            editUserTalk(gqdaction, gqdpage);
    } else if (wgNamespaceNumber == 6) {
        addPortlets();
    }
}(mediaWiki, jQuery));

/* </nowiki> */