MODX 2.5.5

Доступна новая версия MODX 2.5.5. Ключевые изменения:

— Улучшение логирования информации о генерации неверных ссылок, чтобы было проще их отследить и поправить. То есть, вместо
`` is not a valid integer and may not be passed to makeUrl()
будет что-то типа
2017-02-08 16:50:48] (ERROR in modContext::makeUrl @ resource 169) Resource with id 111 was not found in context web
[2017-02-08 16:50:48] (ERROR in resource 169 @ /home/moar/public_html/_core/model/modx/modparser.class.php : 1353) Bad link tag `[[~111]]` encountered
Правда, судя по отзывам в Slack, новый функционал еще нуждается в доработке — есть жалобы на лишние сообщения для сайтов с несколькими контекстами.

— Исправлена потенциальная уязвимость в коде установщика движка.

— Добавлены проверки расширений файлов при создании\переименовании их в файловом менеджере.

— Менеджер пакетов теперь работает через HTTPS. Учитывая, что на некоторых хостингах были проблемы при работе с modstore.pro через https — поздравляю пользователей этих хостингов.

— Имя сайта теперь выводится на странице авторизации в менеджере.

— Исправлена нафиг ненужная функция распаковки zip-архивов.

Полный changelog здесь, новость в официальном блоге тут. Пользователи modhost.pro уже могут обновлять свои сайты.
Василий Наумкин
09 февраля 2017, 07:41
modx.pro
3 459
+9

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

Василий Столейков
09 февраля 2017, 11:17
1
+1
Спасибо за обновление на хостинге!

ненужная функция распаковки zip-архивов
почему же это ненужная?
    Василий Столейков
    09 февраля 2017, 11:23
    1
    0
    есть жалобы на лишние сообщения для сайтов с несколькими контекстами.
    Не знаю, но похоже вот эти сообщения, сразу начали выскакивать после обновления:

    [2017-02-09 10:21:03] (ERROR in modContext::makeUrl @ /home/s***/www/core/model/modx/modcontext.class.php : 321) Resource with id 5 was not found in context mgr
    и их большая куча…
      Василий Наумкин
      09 февраля 2017, 13:39
      +2
      А что это у тебя в админке пытается генерировать адрес для ресурса 5? Странно, как-то.

      А так — github.com/modxcms/revolution/issues/13278
        Василий Столейков
        09 февраля 2017, 13:49
        1
        0
        А, точно, возможно вот этот виджет (надо будет исправить в tpl-ке на $uri не помогло): modx.pro/solutions/11128-pageviews-for-tickets-in-the-widget-admin/, т.к. там не только ресурс 5, их много…
        За ссылку на гитхаб спасибо.

        А вообще-то я сразу обновился думая что исчезнут непонятные мне логи, но они до сих пор сыпятся в бешенном темпе, ещё не понял откуда конкретно:
        [2017-02-09 10:24:22] (ERROR @ /home/s***/www/core/xpdo/om/xpdoquery.class.php : 766) Encountered empty IN condition with key user_id
        [2017-02-09 10:24:22] (ERROR @ /home/s***/www/core/components/pdotools/vendor/fenom/fenom/src/Fenom/Modifier.php : 199) PHP warning: Missing argument 3 for Fenom\Modifier::replace(), called in /home/s***/www/core/components/pdotools/vendor/fenom/fenom/src/Fenom/Template.php(487) : eval()'d code on line 662 and defined
        [2017-02-09 10:24:22] (ERROR @ /home/s***/www/core/components/pdotools/vendor/fenom/fenom/src/Fenom/Modifier.php : 199) PHP warning: Missing argument 3 for Fenom\Modifier::replace(), called in
          Василий Наумкин
          09 февраля 2017, 13:57
          1
          +1
          Логи же просто так сыпятся. Обновился — ошибки сами пропали, обычное дело, так всегда и бывает.
          Смешно.

          Encountered empty IN
          Где-то вызывается условие в xPDO с пустым IN, типа
          &where=`{"parents:IN":"[[+parents]]"}`
          и вот здесь в плейсхолдере пусто. Ищи, где у тебя есть IN.

          Missing argument 3 for Fenom\Modifier::replace()
          Это проще. Где-то в чанках есть вызов модификатора Fenom replace, без нужного параметра. То есть, строка для замены есть, что заменять есть, а на что заменять — нет.
          Ищи где у тебя в чанках есть
          {$variable | replace : 'что-то'}
          Дока
            Василий Столейков
            09 февраля 2017, 14:10
            2
            0
            Логи же просто так сыпятся. Обновился — ошибки сами пропали, обычное дело, так всегда и бывает.
            Смешно.
            Зря ты так. А ведь бывает же. Например после недавнего обновления твоих компонентов перестали сыпаться некоторые ошибки. Раньше давно как-то тоже такое было и после обновления движка.

            Ищи, где у тебя есть IN
            Спасибо за наводку, буду дальше искать.

            replace, где не передан третий параметр
            Спасибо, буду искать. Его у меня много везде. Возможно не ругаются следующие конструкции:
            {$title|replace:' ':''|replace:'Ё':'Е'|replace:' ':''} 
            {$title|replace:\' \':\'\'|replace:\'Ё\':\'Е\'|replace:\' \':\'\'} // или в @INLINE чанках
            Буду проверять.

            Спасибо что ответил!
              Сергей Шлоков
              10 февраля 2017, 09:09
              1
              +2
              Ты кстати можешь временно изменить уровень логирования, чтобы левые ошибки не сыпались. Установи log_level = 0. Потом вернёшь обратно.
          Алексей Федоров
          23 февраля 2017, 20:48
          0
          Хмм… только что появилась такая же ошибка XD Возможно поэтому удалось быстро исправить.
          (ERROR @ /home/s***/www/core/xpdo/om/xpdoquery.class.php : 766)
          Проблема была в том, что название некоторых чанков начиналось с цифр, то есть — 2tpl.Blog.row и т.п. Как только переименовал на Btpl.Blog.row ошибка исчезла.
          Если что, вылезло только на хостинге TimeWeb, у другого хостера никаких проблем не наблюдается. При этом там же есть портированный тестовый сайт со своими базами и т.д. — тоже никаких проблем. Сложности исключительно у сайта, который создавался через «родной» автоустановщик хостера
        Алексей Федоров
        18 февраля 2017, 08:54
        0
        Такая же ерунда, подумал, что это из-за проверки дружественных url в разных контекстах. Функция оказалась отключена. После включения ошибка падать перестала. Странно, но вот так почему-то.
          Алексей Федоров
          18 февраля 2017, 09:15
          0
          А нет)) спустя 15 минут все вернулось, хотя несколько обновлений в менеджере прошли без ошибок
        Василий Краковецкий
        09 февраля 2017, 13:54
        +1
        исправьте:
        Address a few potential security issues in the setup (installer)
        про сервера в оригинале ни слова, а вот про то что уязвимость была в установщике в переводе ни слова.
          Василий Наумкин
          09 февраля 2017, 13:58
          +1
          Видимо, можно еще куда-то устанавливать движок, не на сервер? Окей, исправил.
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          13