Описываю, то что хочу.
Если аватар не установлен, то для него подсасывается аватар из сервиса gravatar.
Если у пользователя нет gravatar, то он генерируется.
Я могу менять рейтинг gravatar, стиль генерируемого gravatar.
Мне не нужно.
Выбор что показывать пользователем.
Выбор что показывать админом.
Пояснения.
У пользователя вообще ничего не меняется, просто если у него есть ава стандартными средствами, то показываем её. Если нет — то используем gravatar. Никакого выбора и прочей фигни.
Размер gravatar берётся из стандартных настроек.
Размер, рейтинг и стиль не обязательно менять через админку: просто покажите куда написать цифры размера, букву для рейтинга и слово для стиля. То есть можно вообще без админки.
Как минимум нужно для просмотра темы. И всё.
Я понимаю, что надо во viewtopic.php схватить e-mail, md5-нуть его и подставив его получить сгенерированный путь к нужной gravatar, но у меня не получилось схватить e-mail (у меня хешился не e-mail, а надпись user_email или что-то в этом роде). Вот такой косяк.
http://ru.gravatar.com/site/implement/images/
Я смотрел другие моды: они предлагают слишком много выбора, а мне выбора не нужно.
Спасибо.
Уважаемые пользователи, по техническим причинам загрузка файлов временно недоступна. Приносим извинения за временные неудобства.
Простой Gravatar
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
VVVas
- Former team member
- Сообщения: 4463
- Стаж: 21 год 11 месяцев
- Поблагодарили: 13 раз
-
Nekstati
- Поддержка

- Сообщения: 3365
- Стаж: 17 лет 7 месяцев
- Благодарил (а): 37 раз
- Поблагодарили: 1455 раз
Re: Простой Gravatar
includes/functions_display.php
Заменить на
viewtopic.php
Заменить дважды на
Ну и далее при желании искать вызов функции get_user_avatar в прочих файлах и править по аналогии.
Код: Выделить всё
function get_user_avatar($avatar, $avatar_type, $avatar_width, $avatar_height, $alt = 'USER_AVATAR', $ignore_config = false)
{
global $user, $config, $phpbb_root_path, $phpEx;
if (empty($avatar) || !$avatar_type || (!$config['allow_avatar'] && !$ignore_config))
{
return '';
}
$avatar_img = '';
Код: Выделить всё
function get_user_avatar($avatar, $avatar_type, $avatar_width, $avatar_height, $alt = 'USER_AVATAR', $ignore_config = false, $user_email = '')
{
global $user, $config, $phpbb_root_path, $phpEx;
if (empty($user_email) || (!$config['allow_avatar'] && !$ignore_config))
{
return '';
}
$avatar_img = '';
if (empty($avatar) && !$avatar_type)
{
$avatar_width = $avatar_height = 80;
$avatar_img = 'http://www.gravatar.com/avatar/' . md5($user_email);
}Код: Выделить всё
get_user_avatar($row['user_avatar'], $row['user_avatar_type'], $row['user_avatar_width'], $row['user_avatar_height'])Код: Выделить всё
get_user_avatar($row['user_avatar'], $row['user_avatar_type'], $row['user_avatar_width'], $row['user_avatar_height'], 'USER_AVATAR', false, $row['user_email'])Это как?VVVas писал(а):Если у пользователя нет gravatar, то он генерируется.
-
VVVas
- Former team member
- Сообщения: 4463
- Стаж: 21 год 11 месяцев
- Поблагодарили: 13 раз
Re: Простой Gravatar
Сначала — огромное спасибо.

А я использую параметры
Размер 80 стандартный вполне подходит, так что параметр
А теперь моя противная натура требует пояснения, если не затруднит, конечно, и будет не лень.
Зачем во viewtopic.php в вызове get_user_avatar дописывается 'USER_AVATAR' и false?
Остальное в мою логику укладывается и даже мои попытки сделать это самому (я их нашёл в файлах) почти совпадают.
Ещё раз спасибо за код. И заранее спасибо за ответ.
По умолчанию, как сделано у тебя, если человек не зарегистрирован на gravatar, то ему отдаётся вот такая заглушка аватарка (стимулирующая его):Nekstati писал(а):Это как?
А я использую параметры
?d=identicon&r=g, соответственно даже если человек не зарегистрирован на gravatar, то ему благодаря d=identicon сгенерируется в данном случае абстрактная аватарка (другие варианты есть на указанной странице), а благодаря r=g я в теории не увижу всякой пошлятины.Размер 80 стандартный вполне подходит, так что параметр
s пока побоку, но я в принципе подумываю, про 60 (и теперь знаю, что изменить).А теперь моя противная натура требует пояснения, если не затруднит, конечно, и будет не лень.
Зачем во viewtopic.php в вызове get_user_avatar дописывается 'USER_AVATAR' и false?
Остальное в мою логику укладывается и даже мои попытки сделать это самому (я их нашёл в файлах) почти совпадают.
Ещё раз спасибо за код. И заранее спасибо за ответ.
-
nissin
- phpBB 3.0.4
- Сообщения: 2229
- Стаж: 18 лет 10 месяцев
- Откуда: Астана
- Благодарил (а): 7 раз
- Поблагодарили: 344 раза
Re: Простой Gravatar
Подробней: http://ru.gravatar.com/site/implement/images/php/
* @param string $d Default imageset to use [ 404 | mm | identicon | monsterid | wavatar ]
