Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

сундучок для IP.Board

  • записей
    11
  • комментария
    54
  • просмотров
    83920

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

Ph-A

333 просмотра

В 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

  • Upvote 2


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


Рекомендованные комментарии

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...