[Mod] Shop-Script Premium >php 5.4

Тема в разделе "Shop-script", создана пользователем slva2000, 26 июл 2015.

  1. slva2000

    slva2000 Постоялец

    Регистр.:
    26 ноя 2007
    Сообщения:
    102
    Симпатии:
    43
    Бывают ситуации, когда выбора особо нет, а хочется, поэтому, приходится использовать старые версии CMS Shop-Script Premium на новой конфигурации сервера.

    Проблема в том, что после обновления php до версии 5.4.x перестал корректно работать магазин. Выражалось это в отображении множества русских символов из базы или введённых в формах. Они просто затерались.

    Проблема крылась в непредвиденной работе функции htmlspecialchars(); которая без указания дополнительных флагов затирала русские символы.

    Пример:
    PHP:
    echo htmlspecialchars('Привет'ENT_COMPAT'cp1251'false); //Привет
    echo htmlspecialchars('Привет'); // ничего_не_отобразиться.
    Решение: добавить в /core_functions/functions.php:

    PHP:
    function myhtmlspecialchars($string$flags null$encoding "cp1251"$double_encode true) {
       if (
    $flags === null) { $flags ENT_COMPAT ENT_HTML401; }
       return 
    htmlspecialchars($string$flags$encoding$double_encode);
    }
    и произвести замену всех вхождений:
    htmlspecialchars
    на
    myhtmlspecialchars

    Надеюсь с ошибками session_register() и session_unregister() все справятся самостоятельно.