Аватор вместо фото
В 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
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 accountSign in
Already have an account? Sign in here.
Sign In Now