Интеграция Gravatar в DLE

Интеграция Gravatar в DLEИзвестно, что сейчас многие пользователи пользуются сервисом (Gravatar http://ru.gravatar.com/)
Зарегистрировавшись, Вы сможете загрузить для себя глобальный аватар, который будет отображаться на всех сайтах, поддерживающих эту систему (в основном это различные блоги и форумы). Идентификация происходит по вашему e-mail.
Большинство блоггеров используют движок Wordpress - у него уже встроена данный плагин, т.к. они приобрели данный сервис.
Есть так же блоггеры, использующие DataLife Engine (DLE) и мой блог не исключение, вот и решил интегрировать Gravatar в DLE.
Данный мод позволяет полностью интегрировать Gravatar для DLE!
Если у пользователя нет собственного аватара, то отображается Gravatar, если и он отсутствует, то стандартное изображение "нет аватара".
Делается очень просто, для этого нужно будет отредактировать несколько файлов:
./engine/classes/comments.class.php
./engine/modules/profile.php
./engine/modules/fullsearch.php
./engine/modules/search.php
./engine/inc/editusers.php

И так, открываем файл ./engine/classes/comments.class.php
Находим в нем строку:
else $tpl->set( '{foto}', "{THEME}/images/noavatar.png" );
И заменяем её на:
else {
    $grav_url = 'http://gravatar.com/avatar/' . md5( $row['gast_email'] ) . "?s=100&r=g&d=" . $config['http_home_url'] . 'templates/' . $config['skin'] . '/images/noavatar.png';
    $tpl->set('{foto}', $grav_url);
}

Теперь в файлах:
./engine/modules/profile.php
./engine/modules/fullsearch.php
./engine/modules/search.php
Будем делать следующие изменения (просто повторите данную операция над всеми файлами):
Находим строку:
else $tpl->set( '{foto}', "{THEME}/images/noavatar.png" );
И заменяем её на:
else {
    $grav_url = 'http://gravatar.com/avatar/' . md5( stripslashes( $row['email'] ) ) . "?s=100&r=g&d=" . $config['http_home_url'] . 'templates/' . $config['skin'] . '/images/noavatar.png';
    $tpl->set('{foto}', $grav_url);
}


При желании можете так же добавить отображение gravatar в админке:
Для этого откройте файл ./engine/inc/editusers.php
Найдите в нем строку:
$avatar = "engine/skins/images/noavatar.png";
И замените на:
else {
    $avatar = 'http://gravatar.com/avatar/' . md5( stripslashes( $row['email'] ) ) . "?s=100&r=g&d=" . $config['http_home_url'] . 'templates/' . $config['skin'] . '/images/noavatar.png';
}

У меня на блоге стоит мод "кто онлайн", поэтому для него я проделал следующие изменения (таких модов много, так что для вашего может не подойти):

Обратите внимание на имя файла "noavatar.png" - у вас оно может быть с расширением jpg, gif (только если Вы сами изменили его).
Входящие переменные для gravatar:
s=100 - размер аватары в пикселях, в данном случае 100px. От 1 до 512 пикселей.
r=g - категория аватара (g, pg, r, x)

Демо можете посмотреть на _http://whymax.ru/scripts/6-gravatar-in-dle.html - в комментарии.
Убедительная просьба если Вам данный хак не нужен не пишите в комментариях "зачем он нужен", "бред" и т.д. Просто закройте данную страницу.
Уважайте труд других.
Другие новости по теме:

Категория: Хаки ----- Просмотров: 2045 ----- Комментариев: 5

Вернуться

  • WhyMax

  • 8 марта 2010 23:45
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
Мдя, некрасиво без кликабельной ссылки на источник sad
в таком случае я за удаление новости))
Поддержка только там))
  • Группа: User
  • ICQ: 9277210
  • Регистрация: 12.01.2010
  • Комментариев: 11
  • Публикаций: 0
^
Вот теперь вопрос:
имеет ли смысл ковырять целых 5 файлов скрипта и не проще ли аватар вставить вручную на тех блогах или форумах, которые поддерживают gravatar, где вы зарегистрированы.

Я не обсуждаю нужен или нет, просто вопрос практичности, учитывая частоту обновления DLE.

--------------------
  • WhyMax

  • 10 марта 2010 22:47
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
посылаю вас на предпоследнюю строчку в новости.
не нужен не ставьте.

учитывая частоту обновлений дле - в таком случае можете не ставить ни один модуль.
я все файлы обновляю вручную, т.к. модов очень много (1 двиг на все сайты), так гораздо проще, изменений в коде мало, особенно если юзать специальный софт!
  • Группа: User
  • ICQ: --
  • Регистрация: 11.03.2012
  • Комментариев: 1
  • Публикаций: 0
^
WhyMax,
а как сделать чтобы когда гости пишут комментарии чтобы при каждом новом комментарии выводился новый аватар?