Перейти к основному содержанию

phpBB 3.3.8 — Breadcrumb Menu ошибка PHP: Trying to access array offset on value of type bool

phpBB

Для форума phpBB есть хорошее расширение под названием Breadcrumb Menu. Оно добавляет простую вещь — выпадающие списки форумов при наведении на хлебные крошки.

php

Последние версии добавляют хлебные крошки только на крайний левый элемент, но и это полезно.

Расширение сначала разрабатывал PayBas, потом david63. Последняя доступная версия, которую я смог скачать: 1.0.6. Разработчик david63 выложил исправления для phpBB 3.3, но, однако, уничтожил свои наработки в github, так что его версию я найти не смог. Если у кого-то есть нормальная версия, то присылайте.

При переходе на PHP 8.0 в расширении Breadcrumb Menu появилась ошибка:

[04-Nov-2022 18:18:58 Europe/Moscow] PHP Warning: Trying to access array offset on value of type bool in [ROOT]\ext\paybas\breadcrumbmenu\event\listener.php on line 286

php

Поиск в Интернете ничего не дал, лезем в код, в 286 строку.

if (!($tree['forum_id'] == $next['parent_id']))

php

Новшество "Trying to access array offset on value of type bool" появилось в PHP 7.4. В новых версиях PHP нужно обязательно проверять наличие элементов массива перед работой с ними. Меняем код на:

if (!($tree['forum_id'] == (is_array($next) ? $next['parent_id'] : NULL)))

php

Проблема решена.

Теги

 

Похожие материалы

phpBB 3.2.0 — обновление до 3.2.7

Обновим форум phpBB 3.2.0 до версии 3.2.7. Форум работает на IIS, из-за этого  автоматическое обновление наткнётся на одну простую, но непредусмотренную разработчиками ошибку. Исправим по ходу.

Теги

phpBB 3.3.0 — обновление до 3.3.8

У меня на поддержке есть несколько форумов phpBB. Пришла пора обновить форум с версии 3.3.0 на версию 3.3.8. Текущий форум работает на IIS. PHP версии 7.3.7. В phpBB 3.3.8 есть поддержка PHP 8.0. Так что вместе с форумом придётся обновить PHP. Кроме того, в новой версии форума обновим расширения.

Теги