<?php
require_once('../classes/body.class.php');
require_once('../classes/db.class.php');
require_once('../classes/system.class.php');
$title= new Body;
$id = isset($_GET['id']) ? abs((int)$_GET['id']) : false;
$array = DB::$dbs->query("SELECT * FROM `support` WHERE `id` = ? LIMIT 1", [$id]);
if ($array -> rowCount() == 0) {
header('location: /');
die();
}
$arr = $array -> fetch();
if ($arr['user_id'] != $b['id'] AND $b['level'] < 3) {
header('location: /');
die();
}
$title->GetHeader();
$title->SetTitle('Служба поддержки - '.$arr['name']);
echo'<div class="tile"><div class="t-header th-alt bg-teal"><div class="th-title"><i class="zmdi zmdi-widgets"></i><a href="/"style="text-decoration:none; color:white;"> Главная</a> ::  <a href="/support"style="text-decoration:none; color:white;">Служба поддержки</a> ::  '.$arr['name'].' </div></div>';
$list_cat = [1 => 'Оплата через WEBMONEY/QIWI', 2 => 'Проблемы с платежами', 3 => 'Изменение ника', 4 => 'Обжалование наказаний', 5 => 'Общие вопросы', 6 => 'Восстановление пароля', 7 => 'Изменение пароля', 8 => 'Найденные ошибки', 9 => 'Случаи мошенничества', 10 => 'Финансы, биллинг', 11 => 'Служба поддержки', 12 => 'Жалобы на администрацию', 13 => 'Заявки на участие в закрытых тестированиях.']; // массив с категориями
if ($arr['type'] == 1) {
$status = (($arr['user_id'] == $b['id'] OR $b['level'] > 2) ? '[<a href="?id='.$id.'&closed">Закрыть</a>]':NULL);
} elseif ($arr['type'] == 2) {
$status = ($b['level'] > 2 ? '[<a href="?id='.$id.'&open">Открыть</a>]':NULL);
}
if (isset($_GET['closed'])) {
if ($arr['user_id'] != $b['id'] AND $b['level'] < 3) {
header('location: /');
die();
}
DB::$dbs->query("UPDATE support SET type = ? WHERE id = ?", [2,$id]);
header('location: ?id='.$id);
die();
}
if (isset($_GET['open'])) {
if ($b['level'] < 3) {
header('location: /');
die();
}
DB::$dbs->query("UPDATE support SET type = ? WHERE id = ?", [1,$id]);
header('location: ?id='.$id);
die();
}
$WHO = Nick($arr['user_id']);
echo '<div class="list-group-item media"><i class="zmdi zmdi-comments"></i>  Название тикета: <b>'.$arr['name'].'</b></br><b>Описание:</b></br> '.text($arr['text']).'</br><i class="zmdi zmdi-account"></i>  Создал: '.(($arr['user_id'] == $b['id']) ? '<b>Я</b>': $WHO).' ('.vr($arr['time']).')</br><i class="zmdi zmdi-book"></i>  Категория: '.strtr($arr['cat'], $list_cat).'</br><i class="zmdi zmdi-comments"></i>  Статус: <b>'.($arr['type'] == 1 ? 'Открытый тикет':'Закрытый тикет').'</b> '.$status.'</div>';
echo '<div class="tile"><div class="t-header th-alt bg-teal"><div class="th-title"><i class="zmdi zmdi-comments"></i> Комментарии</div></div></div>';
if ($arr['type'] == 1) {
if (isset($_POST['add'])) {
$ScreenName = $_FILES['file']['name'];
$ScreenSize = $_FILES['file']['size'];
$frm = array('.jpg', '.jpeg', '.gif', '.png');
$scr = mb_strtolower(strrchr($ScreenName, '.'), 'UTF8');
$list = ['text' => isset($_POST['text']) ? check($_POST['text']) : null];
if (empty($list['text'])) {
err('Введите текст!');
} elseif (!empty($ScreenName) && $ScreenSize > (1024 * 500)){
err('Размер скриншота не должен быть более 500 Kb!');
} elseif (!empty($ScreenName) && preg_match('/(\.php|\.pl|\.htaccess)/i', $ScreenName) || !empty($ScreenName) && !in_array($scr, $frm)) {
err('Скриншот не является изображением!');
} else {
$ScreenFile = (!empty($ScreenName) ?  'files/support/'.homeurl.'_' . mt_rand(10000, 99999) . '_' .retrans($ScreenName) : '');
if (!empty($ScreenName)) {
copy($_FILES['file']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].'/'.$ScreenFile);
}
DB::$dbs->query("INSERT INTO support_mess SET text = ?, user_id = ?, tid = ?, screen = ?, time = ?", [$list['text'],$b['id'],$id,$ScreenFile,time()]);
$mess = Nick($b['id']).' ответил вам в тикет <a href="/support/view.html?id='.$id.'">'.$arr['name'].'</a>';
if ($arr['user_id'] != $b['id']) {
jurnal($arr['user_id'],$mess,5);
}
header('location: ?id='.$id);
die();
}
}
echo '<div class="list-group-item media"> <form action="?id='.$id.'" method="POST" enctype="multipart/form-data">Текст:<br/></br>';
quickpaste('text');
quickpanel();
echo'<br/><br/><textarea class="form-control" rows="8" name="text"></textarea><br/>Скриншот: <br/><input type="file" class="form-control" name="file"/><br/><input type="submit" class="btn btn-primary" name="add" value="Отправить"/></form></div>';
} else err('<img src="/assets/images/warning.png" alt="*" align="middle" /> Этот тикет закрыт, вы не можете писать ответы и редактировать сообщения.');
$look = DB::$dbs->querySingle("SELECT COUNT(id) FROM `support_mess` WHERE `tid` = ?", [$id]);
if ($look == 0) {
err('Ответов нет');
}
$num = 10;
$k_page = k_page($look, $num);
$page = page($k_page);
$start = $num*$page-$num;
$sql = DB::$dbs->query("SELECT * FROM `support_mess` WHERE `tid` = ? ORDER BY `time` DESC LIMIT $start,$num", [$id]);
while($a = $sql->fetch()) {
echo '<div class="list-group-item media">'.Nick($a['user_id']).' ('.vr($a['time']).')</div><div class="list-group-item media">'.text($a['text']).(!empty($a['screen']) ? '<br/><b>Файл:</b><br/><a href="/'.$a['screen'].'">'.substr($a['screen'],14,250).'</a>' : NULL).'</div>';
}
if ($k_page > 1) {
str('?id='.$id.'&',$k_page,$page);
}
$title->GetMenu();
$title->GetFooter();
?>