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:


Foto del profilo di cate

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>

AVCP come configurarlo in WP

11 gennaio 2014 in amministrazione trasparente, Senza categoria

Come da recente normativa riguardo la trasparenza nelle pubbliche amministrazioni, anche le scuole sono obbligate a trasmettere alla AVCP i dati relativi ai bandi di gara, reletivamente all’anno 2013 entro il 31 gennaio 2014, nel formato aperto xml o se al di sotto di una certa cifra segnalare il link al file xml del proprio sito. Riguardo WordPress, Marco Milesi ha realizzato due plugin che soddisfano tali richieste: Amministrazione Trasparente e AVCP XML. Condivido, con la comunità pasw, quanto fatto nel mio sito.

-Installare ed attivare Amministrazione Trasparente, creare una pagina ed inserire gli short code, come da indicazioni, quindi inserire la pagina in un menù o dove si desidera.Istantanea - 11012014 - 10:30:16questo sarà il risultato, www.icadua.gov.it/amministrazione-trasparente

-Ora installare ed abilitare AVCP XML, se non vengono rilevati problemi si riceverà conferma, vedi in alto a dx, quindi inserire i dati della scuola, denominazione, codice fiscale, spuntare le voci che interessano:Selezione_026Ora è il momento di andare a creare le pagine necessarie. Andare in Trasparenze e selezionare –>Nuova Voce, dare il titolo alla voce ed associarla alla tipologia  –> Bandi di gara e contratti, inserire lo short code, quindi pubblicare:Istantanea - 11012014 - 10:33:22 Selezione_021L’immagine sopra è il risultato.

Dopo questa prima fase si può lavorare direttamente inserendo le gare, fornitori e quanto serve per arrivare alla generazione del file xml richiesto da AVCP.
Come prima operazione, caricare tutte le ditte:Selezione_027Seguire con: Nuova Gara. Qua mettere tutti i dati richiesti, spuntare l’anno che interessa quindi pubblicare, alla fine degli inserimenti dei bandi di gara, nella pagina dedicata, quella che è stata creata prima, si avrà qualcosa di simile:Istantanea - 11012014 - 11:57:48Ora sarà sufficiente cliccare il link in basso a dx per generare il file xml, ovvero:Istantanea - 11012014 - 12:01:50Quindi cliccando l’anno che interessa si vedrà:Selezione_032Copiare l’URL dal browser, questo sarà il link da inviare ad AVCP.

Ciao, ciao

Lillo

AT disattivare voci

10 gennaio 2014 in amministrazione trasparente

Installando il plugin AT  (amministrazione trasparente) in auto vengono create voci delle quali alcune non riferibili alle istituzioni scuolastiche. Per disattivare o annullare tali voci bisogna modificare due file; si potrebbe lavorare dalla dashboard ma meglio con filezilla! seguono i passaggi da fare:
– Collegarsi via ftp al proprio server e raggiungere la directory xxxx_wp-content/plugins/amministrazione-trasparente/shortcodes e selezionare il file — shortcodes-head.php; fare le modifiche come da immagine, eliminandole voci che non interessano: (fate sempre un backup prima delle modifiche)Istantanea - 11012014 - 20:40:47Questo invaliderà le voci nel sommario.

Se si vuole eliminare la voce dai sotto menù, editare la directory …..wp-content/plugins/amministrazione-trasparente/shortcodes  quindi il file, in base allo short code usato, — shortcodes-list.php oppure shortcodes-table.php …e disabilitare le voci anteponendo , /* e poi chidendolo con */   vedi schermata:Istantanea - 11012014 - 20:49:52

 

AndrOpen Office

1 gennaio 2014 in Novità

andropenofficeCome segnalato nella mailing list, finalmente la suite openoffice approda sui processori ARM, ovvero smartphone e tablet. Il fork opera di molti volontari ci permette di avere openoffice tale e quale la versione installata sui pc anche nei nostri device portatali, ovviamente anche in italiano. La si può scaricare da google play.
link:
http://andropenoffice.blogspot.it/

google play

 

 

Vai alla barra degli strumenti