Jos Gravatar.com

Wednesday, 30 May, Year 4 d.Tr. | Author: Mircea Popescu

Asa cum probabil ca stiti, gravatar.com e un serviciu (in proprietatea wordpress) care si-a inceput cariera intr-un mod destul de benign : utilizatorii isi incarcau acolo o imagine, care urma sa fie apoi folosita de orice blog wordpress (de pe wordpress.com sau instalari independente) ca un avatar al comentatorului identificat cu email-ul respectiv.

Mai nou insa magarii si jegosii s-au apucat sa impiedice utilizatorii de la a folosi serviciul fara a fi logati in wordpress.com.

avatarChestia asta-i o mizerie intolerabila. Ca rezultat direct Trilema nu mai afiseaza gravatare. In loc se afiseaza imaginea intitulata "avatar.png" gasita in url-ul introdus de comentator. Deci, daca cineva semneaza ca Ion si foloseste url-ul ion.ro, atunci drept gravatar i se va aplica imaginea gasita la http://ion.ro/avatar.png. Daca Ion nu foloseste nici un url atunci i se va afisa imaginea din dreapta sus. (Stie cineva de unde vine, apropo ?)

Aceasta solutie nu este mai slaba decit cea oferita de gravatar sub aspectul securitatii (in sensul ca e la fel de simplu sa folosesti imaginea altcuiva cit era si inainte) dar are avantajul ca singurul mod in care cineva iti poate folosi imaginea este sa-ti dea un link. Este deci o solutie mai buna, in sensul ca introduce un cost pentru eventualul impostor.

Aceasta solutie are de asemenea avantajul ca ofera comentatorului controlul real si absolut asupra imaginii proprii, precum si scoate din schema un tert (ceea ce e avantajos la cazul ca de exemplu gravatar.com e indisponibil). Iar pentru cei cunoscatori in ale SEO, link-ul ala de la img src are si el o valoare, nu cine stie ce mare da' nici nu-i cazul sa se scurga spre gravatar.com neaparat.

Daca sunteti doritori sa implementati chestia, tot ce aveti de facut e sa editati comments.php din .../wp-content/themes/{numele temei}/, introducind acolo un

@$url_parsed = parse_url($comment->comment_author_url);
$url = "http://".$url_parsed["host"].$url_parsed["path"];

if ($comment->user_id==1) echo "<img alt='",$comment->comment_author,"`s avatar' src='http://trilema.com/avatar.png' class='avatar avatar-32 photo' height='32' width='32' />"; else if ($url_parsed["host"].$url_parsed["path"] > "") echo "<img alt='",$comment->comment_author,"`s avatar' src='",str_replace("//avatar.png","/avatar.png",$url."/avatar.png' class='avatar avatar-32 photo' height='32' width='32' />"); else echo "<img alt='",$comment->comment_author,"`s avatar' src='",$comment->comment_author_url,"http://trilema.com/default_avatar.png' class='avatar avatar-32 photo' height='32' width='32' />";

Evident inlocuiti unde scrie http://trilema.com cu ce-o fi fiind obcina fiecaruia. Acolo unde scrie la inceput user_id==13 e o idee sa inlocuiti cu useridu' propriu, care in general e 1 pentru admin. De asemenea avataru' propriu vi-l puteti numi altfel decit mp_avatar, mai ales daca nu va cheama Marcela Paunescu sau ceva.

Inteleg ca acest sistem nu functioneaza pentru aia care n-au bloguri pe domenii proprii, da' mi se pare destul de evident cit si relativ implicit ca ei nu sunt oameni, asa ca nu conteaza intr-o discutie despre bloguri.

UPDATE 1 : La intrebarea "unde anume in comments.php" trebuie adaugat codul, raspunsul evident este "acolo unde apare ceva de genul

if(function_exists("get_avatar")) echo get_avatar( $comment, 32 );

Nu se poate preciza mai exact de-atit dat fiind ca temele sunt dezvoltate de programatori independenti, care deci fiecare face cum il taie capul. In principiu echo get_avatar() ala e cheia, dat fiind ca asa se tipareste pe pagina imaginea respectiva, si acuma cite or putea fi ?! Afara de cazul probabil foarte rar in care temagiu' se apuca sa-si faca o implementare proprie a get_avatar() n-au de ce sa apara probleme.

Este de asemenea perfect posibil ca in loc de 32 sa aveti 40 sau 45 sau chiar 64. Acest numar indica dimensiunea in pixeli a avatarului, si nu toate temele folosesc aceleasi dimensiuni. Nu-i caz de panica, folositi pur si simplu aceleasi numere ca inainte.

UPDATE 2 : Am modificat putin codul, pentru a proteja eventualele teme prost scrise de injectii precum si aducind citeva imbunatatiri cosmetice.

UPDATE 3 : Am reparat o eroare cu numele imaginilor, lolz.

