da cate

Banner in header

10 Febbraio 2019 in Videotutorial, Wordpress

Vediamo come inserire un logo/banner sulla destra dell’header customizzabile.

Ricreiamo una situazione analoga a quella esistente del tema pasw2015 di Marco Milesi con personalizzazione del customizer e l’aggiunta di una nuova sezione con i vari settaggi.
Andremo a modificare i file caricati nel tema-child e precisamente

  1. nel header.php  esattamente inseriremo nel <div id=”header-interno”> una nuova classe che chiameremo, per differenziarla dal logo del sito, <div id=”headerbanner”>
  2. modifica del file function.php con registrazione della funzione e i vari settaggi
  3. inserimento della proprietà CSS in “CSS aggiuntivo” di WordPress

Vediamo nel dettaglio

Per prima cosa scarichiamo in locale il file header.php e inseriamo lo snippet necessario per richiamare l’immagine (in questo caso il logo-repubblica) e  il template tag per i percorsi

Trascrivo di seguito lo snippet aggiunto, troverente comunque a fondo articolo il link per il download dei file modificati

<div id=”header-interno”>

<a href=”<?php bloginfo(‘url’); ?>”><img style=”max-height:160px;” src=”<?php echo get_option(‘pasw_logo’); ?>” alt=”” class=”logo”/></a>
/*(da qui il codice aggiunto, ho trascritto il div già esistente per individuare con più esattezza dove inserire la modifica)*/
<div id=”headerbanner”>
<?php if(get_theme_mod(‘pasw2015_banner_image’, ”)!= ”){?>

<a href=”<?php bloginfo(‘url’); ?>”><img style=”max-height:100px;” src=”<?php echo get_theme_mod(‘pasw2015_banner_image’, ”); ?>” alt=”<?php echo get_theme_mod(‘pasw2015_banner_alt_text’, ”); ?>”>

<?php } else {?>

<a href=”<?php bloginfo(‘url’); ?>”><img style=”max-height:110px;” src=”<?php echo get_template_directory_uri(); ?>/images/repubblica-italiana.png” alt=”banner sito”>

<?php } ?>
</a>

</div>

*****************************************************************
Ho impostato come altezza massima (max-height) dell’img 110px (lo screenshot riporta 100px sono prove  testate  su header di diverse dimensioni)

Andiamo ad uploadare il nostro file modificato nel tema-child (per chi non avesse un child può sovrascrivere i file del tema, ma avendo cura di fare  un backup preventivo e tenendo presente che le modifiche andranno perse con un eventuale aggiornamento)

A questo punto avremo una situazione più o meno così, il logo-repubblica  al centro e titolo del sito che sfasa
header-senza-css

Andiamo a sistemare il css:
bacheca>aspetto>personalizza>css aggiuntivo

avendo creato una nuova classe la regola sarà:
#headerbanner{
float: right;
margin-left: 5px;
}

se volessimo aumentare o centrare verticalmente possiamo aggiungere un margin-top (dipende anche dal height dell’header):

#headerbanner{
float: right;
margin-left: 5px;
margin-top: 6px;
}

img-css-aggiuntivo

questo il risultato
header-banner-ok

Procediamo a customizzare

Per avere una panoramica su tutte le funzionalità del customizer di WordPress basta accedere a questo link

Vediamo come utilizzarle nel nostro caso

Apriamo in locale il file function.php già presente nel tema child ed inseriamo la registrazione della funzione con all’interno delle graffe tutti settaggi e la legheremo ad una action (da notare che il file function.php del tuo child si presenta solo con la funzione che indica a WordPress quale stili caricare del tema genitore)

/* Add customizer settings
——————————————————– */

function pasw2015_customize_register($wp_customize){

$wp_customize->add_section(‘pasw2015_banner’, array(
‘title’ => __(‘Banner’, ‘pasw2015’),
‘description’ => __(‘All the info about the banner’, ‘pasw2015’),
‘priority’ => 20
)
);

/* Banner Image */
$wp_customize ->add_setting(‘pasw2015_banner_image’, array( ‘default’ => ”));
$wp_customize ->add_control( new WP_Customize_Image_Control( $wp_customize, ‘pasw2015_banner_image’, array(
‘section’ => ‘pasw2015_banner’,
‘label’ => __(‘Banner Image’, ‘pasw2015’),
‘settings’ => ‘pasw2015_banner_image’
)));

/* Banner alt text */
$wp_customize ->add_setting(‘pasw2015_banner_alt_text’, array( ‘default’ => ‘Banner right’));
$wp_customize ->add_control(‘pasw2015_banner_alt_text’, array(
‘section’ => ‘pasw2015_banner’,
‘label’ => __(‘Banner alt text’, ‘pasw2015’),
‘type’ => ‘text’
));

}

