TicketForm + JSON

Добрый день, коллеги.
Подскажите куда копать?

Имеется форма добавления тикетов пользователями. В форме имеется возможность задавать значения для TV при этом в 1 из TV данные должны добавляться в формате JSON (связано это с использованием MIGX).

В итоге после добавления тикета имеем



А должно быть
[{"id":"361","title":"
Может у кого есть мысли куда рыть?
Ruslan Butakov
25 апреля 2018, 10:54
modx.pro
918
0

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

Ruslan Butakov
25 апреля 2018, 16:05
+1
Проблему пока решил
таким образом
public function sanitizeString($string = '')
    {
        if (is_array($string)) {
            foreach ($string as $key => $value) {
                $string[$key] = $this->sanitizeString($value);
            }

            return $string;
        }

        $string = htmlentities(trim($string), ENT_NOQUOTES, "UTF-8");
        $string = preg_replace('/^@.*\b/', '', $string);
		/*
        $string = str_replace(
            array('[', ']', '`', '{', '}'),
            array('[', ']', '`', '{', '}'),
            $string
        );
		*/

        return $string;
    }
в файле core/components/tickets/model/tickets/tickets.class.php

При этом в настройках раздела с тикетами:

Отключить Jevix:да
Выполнять теги MODX:да
    Василий Наумкин
    25 апреля 2018, 21:26
    +2
    Класс! Теперь можно ждать кулхацкеров, которые напихают всяких нехороших MODX тегов во все тикеты.

    Я бы предложил просто обрабатывать нужные поля перед, или после сохранения, в своём плагине.
      Ruslan Butakov
      26 апреля 2018, 10:09
      0
      Спасибо, сделаю как описал Василий.
      Добавление тикетов в моем случает может только менеджер.
        Василий Наумкин
        26 апреля 2018, 10:14
        0
        Если только менеджер — тогда не страшно. Но исходники менять в любом случае не очень правильно.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    4