02:49 Интеграция Gravatar | |
![]() Известно, что сейчас многие пользователи пользуются сервисом Зарегистрировавшись, Вы сможете загрузить для себя глобальный аватар, который будет отображаться на всех сайтах, поддерживающих эту систему (в основном это различные блоги и форумы). Идентификация происходит по вашему 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}', "/templates/Simple/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}', "/templates/Simple/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'; } У меня на блоге стоит мод "кто онлайн", поэтому для него я проделал следующие изменения (таких модов много, так что для вашего может не подойти): Для начала надо сделать SQL запрос:ALTER TABLE `dle_online` ADD `email` VARCHAR( 80 ) NOT NULL AFTER `foto` Теперь открываем ./engine/inc/online.php И ищем все (2 раза):`foto`, После вставляем `email`, Ищем '{$member_id['foto']}', И после вставляем'{$member_id['email']}', Ищем `foto`=VALUES(`foto`), И после вставляем`email`=VALUES(`email`), Ищем 'unknown', И после вставляем'unknown', Ищем `foto`='unknown', И после вставляем`email`='', И наконец ищем$foto = $config['http_home_url']."templates/".$config['skin']."/images/noavatar.png";И заменяем эту строку на$foto = '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) Демо можете посмотреть на Убедительная просьба если Вам данный хак не нужен не пишите в комментариях "зачем он нужен", "бред" и т.д. Просто закройте данную страницу. Уважайте труд других. | |
|
Всего комментариев: 0 | |