We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 785
    • 2,113 Posts
    Неожиданно на сайте стал неправильно работать Jot – в итоговом тексте HTML появились коды, которые должен был отловить PHx. При этом некоторые коды обрабатываются правильно, а некоторые – нет.

    Например, вот этот исходный код из chunk.comment.inc.html:
    [+comment.editedon:isnt=`0`:then=`
    			  <span class="jot-editby">Отредактировано: [+comment.editedon:date=`%d.%m.%Y, %H:%M:%S`+]  [+comment.editedby:userinfo=`username`:ifempty=` * `+]</span>
    			   `+]
    

    превращается в
    [+comment.editedon:isnt=`0`:then=`
    			  <span class="jot-editby">Отредактировано: 01.01.1970, 03:00:00   * </span>
    			   `+]
    

    То есть comment.editedon:date и comment.editedby:userinfo обработалось, а comment.editedon:isnt – нет.

    На локальном компьютере все работает нормально, проблема только на сайте. Все заново копировал и очищал кэш – ошибка осталась.
    Проблема предположительно в phx.parser.class.inc.php, но локализовать ее не получилось.
    Кто-нибудь может что-то сказать по этому поводу?
      Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
      Статьи о MODx, регулярно новые публикации
      • 785
      • 2,113 Posts
      С трудом, но проблему решил grin.
      Оказалось, неверно работает в некоторых случаях preg_match_all, выдавая ошибку PREG_BACKTRACK_LIMIT_ERROR.
      Добавил в phx.parser.class.inc.php, в функцию Parse команду
      ini_set (’pcre.backtrack_limit’,’100000’);
      и все заработало. На хостинге по умолчанию стояло 10000.
        Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
        Статьи о MODx, регулярно новые публикации