Тема: PunBB - использование gravatar'ов вместо стандартной системы аватаров

Думаю, объяснять что и для чего особо не надо. Смысл прост - делаем так, чтобы вместо стандартной схемы (пользователь при редактировании своего профиля заливает на сервер аватарку, которая потом отображается везде) работала моднячая система Граватаров. Ведь так сделано на любом блоге - все аватарки являются граватарками.

И нефиг мне сервер засорять своими аватарками smile


Итак, к делу! Данный хук будет работать только при отключенной системе аватаров в настройках админки форума.


Для отображения аватаров при просмотре темы на форуме.

1. Открыть файл viewtopic.php и найти (364 строка):

                if ($forum_config['o_avatars'] == '1' && $forum_user['show_avatars'] != '0')
                {
                    $forum_page['avatar_markup'] = generate_avatar_markup($cur_post['poster_id'], $cur_post['avatar'], $cur_post['avatar_width'], $cur_post['avatar_height'], $cur_post['username']);

                    if (!empty($forum_page['avatar_markup']))
                        $forum_page['author_ident']['avatar'] = '<li class="useravatar">'.$forum_page['avatar_markup'].'</li>';
                }

2. Заменить на:

                if ($forum_config['o_avatars'] == '1' && $forum_user['show_avatars'] != '0')
                {
                    $forum_page['avatar_markup'] = generate_avatar_markup($cur_post['poster_id'], $cur_post['avatar'], $cur_post['avatar_width'], $cur_post['avatar_height'], $cur_post['username']);

                    if (!empty($forum_page['avatar_markup']))
                        $forum_page['author_ident']['avatar'] = '<li class="useravatar">'.$forum_page['avatar_markup'].'</li>';
                } else {
                    $forum_page['author_ident']['avatar'] = '<li class="useravatar"><img src="https://www.gravatar.com/avatar/'.md5(strtolower($cur_post['email'])).'.jpg?s=64&r=X" /></li>';
                }

где параметр ?s=64 указывает на размер стороны аватара. В даннм случае аватар будет размером 64x64 пикселя.


Для отображения аватаров при просмотре профиля.

3. Открыть файл profile.php и найти (1658 строка):

        if ($forum_config['o_avatars'] == '1')
        {
            $forum_page['avatar_markup'] = generate_avatar_markup($id, $user['avatar'], $user['avatar_width'], $user['avatar_height'], $user['username'], TRUE);

            if (!empty($forum_page['avatar_markup']))
                $forum_page['user_ident']['avatar'] = '<li class="useravatar">'.$forum_page['avatar_markup'].'</li>';
        }

4. Заменить на:

        if ($forum_config['o_avatars'] == '1')
        {
            $forum_page['avatar_markup'] = generate_avatar_markup($id, $user['avatar'], $user['avatar_width'], $user['avatar_height'], $user['username'], TRUE);

            if (!empty($forum_page['avatar_markup']))
                $forum_page['user_ident']['avatar'] = '<li class="useravatar">'.$forum_page['avatar_markup'].'</li>';
        } else {
            $forum_page['user_ident']['avatar'] = '<li class="useravatar"><img src="https://www.gravatar.com/avatar/'.md5(strtolower($user['email'])).'.jpg?s=64&r=X" /></li>';
        }

Для отображения сообщения об использовании системы граватаров на странице настройки профиля пользователя.

5. Далее в файле profile.php найти (1982 строка):

if ($forum_page['has_required']): ?>
        <div id="req-msg" class="req-warn ct-box error-box">
            <p class="important"><?php echo $lang_common['Required warn'] ?></p>
        </div>
<?php endif; ?>

6. Ниже добавить:

        <div id="req-msg" class="ct-box error-box">
            <p class="important">Изменить свой аватар ты можешь в один клик через сервис <a target="_blank" href="https://ru.gravatar.com/">Gravatar</a>!</p>
        </div>

Все просто! В итоге у вас получится тоже самое, что сейчас можно видеть на данном форуме!

2

Re: PunBB - использование gravatar'ов вместо стандартной системы аватаров

Не работает что-то ваша фича, сэр wink В граватаре я зареген, однако аватарка не показывается. Что я делаю не так?

3

Re: PunBB - использование gravatar'ов вместо стандартной системы аватаров

Почему же, всё работает.
Нужно, что бы  Email  на который регистрировали граватар, был указан и здесь.

4

Re: PunBB - использование gravatar'ов вместо стандартной системы аватаров

Ну-ну smile

1. Профиль
2. Аккаунт в Gravatar

Что я делаю не так? wink

5 (27.08.2012 21:14 отредактировано wovanich)

Re: PunBB - использование gravatar'ов вместо стандартной системы аватаров

alexfork, а что тут ещё можно не так сделать:)
Может из за почты глючит. Ведь с майлом вообще не работает, я
gmail регистрировал, и всё работает.

Re: PunBB - использование gravatar'ов вместо стандартной системы аватаров

Интересная батва. Я выяснил причину. У Алекса поставлено ограничение возрастное в настройках Граватара. Решается добавлением параметров к картинке. Сейчас все будет отображаться.

7

Re: PunBB - использование gravatar'ов вместо стандартной системы аватаров

Ок smile Видите, устроил вам небольшое тестирование)

Re: PunBB - использование gravatar'ов вместо стандартной системы аватаров

Никогда граватар раньше не пользовался. Аватарки весят мало, много места на хостинге бы не заняли sad