Ошибка при вынесении предупреждения

Проблемы с установкой или работой phpBB 3.3.x? Получите помощь здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
capur
phpBB 1.4.0
Сообщения: 38
Стаж: 1 год 9 месяцев
Благодарил (а): 8 раз
Поблагодарили: 2 раза

Ошибка при вынесении предупреждения

Сообщение capur »

добрый день, столкнулся с такой ошибкой при вынесении предупреждения пользователю

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

[phpBB Debug] PHP Warning: in file [ROOT] / includes / mcp / mcp_warn.php on line 606: Trying to access array offset on value of type bool
[phpBB Debug] PHP Warning: in file [ROOT] / includes / mcp / mcp_warn.php on line 607: Trying to access array offset on value of type bool
Знающие люди говорят, что это ошибка phpBB на php8 (возможно и php7), форум при вынесении предупреждения не за сообщение по ошибке ищет сообщение в базе, которого там нет. Решается это только правкой кода форума. В итоге, можно ли как то это устранить?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12629
Стаж: 13 лет 4 месяца
Благодарил (а): 159 раз
Поблагодарили: 2243 раза

Re: Отлов багов [важно]

Сообщение Татьяна5 »

capur, версия phpBB какая? И какая точно версия php?
capur
phpBB 1.4.0
Сообщения: 38
Стаж: 1 год 9 месяцев
Благодарил (а): 8 раз
Поблагодарили: 2 раза

Re: Отлов багов [важно]

Сообщение capur »

Татьяна5 писал(а): 11.03.2023 9:56 capur, версия phpBB какая? И какая точно версия php?
Версия phpBB: 3.3.10
Версия PHP: 8.0.27
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12629
Стаж: 13 лет 4 месяца
Благодарил (а): 159 раз
Поблагодарили: 2243 раза

Re: Ошибка при вынесении предупреждения

Сообщение Татьяна5 »

Похоже на баг движка
Быстрый fix:
includes\mcp\mcp_warn.php
Найти

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

	$phpbb_log->add('mod', $user->data['user_id'], $user->ip, 'LOG_USER_WARNING', false, array(
		'forum_id' => $row['forum_id'],
		'topic_id' => $row['topic_id'],
		'post_id'  => $post_id,
		$user_row['username']
	));
Заменить на

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

	$phpbb_log->add('mod', $user->data['user_id'], $user->ip, 'LOG_USER_WARNING', false, array(
		'forum_id' => $row['forum_id'] ?? 0,
		'topic_id' => $row['topic_id'] ?? 0,
		'post_id'  => $post_id,
		$user_row['username']
	));
При вынесении предупреждения из профиля эти значения действительно оказываются не заданы
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16761
Стаж: 18 лет 7 месяцев
Откуда: Красноярск
Благодарил (а): 535 раз
Поблагодарили: 1635 раз

Re: Ошибка при вынесении предупреждения

Сообщение rxu »

В репо уже исправлено https://github.com/phpbb/phpbb/pull/6460 и попадет в 3.3.11.
Изображение

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