add_action(‘customize_register’, ‘pasw2015_customize_register’);

img-function

Salviamo il file e trasferiamolo via ftp nel tema-child.
Ecco che nel customizer avrai il nuovo modulo con possibilità di cambiare immagine secondo le tue esigenze.

banner-customize
La funzione ‘if’,  inserita nel file header.php, indica a WordPress che se (if) il campo è diverso da vuoto “vai a mostrare l’immagine customizzata, altrimenti (else) vai a visualizzare l’immagine impostata” (nel nostro caso logo-repubblica)

cambia-img

Il campo “alt text” permette di settare l’attributo alt:

da “ispeziona ” (browser Google Chrome) o da “analizza elemento” (browser Firefox) notiamo il settaggio corretto

alt-text

Questa la demo , da questa pagina è possibile scaricare una cartella zippata con gli snippet già “confezionati” per essere inseriti nei file.php e la propietà css per essere aggiunta al foglio di style.

Raccomandazioni

  • inserire le modifiche possibilmente nel child
  • testate prima in locale oppure su un sito di prova;
  • gli snippet condivisi sono stati salvati in .php e .css apriteli con un buon editor di testo (NotePad++)

Per qualsiasi chiarimento contattami senza problemi!

Indicazioni, suggerimenti, tutorial per la relizzazioni di codici sono a cura di
Logo-NXMARCHETTI DESIGN-Andrea Marchetti

Trasferimento sito wordpress da gov a edu

27 Gennaio 2019 in Videotutorial, Wordpress

Migrazione gov - edu

Di seguito le operazioni da effettuare per trasferire il sito costruito con wordpress da un dominio gov.it ad uno edu.it

In pratica sono le stesse operazioni che si fanno in caso di trasferimento dei contenuti da uno spazio hosting ad un altro. Ecco le operazioni da effettuare in caso di sito hostato in uno spazio Aruba. Per gli atri provider le procedure sono sostanzialmente le stesse, può essere che ci siano delle piccole differenze:

Trasferisco il database

  1. collegati a https://mysql.aruba.it con i dati del db vecchio ed esporta il db, dovrai salvare sul tuo pc un file chiamato SqlXXXXXX.sql
  2. apri il file con un editor di testo minimale (notepad, notepad++ in ambiente windows; gedit o altro in ambiente linux) e con la funzione “trova e sostituisci” cambia tutte le occorrenze tuosito.gov.it -> tuosito.edu.it. Salva nello stesso formato (sql)
    1. i più temerari che usano linux possono fare questa operazione anche da linea di comando digitando in un terminale questo comando:
      sed -i  ‘s/tuosito.gov.it/tuosito.edu.it/g’ SqlXXXXXX.sql
  3. collegati a https://mysql.aruba.it con i dati del db nuovo e importa il db: dovrai caricare il file che hai appena modificato

Trasferisco i dati

  1. con un programma come Filezilla scarica in locale tutto il contenuto dello spazio hosting (le cartelle wp-admin, wp-content, wp-includes, avcp e file relativi)
  2. modifica nel file config.php i riferimenti al db mettendo il nome, la password e l’host del nuovo
  3. sempre con Filezilla carica tutto nel nuovo spazio web
  4. incrocia le dita e vai al nuovo indirizzo www.tuosito.edu.it

Imposto un reindirizzamento da gov verso edu

Se tutto funziona correttamente devi fare in modo che chi si reca all’indirizzo gov.it venga mandato automaticamente a edu.it. Modifica il file .htaccess che si trova nella root dello spazio gov.it scrivendo queste righe:

# Redirect
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^tusito.gov.it [NC,OR] RewriteCond %{HTTP_HOST} ^www.tuosito.gov.it [NC] RewriteRule ^(.*)$ http://tuosito.edu.it/$1 [L,R=301,NC] </IfModule>
# END Redirect

