eKloe.com - Kubuntu User

Gravatar, vlastní ikonka globálně

by LucaS on Feb.21, 2009, under PHP

Gravatar neboli Global Recognize Avatar. Slovo Avatar je známo především z icq, kde je tak pojmenována Vaše ikonka u přezdívky. Podle obrázku si Vás lidé také pamatují. Gravatar zajistí, aby i Vaše emailová schránka měla svoji tvář.

Narazil jsem na tuto službu docela náhodně, když jsem se snažil přiřadit ikonku ke svým komentářům zde na blogu :-) Stačí zaregistrovat Váš email na výše uvedené adrese a pomocí dvou kroků vložit obrázek, ze kterého se vytvoří ikonka. Překvapením bylo, že jsem na stránkách nikdy nebyl, a ještě před registrací byla moje emailová adresa, kterou používám při komentování předepsaná. Nezkoumal jsem do hloubky, ale nejspíš nějaký záznam cookies z některého komentáře. Po několika minutách po registraci se Vaše ikonka projeví všude, kde jste kdy komentovali. Samozřejmě na stránkách podporují Gravatary. Jak si ale takovou podporu vytvořit i na svých stránkách?

Gravatar i na svých stránkách
Hned jsem zjišťovaj jak implementovat globální ikonky i na svůj web ke komentářům, nebo diskuzím, které nejsou poháněny žádným redakčním systémem. Zde najdete ukázky implementací pro mnoho programovacích (skriptovacích) jazyků.

Php kód jsem si klasicky zabalil do třídy a uložil do souboru class.functions.php, který využívám ve všech příkladech zde na blogu:

<?php
/** Využití gravatarů na vlastních projektech
* http://www.ekloe.com
*/
 
 
  class kloe_functions {
 
    function __construct() {
 
    }
 
    function get_gravatar($email, $default, $size) {
 
      $grav_url = "http://www.gravatar.com/avatar.php?gravatar_id=".md5( strtolower($email) ).
      "&default=".urlencode($default).
      "&size=".$size;
 
      return "<img src=\"$grav_url\" width=\"$size\" height=\"$size\" alt=\"$email\" />";
    }
 
  } # end of class kloe_functions

?>

Do funkce vložíme email, cestu k defaultnímu obrázku a velikost obrázku. Uvnitř funkce se do načítací URL gravataru enkoduje vložený email pomocí funkce MD5 a cesta k defaultnímu obrázku.

Definované hodnoty uložte do souboru config.inc.php

<?php
  // === definovani defaultniho obrazku
  // http://www.ekloe.com
 
  define ('DEF_GRAV', 'http://gravatar.ekloe.com/img/default_gravatar.jpg');
  define ('SIZE_GRAV', 40);
 
?>

DEF_GRAV definuje umístění obrázku, který se zobrazí v případě, že vložená emailová adresa nemá ikonku.
SIZE_GRAV definuje velikost obrázku. Standardně je 40 pixelů.

Příklad použití
Pouhé zavolání funkce zajistí zobrazení Gravataru. Takhle můžete ve své diskuzi zobrazovat ikonky uživatelů i bez registrace a vkládání obrázků.

<?php
 
  include_once("inc/config.inc.php");
  include_once("inc/class.kloe.php");
 
  $kloe = new kloe_functions();
 
?>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 
<head>
  <title>Implementace Gravataru</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
 
<?php echo $kloe->get_gravatar("email@vase_domena.cz", DEF_GRAV, SIZE_GRAV); ?>
 
</body>
</html>

Funkci jsem již implementoval do svých knihoven a teď můžu uživatelům nabídnout, zda si ikonku uploadují sami, nebo si ji nechají načíst přes gravatar.com

Zdroj ke stažení ZDE: Využití gravatarů na vlastních projektech.


Sdílej:
  • Facebook
  • Google Bookmarks
  • Live
  • Twitter
  • StumbleUpon
:,
Zatím žádný komentář. Buď první :-)

Odpovědět

Hledat: