Tickets позволяет пользователю отправить тикет без прикрепленных фото

На сайте настроена возможность создания тикета из фронденда с прикреплением фото зарегистрирвоанным пользователем. Пользователь логинется в свой кабинет и начинает создавать тикет.
Форма заполнения фото в тикете выглядит таким образом:
<form class="well create" enctype="multipart/form-data" method="post" action="" id="ticketForm">
...
<div class="file-upload">
<p style="color: #E5107A !important; font-weight: bold; font-size: 12px;">You must submit at least 3 photos!</p>
<div class="ticket-form-files">
[[+files]]
<span class="error" id="files-error"></span>
</div>
</div>
</form>

Сам вызов тикета:
[[!TicketForm?
&allowedFields=`parent,profile-status,name,gender,phone,email,location,age,height,languages`
&tplFormCreate=`tickets.form.create.tpl`
&tplFormUpdate=`tickets.form.update.tpl`
&redirectUnpublished=`11`
&redirectDeleted=`11`
&tplTicketEmailBcc=`tpl.Tickets.ticket.email.bcc`
&customValidators=`imageCountValidator`
&validate=`
                            pagetitle:required,
                            gender:required,
                            phone:required,
                            email:email:required,
                            age:required,
                            hair-color:required,
                            height:required,
                            languages:required[],
                            files:imageCountValidator`
                    ]]
Сниппет imageCountValidator имеет вид:
<?php
$tid = (int)$_POST['tid']; //replaces the line $tid = (int)$value;
//Query the amount of images in the database table modx_tickets_files
$q = $modx->newQuery('TicketFile');
$q->where(array('class' => 'Ticket'));
$q->andCondition(array('parent' => $tid, 'deleted' => 0, 'createdby' => $modx->user->id), null, 1);
$img_count = $modx->getCount('TicketFile', $q);

if ($img_count < 3) {
    //Less than 3 images found
    $validator->addError($key,'You must submit at least 3 photos!');
    return false;
}
return true;
Все работало хорошо до момента, пока не начали появляться тикеты, созданные с количеством фото менее 3х. В логах во время создания этих самых проблемных тикетах засветилась ошибка:
/public_html/core/cache/includes/elements/modsnippet/33.include.cache.php	87
Ошибка при загрузке файла. Код ошибки: 4
При том, что тестирование при загрузке фото менее 3х, разных размеров, запрещенных форматов — всегда отрабатывает нормально. Обработка ошибки всегда производится верно. Сломал всю голову — в чем может ыбть проблема. Подскажите, кто сталкивался с подобным и куда копать?
Антон
23 января 2021, 14:07
modx.pro
125
0

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

Артур
23 января 2021, 18:58
0
Валидатор у вас странный. Он данные берёт из базы, а должен с фронта. Я бы проверял $_FILES на количество файлов.
    Антон
    26 января 2021, 14:55
    0
    Просто заменить $_POST на $_FILES.
    Отсутствие каких-либо ответов наводит на мысль о необходимости перехода на modx.com. Форум как-то омертвел по-моему…
      Артур
      26 января 2021, 15:05
      0
      А мой ответ типа не ответ? Или я по-вашему мертв?)))
        Антон
        26 января 2021, 15:48
        0
        с вами все Ок) в последнее время активности какой-либо вообще нет, форум умирает по-моему. На modx.com обсуждение проблем идет, здесь вообще тишина
          Артур
          26 января 2021, 15:53
          0
          а у тех кто здесь, нет проблем)))
            Антон
            26 января 2021, 15:59
            0
            аа)) ну тогда извиняйте
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    6