MODX: Ошибка с phpThumb после обновления с 2.2.6 на 2.3.0 - не отображаются картинки

MODX: Ошибка с phpThumb после обновления с 2.2.6 на 2.3.0 - не отображаются картинки Устраняем ошибку в phpThumb в MODX 2.3.0, из-за которой не показываются изображения, обработанные phpThumb

Ну и дела! После обновления MODX 2.2.6 -> 2.3.0 пропали картинки в галерее Gallery на сайте.

ошибка с phpthumb в modx 2.3.0

ошибка с phpthumb в modx 2.3.0, пропали картинки из Gallery на сайте

В phpThumb закралась ошибка. В MODX 2.2.x всё нормально, а в MODX 2.3.0 разработчики видимо случайно задублировали кусок кода:)))

Потратил целый день, чтобы разобраться.

Сначала выяснил, что ошибка возникает и в админке и на фронтэнде только с изображениями, когда те подвергаются обработке phpthumb. У меня это динамическое создание превьюшек. Это привело к догадке, что что-то не так с классом phpthumb.

И, действительно, в файле дистрибутива в core/model/phpthumb/phpthumb.class.php этот код дублируется:

function __destruct() {
        $this->purgeTempFiles();
    }

    // public:
    function purgeTempFiles() {
        foreach ($this->tempFilesToDelete as $tempFileToDelete) {
            if (file_exists($tempFileToDelete)) {
                $this->DebugMessage('Deleting temp file "'.$tempFileToDelete.'"', __FILE__, __LINE__);
                @unlink($tempFileToDelete);
            }
        }
        $this->tempFilesToDelete = array();
        return true;
    }


Из-за чего появляется ошибка
Cannot redeclare phpthumb::__destruct() in /home/.../core/model/phpthumb/phpthumb.class.php on line 254

РЕШЕНИЕ: Просто удалить один из двух экземпляров этого кода. Надеюсь в дальнейших версиях MODX этот косяк устранили. В репозитории на github все нормально.

almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.

Вы можете почитать все статьи от almix'а.




Комментарии (0)     Подпишитесь на RSS комментариев к этой статье.