Не работает редактирование файлов в админке (PHP7)

Версия 2.4.3-pl, перешел на PHP 7 с 5.4 и перестало работать редактирование любых файлов. На месте, где должно быть окно редактирования пустое место. В журнале ошибок пусто, в консоли инспектора ругается на
строку ",canSave: 1"
?a=system/file/edit&file=assets/css/style.css&wctx=mgr&source=1:30 Uncaught SyntaxError: Unexpected token ,

<script type="text/javascript">Ext.onReady(function() {
            MODx.load({
                xtype: "modx-page-file-edit"
                ,file: "assets/css/style.css"
                ,record: 
                ,canSave: 1
            });
});</script>
На версии 5.4 в скрипте в строке ",record:" не пусто, как на 7 версии
<script type="text/javascript">Ext.onReady(function() {
            MODx.load({
                xtype: "modx-page-file-edit"
                ,file: "assets/css/style.css"
                ,record: {"name":"assets\/css\/style.css","basename":"style.css","path":"\/www\/assets\/css\/style.css","size":28881,"last_accessed":null,"last_modified":null,"content":nbody:last-child .blueimp-gallery > .play-pause {\n  width: 20px;\n  height: 20px;\n  background-size: 40px 20px;\n  background-image: url(..\/img\/play-pause.svg);\n}\nbody:last-child .blueimp-gallery-playing > .play-pause {\n  background-position: -20px 0;\n}\n\n\/* IE7 fixes *\/\n*+html .blueimp-gallery > .slides > .slide {\n  min-height: 300px;\n}\n*+html .blueimp-gallery > .slides > .slide > .slide-content {\n  position: relative;\n}\n\n","image":false,"is_writable":true,"is_readable":true,"source":1}
                ,canSave: 1
            });
        });</script>

Что кто посоветует?
Viktor
28 марта 2016, 14:38
modx.pro
1
5 706
0

Комментарии: 12

Іван Клімчук
30 марта 2016, 13:45
+1
2.4.3 несовместима с php7. Баги по совместимости исправлены в 2.5.0-RC1
    Viktor
    01 мая 2016, 17:58
    0
    2.5.0-pl — не работает
      Іван Клімчук
      01 мая 2016, 21:03
      0
      Вероятно проблема не в MODX, а в самом редакторе. Недавно у меня была проблема с TypoMCE, который не сохранял значения в ClientConfig, замена редактора решила проблему.
        Здоров Александр
        02 мая 2016, 00:10
        0
        делал тексты для слайдера с помощью ClientConfig и редактором текстового поля CKEditor — не сохранялись значения, если использовать несколько тегов (h2 и P), поставил TypoMCE все стало нормой)
        Igor Ivanov
        12 июня 2016, 14:36
        0
        Вот ровно такая же беда на днях приключилась. У вас тоже на винде сервер? С php 5.5 и выше перестает открывать файлы в файловом менеджере, ругается на ,canSave: 1" и в строке ",record:" пусто. В файле /manager/controllers/default/system/file/edit.class.php за это место отвечает кусок:

        public function loadCustomCssJs() {
                $this->addJavascript($this->modx->getOption('manager_url').'assets/modext/sections/system/file/edit.js');
                $this->addHtml('<script type="text/javascript">Ext.onReady(function() {
                    MODx.load({
                        xtype: "modx-page-file-edit"
                        ,file: "'.$this->filename.'"
                        ,record: '.$this->modx->toJSON($this->fileRecord).'
                        ,canSave: '.($this->canSave ? 1 : 0).'
                    });
                });</script>');
            }
        т.е. не отрабатывает нормально $this->modx->toJSON($this->fileRecord)

        Что делать, не знаю, идей нет. Видимо, мы с вами одни такие чудики с сервером на винде, раз больше никого это не затронуло. А, нет, есть еще один такой бедолага: modxclub.ru/comments/comment-8887.html
        Может коллективного разума уважаемого сообщества хватит, что бы решить проблему?
          Viktor
          12 июня 2016, 15:31
          0
          Говорят, на серверах CentOS
            Igor Ivanov
            12 июня 2016, 15:46
            0
            Оппа, вот это неожиданный поворот, я думал, такое только у виндузятников…
      Igor Ivanov
      13 июня 2016, 11:10
      1
      +2
      Решил! Проблема была в том, что $this->fileRecord получает свойства файла, который хотим редактировать, в том числе его атрибуты, и вот там в дате создания и в дате редактирования приходило названия месяца на русском в кодировке windows-1251, т.е. кракозябры вместо нормальной строки, хотя везде, где только можно, в системе указано utf-8. Это ломало $this->modx->toJSON. Решилось указанием локали в настройках MODX. Раздел core->Словарь и язык параметр locale пишем english. Не совсем понятно, почему работает без указания локали на php 5.4 и 5.3, а начиная с php 5.5 и выше, не хочет.
        Viktor
        13 июня 2016, 16:52
        0
        Спасибо! Только вот мне english не помогло, помогло en_US.UTF-8
          Oleg
          07 сентября 2016, 15:42
          1
          0
          Я как раз таки все (en_US.UTF-8 и en_US) и перепробовал, и помогло ТОЛЬКО english на local.
            Pavel
            24 декабря 2017, 22:17
            0
            Тоже помогло только english на local. Спасибо за подсказку :)
          Сергей
          30 октября 2019, 21:12
          0
          Спасибо, сработало на локальном сервере!:)
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          12