Category: Meta psihoza
Comments feed : RSS 2.0. Leave your own comment below, or send a trackback.

34 Responses

  1. Test.

  2. greu mai e cu proxyurile astea, mircea. :D

  3. mie imi place avatarul meu, de ce sa il schimb? tipul asta albastru e chiar ok... seamana putin cu goro din mortal kombat. :D

  4. Avatar najpa.

  5. Anonimosu`s avatar
    5
    Anonimosuinsigna de prim sositinsigna de tehnolog 
    Wednesday, 30 May 2012

    Geniul din HoMM2? :)))

  6. Mircea Popescu`s avatar
    6
    Mircea Popescu 
    Wednesday, 30 May 2012

    @Alex Vivat republica.

    @Mihai B Pai nici intr-un caz nu e obligatoriu.

    @Freud Fa si tu ca Alex.

    @Anonimosu Raspuns exact dom'le. E un geniu!

  7. "I'm a genie in a bottle babeh"

  8. testing out impersonation

  9. test 2 ;)

  10. am cucu cat scobitoarea
    test

  11. Mircea Popescu`s avatar
    11
    Mircea Popescu 
    Wednesday, 30 May 2012

    Lol tre' sa ti le aprob manual.

  12. Mircea Popescu`s avatar
    12
    Mircea Popescu 
    Wednesday, 30 May 2012

    Ps. Testu-ti mi-a inspirat o imbunatatire la cod.

  13. WHO BE THE HEATHEN WHO DARETH USE MY NAME IN VAIN?

  14. mata

  15. Mircea Popescu`s avatar
    15
    Mircea Popescu 
    Wednesday, 30 May 2012

    @Alex Bagi la vene ?

    Also, am corectat o gresala ridicola in care poza mea era mp_avatar si poza default avatar.png in loc de invers, cum e logic, adica poza mea avatar.png si aia default default_avatar.png.

  16. He,he ce bine imi sade in chip de supererou albastru! :))

  17. Mircea Popescu`s avatar
    17
    Mircea Popescu 
    Wednesday, 30 May 2012

    Lol fail.

    Sa pun mai multe intr-o rotatie, ce zice lumea ? Sau e bine-asa ?

  18. :))

    Ai putea pune si dumneata mai multe. Nu strica putina diversitate, zic.

  19. Mircea Popescu`s avatar
    19
    Mircea Popescu 
    Wednesday, 30 May 2012

    Noa pai se primesc suge umm uhhh

    SUGESTII.

  20. Done, testing.

    Nu știam de schimbarea asta, dacă-i pe așa ori implementez și eu varianta descrisă aici (măcar încetul cu încetul devine standard de facto), ori renunț complet la avatare pe blog.

  21. Mircea Popescu`s avatar
    21
    Mircea Popescu 
    Thursday, 31 May 2012

    Welcome back to the free interwebz.

    Pina la urma de ce sa n-o implementezi. Nu-i ca si cum are ceva dezavantaje, daca omu' n-are avatar nu pune avatar, daca are are, si gata.

  22. Bump.

  23. Test si unu si altu. Da Mircea ramane cu avatarul standard? :)

  24. Mircea Popescu`s avatar
    24
    Mircea Popescu 
    Thursday, 31 May 2012

    @Freud You phail.

    @Bogdan Bravo, great succes! Cum adica standard ?

  25. Pai nu-ti mai apare poza, ci personajul albastru (care-mi pare tare cunoscut :D) care apare din oficiu. Ah, adica stai, apare cand nu folosesti url.

  26. Mircea Popescu`s avatar
    26
    Mircea Popescu 
    Friday, 1 June 2012

    Da, daca n-ai url esti un geniu.

  27. nu intelegeam de ce dracu sunt un genie albastru. Macar de eram ala din aladdin. Robin Williams ftw

  28. Mircea Popescu`s avatar
    28
    Mircea Popescu 
    Tuesday, 5 June 2012

    Pai pune-ti.

  29. Teszt.

  30. Mircea Popescu`s avatar
    30
    Mircea Popescu 
    Thursday, 21 June 2012

    Noa ca sa vezi!

  31. Testing (needs approval).

  32. Your own trilema stats`s avatar
    32
    Your own trilema stats 
    Friday, 11 September 2015

    This is actually a pretty cool feature.

    1. Add avatar to trilema comments.
    2. See server logs, who GETs it, etc
    3. ????
    4. PROFIT!!!1

  33. Mircea Popescu`s avatar
    33
    Mircea Popescu 
    Friday, 11 September 2015

    Can't hurt anything.

  1. [...] if you see your Gravatar image there it means I have your email now. Because Gravatar sucks, just like Automattic sucks, just like Disqus sucks, just like the entire bezzle-powered world [...]

Add your cents! »
    If this is your first comment, it will wait to be approved. This usually takes a few hours. Subsequent comments are not delayed.