Антон
С нами с 17 ноября 2015; Место в рейтинге пользователей: #534Tickets позволяет пользователю отправить тикет без прикрепленных фото
На сайте настроена возможность создания тикета из фронденда с прикреплением фото зарегистрирвоанным пользователем. Пользователь логинется в свой кабинет и начинает создавать тикет.
Форма заполнения фото в тикете выглядит таким образом:
Форма заполнения фото в тикете выглядит таким образом:
<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>
Проверка мультиполя на заполненность
Есть форма с мультиполями, в которых пользователь может выбрать несколько значений.
Одно из полей в форме:
Как это исправить?
Одно из полей в форме:
<div class="col-md-6 col-sm-12">
<label for="languages">Languages</label>
<select multiple class="selectpicker form-control" id="languages" name="languages[]" data-live-search="true">
<option>English</option>
<option>French</option>
<option>Italian</option>
<option>Spain</option>
<option>Russian</option>
</select>
<span class="error"></span>
</div>
Форма вызывается таким образом:[[!TicketForm?
&allowedFields=`profile-status,name,gender,languages`
&tplFormCreate=`tickets.form.create.tpl`
&tplFormUpdate=`tickets.form.update.tpl`
&redirectUnpublished=`11`
&redirectDeleted=`11`
&tplTicketEmailBcc=`tpl.Tickets.ticket.email.bcc`
&customValidators=`imageCountValidator`
&validate=`
gender:required,
languages:required[],
files:imageCountValidator`
]]
При отправке формы вызов не показывает никакой ошибки если поле на заполнено.Как это исправить?
Error 42S02 executing statement
Постоянно возникает в логах ошибка:
Как это можно вылечить?
ERROR /home/u951182613/domains/site.com/public_html/core/xpdo/om/xpdoobject.class.php 240
Error 42S02 executing statement:
Array
(
[0] => 42S02
[1] => 1146
[2] => Table 'u951182613_modx.zalsxazrp9w2_ms2_resource_files_tags' doesn't exist
)
Таблицы ms2_resource_files_tags в базе нет, да и откуда ей быть там. Никакие модули ее не создавали при установке. Есть только таблица modx.zalsxazrp9w2_ms2_resource_files.Как это можно вылечить?
Валидация файлов в Tickets
Вопрос собственно очень простой. В Tickets при работе с фронтенда есть поле прикрепеления фото:
<div class="file-upload">
<div class="ticket-form-files">
[[+files]]
</div>
<span class="error"></span>
</div>
не показывает внизу поля случаи, когда фото не прикреплено и отправляет тике с незаполненным фото. Такого быть не должно. Как показывать пользователю уведомление о незаполненности + несоответствии фото, критериям, заданным в настройках Tickets?Не работает logout
Странное поведение logout. Не происходит выход из профиля по нажатию кнопки. Логи чистые.
[[!+modx.user.id:isloggedin:is=`1`:then=`<a href="[[~14]]" title="[[!+modx.user.id:userinfo=`fullname`]]"><i class="far fa-user"></i></a>`:else=`<a href="[[~12]]" title="Авторизация/Регистрация"><i class="far fa-user"></i></a>`]]
[[!+modx.user.id:isloggedin:is=`1`:then=`<a href="[[~1? &service=`logout`]]" title="[[+actionMsg]]"><i class="fa fa-sign-out" aria-hidden="true"></i></a>`:else=``]]
Дополнительные поля при регистрации
Подскажите, как правильно добавить дополнительные поля (Имя + Фамилия при регистрации пользователя)? С последующей возможностью изменения этих полей из кабинета пользователя? Использоваться будет login
Проблемы после переноса
Переношу сайт с опенсервера на хостинг. Все пути — все прописано, исправлено.
При попытке обновления, выдает 503 ошибку. В логах:
При попытке обновления, выдает 503 ошибку. В логах:
SQLSTATE[HY000] [2005] Unknown MySQL server host '127.0.0.1:3312' (2)
При попытке расширенного обновления и ввода данных базы:[2020-11-09 08:40:40] (ERROR in xPDOConnection::connect @ /var/www/admin/data/www/site.com/core/xpdo/xpdo.class.php : 3119) SQLSTATE[HY000] [2019] Can't initialize character set (path: /usr/share/mysql/charsets/)
Что еще нужно исправить?)) hybridauth facebook как вытащить номер телефона
Настроил hybridauth, все нормально — имя пользователя и почта вытаскиваются.
Не могу понять как вытащить номер телефона пользователя?
Если указывать в настройках:
Как добавить поле телефона рядом с hybridauth, если вытащить его не получится из facebook*?
Не могу понять как вытащить номер телефона пользователя?
Если указывать в настройках:
"scope":"email,public_profile,phone"}
то facebook* выдает ошибку при авторизации.Как добавить поле телефона рядом с hybridauth, если вытащить его не получится из facebook*?
*Meta, которой принадлежат facebook и instagram признана экстремистской в России
Проверка поля select в formit
Добрый день, друзья!
Сделан форму на formit + selectpicker (как с множественным выбором, так и одиночным).
Прописал стандартные события для обработки ошибок, но ничего не работает. Обычные поля проверяются на заполненность. Поля select нет. В чем мб причина? Логи браузера пустые.
Одиночный выбор:
Сделан форму на formit + selectpicker (как с множественным выбором, так и одиночным).
Прописал стандартные события для обработки ошибок, но ничего не работает. Обычные поля проверяются на заполненность. Поля select нет. В чем мб причина? Логи браузера пустые.
Одиночный выбор:
<div class="col-md-6 col-sm-12">
<label for="age">Age</label>
<select class="selectpicker form-control" id="age" name="age" data-live-search="true">
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
<option value="32">32</option>
<option value="33">33</option>
<option value="34">34</option>
<option value="35">35</option>
<option value="36">36</option>
<option value="37">37</option>
<option value="38">38</option>
<option value="39">39</option>
<option value="40">40</option>
</select>
<span class="error"></span>
</div>
Уведомление пользователей о новом тикете
Друзья, помогите дописать плагин уведомления администратора сайта о новом тикете/об изменении существующего тикета. Написал следующий вариант:
Как отменить уведомление админа при изменении самим же админом? + при сохранении админом тикета делать ему статус 1? Готов помочь материально за идею.
<?php
switch ($modx->event->name) {
case 'OnBeforeDocFormSave':
if ($mode == 'new' || $mode == 'upd' && $resource->class_key == "Ticket") {
$resource->set('published', 0);
$modx->getService('mail', 'mail.modPHPMailer');
$modx->mail->set(modMail::MAIL_FROM, $modx->getOption('emailsender'));
$modx->mail->set(modMail::MAIL_FROM_NAME, $modx->getOption('site_name'));
$user_vo = $resource->get('createdby');
$theme_vo = $resource->get('pagetitle');
$user = $modx->getUser();
$username = $user->username;
$modx->mail->address('to', 'mail@mail.ru');
if ($mode == 'new') {
$modx->mail->set(modMail::MAIL_SUBJECT, 'New resourse on the site');
$modx->mail->set(modMail::MAIL_BODY, $modx->getChunk('dino__new_ticket.tpl', array('pagetitle'=>$theme_vo, 'createdby' => $user_vo, 'username' => $username)));
}
if ($mode == 'upd') {
$modx->mail->set(modMail::MAIL_SUBJECT, 'User edited resourse');
$modx->mail->set(modMail::MAIL_BODY, $modx->getChunk('dino__edit_ticket.tpl', array('pagetitle'=>$theme_vo, 'createdby' => $user_vo, 'username' => $username)));
}
$modx->mail->setHTML(true);
if (!$modx->mail->send()) {
$modx->log(modX::LOG_LEVEL_ERROR,'An error occurred while trying to send an email: '.$modx->mail->mailer->ErrorInfo);
}
$modx->mail->reset();
}
$resource->save();
break;
}
Все хорошо. Админ уведомляется и при новом тикете и при изменении тикета. НО. Когда администратор заходит в тикет из админки и правит его, задает ему время снятия с публикации, уведомление снова приходит админу на почту и тикет приобретает статус 0. После чего время жизни тикета из него уходит.Как отменить уведомление админа при изменении самим же админом? + при сохранении админом тикета делать ему статус 1? Готов помочь материально за идею.