PHP: Utilizzare Gravatar nel proprio sito

Gravatar è l'abbreviazione di globally recognized avatar. È un servizio creato da Tom Werner che permette di utilizzare lo stesso avatar su più siti. Ogni utente ha la possibilità di inserire più indirizzi e-mail a cui associare degli avatar da poter utilizzare sui siti che utilizzano Gravatar.
Per molti CMS (Joomla, WordPress, ecc.) esistono già dei plug-in specifici per utilizzare Gravatar, ma se non si utilizzano questi CMS non è molto difficile implementare uno script adatto allo scopo.
Bisogna inserire un'immagine dinamica richiamandola dai server di Gravatar.com. La prima parte dell'indirizzo è “http://www.gravatar.com/avatar/” e la seconda è l'hash MD5 dell'indirizzo e-mail dell'utente seguito dell'estensione “.jpg”.
A questo punto possiamo aggiungere tutti i parametri facoltativi come query string (metodo get).
Con il parametro “size” o “s” possiamo decidere la dimensione in pixel dell'avatar che può andare da un minimo di 1 a un massimo di 512. Il valore di default è 80 pixel.
Con il parametro “rating” o “r” possiamo indicare il tipo di avatar (da quello adatto per tutti a quello che include contenuti espliciti) che può essere “g”, “pg”, “r” o “x”. Il valore di default è “g”.
Con il parametro “default” o “d” possiamo scegliere quale immagine visualizzare se l'e-mail non è presente nel database di Gravatar. Si può inserire il percorso di un'immagine oppure si possono inserire i valori “identicon”, “monsterid” o “wavatar”. Se non viene specificato, si visualizzerà il simbolo di Gravatar (una G) in grigio.
Ecco quindi un esempio di Gravatar con il mio indirizzo e-mail, 100 pixel di lato, adatto a tutti i tipi di visitatori e, se non è presente, verrà visualizzato il logo della SiS s.r.l.:

http://www.gravatar.com/avatar/36ac00adbe6247f505c702d904f7f44a.jpg?s=100&r=g&d=http%3A%2F%2Fwww.soluzionisis.com%2Finc%2Fimg%2Flogo.jpg

Per avere lo stesso risultato in PHP si può utilizzare questo script:
<?php
$email = 'indirizzo@email.it';
$size = 100;
$rating = 'g';
$default = 'http://www.soluzionisis.com/inc/img/logo.jpg';
$url = 'http://www.gravatar.com/avatar/'.md5(strtolower($email)).'.jpg?s='.$size.'&r='.$rating.'&d='.urlencode($default);
echo '<img src="'.$url.'" width="'.$size.'" height="'.$size.'" alt="Avatar" />';
?>
Questa guida è stata pubblicata su Ciarpame {.com}.

Guida scritta da il 21/01/2009.

Le ultime guide della categoria PHP:

comments powered by Disqus