Piccoli aggiustamenti

Nel nuovo spazio web offerto da Aruba ci sarà sicuramente php7. Se usi pasw2015 è quindi necessario sostituire il tema che stai usando con una nuova versione. Trovi le indicazioni su come procedere qui

Le stesse operazioni sono descritte in un video tutorial realizzato da Alberto Ardizzone:

Versione pasw2015 per php7

26 Gennaio 2019 in Wordpress

Il passaggio del dominio da gov a edu è l’occasione anche per aggiornare le versioni di php presenti nell’hosting che viene offerto. La versione pasw2015 presenta un errore con php7.

Marco Milesi propone una versione di testing del tema pasw2015 che è possibile scaricare e provare nel proprio sito.

Già qualcuno ha provato ad utilizzare questa versione che per ora non ha dato problemi. Per chi avesse quindi necessità ecco le istruzioni:

  • scarica il pacchetto da questo indirizzo http://mmilesi.ml/pasw2015.zip
  • caricalo via ftp nello spazio web sostituendo il tema in uso (si trova nella cartella /wp-content/themes)
  • comparirà un messaggio indicante di installare, e poi attivare, un nuovo plugin: “GitHub updater”.
  • Verifica che il tutto vada a buon fine, ovvero che al termine il messaggio scompaia e che il plugin risulti effettivamente installato nella lista dei plugin

Aggiornamento 27 gennaio 2019

È necessario fare due correzioni:

  • nel file contenuto in wp-content/themes/pasw2015/include/widget.php alla linea 433 e 435 si dovranno inserire gli apici.
    Riga 433 da if (function_exists(Is_Circolare_per_User)) a if (function_exists(‘Is_Circolare_per_User’))
    riga 435 da if (function_exists(gcg_Is_Circolare_per_User)) a if (function_exists(‘gcg_Is_Circolare_per_User’))
  • il passaggio a php7 evidenzia un problema nel plugin AVCP da correggere in questo modo
    nel file contenuto in wp-content/plugins/avcp/tablegen.php alla riga 23
    riga 23 da query_posts( array( ‘post_type’ => ‘avcp’, ‘orderby’ => date, ‘order’ => DESC, ‘posts_per_page’ => -1, ‘annirif’ => $anno) ); a query_posts( array( ‘post_type’ => ‘avcp’, ‘orderby’ => ‘date’, ‘order’ => ‘DESC’, ‘posts_per_page’ => -1, ‘annirif’ => $anno) );

 

Sito wordpress hackerato: che fare?

16 Agosto 2015 in Wordpress

Da una discussione avvenuta nel gruppo facebook “Siti scolastici”, riporto alcuni consigli di Paolo Valenti per intervenire in caso di sito compromesso:

  1. scaricare tutto il sito sul pc
  2. cancellare tutti i file sul sito
  3. controllare con antivirus i file scaricati sul pc
  4. scaricare una copia pulita di wordpress
  5. caricare la copia nuova di wordpress sul sito
  6. caricare .htaccess e wp-config.php dopo averli controllati
  7. caricare la directory wp-content/uploads dopo averla controllare
  8. riscaricare temi e plugin utilizzati
  9. ricaricare temi e plugin
  10. cambiare tutte le password
  11. fare i backup. Sempre. Tutti i giorni.
  12. cambiare hosting

Inoltre può essere utile uno strumento di monitoraggio on-line dello stato di salute del proprio spazio web come per esempio Sucuri.net

Accettazione dei cookies

16 Maggio 2015 in PASW-2013, Wordpress

Come implementare in wordpress, con tema pasw2013, l’accettazione dei cookies, secondo il provvedimento generale dell’8 maggio 2014 pubblicato, sulla Gazzetta ufficiale n. 126 del 3 giugno 2014.

La guida è stata predisposta da Caterina Toccafondi, la soluzione è l’uso del plugin Cookie Noticeby dFactory

Tutorial cookies-pasw2013

Per il tema PASW-2015 è disponibile una soluzione di Christin Ghellere che però è da considerarsi sperimentale e da verificare in termini di correttezza normativa.

Il logo del sito scompare – pasw2013

18 Marzo 2015 in Home page, PASW-2013, Wordpress

