Ошибаетесь. Это ваша конкретная проблема и вам объяснили как её решить.izver писал(а):то мне кажется
Сообщаем об ошибках phpBB 3.0.x разработчикам
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
FEAR93
- Former team member
- Сообщения: 666
- Стаж: 17 лет 11 месяцев
- Откуда: Кривой Рог, Украина
- Благодарил (а): 22 раза
- Поблагодарили: 76 раз
Re: Сообщаем об ошибках phpBB 3.0.x разработчикам
-
rxu
- phpBB Guru

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

- Сообщения: 17273
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 632 раза
- Поблагодарили: 2413 раз
Re: Сообщаем об ошибках phpBB 3.0.x разработчикам
Альтернативное исправление:nissin писал(а):Есть такое, недавно столкнулся, но разбираться было лень, просто временно отключил gzip.
Вариант исправления (не проверял).
OPEN functions.php, FINDREPLACE WITHКод: Выделить всё
if ((int) @ini_get('output_buffering') === 1 || strtolower(@ini_get('output_buffering')) === 'on')Код: Выделить всё
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 разработчикам
В описание конференции нельзя ввести больше 145 русских символов, начинается гон:
Баг пропадает, если в includes/acp/acp_board.php в строке:
Вместо
Английских спокойно влазит все 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

- Сообщения: 17273
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 632 раза
- Поблагодарили: 2413 раз
Re: Сообщаем об ошибках phpBB 3.0.x разработчикам
Это происходит потому, что тогда значение вообще пролетает мимо валидации.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 разработчикам
Я не знаю, насколько это относится к ошибкам движка, я даже не знаю к чему это вообще относится, но инструкции по установке модов (install.xml) насмерть убивают мне ФФ 4.0.1
-
SCIF-1986
- phpBB 1.4.1
- Сообщения: 43
- Стаж: 17 лет 11 месяцев
- Откуда: Vladivostok
- Благодарил (а): 1 раз
Re: Сообщаем об ошибках phpBB 3.0.x разработчикам
Добрый день.
Предлагаю внести возможность указания сокета, через который будет осуществляться подключение к БД.
Немного вдамся в подробности: по-моему все привыкли к возможности указания вместо порта — сокета, чтобы коннект происходил через биндинг к сокету, а не через использование, хоть и локальной, но сетевой подсистемы.
При использовании драйвера mysql, достаточно в $port написать ':/var/lib/mysql/mysql.sock' и всё будет ОК, но вот при желании использовать 'mysqli' получаем облом. Получается, что форум не мешает руками указывать сокет, но вот только для некоторых движков. Предлагаю быть немного последовательней ;) Ниже гениальнейший патч.
Открыть 'includes/db/mysqli.php'
Найти:
Заменить на:
Предлагаю внести возможность указания сокета, через который будет осуществляться подключение к БД.
Немного вдамся в подробности: по-моему все привыкли к возможности указания вместо порта — сокета, чтобы коннект происходил через биндинг к сокету, а не через использование, хоть и локальной, но сетевой подсистемы.
При использовании драйвера 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

- Сообщения: 17273
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 632 раза
- Поблагодарили: 2413 раз
Re: Сообщаем об ошибках phpBB 3.0.x разработчикам
SCIF-1986
Спасибо, обсудим. Результат сообщу.
Добавлено спустя 9 минут 16 секунд:
Если он задан как IP адрес - соединение производится через TCP/IP.
Если он задан как localhost - соединение производится через локальный сокет.
Спасибо, обсудим. Результат сообщу.
Добавлено спустя 9 минут 16 секунд:
Кстати говоря, такая замена ничем не поможет. Тип полдключения (через локальный сокет, или через TCP/IP) определяется параметром host.SCIF-1986 писал(а):Открыть 'includes/db/mysqli.php'
Если он задан как IP адрес - соединение производится через TCP/IP.
Если он задан как localhost - соединение производится через локальный сокет.
-
SCIF-1986
- phpBB 1.4.1
- Сообщения: 43
- Стаж: 17 лет 11 месяцев
- Откуда: Vladivostok
- Благодарил (а): 1 раз
Re: Сообщаем об ошибках phpBB 3.0.x разработчикам
Ну как же не поможет? :) Вы наверно имели ввиду, что можно и без неё обойтись (само собой, что про особенность localhost/ip я знаю). Можно-то оно конечно можно, но не всегда. А если сокет нестандартный? :) У меня крутятся два мускуля. И форумный мускуль у меня висит как раз-таки на нестандартном порту (ну и соотв. сокете). Ессно, что если у людей хватило ума воткнуть второй мускуль то и найти как заставить форум слушать нестандартный сокет, они тоже смогут. Но всё же хотелось единого поведения не зависимо от типа БД — на то он и уровень абстракции.rxu писал(а):Кстати говоря, такая замена ничем не поможет. Тип полдключения (через локальный сокет, или через TCP/IP) определяется параметром host.
-
rxu
- phpBB Guru

- Сообщения: 17273
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 632 раза
- Поблагодарили: 2413 раз
Re: Сообщаем об ошибках phpBB 3.0.x разработчикам
SCIF-1986
Это само собой. Попробуйте такой вариант.
Это само собой. Попробуйте такой вариант.
-
SCIF-1986
- phpBB 1.4.1
- Сообщения: 43
- Стаж: 17 лет 11 месяцев
- Откуда: Vladivostok
- Благодарил (а): 1 раз
Re: Сообщаем об ошибках phpBB 3.0.x разработчикам
rxu, ваш вариант также работает. Но не вижу смысла лишний рег. выр делать — is_numeric() несравнимо быстрей. Я перед тем как выложить патч решал делать макс. защиту от дурака или не делать, но в итоге пришёл к выводу, что оно тут мягко говоря не нужно — достаточно специфичная ситуация и просто так туда никто не полезет. Ессно тут вам видней. В любом случае уже спасибо за реакцию и патч.
-
rxu
- phpBB Guru

- Сообщения: 17273
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 632 раза
- Поблагодарили: 2413 раз
Re: Сообщаем об ошибках phpBB 3.0.x разработчикам
SCIF-1986
is_numeric() дает менее строгую проверку, но, в принципе, можно и его использовать.
Кстати говоря, могли бы предложить свой патч через git
is_numeric() дает менее строгую проверку, но, в принципе, можно и его использовать.
Кстати говоря, могли бы предложить свой патч через git
-
biomexanik
- phpBB 1.0.0
- Сообщения: 6
- Стаж: 15 лет 2 месяца
Re: Сообщаем об ошибках phpBB 3.0.x разработчикам
Предлагаю добавить вывод кода 404 для несуществующих (удалённых или скрытых) форумов и тем. Это поможет быстрее исключать из индекса уделённые темы. Например, при попытке роботом скачать прикреплённый файл из темы, посылается ошибка 403, и страница не индексируется.
Для этого нужно:
Засинеть в viewtopic.php
на
на
Засинеть в viewforum.php
на
на
Для этого нужно:
Засинеть в 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');
}Код: Выделить всё
{
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

- Сообщения: 17273
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 632 раза
- Поблагодарили: 2413 раз
Re: Сообщаем об ошибках phpBB 3.0.x разработчикам
biomexanik
Какая у вас версия? В 3.0.8 это уже реализовано.
Какая у вас версия? В 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');
}
