Разрешить bmp аватары

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
SaroGrom
phpBB 1.2.0
Сообщения: 11
Стаж: 19 лет 8 месяцев
Откуда: Russia

Разрешить bmp аватары

Сообщение SaroGrom »

Как разрешить на форуме аватары в формате bmp? По умолчанию разрешены gif jpeg png
www.seadogs.ru - Red Squadron
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5432
Стаж: 20 лет 4 месяца
Откуда: Питер
Благодарил (а): 177 раз
Поблагодарили: 749 раз

Сообщение Siava »

SaroGrom
Мысль наиглупейшая.. :lol:
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
Romiyo
Неадекватен
Сообщения: 603
Стаж: 20 лет 4 месяца
Откуда: tln.ee

Сообщение Romiyo »

Siava почему же?
Неадекватен
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5432
Стаж: 20 лет 4 месяца
Откуда: Питер
Благодарил (а): 177 раз
Поблагодарили: 749 раз

Сообщение Siava »

Romiyo
bmp файлы слишком большие для использования в качестве графики в инете - даже для аватар.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
SaroGrom
phpBB 1.2.0
Сообщения: 11
Стаж: 19 лет 8 месяцев
Откуда: Russia

Сообщение SaroGrom »

Форум стоит в локальной сети.
Лучшеб вы мне подсказали чем флудить...
www.seadogs.ru - Red Squadron
Аватара пользователя
Romiyo
Неадекватен
Сообщения: 603
Стаж: 20 лет 4 месяца
Откуда: tln.ee

Сообщение Romiyo »

Siava .png'шки тоже немаленькие. К тому же, речь не идёт о том, большие они или нет, или глупый вопрос или нет.
SaroGrom, полистайте эту тему, на первой странице, кажется, есть ответ...

Добавлено спустя 5 минут 18 секунд:
файл includes/usercp_avatar.php
{
case 'bmp':
return '.bmp';
break;

case 'jpeg':
case 'pjpeg':
case 'jpg':
return '.jpg';
break;
case 'gif':
return '.gif';
break;
case 'png':
return '.png';
break;
default:
$error = true;
$error_msg = (!empty($error_msg)) ? $error_msg . '<br />' . $lang['Avatar_filetype'] : $lang['Avatar_filetype'];
break;
}
ИМХО, добавить выделенное красным.
Неадекватен
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 21 год 2 месяца
Поблагодарили: 2 раза

Сообщение Xpert »

Romiyo писал(а):case 'bmp':
return '.bmp';
break;
Возможно image/bmp
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
SaroGrom
phpBB 1.2.0
Сообщения: 11
Стаж: 19 лет 8 месяцев
Откуда: Russia

Сообщение SaroGrom »

Romiyo, спасибо за поддержку. Но не помогло - форум при загрузке выдавал ошибку и не работала галерея аватар.

Xpert, после image/bmp при загрузке аватары (хотя галерея работает) идет ошибка
"Аватара должна быть не больше 100 пикселов в ширину и 100 пикселов в высоту"
При том хоть ставь максимум 9999x9999 все равно не будет загружаться.

Вот исправленный код (если добавить return и breaк, то все равно не будет загружать):
switch( $type )
{
case 'image/bmp':
case 'jpeg':
case 'pjpeg':
case 'jpg':
return '.jpg';
break;
case 'gif':
return '.gif';
break;
case 'png':
return '.png';
break;

default:
$error = true;
$error_msg = (!empty($error_msg)) ? $error_msg . '<br />' . $lang['Avatar_filetype'] : $lang['Avatar_filetype'];
break;
}
может будут еще идеи ?
www.seadogs.ru - Red Squadron
Аватара пользователя
Romiyo
Неадекватен
Сообщения: 603
Стаж: 20 лет 4 месяца
Откуда: tln.ee

Сообщение Romiyo »

Попробуйте в том же файле, помимо вышеуказанных строк проделать следущее (учтите, я не силён в пхп, посему мои предположения - вилами по воде):
найти:
if ( !preg_match("#^((ht|f)tp://)([^ \?&=\#\"\n\r\t<]*?(\.(jpg|jpeg|gif|png))$)#is", $avatar_filename) )

заменить на:
if ( !preg_match("#^((ht|f)tp://)([^ \?&=\#\"\n\r\t<]*?(\.(bmp|jpg|jpeg|gif|png))$)#is", $avatar_filename) )

найти:
else if ( ( file_exists(@phpbb_realpath($avatar_filename)) ) && preg_match('/\.(jpg|jpeg|gif|png)$/i', $avatar_realname) )

заменить на:
else if ( ( file_exists(@phpbb_realpath($avatar_filename)) ) && preg_match('/\.(bmp|jpg|jpeg|gif|png)$/i', $avatar_realname) )

найти:
if( preg_match('/(\.gif$|\.png$|\.jpg|\.jpeg)$/is', $sub_file) )

заменить на (ИЛИ ниже):
if( preg_match('/(\.gif$|\.png$|\.jpg|\.jpeg|\.bmp)$/is', $sub_file) )

ИЛИ
заменить на:
if( preg_match('/(\.gif$|\.png$|\.jpg|\.jpeg|\.bmp$)$/is', $sub_file) )
Неадекватен
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 20 лет 4 месяца
Откуда: Москва

Сообщение Coagulant »

Делаем следующее:

Код: Выделить всё


#
#-----[ OPEN ]------------------------------------------
#
includes/usercp_avatar.php

#
#-----[ FIND ]------------------------------------------
#
case 'jpeg':

#
#-----[ BEFORE, ADD ]------------------------------------------
#
		case 'bmp': 
		return '.bmp'; 
		break;
#
#-----[ FIND ]------------------------------------------
#
	if ( !preg_match("#^((ht|f)tp://)([^ \?&=\#\"\n\r\t<]*?(\.(jpg|jpeg|gif|png))$)#is", $avatar_filename) )

#
#-----[ IN-LINE FIND ]------------------------------------------
#
jpg

#
#-----[ IN-LINE BEFORE, ADD ]------------------------------------------
#
bmp|

#
#-----[ FIND ]------------------------------------------
#
	else if ( ( file_exists(@phpbb_realpath($avatar_filename)) ) && preg_match('/\.(jpg|jpeg|gif|png)$/i', $avatar_realname) )

#
#-----[ IN-LINE FIND ]------------------------------------------
#
jpg

#
#-----[ IN-LINE BEFORE, ADD ]------------------------------------------
#
bmp|

#
#-----[ FIND ]------------------------------------------
#
				if( preg_match('/(\.gif$|\.png$|\.jpg|\.jpeg)$/is', $sub_file) )

#
#-----[ IN-LINE FIND ]------------------------------------------
#
|\.jpg
#
#-----[ IN-LINE BEFORE, ADD ]------------------------------------------
#
|\.bmp
Добавлено спустя 1 минуту 55 секунд:

Ах, пока писал, Romiyo опередил :wink: Всё работает, проверено :)
SaroGrom
phpBB 1.2.0
Сообщения: 11
Стаж: 19 лет 8 месяцев
Откуда: Russia

Сообщение SaroGrom »

Romiyo, Coagulant огромное спасибо - выручили, все работает. Большой респект. =)
www.seadogs.ru - Red Squadron

Вернуться в «Поддержка phpBB 2.0.x»