Аватор вместо фото - Дизайн и модификация Invision Power Board

Перейти к содержимому

 
-----

Аватор вместо фото

В IP.Board 3.x аваторы используются только при показе сообщений в форуме, в остальных местах используется фотография пользователя. Если аваторы закачивают часто, то фотографию как правило не размещают.
Использование фотографии определяется в файле admin/sources/base/core.php функция buildProfilePhoto()

Начал писать свое решение, но не доделал. Нашел готовое решение на community.invisionpower.com.

Авторское право на решение: T3XT3

/admin/sources/base/core.php

Меняем фрагмент:
                        if ( ! $member['pp_thumb_photo'] OR $member['pp_thumb_photo'] == 'profile/' )
                        {
                                if( $member['_has_photo'] )
                                {
                                        $member['pp_thumb_photo']  = $member['pp_main_photo'];
                                }
                                else
                                {
                                        $member['pp_thumb_photo']  = ipsRegistry::$settings['img_url'] . 

'/profile/default_thumb.png';
                                }

                                $member['pp_thumb_width']  = 50;
                                $member['pp_thumb_height'] = 50;
                        }
                        else
                        {
                                if( $member['_has_photo'] )
                                {
                                        $member['pp_thumb_photo'] = ipsRegistry::$settings['upload_url'] . '/' . 

$member['pp_thumb_photo'];
                                }
                                else
                                {
                                        $member['pp_thumb_photo']  = ipsRegistry::$settings['img_url'] . 

'/profile/default_thumb.png';
                                }
                        }


                        //-----------------------------------------
                        // Try not to distort the image
                        //-----------------------------------------
                        
                        if ( !ipsRegistry::member()->getProperty('g_mem_info') )
                        {
                                $member['pp_thumb_width']  = 50;
                                $member['pp_thumb_height'] = 50;
                        }



На фрагмент:

                        if ( $member['avatar_location'] )
                        {
                                if ( $member['avatar_type'] == 'upload' )
                                {
                                        $member['pp_thumb_photo'] = ipsRegistry::$settings['upload_url'] . '/' . $member['avatar_location'];
                                }
                                else
                                {
                                        $member['pp_thumb_photo']  = $member['avatar_location'];
                                }
                        }
                        else
                        {
                                $member['pp_thumb_photo']  = ipsRegistry::$settings['img_url'] . '/profile/default_thumb.png';
                        }
                        
                        //-----------------------------------------
                        // Try not to distort the image
                        //-----------------------------------------
                        
                        if ( $member['avatar_size'] )
                        {
                                $avatar_size_thumb = explode ( 'x', $member['avatar_size'] ); 
                                $_data = IPSLib::scaleImage( array( 'max_height' => 50, 'max_width' => 50, 'cur_width' => $avatar_size_thumb[0], 'cur_height' => $avatar_size_thumb[1] ) );
                                $member['pp_thumb_width']  = $_data['img_width'];
                          $member['pp_thumb_height'] = $_data['img_height'];
                        }                       
                        else
                        {
                                $member['pp_thumb_width']  = 50;
                                $member['pp_thumb_height'] = 50;
                        }


Решение испытал, работает. Испытывал на тестовом форуме. Если выплывут глюки, готов доработать.



Внимание. Данное изменение нарушают идеологию движка IP.Board 3.x, где любое изменение функций, должно выполнятся через хук, не затрагивая исходный код форума.

Важно. При апгрейде форума изменение потеряется и надо будет его восстанавливать.


Источник: community.invisionpower.com
2
Это нравится Haktar

1 комментариев

спасибо
0
Страница 1 из 1

Обратные ссылки на эту запись [ URL для обратной ссылки ]

Нет обратных ссылок на эту запись

Случайное изображение

Крупный белый раскрытый таежный цветок

0 посетителей

0 гостей
0 пользователей
0 скрытых

Теги

    Категории

    Последние посетители

    • GoldHunt  »
      17 Ноя 2017 - 09:15
    • by.ryzhiy  »
      13 Сен 2017 - 13:04
    • avgaz  »
      21 Авг 2017 - 23:39
    • f2065  »
      13 Июн 2017 - 18:09
    • Haktar  »
      17 Фев 2017 - 18:27

    MyBlogLog

    Twitter


    Контактная информация

    Вопросы по работе сайта

    +7 (917) 501-4765
    C 10 до 20 в рабочие дни (время московское)

    Техническая поддержка

    Контактные данные специалистов

    Дизайн форумов

    IPB 3.x ¦ IPB 2.x

    Бесплатные шаблоны

    IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
    Лицензия на использование ¦ Ваша поддержка ¦ О проекте
    Copyright © 2005-2017 IPBSkins.ru Team
    При копировании материалов с сайта
    прямая ссылка на источник обязательна