Smarty-плагин для Gravatar

    Многим известно про популярный сервис — Gravatar. Кратко напомню его суть — любой пользователь может зарегистрироваться там, загрузить свой аватар и связать его со своим e-mail адресом. Сервис Gravatar предоставляет возможность получить аватар любого зарегистрированного пользователя. Данный плагин позволяет построить адрес для аватара пользователя в Smarty шаблонах.

    Кратко о том, как строится URL для Gravatar. Он имеет вид:
    http://www.gravatar.com/avatar/<email_hash>?s=<size>&r=<rating>&d=<default>
    <email_hash> — MD5 хэш от e-mail адреса в нижнем регистре без пробелов в начале и конце;
    <size> — размер аватара в пикселях, от 1 до 512;
    <rating> — рейтинг аватара, принимает только следующие значения: «g», «pg», «r» или «x»;
    <default> — адрес аватара для тех пользователей, которые не зарегистрированы в сервисе Gravatar. URL должен быть закодирован с помощью urlencode.

    Сам плагин выглядит так:
    <?php
    /*
    * Smarty plugin
    * -------------------------------------------------------------
    * Файл:    function.gravatar.php
    * Тип:     function
    * Имя:     gravatar
    * Назначение: Построить URL для Gravatar
    * -------------------------------------------------------------
    */
    function smarty_function_gravatar($params)
    {
      $url = 'http://www.gravatar.com/avatar/';
     
      if (empty($params['email'])) {
       $params['email'] = '';
      }
      $url .= md5(strtolower(trim($params['email'])));
     
      $firstparam = true;
      if (isset($params['size'])) {
       $url .= '?s='.$params['size'];
       $firstparam = false;
      }
     
      if (isset($params['rating'])) {
       $url .= ($firstparam)?'?':'&';
       $url .= 'r='.$params['rating'];
       $firstparam = false;
      }
     
      if (isset($params['default'])) {
       $url .= ($firstparam)?'?':'&';
       $url .= 'd='.urlencode($params['default']);
      }
      return $url;
    }
    ?>


    * This source code was highlighted with Source Code Highlighter.

    Примеры использования:
    <img src="{gravatar email='my@email.com'}" alt=«Gravatar» />

    <img src="{gravatar email='my@email.com' size='40'}" alt=«Gravatar» />

    <img src="{gravatar email='my@email.com' rating='g'
    default='http://www.example.com/avatar.jpg'}"
    alt=«Gravatar» />

    * This source code was highlighted with Source Code Highlighter.


    Полезные ссылки:
    www.gravatar.com — более подробно о сервисе на официальном сайте
    www.smarty.net/manual/ru/plugins.php — Документация Smarty. Создание плагинов
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 0

    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

    Самое читаемое