Файл: upload/pages/admin/help/tickets.php
Строк: 103
<?php
require_once ($_SERVER['DOCUMENT_ROOT'] . '/core/core.php');
if ($users_perms['us_support'] != 1) {
RedirectToPage('/');
exit();
}
$max = 30;
$tickets_num = DataResult(dbquery("SELECT COUNT(*) FROM `tickets` WHERE (`time_close_deal` IS NULL OR `time_close_deal` < " . (time() - 72 * 3600) . ")"), 0);
$k_page = k_page($tickets_num, $max);
$page = page($k_page);
$start = $max * $page - $max;
$ticket = dbquery("SELECT * FROM `tickets` WHERE (`time_close_deal` IS NULL OR `time_close_deal` < " . (time() - 72 * 3600) . ") ORDER BY `id` DESC LIMIT ?, ?", [$start, $max]);
if (isset($_POST['close-ticket'])) {
check_csrf();
$ticket_id = intval($_POST['ticket_id']);
$info_action = chars($_POST['action-info']);
$tk = FetchAssoc(dbquery("SELECT * FROM `tickets` WHERE `id` = ? AND `stade` = '0'", [$ticket_id]));
if ($tk) {
dbquery("UPDATE `tickets` SET `stade` = '1', `support_response` = ? WHERE `id` = ?", [$info_action, $ticket_id]);
}
ReloadPage();
}
echo '<div class="home_us tematic">';
$breadcrumbs = generateBreadcrumbs([
['/', 'Главная'],
['/admin', 'Админ панель'],
['#', 'Тикеты']
]);
$html = $breadcrumbs['html'];
$json_ld = $breadcrumbs['json_ld'];
echo $html;
echo '<script type="application/ld+json">' . $json_ld . '</script>';
echo '<div class="modal fade" id="close-ticket" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<form method="post">
<input type="hidden" name="csrf_token" value="' . $_SESSION['csrf_token'] . '">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Закрытие тикета</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"><i class = "fas fa-xmark"></i></button>
</div>
<div class="modal-body">
<span>Ответ пользователю:</span><br>
<input type="hidden" name="ticket_id" id="ticket-id-input">
</div>
<div class="modal-footer">
<textarea name="action-info" id="modal-number-input" placeholder="Ваш ответ..." required></textarea>
<input class="button" type="submit" name="close-ticket" style="float: right; margin-left: 5px;" value="Закрыть тикет">
</div>
</div>
</div>
</form>
</div>';
echo '<div class="head_box section-header">
<div class="box_title">Тикеты</div>
</div>';
echo '<div class="side_in_count">';
include ($_SERVER['DOCUMENT_ROOT'] . '/core/elements/sidebars/panel.php');
if ($tickets_num > 0) {
echo '<div class="info_box arb">
<div class="work-flex-info_box arb">';
while ($tk = FetchAssoc($ticket)) {
$ank = FetchAssoc(dbquery("SELECT * FROM `users` WHERE `id` = ?", [$tk['us']]));
$deal = FetchAssoc(dbquery("SELECT * FROM `work_processed` WHERE `id` = ?", [$tk['deal']]));
echo '<div class="work_pay_box arb">
<div class="name_pay_work"><span class="label">Проблема:</span><span class="dual_label">' . ($tk['info_ticket'] ?? '-') . '</span></div>
<div class="date_pay_work"><span class="label">Время:</span><span class="dual_label">' . vremja($tk['time_ticket'] ?? time()) . '</span></div>
<div class="status_pay_work"><span class="label">Статус:</span><span class="dual_label">' . TicketStatus($tk['stade'] ?? '-') . '</span></div>
<div class="status_pay_work"><span class="label">Кто:</span><span class="dual_label">' . nick($tk['us'] ?? '-') . '</span></div>
<div class="status_pay_work"><span class="label">Ответ:</span><span class="dual_label">' . ($tk['support_response'] ?: "Отсутствует") . '</span></div>';
if ($tk['stade'] != 1) {
echo '<div class="but_box">
<a class="btn button" href="' . homeLink() . '/mes/' . ($tk['us'] ?? '') . '">Написать пользователю</a>
<div class="but_box"><a class="btn button set-success open-close-ticket" data-bs-toggle="modal" data-bs-target="#close-ticket" data-id="' . ($tk['id'] ?? '') . '">Закрыть тикет</a></div>';
echo '</div>';
}
echo '</div>';
}
echo '</div>';
if ($k_page > 1) {
echo str(homeLink() . '/admin/tickets?', $k_page, $page);
}
echo '</div>';
} else {
echo '<div class="error adm">Обращений еще не было</div>';
}
echo '</div>';
echo '</div>';
$page_html = ob_get_clean();
require_once ($_SERVER['DOCUMENT_ROOT'] . '/layout.php');
?>
<script>
document.addEventListener('click', function(e) {
let btn = e.target.closest('.open-close-ticket');
if (btn) {
document.getElementById('ticket-id-input').value = btn.dataset.id;
}
});
</script>