Сообщаем об ошибках phpBB 3.0.x разработчикам

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
FEAR93
Former team member
Сообщения: 666
Стаж: 17 лет 11 месяцев
Откуда: Кривой Рог, Украина
Благодарил (а): 22 раза
Поблагодарили: 76 раз

Re: Сообщаем об ошибках phpBB 3.0.x разработчикам

Сообщение FEAR93 »

izver писал(а):то мне кажется
Ошибаетесь. Это ваша конкретная проблема и вам объяснили как её решить.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17273
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2413 раз

Re: Сообщаем об ошибках phpBB 3.0.x разработчикам

Сообщение rxu »

nissin писал(а):Кто тикет будет писать?
http://tracker.phpbb.com/browse/PHPBB3-10188
Изображение
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17273
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2413 раз

Re: Сообщаем об ошибках phpBB 3.0.x разработчикам

Сообщение rxu »

nissin писал(а):Есть такое, недавно столкнулся, но разбираться было лень, просто временно отключил gzip.
Вариант исправления (не проверял).
OPEN functions.php, FIND

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

				if ((int) @ini_get('output_buffering') === 1 || strtolower(@ini_get('output_buffering')) === 'on')
REPLACE WITH

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

				if ((int) @ini_get('output_buffering') > 0 || strtolower(@ini_get('output_buffering')) === 'on')
Альтернативное исправление:

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

OPEN
includes/functions.php

FIND
if ((int) @ini_get('output_buffering') === 1 || strtolower(@ini_get('output_buffering')) === 'on')

REPLACE WITH
if (ob_get_level() > 0)
Изображение
Shredder
Former team member
Сообщения: 2266
Стаж: 17 лет 9 месяцев
Благодарил (а): 283 раза
Поблагодарили: 584 раза

Re: Сообщаем об ошибках phpBB 3.0.x разработчикам

Сообщение Shredder »

В описание конференции нельзя ввести больше 145 русских символов, начинается гон:
Введённое значение параметра «Описание конференции» слишком длинное. Максимальная допустимая длина — 255
Английских спокойно влазит все 255.

Баг пропадает, если в includes/acp/acp_board.php в строке:

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

						'site_desc'				=> array('lang' => 'SITE_DESC',				'validate' => 'string',	'type' => 'text:40:255', 'explain' => false),
Вместо string использовать utf8_string
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17273
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2413 раз

Re: Сообщаем об ошибках phpBB 3.0.x разработчикам

Сообщение rxu »

Shredder писал(а):Баг пропадает, если в includes/acp/acp_board.php в строке
Это происходит потому, что тогда значение вообще пролетает мимо валидации.

На самом деле, для исправления бага нужно:

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

OPEN
adm/index.php

FIND
$length = strlen($cfg_array[$config_name]);

REPLACE WITH
$length = utf8_strlen($cfg_array[$config_name]);
Тикет был бы нелишним.

Добавлено спустя 19 минут 42 секунды:
http://tracker.phpbb.com/browse/PHPBB3-10198
Изображение
Аватара пользователя
Борис Бердичевский
phpBB 3.0.0 RC1
Сообщения: 1457
Стаж: 18 лет 8 месяцев
Откуда: Израиль, Беэр-Шева
Благодарил (а): 45 раз
Поблагодарили: 81 раз

Re: Сообщаем об ошибках phpBB 3.0.x разработчикам

Сообщение Борис Бердичевский »

Я писал(а):Случайно обнаружил такой глюк: после переноса сообщения модератором из обычной темы в закрытую -- в сообщении (точнее, над сообщением) осталась кнопка Редактирования.
http://tracker.phpbb.com/browse/PHPBB3-10200
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
MAzZY
Бывший член :)
Сообщения: 2925
Стаж: 21 год 4 месяца
Благодарил (а): 79 раз
Поблагодарили: 69 раз
Забанен: Бессрочно

Re: Сообщаем об ошибках phpBB 3.0.x разработчикам

Сообщение MAzZY »

Я не знаю, насколько это относится к ошибкам движка, я даже не знаю к чему это вообще относится, но инструкции по установке модов (install.xml) насмерть убивают мне ФФ 4.0.1
SCIF-1986
phpBB 1.4.1
Сообщения: 43
Стаж: 17 лет 11 месяцев
Откуда: Vladivostok
Благодарил (а): 1 раз

Re: Сообщаем об ошибках phpBB 3.0.x разработчикам

Сообщение SCIF-1986 »

Добрый день.
Предлагаю внести возможность указания сокета, через который будет осуществляться подключение к БД.
Немного вдамся в подробности: по-моему все привыкли к возможности указания вместо порта — сокета, чтобы коннект происходил через биндинг к сокету, а не через использование, хоть и локальной, но сетевой подсистемы.
При использовании драйвера mysql, достаточно в $port написать ':/var/lib/mysql/mysql.sock' и всё будет ОК, но вот при желании использовать 'mysqli' получаем облом. Получается, что форум не мешает руками указывать сокет, но вот только для некоторых движков. Предлагаю быть немного последовательней ;) Ниже гениальнейший патч.

Открыть 'includes/db/mysqli.php'

Найти:

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

		// Persistant connections not supported by the mysqli extension?
		$this->db_connect_id = @mysqli_connect($this->server, $this->user, $sqlpassword, $this->dbname, $port);
Заменить на:

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

		if (is_numeric($port))
		{
			$socket = $port;
			$port = NULL;
		}
		else
		{
			$socket = $port;
			$port = NULL;			
		}

		// Persistant connections not supported by the mysqli extension?
		$this->db_connect_id = @mysqli_connect($this->server, $this->user, $sqlpassword, $this->dbname, $port, $socket);
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17273
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2413 раз

