ugrás a tartalomhoz

Gravatar ikonok saját weboldalunkra

mefi · 2006. Ápr. 13. (Cs), 18.11
Mostanában rengeteg helyen vált divatossá az avatár, azaz saját arcképünk, vagy egy ábra, ami saját email címünkhöz kötött. A Gravatar szerintem a legnagyszerűbb és legegyszerűbb megoldás arra, hogy egy központilag tárolt képünket egyre több helyen láthassuk hozzászólásaink mellett. Blogomban már írtam a használatáról, itt a webfejlesztőknek szeretnék tanácsot adni a webhelybe építéshez.

A Gravatar egy mozaikszó, ami a Globally Recognized Avatar szavakból tevődik össze; jelentése nagyjából a központilag tárolt, és osztályzott avatárnak felel meg. Ilyeneket egyre több oldal (leginkább blogok) hozzászólásainál lehet megfigyelni. Ha rendelkezünk olyan oldallal, amit PHP szolgál ki, könnyedén csatolhatunk gravatart a beküldött hozzászólásokhoz. A módszer igazán egyszerű, egy néhány soros kóddal már működik is.

Kezdetben szükségünk lesz a hozzászóló email címére, melyből egy függvénnyel képet csinálunk. A függvényben a megadott email címet adjuk át a Gravatar szerverének egy alapértelmezett kép és egy méret paraméterrel együtt. Az alapértelmezett kép akkor lesz látható, ha az adott email cím nem rendelkezik gravatarral. Egész egyszerűen egy kép beillesztésére van szükségünk:

<?php
function getGravatar($email){
  $gAddress = md5($email); // Az email cím md5 lenyomata
  $gDefault = 'http://oldal.hu/gravatar.png'; // Az alapértelmezett kép
  $gSize = 40; // A méret, 40×40px
  echo '<img src="http://gravatar.com/avatar.php?gravatar_id='.
       $gAddress.'&amp;default='.$gDefault.'&amp;size='.$gSize.
       '" alt="Gravatar" />'; // A kép kiírása
}
Az átadott email cím md5 összegét számítva kiírjuk az ehhez tartozó, vagy az alapértelmezett képet. Ezekután bárhol, ahol szeretnénk ha megjelenne egy gravatar, beilleszthetjük a függvényhívást. Az email paraméter természetesen dinamikus, ezt a hozzászólást megjelenítő rendszer adja majd át.

Az avatár által színesebb lehet oldalunk, és külön felhasználókezelés nélkül láthatjuk hozzászólóink képét. A globális tárolás előnye, hogy változtatás esetén nem szükséges minden regisztrált helyen módosítani a gravatart, hiszen az központilag tárolt.
 
1

Korábban

attlad · 2006. Ápr. 13. (Cs), 19.13
A tavaly előtti bejegyzés a témában: http://weblabor.hu/blog/20041116/gravatar
2

Jó.

presidento · 2006. Ápr. 14. (P), 00.36
Kedvcsinálónak TETSZIK!
Itt említeném meg, hogy a Thunderbird is képes támogatni a gravatar szolgáltatást. (Már ha a népszerűsítésnél tartunk.) ;)

Üdv,
Máté.
3

hiba?

presidento · 2006. Ápr. 14. (P), 00.46
Az alapértelmezett linkről lehagytad az urlencode-t. ;)
4

Helyi tárolás

attlad · 2006. Ápr. 14. (P), 01.10
Szerintem a belinkelés helyett jobb megoldás lehet letölteni a hozzászólók gravatarjait és a saját szerverről kiszolgálni. Persze ez kicsit bonyolítja a helyzetet, de legalább nem adod ki a látogatóid adatait 3. félnek meg célszerű az oldalhoz tartozó képeket a címsorral azonos domainről kiszolgálni (nálam pl. alapból be se töltődnek a más domainről származó képek, reklámok, felesleges statisztika, stb. ellen véd).
5

Változhat

