Вход Регистрация
Файл: hostbiter.ru/Modules/page/tiket.php
Строк: 77
<?
require ($_SERVER['DOCUMENT_ROOT'].'/Core/core.php');
$title 'Тех-поддержка';
require (
$_SERVER['DOCUMENT_ROOT'].'/Core/myhead.php');
switch(
$_GET['ls']){
    default:
    
$tickets $db->prepare("SELECT * FROM `tickets` WHERE `user` = ? AND `status` = ?");
    
$tickets->execute([$user['id'],'open']);
    
$tickets $tickets->rowCount();
    
$max 10;
    
$k_post $tickets;
    
$k_page k_page($k_post,$max);
    
$page page($k_page);
    
$start $max*$page-$max;
    
$all $db->prepare("SELECT * FROM `tickets` WHERE `user` = ? AND `status` = ? LIMIT $start,$max");
    
$all -> execute([$user['id'],'open']);
    
$all $all -> fetchAll();
    
?>
    Новые запросы || <a href="/page/tiket.php?ls=arc">Архив</a></div>
    Всего тикетов: <?=$k_post?><br />
    <?
    
if($k_post 0){
        foreach(
$all as $row){
            
?>
            <div class="border2" id="border"><img src="/image/edit.gif" alt="" />
            <a href="/page/tiket.php?ls=view&id=<?=$row['id']?>"><?=$row['name']?></a><br />
            Статус: <b>Открыт</b><br />
            <?
                
echo '<img src="/image/green.png" alt="" /> <a href="/page/tiket.php?ls=off&id='.$row['id'].'">Закрыть тикет</a><br /></div>';
        }
        if(
$k_page >1){
            echo 
str('?',$k_page,$page);
        }
    }else{
        echo 
'<center> 
    <div class="mess"> 
    <img src="/image/EB03.png" alt="" />  Нет тикетов!
    </div> 
    </center>'
;
    }
    
?>
    <img src="/image/page.png" alt="" /> <a href="/page/tiket.php?ls=crt">Новый тикет</a><br />
    <?
    
echo '<img src="/image/back.gif" alt="" /> <a href="/page/tiket.php">Назад</a><br />';
    break;
    case 
'crt':
    if(isset(
$_GET['crt'])){
        
$name htmlspecialchars(trim($_POST['name']));
        
$mess htmlspecialchars(trim($_POST['mess']));
        
$rule htmlspecialchars(trim($_POST['rule']));
        if(
$rule != true$err 'Вы не согласны с правилами обращения в тех-поддержку!';
        elseif(
mb_strlen($name) > 30$err 'Длина названия не более 30 символов!';
        if(!
$err){
            
$sql1 $db->prepare("INSERT INTO `tickets` (`user`,`name`) VALUES (?,?)");
            
$sql1->execute([$user['id'],$name]);
            
$sql2 $db->prepare("SELECT * FROM `tickets` WHERE `name` = ? AND `user` = ?");
            
$sql2->execute([$name,$user['id']]);
            
$tik $sql2->fetch();
            
$sql3 $db->prepare("INSERT INTO `ticket_message` (`user`,`ticket`,`message`,`time`,`status`) VALUES (?,?,?,?,?)");
            
$sql3->execute([$user['id'],$tik['id'],$mess,time(),'notread']);
            
$_SESSION['message'] = 'Тикет отправлен Администрации!';
            
header("Location: /page/tiket.php?ls=view&id=".$tik['id']);
            exit;
        }else{
            
$_SESSION['message'] = $err;
            
header("Location: /page/tiket.php?ls=crt");
            exit;
        }
    }
    
?>
    <div id="border">Создание тикета</div>
                <b>Порядок обращения:</b><br />
                <b>1.</b> Мы НЕ оказываем техническую поддержку третьим лицам.<br />
                <b>2.</b> Мы НЕ отвечаем на вопросы типа: "Напишите нам скрипт", "Давайте знакомиться" и прочие несодержательные сообщения.<br />
                <b>3.</b> Мы НЕ знаем и не будем узнавать почему у вас не работает тот или иной скрипт.<br />
                <b>4.</b> За ненормативную лексику, оскорбления, флейм вы будете <font color="red">отключены</font> от возможности обращения в Тикет систему!<br />
                <b>5.</b> Мы не решаем вопросы, ответы на которые есть в свободном доступе и обсуждались много раз.
                К этим вопросам относятся "Как парковать домен", "Как ставить движок", "Как писать дизайны" и т.д.<br />
                <b>Техническая поддержка НЕ обязана:</b><br />
                1. Устанавливать/настраивать для клиента wap/web-скрипты, которые он по каким либо причинам не может установить самостоятельно.<br />
                2. Настраивать Веб-сервер под нужды клиента (это Шаред хостинг).<br />
                3. Обучать клиента, как пользоваться серверными приложениями. (есть источник: Интернет! Там можно найти нужную вам информацию).<br />
                4. Распаковывать Backup данных, в случаи утери клиентом файлов по причине Халатности.<br />
                <br />
                 Не стоит ИГНОРИРОВАТЬ эти правила! В противном случае ваш запрос останется без ответа.<br />
                <b style="color:red;"> Старайтесь как можно чётче сформулировать свой вопрос</b><br />
                <div class="list">
                    <p>
    
                        <form name="form" method="post" action="/page/tiket.php?ls=crt&crt">
                            Тема (max 30): <br />
                            <input name="name" type="text" required/><br />
                            Сообщение:
                            <div>
                                <textarea cols="5" rows="5" name="mess" required></textarea><br />
                                <input type="checkbox" value="true" name="rule" /> <b><font color="red">С правилами создания тикета ознакомлен и согласен</font></b><br />
                                <button type="submit" name="crt">Создать</button> 
                            </div>
                        </form>
                    </p>
                </div>
                <img src="/image/back.gif" alt="" /> <a href="/page/tiket.php">Назад</a><br />

    <?
    
break;
    case 
'off':
    
$id abs(intval($_GET['id']));
    
$sql4 $db->prepare("SELECT * FROM `tickets` WHERE `id` = ?");
    
$sql4->execute([$id]);
    
$sql4 $sql4->fetch();
    if(
$sql4['user'] != $user['id'] OR $user['admin'] == 0){
        
$_SESSION['message'] = 'Тикет не принадлежит вам!';
        
header("Location: /page/tiket.php");
        exit;
    }else{
        
$sql5 $db->prepare("UPDATE `tickets` SET `status` = ? WHERE `id` = ?");
        
$sql5->execute(['close',$id]);
        
$_SESSION['message'] = 'Тикет закрыт!';
        
header("Location: /page/tiket.php");
        exit;
    }
    break;
    case 
'on':
    
$id abs(intval($_GET['id']));
    
$sql4 $db->prepare("SELECT * FROM `tickets` WHERE `id` = ?");
    
$sql4->execute([$id]);
    
$sql4 $sql4->fetch();
    if(
$sql4['user'] != $user['id'] OR $user['admin'] == 0){
        
$_SESSION['message'] = 'Тикет не принадлежит вам!';
        
header("Location: /page/tiket.php");
        exit;
    }else{
        
$sql5 $db->prepare("UPDATE `tickets` SET `status` = ? WHERE `id` = ?");
        
$sql5->execute(['open',$id]);
        
$_SESSION['message'] = 'Тикет открыт!';
        
header("Location: /page/tiket.php");
        exit;
    }
    break;
    case 
'view':
    
$id abs(intval($_GET['id']));
    
$ticket $db->prepare("SELECT * FROM `ticket_message` WHERE `ticket` = ?");
    
$ticket->execute([$id]);
    
$ticket $ticket->rowCount();
    
$ticketss $db->prepare("SELECT * FROM `tickets` WHERE `id` = ?");
    
$ticketss->execute([$id]);
    
$tick $ticketss->fetch();
    if(
$tick['user'] != $user['id'])
    {
        
$_SESSION['message'] = 'Нет доступа!';
        
header("Location: /page/tiket.php");
        exit;
    }
    
$max 10;
    
$status = ['open' => 'Открыт''close' => 'Закрыт'];
    
$k_post $ticket;
    
$k_page k_page($k_post,$max);
    
$page page($k_page);
    
$start $max*$page-$max;
    
$all $db->prepare("SELECT * FROM `ticket_message` WHERE `ticket` = ? ORDER BY `time` DESC LIMIT $start,$max");
    
$all -> execute([$id]);
    
$all $all -> fetchAll();
    if(isset(
$_GET['add'])){
        
$id1 abs(intval($_GET['id']));
        
$tic $db->prepare("SELECT * FROM `tickets` WHERE `id` = ?");
        
$tic->execute([$id1]);
        
$tic $tic->rowCount();
        
$message htmlspecialchars(trim($_POST['message']));
        if(
$user['admin'] < 1$err 'Вы не специалист тех-поддержки!';
        if(!
$err){
            if(
$user['admin'] > 0){
                
$userer 0;
            }else{
                
$userer $user['id'];
            }
            
$sql6 $db->prepare("INSERT INTO `ticket_message` (`user`,`message`,`ticket`,`time`,`status`) VALUES (?,?,?,?,?)");
            
$sql6->execute([$userer,$message,$id1,time(),'notread']);
            
$_SESSION['message'] = 'Сообщение добавлено!!';
            
header("Location: /page/tiket.php?ls=view&id=".$id1);
            exit;
        }else{
            
$_SESSION['message'] = $err;
            
header("Location: /page/tiket.php?ls=view&id=".$id1);
            exit;
        }
    }
    echo 
'<div id="border">Просмотр тикета</div>Тема: '.$tick['name'].'<br />
                Статус: '
.$status[$tick['status']].'<br />
                Всего сообщений: '
.$k_post.'<br /><br />';
    foreach(
$all as $row){
        
$us $db->prepare("SELECT * FROM `users` WHERE `id` = ?");
        
$us->execute([$row['user']]);
        
$us $us->fetch();
        if(
$row['user'] != 0){
            
$log $us['login'];
        }else{
            
$log 'Тех-поддержка';
        }
        echo 
'<div id="border" class="border1"><FIELDSET><LEGEND>  '.$log.' </LEGEND> <br />'.$row['message'].'</FIELDSET></div>';
    }
    if(
$k_page >1){
    echo 
str('?',$k_page,$page);
    }
    echo 
'<div class="list">
<p>
<form name="form" method="post" action="/page/tiket.php?ls=view&id='
.$id.'&add">
<br />Новое сообщение:<br />
<div>
<textarea cols="5" rows="5" name="message" required></textarea><br />
<button type="submit" name="add">Написать</button>
</div>
</form>
</p>
</div><br />'
;
    if(
$user['admin'] > 0){
        if(
$tick['status'] == 'open'){
            echo 
'<img src="/image/back.gif" alt="" /> <a href="/page/tiket.php?ls=off&id='.$id.'">Закрыть тикет</a><br />';
        }else{echo 
'<img src="/image/back.gif" alt="" /> <a href="/page/tiket.php?ls=on&id='.$id.'">Открыть тикет</a><br />';}
    }
    echo 
'<img src="/image/back.gif" alt="" /> <a href="/page/tiket.php">Назад</a><br />';
    break;
    case 
'arc':
    
$tickets $db->prepare("SELECT * FROM `tickets` WHERE `user` = ? AND `status` = ?");
    
$tickets->execute([$user['id'],'close']);
    
$tickets $tickets->rowCount();
    
$max 10;
    
$k_post $tickets;
    
$k_page k_page($k_post,$max);
    
$page page($k_page);
    
$start $max*$page-$max;
    
$all $db->prepare("SELECT * FROM `tickets` WHERE `user` = ? AND `status` = ? LIMIT $start,$max");
    
$all -> execute([$user['id'],'close']);
    
$all $all -> fetchAll();
    
?>
    <a href="/page/tiket.php">Новые запросы</a> || Архив</div>
    Всего тикетов: <?=$k_post?><br />
    <?
    
if($k_post 0){
        foreach(
$all as $row){
            
?>
            <div class="border2" id="border"><img src="/image/edit.gif" alt="" />
            <a href="/page/tiket.php?ls=view&id=<?=$row['id']?>"><?=$row['name']?></a><br />
            <?
                
echo '<img src="/image/green.png" alt="" /> <a href="/page/tiket.php?ls=on&id='.$row['id'].'">Открыть тикет</a><br /></div>';
        }
        if(
$k_page >1){
            echo 
str('?',$k_page,$page);
        }
    }else{
        echo 
'<center> 
    <div class="mess"> 
    <img src="/image/EB03.png" alt="" />  Архив пуст!
    </div> 
    </center>'
;
    }
    echo 
'<img src="/image/back.gif" alt="" /> <a href="/page/tiket.php">Назад</a><br />';
    break;
}
require (
$_SERVER['DOCUMENT_ROOT'].'/Core/myfoot.php');
?>
Онлайн: 1
Реклама