View file tickets/view/index.php

File size: 7.23Kb
<?
/**
 * @ PACKAGE  =   DCMS-SOCIAL
 * @ AUTHOR   =   DARIK 
 */
 
	include_once '../../sys/inc/start.php';include_once '../../sys/inc/compress.php';include_once '../../sys/inc/sess.php';
	include_once '../../sys/inc/home.php';include_once '../../sys/inc/settings.php';include_once '../../sys/inc/db_connect.php';
	include_once '../../sys/inc/ipua.php';include_once '../../sys/inc/fnc.php';include_once '../../sys/inc/user.php';

// Только для пользователей

	if (!isset($user))header("location: /index.php?");
	
// ID

	define ('id', isset( $_GET['id'] ) ? abs(intval($_GET['id'])) : 0);	
	$act = mysql_fetch_assoc(mysql_query("SELECT * FROM `tickets` WHERE `id` = '".id."' LIMIT 1"));	
	$description = htmlspecialchars( $act['description'] );
	$acts = mysql_fetch_assoc(mysql_query("SELECT name FROM `tickets_type` WHERE `id` = $act[type] LIMIT 1"));	
	$sys = mysql_fetch_assoc(mysql_query("SELECT * FROM `tickets_sys` WHERE `id` = 1 LIMIT 1"));	
	$name = htmlspecialchars( $acts['name'] );
	$st = array('<span style="color:  #8c1422 ;"> На рассмотрение</span>','<span style="color:  #8c1422 ;"> Отклонено</span>','<span style="color:  #8c1422 ;"> Закрыт</span>');
	$ank = mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `id` = $act[user] LIMIT 1"));	
	$reason = htmlspecialchars( $act['reason'] );
	$count = mysql_result(mysql_query("SELECT COUNT(id) FROM `tickets_comm` WHERE `tickets` = '".id."'"), 0);
	
