Уважаемые пользователи, по техническим причинам загрузка файлов временно недоступна. Приносим извинения за временные неудобства.

Простой Gravatar

У вас есть идея для расширения функциональности phpBB 3.0.x? Расскажите о ней здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 21 год 11 месяцев
Поблагодарили: 13 раз

Простой Gravatar

Сообщение VVVas »

Описываю, то что хочу.
Если аватар не установлен, то для него подсасывается аватар из сервиса 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/

Я смотрел другие моды: они предлагают слишком много выбора, а мне выбора не нужно.

Спасибо.
я люблю daft punk | новый sugoi.ru
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3365
Стаж: 17 лет 7 месяцев
Благодарил (а): 37 раз
Поблагодарили: 1455 раз

Re: Простой Gravatar

Сообщение Nekstati »

includes/functions_display.php

Код: Выделить всё

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);
	}
viewtopic.php

Код: Выделить всё

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'])
Ну и далее при желании искать вызов функции get_user_avatar в прочих файлах и править по аналогии.
VVVas писал(а):Если у пользователя нет gravatar, то он генерируется.
Это как?
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 21 год 11 месяцев
Поблагодарили: 13 раз

Re: Простой Gravatar

Сообщение VVVas »

Сначала — огромное спасибо.
Nekstati писал(а):Это как?
По умолчанию, как сделано у тебя, если человек не зарегистрирован на gravatar, то ему отдаётся вот такая заглушка аватарка (стимулирующая его):
Изображение

А я использую параметры ?d=identicon&r=g, соответственно даже если человек не зарегистрирован на gravatar, то ему благодаря d=identicon сгенерируется в данном случае абстрактная аватарка (другие варианты есть на указанной странице), а благодаря r=g я в теории не увижу всякой пошлятины.

Размер 80 стандартный вполне подходит, так что параметр s пока побоку, но я в принципе подумываю, про 60 (и теперь знаю, что изменить).

А теперь моя противная натура требует пояснения, если не затруднит, конечно, и будет не лень.
Зачем во viewtopic.php в вызове get_user_avatar дописывается 'USER_AVATAR' и false?

Остальное в мою логику укладывается и даже мои попытки сделать это самому (я их нашёл в файлах) почти совпадают.

Ещё раз спасибо за код. И заранее спасибо за ответ.
я люблю daft punk | новый sugoi.ru
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 10 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Re: Простой Gravatar

Сообщение nissin »

Подробней: http://ru.gravatar.com/site/implement/images/php/
* @param string $d Default imageset to use [ 404 | mm | identicon | monsterid | wavatar ]

Вернуться в «Запросы модов для phpBB 3.0.x»