[Howto] Hotspot in regola con la Pisanu (parte 3): logging e conservazione traffico, filtro p2p

image_previewLa conservazione e il tracciamento (log o logging) del traffico generato dagli utenti del nostro hotspot è certamente uno degli aspetti “più torbidi” e meno chiari della disciplina attuale. Vedremo come sia possibile salvare i dati di traffico su di un file di testo o su di un database mysql remoto per mezzo di una connessione criptata ssh effettuando l’ “immagazzinamento” di tali dati su base giornaliera.


[Howto] Hotspot in regola con la Pisanu (parte 2): le configurazioni di rete ed il server radius

wrt54glContinuiamo la nostra scoperta di Openwrt che ci porterà alla realizzazione di un Hotspot perfettamente in linea con l’attuale normativa italiana. Dopo aver installato il sistema andremo ad effettuare le prime ed elementari configurazioni di rete per poi andare ad impostare correttamente il server radius demandato all’autenticazione dei client wifi.


Howto: Hotspot Wifi basato su Openwrt in regola con la Pisanu

image_previewIl progetto di un Hotspot pienamente in regola con la legislazione italiana (cosiddetto decreto Pisanu) ci offre lo spunto per approfondire la conoscenza di Openwrt, camaleontico firmware opensource per dispositivi embedded. Interfaccia grafica, gestione a mezzo script, “tonnellate” di pacchetti “extra”: ecco cosa c’e’ di nuovo nell’ultimo rilascio di Kamikaze! e come compilarlo.


Css: div 100% in altezza

Ecco un modo per avere un div che si estende per il 100% in altezza:

<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
		<style type="text/css">
			html,body {
				height:100%;
				margin:0;
			}
 
			div.toptobottom {
				height: auto;
				min-height: 100%;
 
				margin-left: auto;
				margin-right: auto;
				width: 350px;
				background-color: #c080ff;
				color: white;
				text-align: center;
			}
 
		</style>
	</head>
 
	<body>
		<div class="toptobottom">
			Questo &egrave; il div che si estende per il 100% in altezza
		</div>
	</body>
 
</html>

Vedi l’esempio toptobottom.html.

Appunti vari su WordPress

Appunti personali in ordine sparso e link utili per utilizzare WordPress come CMS (ma non solo). Dubito che questo post possa risultare utile a qualcuno nella sua schematicità, ma non si sa mai (di sicuro mi permette di liberare la scrivania da link vari e note).

Navigazione BreadCrumb

Ottimo il plugin BreadCrumb NavXT, completamente personalizzabile e localizzabile attraverso le opzioni. Se non hai idea di cosa siano ’ste briciole di pane, dai un’occhiata a Wikipedia.

Template di pagina

In WordPress è possibile definire dei “template di pagina“; questa funzione risulta particolarmente utile per avere uno stile diverso per ogni sezione del sito.

Nel mio caso utilizzo questi modelli per modificare il menu superiore di navigazione in base alla sezione in cui si trova il navigatore, diversificando la sezione attiva nel menu principale e caricando un menu secondario specifico.

Per creare un template è sufficiente copiare il file page.php del tema e inserire all’inizio il seguente codice:

<?php
/*
Template Name: PROVA
*/
?>

In fase di creazione della pagina basterà selezionare il modello dall’elenco nella colonna di destra (nell’esempio risulterà disponibile un template PROVA).

Campi personalizzati e sidebar

Supponiamo di avere la seguente struttura:

  • sito principale che utilizza il template standard di pagina;
  • una sezione del sito (”servizi”) che utilizza un template di pagina ad hoc;
  • a sua volta la sezione “servizi” comprende una ventina di sottosezioni.

Come personalizzare un menu laterale – quindi posizionato nella sidebar – senza creare venti modelli di pagina diversi o senza utilizzare condizioni complesse nel codice? Nel mio caso ho deciso di sfruttare i campi personalizzati, associando alle varie pagine una variabile “menu_laterale” che punta al file .php con il menu personalizzato (dove necessario).

L’unico problema è che la funzione get_post_meta richiede un $post_id, e questo tipo di informazione è disponibile solo all’interno del loop, per cui tocca impostare una variabile globale:

<?php
global $post_id;
$post_id = $wp_query->post->ID;
?>

e poi recuperarla nella sidebar

<?php
global $post_id;
$url_menu = get_post_meta($post_id, "menu_laterale", true);
if ($url_menu) { include (TEMPLATEPATH . $url_menu); }
?>

Sicuramente non è la soluzione più elegante di ’sto mondo, ma funziona e tanto basta :-)

Migliorare la gallery di WordPress

Per la prima volta ho deciso di sfruttare il meccanismo di gallerie di immagini integrato in WordPress (introdotto con la versione 2.5, davvero semplice e comodo da usare).

Il primo problema è modificare il CSS utilizzato da WordPress, e per farlo è necessario lavorare sul file wp-includes/media.php (la funzione gallery_shortcode). Personalmente trovo pessima l’idea di inserire del CSS inline (e rendere non valido il codice, tra le altre cose), ma sono troppo pigro per cercare o fare un plugin che faccia esclusivamente l’override di quella funzione (LightBox Gallery, ad esempio, include questa funzione).

Secondo problema: se scelgo di visualizzare la “pagina allegato” ottengo un’immagine troppo piccola, se scelgo di visualizzare l’immagine originale butto praticamente il visitatore fuori dal sito (situazione da evitare).

A questo punto ho cercato dei plugin per integrare Lightbox nella gallery di WordPress, scoprendo che Lightbox non prevede il ridimensionamento automatico del box di anteprima (se cerco di aprire una fotografia larga 3000px, il visitatore alle prime armi va in panico). Per questo motivo ho optato per il plugin FancyBox Gallery, che utilizza FancyBox al posto di LightBox.

Visualizzare gli ultimi video di un feed YouTube

Basta seguire questo ottimo tutorial (in inglese) e aggiungere il relativo codice al tema, niente di più facile :-)