I live ExBB and CMS Limbo! » Форумы и сайты » ExBB Community » Обеспечиваем совместимость с PHP 5.4

Страниц (1): [1]
 

1. NordWest - 14 сентября 2013 — 23:47 - перейти к сообщению
Открываем файл include/fm.class.php
в котором ищем все вхождения
code:
_FilePointers[$fp]

которые меняем на
code:
_FilePointers[(int) $fp]


Затем нужно решить проблему с функцией htmlspecialchars в которой нужно обязательно прописать кодировку cp1251 или будут проблемы с кириллицей.
Можно конечно жестко прописать, но вдруг когда поменять придется...

Короче открываем common.php ищем строку
code:
define('FM_PATH', dirname(dirname(__FILE__)) . '/');

после которой добавляем
code:
define("FM_ENCODING", "cp1251");


И в папке install в файлах index.php и update.php аналогично в начало добавляем
code:
define("FM_ENCODING", "cp1251");


После этого делаем поиск по всем файлам форума строки htmlspecialchars и если у функции задано не все три параметра приводим функцию к полному виду, например
code:
htmlspecialchars($v,ENT_QUOTES,FM_ENCODING)

(на месте первого параметра должно остаться то, что там было)

И не включаем модули "Хранение статистики чтения тем на сервере" и "Поиск тем и сообщений пользователя" т.к. они используют базу на SQLite2 а её поддержка с этой версии PHP была прекращена.
2. NordWest - 18 сентября 2013 — 19:41 - перейти к сообщению
В новой версии ужесточены требования к синтаксису, а точнее иногда появляются ошибки если в одну команду вложено много функций.
Вот одно такое проблемное место...

В файле post.php ищем строку

code:
if (isset($views[$topic_id])) $topic[reset(array_keys($topic))]['views'] = $views[$topic_id];

которую меняем на
code:
if (isset($views[$topic_id])) {$arrkeys = array_keys($topic); $topic[reset($arrkeys)]['views'] = $views[$topic_id];};

Powered by ExBB v1.1.180311