Не загружается список пакетов. Loading. И ничего.

Здравствуйте. Только что установил последнюю версию CMS, взятую с официального сайта.
Перехожу в «Управление пакетами», жму «Загрузить дополнения» и… Бесконечный «loading».
Установлен Xampp, версия PHP 5.6.19. cUrl проверял, подключено.
Подскажите, пожалуйста, как пофиксить? Гуглил долго, ничего толкового не нашёл.
Den
Den
16 марта 2016, 20:49
modx.pro
1
5 130
0

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

Максим Кузнецов
17 марта 2016, 01:09
0
Смотрите журнал ошибок/консоль браузера, скорее всего туда спроецируется причина.
    Den
    Den
    17 марта 2016, 01:50
    0
    В консоли браузера ошибка:
    SyntaxError: expected expression, got '}'

    Раскрываю эту ошибку и там такое:
    SyntaxError: expected expression, got '}'
    Ext.util.JSON</doDecode()            ext-all.js:21
    Ext.util.JSON</this.decode</<()    ext-all.js:21
    .onStoreException()     index.php:46
    h.Event.prototype.fire()     ext-all.js:21
    h.Observable.prototype.fireEvent()     ext-all.js:21
    g/<()     ext-all.js:21
    h.Event.prototype.fire()     ext-all.js:21
    h.Observable.prototype.fireEvent()     ext-all.js:21
    .onRead()     ext-all.js:21
    .createCallback/<()     ext-all.js:21
    .handleResponse()     ext-all.js:21
    f()     ext-base.js:21
    m()     ext-base.js:21
    .createCallback/<()     ext-base.js:21

    А выше ещё одна ошибка, только на не раскрывается:
    unreachable code after return statement

    Показывает, что она находится в файле index.php:514:961
    node.ui.elNode.appendChild(el);var inlineButtonsLang=tree.getInlineButtonsLang(node);var btn=MODx.load({xtype:'modx-button',text:'',scope:this,tooltip:new Ext.ToolTip({title:inlineButtonsLang.add,target:this}),node:node,handler:function(btn,evt){evt.stopPropagation(evt);node.getOwnerTree().handleCreateClick(node);},iconCls:'icon-plus-circle',renderTo:elId,listeners:{mouseover:function(button,e){button.tooltip.onTargetOver(e);},mouseout:function(button,e){button.tooltip.onTargetOut(e);}}});var btn=MODx.load({xtype:'modx-button',text:'',scope:this,tooltip:new Ext.ToolTip({title:inlineButtonsLang.refresh,target:this}),node:node,handler:function(btn,evt){evt.stopPropagation(evt);node.reload();},iconCls:'icon-refresh',renderTo:elId,listeners:{mouseover:function(button,e){button.tooltip.onTargetOver(e);},mouseout:function(button,e){button.tooltip.onTargetOut(e);}}});window.BTNS.push(btn);}}(this)),200);return false;var btn=document.createElement('div');btn.innerHTML='H';node.el.appendChild(btn);}},handleCreateClick:function(node){},getInlineButtonsLang:function(node){var langs={};if(node.id!=undefined){var type=node.id.substr(2).split('_');if(type[0]=='type'){langs.add=_('new_'+type[1]);}else if(type[0]=='category'){langs.add=_('new_'+type[0]);}else{langs.add=_('new_document');}}

    В логах CMS пусто.
      Максим Кузнецов
      17 марта 2016, 03:00
      0
      github.com/modxcms/revolution/issues/12400 — похоже на это.

      Если у вас хром, можете дополнительно открыть консоль на закладке Network, после чего перейти на страницу управления пакетами. В network'e выберите элемент, который возвращает ошибку и в появившейся формочке перейдите на закладку «response» — тогда получится узнать подробнее об ошибке.

      Возможно, проблема связана с работой Xampp.
        Den
        Den
        17 марта 2016, 16:51
        0
        Да, в issue проблема такая же, как и у меня.
        В Хроме посмотрел. Говорит «Failed to load response data».

        Поставил Openserver с версией PHP 5.4. Всё работает. Но у меня Openserver работает медленнее, чем Xampp, поэтому хотелось бы работать с Xampp.

        А это что, 872 нерешённые ошибки у Revo на Github? Значит, CMS особо не развивается?
    Sergey
    15 сентября 2016, 09:40
    1
    +2
    Расписано здесь.

    Слегка модифицировал:
    public function toJSON($array) {
            $encoded= '';
            if ( is_array($array) ) {
                if (!function_exists('json_encode')) {
                    if (@ include_once (XPDO_CORE_PATH . 'json/JSON.php')) {
                        $json = new Services_JSON();
                        $encoded= $json->encode($array);
                    }
                } else {
                    $encoded= json_encode($array);
    	            if (json_last_error() == JSON_ERROR_UTF8)
    	                {   $array = self::arrayEncodeUTF8($array);
                            $encoded= json_encode($array); }
                }
              }
            return $encoded;
        }
    
        public static function arrayEncodeUTF8($array)
        {   foreach($array as $key => $value)
            {   if (!is_array($value))
                {   if (is_string($value))
                    { json_encode($value);
                      if (json_last_error() == JSON_ERROR_UTF8)
                      { $array[$key] = iconv('CP1251', 'UTF-8', $value); }
                    }
                } else { $array[$key] = self::arrayEncodeUTF8($value); }
            }
            return $array;
        }
    — Win,XAMPP, PHP 7
      UDAV
      17 сентября 2016, 23:08
      0
      Да, заработало. Не пойму, это с сервером связано или с движком?
        Роман Садоян
        18 сентября 2016, 00:24
        +1
        Не с движком, это что-то внутреннее у XAMPP/Openserver (мб и у Денвера), такая проблема не новая у виндовых пользователей.
      Павел Карелин
      29 декабря 2016, 18:47
      0
      Если версия php больше 5.5 можно просто сделать так
      $encoded= json_encode($array,JSON_PARTIAL_OUTPUT_ON_ERROR);
      Суть в том что почему то в массиве присутствуют битые строки. И поэтому возникает ошибка.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        8