Вход Регистрация
Файл: upload/pages/tickets/tickets.php
Строк: 49
<?php
require_once ($_SERVER['DOCUMENT_ROOT'] . '/core/core.php');

if (!isset(
$user['id'])) {
    
showAlert('Ошибка''fail''Сперва необходимо авторизоваться');
    
RedirectToPage('/');
    exit();
}

if (isset(
$_POST['open-ticket'])) {
    
check_csrf();
    
$info chars($_POST['ticket-info']);
    
$deal intval($_POST['ticket-deal']);

    
$tcdeal 'NULL';

    if (
$deal 0) {
        
$deal_select FetchAssoc(dbquery("SELECT * FROM `work_processed` WHERE `id` = ? AND (`worker` = ? OR `creator` = ?) AND `stade` = '2'", [$deal$user['id'], $user['id']]));

        if (
$deal_select) {
            
$tcdeal $deal_select['time_close_work'];
        }
    }

    
dbquery("INSERT INTO `tickets` (`deal`, `us`, `stade`, `time_ticket`, `info_ticket`, `support_response`, `time_close_deal`) VALUES (?, ?, '0', ?, ?, '', ?)", [$deal$user['id'], time(), $info$tcdeal]);

    
ReloadPage();
}

if (isset(
$_POST['close-ticket'])) {
    
check_csrf();
    
$ticket_id intval($_POST['ticket_id']);

    
$tk FetchAssoc(dbquery("SELECT * FROM `tickets` WHERE `id` = ? AND `us` = ? AND `stade` = '0'", [$ticket_id$user['id']]));

    if (
$tk) {
        
dbquery("UPDATE `tickets` SET `stade` = '1' WHERE `id` = ?", [$ticket_id]);
    }

    
ReloadPage();
}

$breadcrumbs generateBreadcrumbs([
    [
'/''Главная'],
    [
'#''Тикеты']
]);

$query dbquery("SELECT * FROM `work_processed` WHERE `stade` = '2' AND (`worker` = ? OR `creator` = ?) ORDER BY `id`", [$user['id'], $user['id']]);

// Список сделок для модалки
$dealOptions '';
while (
$dealID FetchAssoc($query)) {
    
$dealOptions .= '<option value="' $dealID['id'] . '">Сделка № ' $dealID['id'] . '</option>';
}

// Пагинация
$max 30;
$tickets_num DataResult(dbquery("SELECT COUNT(*) FROM tickets WHERE us = ?", [$user['id']]), 0);

$k_page k_page($tickets_num$max);
$page page($k_page);
$start $max $page $max;

// Получаем тикеты
$q dbquery("SELECT * FROM tickets WHERE us = ? ORDER BY id DESC LIMIT ?, ?", [$user['id'], $start$max]);

$tickets = [];
while (
$tk FetchAssoc($q)) {
    
$tickets[] = [
        
'id' => $tk['id'],
        
'info' => $tk['info_ticket'],
        
'time' => vremja($tk['time_ticket']),
        
'status' => TicketStatus($tk['stade']),
        
'response' => $tk['support_response'] ?: '-',
        
'closed' => ($tk['stade'] == 1)
    ];
}

$pagination '';
if (
$k_page 1) {
    
$pagination str(homeLink() . '/tickets?'$k_page$page);
}

$page_html $view->render('pages/tickets/tickets.html', [
    
'breadcrumbs_html' => $breadcrumbs['html'],
    
'breadcrumbs_json' => $breadcrumbs['json_ld'],

    
'csrf' => $_SESSION['csrf_token'],
    
'deals_options' => $dealOptions,

    
'tickets' => $tickets,
    
'pagination' => $pagination
]);

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>
Онлайн: 2
Реклама