Tickets не работают комментарии
        Замутил на modx revo 2.8.7 сайт, решил к статьям сделать комментирование, установил tickets и вывел стандартную форму комментирования. Форма без заполнения работает, т.е. при пустой форме можно нажать на кнопку «Предпросмотр» и она работает, нажать кнопку «Написать» и отрабатывается валидация, но когда заполняю форму, то кнопки не работают и в консоле выскакивает /assets/components/tickets/action.php 500 (Internal Server Error). Поискал варианты решения в инете, но так и не нашел. Попробовал изменить права на папки, тоже не сработало. Jquery установлен. Может кто сталкивался с такой проблемой. Сайт лежин на хостинге бегет    
    
    
                                                                                
            Комментарии: 8
                Если ошибка 500 значит надо логи сервера смотреть            
                    
                Пробовал на двух хостингах на бегете и таймвебе, и везде ошибка 500 появляется. На бегете писал в поддержку, мне отписались что проблема возникает из-за некоректной работы php-скрипта 
                    [26-Feb-2025 19:32:25 Europe/Moscow] PHP Fatal error:  Array and string offset access syntax with curly braces is no longer supported in /home/d/d20ilns5/gb.d20ilns5.beget.tech/public_html/core/components/jevix/vendor/agelxnash/jevix/src/functions.php on line 10Находил в инете варианты, что может быть из-за версии php, пробовал менять, ничего не случалось.            Находил в инете варианты, что может быть из-за версии php, пробовал менять, ничего не случалось.А ты PHP 5.6 ставил? У тебя же есть сообщение об ошибке, там написано «Array and string offset access syntax with curly braces is no longer supported» и указано в каком файле и на какой строке. Думаю надо заменить фигурные скобки на квадратные.
                Менял фигурные скобки и пробовал разные версии php ничего не сработало. Техподдержка бегет тоже отписалась, что нужно попробовать версию php понизить и скобки поменять на квадратные. Попробую снова поиграться со скобками и версиями php может заработает.            
                    
                Если не ошибаюсь, то тикетсы работают на последнем MODX. php 7.4 с БД мускулом 5.7.
Проверьте окружение для начала.
                    Проверьте окружение для начала.
                Всем большое спасибо. Не знаю из-за чего изначально не заработало, может кэш не почистил, может еще что-то было, но в файле
                    /public_html/core/components/jevix/vendor/agelxnash/jevix/src/functions.phpпоменял фигурные кавычки на квадратные и заработало. Стоит последняя версия php. Из плюсов еще заработало создание тикетов, раньше при кнопке сохранить просто зависало на сохранении, теперь заработало.            
                /public_html/core/components/jevix/vendor/agelxnash/jevix/src/functions.php
поменял фигурные кавычки на квадратные и заработало
Илья, где именно поменяли? Файл выложите, пожалуйста
                    поменял фигурные кавычки на квадратные и заработало
Илья, где именно поменяли? Файл выложите, пожалуйста
                Путь до файла /core/components/jevix/vendor/agelxnash/jevix/src/functions.php.
Исправленный вариант кода:
                    Исправленный вариант кода:
<?php
/**
 * Функция ord() для мультибайтовы строк
 *
 * @param string $c символ utf-8
 * @return int код символа
 */
function uniord($c)
{
    $h = ord($c[0]);
    if ($h <= 0x7F) {
        return $h;
    } else {
        if ($h < 0xC2) {
            return false;
        } else {
            if ($h <= 0xDF) {
                return ($h & 0x1F) << 6 | (ord($c[1]) & 0x3F);
            } else {
                if ($h <= 0xEF) {
                    return ($h & 0x0F) << 12 | (ord($c[1]) & 0x3F) << 6
                        | (ord($c[2]) & 0x3F);
                } else {
                    if ($h <= 0xF4) {
                        return ($h & 0x0F) << 18 | (ord($c[1]) & 0x3F) << 12
                            | (ord($c[2]) & 0x3F) << 6
                            | (ord($c[3]) & 0x3F);
                    } else {
                        return false;
                    }
                }
            }
        }
    }
}
/**
 * Функция chr() для мультибайтовы строк
 *
 * @param int $c код символа
 * @return string символ utf-8
 */
function unichr($c)
{
    if ($c <= 0x7F) {
        return chr($c);
    } else {
        if ($c <= 0x7FF) {
            return chr(0xC0 | $c >> 6) . chr(0x80 | $c & 0x3F);
        } else {
            if ($c <= 0xFFFF) {
                return chr(0xE0 | $c >> 12) . chr(0x80 | $c >> 6 & 0x3F)
                    . chr(0x80 | $c & 0x3F);
            } else {
                if ($c <= 0x10FFFF) {
                    return chr(0xF0 | $c >> 18) . chr(0x80 | $c >> 12 & 0x3F)
                        . chr(0x80 | $c >> 6 & 0x3F)
                        . chr(0x80 | $c & 0x3F);
                } else {
                    return false;
                }
            }
        }
    }
}            
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.