Вход Регистрация
Файл: Arhmobi_esdcms/support/tiket.php
Строк: 84
<?php
/*
* Модуль: Поддержака сайта(Тикеты) 
* Автор: LeXoN
* Моя анкета: http://dcms.su/profile.view.php?id=2843
* Сайт: DcmsTema.ru
*/
include_once '../sys/inc/start.php';
$doc = new document(1);
$doc->title __('Просмотр тикета');

//Проверка на передачу ИД
if (!isset($_GET['id']) || !is_numeric($_GET['id'])) {
    
header('Refresh: 1; url=./');
    
$doc->err(__('Ошибка выбора тикета'));
    exit;
}
//Присвоение ИД к пременой ** $id_tiket
$id_tiket = (int) $_GET['id'];
//Проверка на существования тикита с таким ИД
$q $db->prepare("SELECT * FROM `tiket` WHERE `id` = ?  LIMIT 1");
$q->execute(Array($id_tiket));

if (!
$tiket $q->fetch()) {
    if (isset(
$_GET['return']))
        
header('Refresh: 1; url=' $_GET['return']);
    else
        
header('Refresh: 1; url=./');
    
$doc->err(__('Тикет не существует'));
    exit;
}
$autor = new user($tiket['id_user']);//Автор тикета

//Страничка только для автора и администрации
if (($autor->id == $user->id)||($user->group >= 3)){}else{
    
header('Refresh: 1; url=./');
    
$doc->err(__('Доступ запрещен'));
    exit;
}
 if (isset(
$_POST['send']) && isset($_POST['message']) && isset($_POST['token']) && $user->group) {
        
$message = (string)$_POST['message'];
        
$message text::input_text($message);

        if (!
antiflood::useToken($_POST['token'], 'tiket')) {
            
// нет токена (обычно, повторная отправка формы)
        
} elseif ($dcms->censure && $mat is_valid::mat($message)) {
            
$doc->err(__('Обнаружен мат: %s'$mat));
        } elseif (
$message) {
           
$res $db->prepare("INSERT INTO `tiket_kom` (`id_list`, `id_user`, `msg`, `time`, `otv`) VALUES (?,?, ?, ?, ?)");
           
$res->execute(Array($tiket['id'],$user->id,$message,TIME,$user->id==$autor->id '0':'1'));
            
header('Refresh: 1; url=?id='.$tiket['id'].'&amp;' passgen() . '&' SID);
            
$doc->ret(__('Вернуться'), '?id='.$tiket['id'].'&amp;' passgen());
            
$doc->msg(__('Сообщение успешно отправлено'));
            if(
$user->id != $autor->id){
            
$autor->mess("[user]{$user->id}[/user] ответил" . ($user->sex '' 'а') . "  Вам в тикете  [url=/support/tiket.php?id={$tiket['id']}]".text::toValue($tiket['name'])."[/url] :: [url=/support/tiket.php?id={$tiket['id']}]Перейти[/url]");
            }else{
            
$users groups::getAdmins();
               foreach (
$users AS $ank) {
               
$ank->mess("Новое сообщение в тикете  [url=/support/tiket.php?id={$tiket['id']}]".text::toValue($tiket['name'])."[/url] :: [url=/support/tiket.php?id={$tiket['id']}]Перейти[/url]");
               }
            }   
            exit;
        } else {
            
$doc->err(__('Сообщение пусто'));
        }
    
}
    
$doc->title .= ': '.text::toValue($tiket['name']);

$listing = new listing();
     
$post $listing->post();
     
$post->hightlight true;
     
$post->icon("tiket.{$tiket['down']}");
     
$post->title __('Вопрос').':';
     
$post->time misc::when($tiket['time']);
     
$post->content text::toOutput($tiket['msg']).'<br />';
     
$post->content .= text::toOutput('[b]'__('Статус').':[/b]').'<br />';
     if (
$tiket['down'])
     
$post->content .= text::toOutput('[green]'__('Открыт').'[/green]').'<br />';
     else
     
$post->content .= text::toOutput('[red]'__('Закрыт').'[/red]').'<br />';
     if(
$autor->id !== $user->id)
     
$post->bottom __('Добавил' . ($autor->sex'':'а').': %s',$autor->show());
$listing->display();
$pages = new pages($db->query("SELECT COUNT(*) FROM `tiket_kom` WHERE `id_list` = '$tiket[id]'")->fetchColumn());
            if (
$pages->this_page == && $tiket['down']==1) {
            
$form = new form('?id='.$tiket['id'].'&amp;' passgen());
            
$form->refresh_url('?id='.$tiket['id'].'&amp;' passgen());
            
$form->hidden('token'antiflood::getToken('tiket'));
            
$form->textarea('message', ($autor->id == $user->id __('Сообщение'):__('Ответ на тикет')));
            
$form->button(__('Отправить'), 'send'false);
            
$form->display();
            }
$listing = new listing();


$q $db->query("SELECT * FROM  `tiket_kom` WHERE `id_list` = '$tiket[id]' ORDER BY `time` DESC LIMIT ".$pages->limit);
if (
$arr $q->fetchAll()) {
    foreach (
$arr AS $kom) {
    
$ank = new user($kom['id_user']);
    
$post $listing->post();
    
$post->image $ank->ava();
    
$post->time misc::when($kom['time']);
    if(
$ank->id == $autor->id)
    
$post->title __('Сообщение (%s)',$ank->nick).':';
    else
    
$post->title __('Ответ (%s)',$ank->nick).':';
    
$post->post text::toOutput($kom['msg']);
    if (
$user->group >= 3){
    
$post->action('edit''kom.action.php?id='.$tiket['id'].'&amp;id_kom='.$kom['id'].'&amp;act=edit'); // редактирование
    
$post->action("delete"'kom.action.php?id='.$tiket['id'].'&amp;id_kom='.$kom['id'].'&amp;act=delete');
    }elseif (
$user->id == $ank->id && TIME $kom['time'] + 600) {
    
// автору сообщения разрешается его редактировать в течении 10 минут
    
$post->action('edit''kom.action.php?id='.$tiket['id'].'&amp;id_kom='.$kom['id'].'&amp;act=edit'); // редактирование
    
}
}}

$listing->display(__('Ответы отсутствуют'));
$pages->display('?id='.$tiket['id'].'&amp;'); // вывод страниц

if (($user->group >= || $user->id==$autor->id)&& $tiket['down']==1)
    
$doc->act(__('Закрыть тикет'), 'act.php?id='.$tiket['id'].'&amp;act=clous');
if ((
$user->group >= 3)&& $tiket['down']==0)
    
$doc->act(__('Открыть тикет'), 'act.php?id='.$tiket['id'].'&amp;act=clous');
if (
$user->group >= 3)
    
$doc->act(__('Удалить тикет'), 'act.php?id='.$tiket['id'].'&amp;act=delete');
    
if (
$user->group >= ){
    
$doc->ret(__('Все тикеты (Админка) '), '/dpanel/adm.tiket.php');
    
$doc->ret(__('Тикеты %s',$autor->nick), 'index.php?id='.$autor->id);
    }
    
$doc->ret(__('Мои тикеты'), '/support/');
Онлайн: 1
Реклама