Страница тикеты

Предназначена для отображения списка обращений пользователя.

Стандарт именования: tickets.php

На странице обязательно должна быть форма создания нового тикета, которая включает в себя:

Обязательные поля
Тема обращения (subject)
Текст обращения (text)

А также кнопку "Отправить" (submit)

Форму отправляем методом "post" на обработчик action="/handlers/users/new_ticket.php" Перед отправкой обязательно необходима инициализация формы функцией form_init()

Если во время создания отзыва возникает ошибка, будет произведен редирект на эту страницу. Ошибка будет выведена на месте функции flash_show('new_ticket').

new_ticket.php
<form method="post" action="/handlers/user/new_ticket.php">
    <?php echo form_init(); ?>
    <?php echo flash_show('new_ticket'); ?>
 
    <?php echo T('Введите тему обращения:'); ?>
    <input  
         type="text"
         name="subject"  
         required
         placeholder="<?php echo T('Введите тему'); ?>">
 
 
    <?php echo T('Введите текст обращения'); ?>
    <textarea 
         name="text"
         placeholder=" <?php echo T('Опишите вашу проблему подробнее...'); ?>"
         required></textarea>
 
 
    <input 
         type="submit"
         name="support_add_appeal"
         value="<?php echo T('Отправить'); ?>">
</form>

Также на странице располагается История обращений пользователя. История обращений выводится функцией support_get_appeal_list().

tickets_history.php
<table>
    <tr>
        <th><?php echo T('Дата'); ?></th>
        <th><?php echo T('Тема'); ?></th>
        <th><?php echo T('Статус'); ?></th>
    </tr>
    <?php $list = support_get_appeal_list($login);
    if ($list) {
        foreach ($list as $row) { ?>
            <tr>
                <td><?php echo bm_date($row['date']); ?></td>
                <td>
                    <a href="/user/ticket_id/?id=<?php echo $row['id']; ?>"><?php echo escape($row['subject']); ?></a>
                </td>
                <td>
                    <?php echo support_status($row['status']); ?>
                </td>
            </tr>
        <?php } ?>
    <?php } else { ?>
        <tr>
            <td colspan="3">
                <?php echo T('Записей не обнаружено'); ?>
            </td>
        </tr>
    <?php } ?>
</table>

Форма ответа,переписка с администратором отображаются на отдельной странице.

Стандарт именования: ticket_id.php

На странице обязательно должна быть форма ответа, которая включает в себя:

Обязательные поля
Текст ответа (text)
Скрытое поле (id обращения)

А также кнопку "Отправить" (submit)

Форму отправляем методом "post" на обработчик action="/handlers/users/send_answer_ticker.php" Перед отправкой обязательно необходима инициализация формы функцией form_init()

Если во время ответа на обращение возникает ошибка, будет произведен редирект на эту страницу. Ошибка будет выведена на месте функции flash_show('send_answer_ticker').

send_answer_ticker.php
<form method="post" action="/handlers/user/send_answer_ticker.php">
    <?php echo form_init(); ?>
    <?php echo flash_show('send_answer_ticker'); ?>
 
    <?php echo T('Ответ'); ?>
 
    <textarea placeholder="<?php echo T('Поле для ввода ответа...'); ?>" name="text"></textarea>
 
    <input type="submit" name="support_add_message" value="<?php echo T('Отправить'); ?>">
    <input type="hidden" value="<?php echo (int)$appeal['id']; ?>" name="id">
</form>

Переписка с администрацией выводится функцией support_get_messages_list()

ticket_id.php
<?php $appeal = support_get_appeal_by_id(get('id')); ?>
<div>
    <?php foreach (support_get_messages_list($appeal['id']) as $row) { ?>
        <b>
            <?php if ($login === $row['login']) { ?>
                <a>You</a>
            <?php } else { ?>
                <a>Support</a>
            <?php } ?>
        </b> :: <?php echo bm_date($row['date']); ?>
 
        <p>
            <?php echo escape($row['text']); ?>
        </p>
 
        <hr />
    <?php } ?>
</div>

Переменные и функции

  • pages/internal/tickets.txt
  • Последнее изменение: 2019/10/18 10:10
  • devcom