Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
  • entries
    11
  • comments
    54
  • views
    83,271

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

Sign in to follow this  
Ph-A

90 views

В 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
Sign in to follow this  


1 Comment


Recommended Comments

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...