Chi usa il tema pasw2013 incontra un inconveniente: caricando un nuovo atto in albo on line con un allegato sparisce il logo del sito.

Nel gruppo di facebook siti scolastici, Enzo Costantini ha postato la soluzione che risolve questo problema. Ecco le sue indicazioni:

Inserisco il file corretto che serve a risolvere il problema del logo che scompare quando si carica un allegato di Albo Pretorio.
Ovviamente la scelta di inserirlo come fisso in header.php è già di per se stessa agibile… ma ovviamente non è più possibile cambiarlo in modo dinamico nelle opzioni del tema.
Il file da me modificato risolve un problema di collisione di nomi fra tema e plugin Albo pretorio a monte.
Tale file va sovrascritto a quello presente nella cartella:

/wp-content/themes/pasw2013/include/

sempre avendo cura di fare un backup prioritariamente.

Alternativamente, ma per i più smanettoni o per chi avesse già personalizzato per proprie esigenze quel file, si possono confrontare i due file e inserire solo le due piccole modifiche che risolvono il conflitto di nomi.

Ed ecco il file theme-option.php che risolve il problema:

Theme option

Gestione circolari

6 Settembre 2014 in Plugin, Wordpress

Grazie al lavoro di Ignazio Scimone è disponibile il plugin per la gestione delle circolari.

Ne esistono due versioni che si differenziano nella profilatura degli utenti: in gestione circolari è compresa nel plugin, in gestione circolari groups è affidata al plugin Groups.

Sono disponibili le guide:

Gestione-Circolari-vers-1 a cura di Ignazio Scimone

Guida notifica delle circolari online groups a cura di Andrea Smith

Per visualizzare l’elenco delle circolari in home page è necessario modificare il file tmpl_home.php:
da $myposts = get_posts(‘numberposts=5&category=’.$ultimecomunicazioni)
a  
$myposts = get_posts(‘post_type=any&numberposts=5&category=’.$ultimecomunicazioni)

Inoltre bisogna modificare poche righe sotto anche il link che rimanda alla pagina di riepilogo delle circolari, quella in cui è stato messo lo shortcode [visCircolari]:
da <p class=”dx”><a href=”circolari/”>Tutte le circolari…</a></p>
a <p class=”dx”><a href=”link-della-tuapagina//”>Tutte le circolari…</a></p>

Inoltre Andrea Smith ha preparato tre videotutorial che illustrano nel dettaglio la configurazione e l’uso del plugin:


da cate

Costruire tabelle accessibili con il nuovo Tiny MCE

18 Luglio 2014 in Senza categoria

Come rendere accessibile una tabella utilizzando la nuova versione del plugin TinyMCE Advanced

Realizziamo una tabella con gli strumenti messi a disposizione dal plugin

nuova tab1

costruiamo la tabella

tab2

Inseriamo i dati, da “tabella” è possibile aggiungere o eliminare righe, dividere o unire celle

La tabella si presenterà così

tab4

Vediamo adesso con piccoli interventi in html come rendere accessibile la tabella e colorare le righe

Di seguito la stessa tabella in html:

<table border=”0″ cellspacing=”0″ cellpadding=”0″><caption>orario di funzionamento plessi</caption>

<tbody>

<tr>

<td>ordine</td>

<td>sede</td>

<td>orario di funzionamento</td>

<td>giorni</td>

</tr>

<tr>

<td>infanzia</td>

<td>Ameglia</td>

<td>8.00 – 16.00</td>

<td>dal lunedì al venerdì</td>

</tr>

<tr>

<td rowspan=”2″>primaria</td>

<td rowspan=”2″>Fiumaretta</td>

<td>8.20-16.05</td>

<td>lunedì-mercoledì</td>

</tr>

<tr>

<td>8.20-12.40</td>

<td>martedì-giovedì-venerdì</td>

</tr>

<tr>

<td rowspan=”2″>secondaria </td>

<td rowspan=”2″>Arcola </td>

<td>8.20-12.40</td>

<td>lunedì-martedì-giovedì-sabato</td>

</tr>

<tr>

<td>8.00-16.00</td>

<td style=”text-align: left;”>mercoledì-venerdì (tempo prolungato)</td>

</tr>

</tbody>

</table>

tab3

