Аватор вместо фото
В 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 комментарий
Рекомендованные комментарии
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти сейчас