Re: Сообщаем об ошибках phpBB 3.0.x разработчикам

Сообщение rxu »

SCIF-1986
Спасибо, обсудим. Результат сообщу.

Добавлено спустя 9 минут 16 секунд:
SCIF-1986 писал(а):Открыть 'includes/db/mysqli.php'
Кстати говоря, такая замена ничем не поможет. Тип полдключения (через локальный сокет, или через TCP/IP) определяется параметром host.
Если он задан как IP адрес - соединение производится через TCP/IP.
Если он задан как localhost - соединение производится через локальный сокет.
Изображение
SCIF-1986
phpBB 1.4.1
Сообщения: 43
Стаж: 17 лет 11 месяцев
Откуда: Vladivostok
Благодарил (а): 1 раз

Re: Сообщаем об ошибках phpBB 3.0.x разработчикам

Сообщение SCIF-1986 »

rxu писал(а):Кстати говоря, такая замена ничем не поможет. Тип полдключения (через локальный сокет, или через TCP/IP) определяется параметром host.
Ну как же не поможет? :) Вы наверно имели ввиду, что можно и без неё обойтись (само собой, что про особенность localhost/ip я знаю). Можно-то оно конечно можно, но не всегда. А если сокет нестандартный? :) У меня крутятся два мускуля. И форумный мускуль у меня висит как раз-таки на нестандартном порту (ну и соотв. сокете). Ессно, что если у людей хватило ума воткнуть второй мускуль то и найти как заставить форум слушать нестандартный сокет, они тоже смогут. Но всё же хотелось единого поведения не зависимо от типа БД — на то он и уровень абстракции.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17273
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2413 раз

Re: Сообщаем об ошибках phpBB 3.0.x разработчикам

Сообщение rxu »

SCIF-1986
Это само собой. Попробуйте такой вариант.
Изображение
SCIF-1986
phpBB 1.4.1
Сообщения: 43
Стаж: 17 лет 11 месяцев
Откуда: Vladivostok
Благодарил (а): 1 раз

Re: Сообщаем об ошибках phpBB 3.0.x разработчикам

Сообщение SCIF-1986 »

rxu, ваш вариант также работает. Но не вижу смысла лишний рег. выр делать — is_numeric() несравнимо быстрей. Я перед тем как выложить патч решал делать макс. защиту от дурака или не делать, но в итоге пришёл к выводу, что оно тут мягко говоря не нужно — достаточно специфичная ситуация и просто так туда никто не полезет. Ессно тут вам видней. В любом случае уже спасибо за реакцию и патч.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17273
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2413 раз

Re: Сообщаем об ошибках phpBB 3.0.x разработчикам

Сообщение rxu »

SCIF-1986
is_numeric() дает менее строгую проверку, но, в принципе, можно и его использовать.
Кстати говоря, могли бы предложить свой патч через git ;)
Изображение
biomexanik
phpBB 1.0.0
Сообщения: 6
Стаж: 15 лет 2 месяца

Re: Сообщаем об ошибках phpBB 3.0.x разработчикам

Сообщение biomexanik »

Предлагаю добавить вывод кода 404 для несуществующих (удалённых или скрытых) форумов и тем. Это поможет быстрее исключать из индекса уделённые темы. Например, при попытке роботом скачать прикреплённый файл из темы, посылается ошибка 403, и страница не индексируется.

Для этого нужно:
Засинеть в viewtopic.php

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

{
	trigger_error('NO_TOPIC');
}
на

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

{
	trigger_error('NO_TOPIC');
	header($_SERVER["SERVER_PROTOCOL"]. "404 Not Found"); 
}

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

// Start auth check
if (!$auth->acl_get('f_read', $forum_id))
{ 
	if ($user->data['user_id'] != ANONYMOUS)
	{
		trigger_error('SORRY_AUTH_READ');
	}
на

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

// Start auth check
if (!$auth->acl_get('f_read', $forum_id))
{
  header($_SERVER["SERVER_PROTOCOL"]. "404 Not Found"); 
	if ($user->data['user_id'] != ANONYMOUS)
	{
		trigger_error('SORRY_AUTH_READ');
	}
Засинеть в viewforum.php

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

{
	trigger_error('NO_FORUM');
}
на

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

{
	trigger_error('NO_FORUM');
        header($_SERVER["SERVER_PROTOCOL"]. "404 Not Found"); 
}

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

// Check if the user has actually sent a forum ID with his/her request
// If not give them a nice error page.
if (!$forum_id)
{
	trigger_error('NO_FORUM');
на

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

// Check if the user has actually sent a forum ID with his/her request
// If not give them a nice error page.
if (!$forum_id)
{
	trigger_error('NO_FORUM');
        header($_SERVER["SERVER_PROTOCOL"]. "404 Not Found");  
}
http://pcfixinfo.ru - Форум о ремонте и обслуживании персональных компьютеров.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17273
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2413 раз

Re: Сообщаем об ошибках phpBB 3.0.x разработчикам

Сообщение rxu »

biomexanik
Какая у вас версия? В 3.0.8 это уже реализовано.

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

			if ($msg_text == 'ERROR_NO_ATTACHMENT' || $msg_text == 'NO_FORUM' || $msg_text == 'NO_TOPIC' || $msg_text == 'NO_USER')
			{
				send_status_line(404, 'Not Found');
			}
Изображение

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