L’attributo <caption> equivale alla didascalia della tabella,cioè il titolo che è già presente nelle funzionalità del nuovo plugin; lo stesso vale per l’attributo <td rowspan= “2”>, cioè equivale ad “unisci celle” (il 2 in questo caso indica il numero delle colonne che la cella occupa).

Inseriamo il sommario: l’attributo <summary> descrive la tabella

il tag <th> serve per intestazione di cella

il tag <tr class=”tdalt”> per colorare la riga di bianco (in questo caso ho alternato le righe pari)

Selezionati gli attributi da inserire

<table summary=”orario di funzionamento, ordine,sede,giorni” border=”0″ cellspacing=”0″ cellpadding=”0″><caption>orario di funzionamento plessi</caption>

<tbody>

<tr><th>ordine</th><th>sede</th><th>orario di funzionamento</th><th>giorni</th></tr>

<tr class=”tdalt”>

<td>infanzia</td>

<td>Ameglia</td>

<td>8.00 – 16.00</td>

<td>dal lunedì al venerdì</td>

</tr>

<tr>

<td rowspan=”2″>primaria</td>

<td rowspan=”2″>Fiumaretta</td>

<td>8.20-16.05</td>

<td>lunedì-mercoledì</td>

</tr>

<tr class=”tdalt”>

<td>8.20-12.40</td>

<td>martedì-giovedì-venerdì</td>

</tr>

<tr>

<td rowspan=”2″>secondaria</td>

<td rowspan=”2″>Arcola</td>

<td>8.20-12.40</td>

<td>lunedì-martedì-giovedì-sabato</td>

</tr>

<tr class=”tdalt”>

<td>8.00-16.00</td>

<td >mercoledì-venerdì (tempo prolungato)</td>

</tr>

</tbody>

</table>

Il risultato è questo

tab5

Nuovo gruppo – studio PHP

9 Marzo 2014 in Corso formazione

Prendendo spunto da una discussione in gruppi scolastici su fb, riguardo il linguaggio di programmazione PHP, è stato creato un gruppo aperto dove tutti possono iscriversi e collaborare attivamente, ecco il link gruppo studio PHP

Rightsidebar per WP-PASW2013 modificata

21 Gennaio 2014 in PASW-2013, Sottopagine, Wordpress

Incollo qui sotto il codice della rightsidebar modificata l’estate scorsa per permettere alle “pagine archivio” di wordpress (come quelle dentro ad AT ma anche quelle con le circolari per mese ecc.)  di far vedere i widget nella barra di destra. Si tenga però conto che:

  • le modifiche sono state fatte da me che di php non capisco quasi nulla  e quindi non so esattamente perché funzionino…
  • nella sezione dei blog del sito della mia scuola (installazione separata)  ho dovuto ripristinare quella vecchia perchéquella nuova mi aveva creato qualche problema non risolto;
  • per scegliere in che pagine far uscire determinati widget bisogna usare widget logic; per esempio per il widget di AT io ho messo tutta la pappardella che segue: is_page(‘trasparenza’)||is_tax(‘tipologie’)||is_singular(‘amm-trasparente’)||is_page(‘amministrazione-trasparente’)

<div id=”rightsidebar”>
<ul>
    <li>
        <h2>Motore di ricerca interno</h2>
        <form method=”get” id=”searchform” action='<?php echo bloginfo(“home”);?>’ >
            <div><label for=”s”>Cerca:</label>
                <input type=”text” value=”” name=”s” id=”s” />
                <input type=”submit” id=”searchsubmit” value=”Cerca” />
            </div>
        </form>
    </li>
