Un
Gravatar (Globally Recognized Avatar) è un servizio che consente di rendere il proprio avatar disponibile in maniera globale, tramite l'
associazione dell'avatar stesso a un indirizzo e-mail registrato a sua volta sull'
apposito sito. Così, ad esempio, ogniqualvolta si inserisce un commento in un blog che utilizzi l'e-mail come identificazione dell'utente e che implementi un opportuno plug-in
Gravatar (come fa ad esempio
WordPress), oppure in un CMS (come ad esempio
Drupal), l'avatar associato all'e-mail viene automaticamente visulalizzato insieme al post.
La richiesta di un
Gravatar su basa sull'utilizzo di un opportuno valore
hash dell'indirizzo e-mail che si intende registrare presso il servizio e viene effettuata utilizzando un indirizzo HTTP della forma:
http://www.gravatar.com/avatar/EMAIL_HASH
in cui il campo
EMAIL_HASH indica appunto il valore
hash di cui sopra. Più nel dettaglio, tale valore
hash viene calcolato effettuando le seguenti
operazioni sulla stringa che identifica l'indirizzo e-mail, in modo che il valore risultante sia accurato e consistente: rimozione di tutti i caratteri "blank" eventualmente presenti in testa e in coda alla stringa; trasformazione di tutti i caratteri della stringa in minuscolo, esecuzione della funzione
hash MD5 sulla stringa così filtrata.
Un semplice frammento di codice PHP, che illustra quanto precedentemente descritto, è il seguente:
// Indirizzo e-mail da registrare
$email= " myMail@example.com ";
// Rimozione di spazi in testa e in coda
$email = trim($email);
// Trasformazione in minuscole
$email = strtolower($email);
// Calcolo dell'hash MD5
$email_hash = md5($email);
Il valore
hash così ottenuto può quindi essere inserito nella richiesta del proprio avatar effettuata a
Gravatar, ad esempio come parametro
src del tag
img:
<img src="http://www.gravatar.com/avatar/<?php echo $email_hash?>"/>
A tale comando di richiesta dell'avatar possono anche essere accodati ulteriori
parametri, come ad esempio
s= per specificare la dimensione in pixel dell'avatar (per default pari a 80x80 pixel):
<img src="http://www.gravatar.com/avatar/<?php echo $email_hash?>?s=100"/>
Con il parametro
d= si specifica l'immagine da utilizzare come default (eventualmente scelta tra quelle messe a disposizione da
Gravatar stesso,) nel caso in cui al valore hash specificato non corrisponda nessun indirizzo e-mail correttamente registrato:
<?php
$path = "http://www.gravatar.com/avatar/".$email_hash;
$d = urlencode("http://example.com/default.jpg");?>
<img src="<?php echo $path?>/?d=<?php echo $d?>" />
Ulteriori esempi di utilizzo dei
parametri opzionali sono disponibili in un post recentemente pubblicato su
Expert Developer. Infine, vale la pena evidenziare che quanto illustrato fin qui si applica non solo a un'immagine, ma anche ad un
profilo completo, al quale si accede sempre tramite valore
hash dell'indirizzo e-mail.