Плагин Компании (LS 1.0.3) + php 7.4 - "лечение" бага при редактировании компании

Доброго времени!

В связке LS 1.0.3 + плагин Компании (от gran-а) столкнулся с невозможностью редактирования данных у некоторых компаний (брендирование, виджеты и т.п.).
Также на станице редактирования компании появлялась ошибка: Warning: Illegal string offset in...

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

В файле /plugins/company/classes/modules/company/entity/Company.entity.class.php находим функцию protected function extractPrefs и меняем её содержимое на:
protected function extractPrefs () {
    if (is_null($this->aPrefs)) {
        $aFixPrefs = preg_replace_callback ( '!s:(\d+):"(.*?)";!s', function ($match) {
            return ($match[1] == strlen($match[2])) ? $match[0] : 's:' . strlen($match[2]) . ':"' . $match[2] . '";';
        }, $this->getPrefs() );
        $aPrefs = unserialize($aFixPrefs);
        $this->aPrefs = is_array($aPrefs) ? $aPrefs : array();
    }
}


P.S.: для решения воспользовался этой информацией

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.