<?php
if (is_single ()) {
    $tags = wp_get_post_tags($post->ID);
    if ($tags) {
        $tag_ids = array();
        foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
        $args=array(‘tag__in’ => $tag_ids,
                    ‘post__not_in’ => array($post->ID),
                    ‘showposts’=>3, // Number of related posts that will be shown.
                    ‘caller_get_posts’=>1);
        $my_query = new wp_query($args);
        if( $my_query->have_posts() ) {
            echo ‘<li><h2>Articoli correlati</h2><ul>’;
            while ($my_query->have_posts()) {
                $my_query->the_post();
            ?>
                <li>
                    <a href=”<?php the_permalink() ?>” rel=”bookmark” title=”Permanent Link to <?php the_title_attribute(); ?>”><?php the_title(); ?></a>
                </li>
            <?php
            }
            echo ‘</ul></li>’;
        }
    }
}
if (is_front_page ()||is_home ()) {
?>
      <?php if ( function_exists(‘ec3_get_calendar’) ){?>
      <li>
          <h2>Calendario eventi</h2>
          <?php ec3_get_calendar(); ?>
      </li>
     <?php } ?>
<?php
    
}
if (is_page () and !is_front_page ()){
    $post->ID=$IdPagina;
    $post->post_title=$TitoloPagina;
    
}
if (is_category ()||is_archive () || is_page()|| is_singular() ) {
    if ( function_exists(‘dynamic_sidebar’) && dynamic_sidebar(2) ) : endif;
    
    //verifica se � una categoria
    if (isset($_GET[‘catid’]) && !empty($_GET[‘catid’])) {
        $catid = $_GET[‘catid’];
    }else{
        $catid = $categoria_pagina;
    }
    if (!isset($catid)) {
        //$categoria = get_the_category();
        //$catid1 = $categoria[0]->cat_ID;
        $catid = get_query_var(‘cat’);
    }
//echo $categoria.”   “.$catid1.”  “.$catid;
    $categoryname = get_cat_name($catid) . ” “;
    $category = “catid=”.$catid;
    $obj_cat = get_category ($catid);
    if (is_category()||is_archive()||is_tag()||is_page_template(‘page4miur.php’)) {
        if(isset($catid)) {
            $cat = get_category($catid);
            $parent = $cat->category_parent;
            $querystr = “SELECT wpostmeta.post_id
                         FROM $wpdb->postmeta wpostmeta
                          WHERE wpostmeta.meta_key = ‘categoria’
                          AND wpostmeta.meta_value = ‘”. $catid .”‘”;
            $name = $wpdb->get_var($querystr);
            $post_id = get_post($name);
            $title = $post_id->post_title;
            $url = get_permalink($name);
            if(!is_category() and !is_archive()){
                echo ‘<li><h2><a href=”‘.$url. ‘”>’.$title.'</a></h2><ul>’;
                wp_list_pages(‘&title_li=&child_of=’.$name);
// qui dobbiamo aggiungere la chiusura del ul e del li aggiunto due righe sopra 🙂 — ronny
// da notare che qui se fai la validazione ti da errore se non ci sono pagine listate perche apre e chiude un ul senza metterci dentro nulla — ronny
                    echo ‘</ul></li>’;
            }
        }
    }
}
if (!empty($catid)) {
    $Anno=0;
    $Mese=0;
    Pasw13_MeseAnnoCorrenti(&$Anno,&$Mese);
    $ArchiviMesiAnno=Pasw13_ElencoAnniMesi(“mesi”,$catid,$Anno);
    $ArchiviAnni=Pasw13_ElencoAnniMesi(“anni”,$catid,$Anno);
    if (!empty($ArchiviMesiAnno) Or !empty($ArchiviAnni)){
?>
    <!– Inizio Modifica Tutti gli articoli della categoria TOLTO VEDI FILE ORIGINALE–>
        
<?php
        if(!empty($ArchiviMesiAnno)){?>
    <!–Fine Modifica tutti gli articoli della categoria –>
            <li>
                <h2>Archivio <?php echo $Anno;?></h2>
                <ul>
                    <?php    echo $ArchiviMesiAnno; ?>
                </ul>
            </li>
<?php   }
        if (!empty($ArchiviAnni)){?>
            <li>
                <h2>Archivio per anni</h2>
                <ul>
                    <?php echo $ArchiviAnni; ?>
                </ul>
            </li>
<?php
        }
    }
}
if (!empty($catid)) {
    wp_list_categories(‘title_li=<h2>Sotto-categorie</h2>&orderby=id&child_of=’.$catid);
    }
if (!empty($blogroll)) {
    wp_list_bookmarks(‘&categorize=0&category=’.$blogroll. ‘&orderby=order&category_orderby=order’);
   }
if (!empty($boxdestra)) {
    echo $boxdestra;
  }
if (is_front_page ()||is_home ()) {
    if ( function_exists(‘wp_tag_cloud’) ) :
?>
<?php
    endif;
 }
 ?>
</ul>
</div>

Vai alla barra degli strumenti