Bártházi András · 2006. Ápr. 14. (P), 08.40
A képed viszont változhat. Persze nem kell minden megjelenítéskor letölteni a képeket, de örökre sem szabad becachelned.
17

Loginkor

janoszen · 2006. Ápr. 23. (V), 12.33
PL. lehet azt csinálni, hogy belépéskor eldobsz egy If-Modified-Since vagy E-Tag ellenőrzést egy HEAD kérés formájában és megnézed, változott-e. Ha igen, lehúzod. Ha nem, nem csinálsz semmit.
10

Adat

tiny · 2006. Ápr. 15. (Szo), 18.04
Az adatokat meg nem adod ki, hiszen md5-tel titkosítod. Akit annyira érdekel, úgyis hozzájut máshonnan. Nekem erre külön címem van.
11

Re: Adat

attlad · 2006. Ápr. 15. (Szo), 18.26
De kiadod ki látogatja az oldalad, milyen oldalakat nézett meg. Ha esetleg session id van a címsorban (habár ez rossz megoldás) mindenesetre azt is megkapja a gravatar.com.
12

De kiadod

Bártházi András · 2006. Ápr. 15. (Szo), 22.59
Kiadod, mert valahogy azt az md5-öt ugye ők is előállították valahogy, semmi sem garantálja a szavukon felül, hogy ne tárolnák az email címedet is.
13

Igaz

tiny · 2006. Ápr. 16. (V), 12.07
Erre nem gondoltam. Mondjuk engem nem érdekel, ha a mail címemet megtudják. Ahol fontos, ott úgyis másikat adok meg...
6

Kicsit off

-zsolti- · 2006. Ápr. 14. (P), 10.50
Két stringnek lehet ugyanaz az MD5 hash-e, tehát akkor előfordulhat, hogy véletlenül más avatarját kapom meg az e-mail címemre? Vagy ez a redundancia már a regisztrációkor ki van küszöbölve?
Amúgy külső siteról én se szívesen szolgálok ki ilyesmit, bár kétség kívül jó ötlet (lenne, ha valóban széles körben elterjedne).
7

lehet, de

Őry Máté · 2006. Ápr. 14. (P), 11.12
... a jelszavaknal is gyakorlatilag ennek a valoszinusege elhanyagolhato.
8

párban

bizi · 2006. Ápr. 14. (P), 13.05
De ott a username-el együtt kéred le, itt meg önmagában áll.
bizi
9

gyakorlat

Bártházi András · 2006. Ápr. 14. (P), 15.41
Hát, a gyakorlat mindenesetre azt mutatja, hogy működik a dolog.
14

Kicsit kényelmetlenül érzem magam...

janoszen · 2006. Ápr. 16. (V), 22.47
Nem tudom, egyedül vagyok azzal, hogy kicsit kényelmetlenül érzem magam azzal, hogy más oldalról szolgálok ki valamit, amiről azért nem tudom egészen pontosan, micsoda? Mintha a rendszer egysége sérülne...

Arról nem is beszélve, hogy néhány helyen le van tiltva a 3rd party képek betöltése...
15

Ha nem is egyedül...

Bártházi András · 2006. Ápr. 16. (V), 22.53
...de szerintem nem sok embert zavar, hogy egy kívülről jövő képet berak az oldalára, ha az egy számára hasznos funkció.
16

reklámok

Hojtsy Gábor · 2006. Ápr. 17. (H), 11.04
Eléggé sok embert (weblap tulajt) nem zavar, hogy harmadik féltől jönnek be képek, például reklámok. Ha hozzák a pénzt :) Itt a szolgáltatást hozzák.
18

Hogy szabályzod?

td · 2006. Ápr. 26. (Sze), 16.05
Azt hogy lehet szabályozni honlaptulajként, hogy X és/vagy PG gravatarok ne jelenjenek meg?
19

&rating=R

talger · 2006. Ápr. 26. (Sze), 16.59
An optional "rating" parameter may follow with a value of [ G | PG | R | X ] that determines the highest rating (inclusive) that will be returned.

&rating=R


www.gravatar.com/implement.php