. Gravatar - Граватар — графический рисунок (индивидуальный аватар, фото и т.д.) , которое вы устанавливаете на порталах после регистрации, появляется при отправке комментария или записи в блог.
единый аватары помогают идентифицировать пользователя на блогах и форумах, так почему бы не использовать их везде?
Для реализации данной функции многие пользователи пользуются сервисом Gravatar.
После регистрации, Вы можете загрузить свой глобальный аватар, который будет отображаться на всех порталах, поддерживающих эту систему (в основном это различные блоги и форумы). Идентификация происходит по вашему e-mail.
Так как многие блоггеров используют движок Wordpress - у которого встроен данный плагин было принято решение почему бы и на дле не реализовать данную функцию.
получили возможность пользоваться Gravatar и было разработано решение интегрировать Gravatar в dle.
При отсутствии собственного аватара отображается Gravatar, или стандартное изображение "нет аватара".
Для этого нужно будет отредактировать несколько файлов:
./engine/classes/comments.class.php
./engine/modules/profile.php
./engine/modules/fullsearch.php
./engine/modules/search.php
./engine/inc/editusers.php[/quote]
Открываем файл ./engine/classes/comments.class.php
Находим в нем строку:
else $tpl->set( '{foto}', "/templates/Default/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/Default/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';}
Изменения для мода "кто онлайн"
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)