// если только существует 	
	
	if (!empty($act)) {
		
// только если заявка пользователя либо админ

	if ($act['user'] == $user['id'] || $user['level'] > 0)	{		
	
// Отправка заявки
	
	if (isset($_POST['description']) && isset($user))
	{
	$des = htmlspecialchars( $_POST['description'] );
	$mat = antimat($des);
	if ($mat)$err[] = 'В тексте сообщения обнаружен мат: ' . $mat;
	if (strlen2($des) > 501){ $err[] = 'Комментарии слишком длинный'; }
	if (strlen2($des) < 3){ $err[] = 'Короткий комментарий'; }
	if (mysql_result(mysql_query("SELECT COUNT(*) FROM `tickets_comm` WHERE `user` = '$user[id]' AND `description` = '$des' LIMIT 1"),0) != 0)
	{
	$err = 'Вы уже писали ранее такой же комментарий.';
	}
	if(!isset($err))
	{
	if($act['user'] != $user['id']){
	$msg = '
	Уведомляем о том что, на вашей [url=/tickets/view/?id='.id.']заявке[/url] новый комментарий.
	';
	// отправка сообщения
	mysql_query("INSERT INTO `mail` (`id_user`, `id_kont`, `msg`, `time`) values('$sys[user]', '$act[user]', '".my_esc($msg)."', '$time')");
	// добавляем в контакты
	if ($user['add_konts']==1 && mysql_result(mysql_query("SELECT COUNT(*) FROM `users_konts` WHERE `id_user` = '$sys[user]' AND `id_kont` = '$act[user]'"),0)==0)
	mysql_query("INSERT INTO `users_konts` (`id_user`, `id_kont`, `time`) VALUES ('$sys[user]', '$act[user]', '$time')");
	// обновление сведений о контакте
	mysql_query("UPDATE `users_konts` SET `time` = '$time' WHERE `id_user` = '$sys[user]' AND `id_kont` = '$act[user]' OR `id_user` = '$act[user]' AND `id_kont` = '$sys[user]'");
	}	
	mysql_query("INSERT INTO `tickets_comm` (user, time, description, tickets) values('$user[id]', '$time', '" .$des . "', '" .id. "' )");
	$_SESSION['message'] = 'Комментарий успешно добавлен';
	header ("Location: /tickets/view/?id=".id."" . SID);
	exit;
	}
	}	
	
	
// заголовок страницы
	$set['title'] = 'Тех.поддержка  : admin_panel : заявка '; 
	
// head	
	include_once '../../sys/inc/thead.php';
	
	title();
	aut();
	err();

// style

	echo'
	<link rel="stylesheet" href="/tickets/style.css" type="text/css" />
	<div class="block_y"><div class="s_y">
	<span style="float: right;"><a href="/tickets/delete/?id='.$act['id'].'"> <img src="/tickets/img/delete.png" alt="*"></a></span>
	<span class="light_item">Заявка:</span> '.$name.'</br>
	<span class="light_item">Статус:</span> '.$st[$act['st']].'</br>
	<span class="light_item">Время создания:</span> ' . vremja($act['time']) . '</br>
	'.($user['level'] > 0 ? '<span class="light_item">Создал:</span> '. user::avatar($ank['id'],  2).''. user::nick($ank['id'], 1, 1, 1).'</br>':'').'
	<span class="light_item">Описание:</span> '.$description.'</br>
	'.($reason == null ? '':'<span class="light_item">Причина отказа:</span> '.$reason.'</br>').'
	'.($user['level'] > 0 ? '
	'.($act['st'] == 0 ? '<a href="/tickets/admin/loc/?st=2&id='.$act['id'].'">Отклонить</a> | <a href="/tickets/admin/loc/?st=3&id='.$act['id'].'">Закрыть</a>':'' ).'
	'.($act['st'] == 1 ? '<a href="/tickets/admin/loc/?st=1&id='.$act['id'].'">На рассмотрение</a> | <a href="/tickets/admin/loc/?st=3&id='.$act['id'].'">Закрыть</a>':'' ).'
	'.($act['st'] == 2 ? '<a href="/tickets/admin/loc/?st=1&id='.$act['id'].'">На рассмотрение</a> | <a href="/tickets/admin/loc/?st=2&id='.$act['id'].'">Отклонить</a>':'' ).'
	'.($reason == null ? '
	'.($act['st'] == 1 || $act['st'] == 2 ? '| <a href="/tickets/admin/reason/?id='.$act['id'].'">Указать причину отказа</a>':'').'
	':'').'
	':'').'
	</div></div>
	<div class="block_y"><div class="st_y">Комментарии ('.$count.')</div>';
	
// выводим комментарии

	$k_page = k_page($count, $set['p_str']);
	$page = page($k_page);
	$start = $set['p_str'] * $page - $set['p_str'];
	$q = mysql_query("SELECT * FROM `tickets_comm` WHERE `tickets` = '".id."' ORDER BY time DESC LIMIT $start, $set[p_str]");	
	while ($post = mysql_fetch_assoc($q))
	{
	$ank2 = mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `id` = $post[user] LIMIT 1"));		
	$description2 = htmlspecialchars( $post['description'] );
	echo '
	<div class="s_y">
	<span style="float: right;">' . vremja($post['time']) . '</span>
	'. user::avatar($ank2['id'],  2).''. user::nick($ank2['id'], 1, 1, 1).' 
	'.($user['level'] > 0 ? '
	- <a href="/tickets/comm_delete/?tic='.$act['id'].'&id='.$post['id'].'"> <img src="/tickets/img/delete.png" alt="*"></a>
	':'').'
	</br>
	'.$description2.'
	</div>
	';
	}	
	
// если только на расммотрение	
	
	if ($act['st'] == 0){
	
	echo'
	<form action="" method="post">    
	<div class="block_y"> 
	<b>Добавить комментарий:</b><br> 
	<textarea name="description" rows="5" cols="17" style="width:95%"></textarea><br>
	<input type="submit" value="Добавить">
	</div>   
	</form>
	<div style="color:#9b2d30; padding:8px;">Приватные комментарии видят только автор заявки и администраторы.</div>
	';

	}else{ echo '<div class="st3_y">Возможность комментирования ограничена	</div>';}
	
	echo'
	</div>
	<div class="block_y"><a href="/tickets/"> Назад</a></div>';


// foot
	include_once '../../sys/inc/tfoot.php';
	
//error
	
	} else { header("Location: /tickets/");exit;}
	} else { header("Location: /tickets/");exit;}
	
	
?>