2013-07-14 14:38:36 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
function show_queue(){
|
|
|
|
|
|
|
|
//if logged in & queue id is given
|
|
|
|
if(WebUsers::isLoggedIn() && isset($_GET['get'])){
|
2013-07-21 01:49:31 +00:00
|
|
|
|
2013-07-18 10:43:33 +00:00
|
|
|
if( Ticket_User::isMod($_SESSION['ticket_user'])){
|
2013-07-21 01:49:31 +00:00
|
|
|
$result['queue_view'] = filter_var($_GET['get'], FILTER_SANITIZE_STRING);
|
2013-07-14 14:38:36 +00:00
|
|
|
|
2013-07-21 13:38:22 +00:00
|
|
|
$user_id = $_SESSION['ticket_user']->getTUserId();
|
|
|
|
$queueArray = Ticket_Queue_Handler::getTickets($result['queue_view'], $user_id);
|
2013-07-21 01:49:31 +00:00
|
|
|
|
|
|
|
//if queue_view is a valid parameter value
|
|
|
|
if ($queueArray != "ERROR"){
|
|
|
|
|
2013-07-21 13:38:22 +00:00
|
|
|
|
2013-07-21 01:49:31 +00:00
|
|
|
|
|
|
|
if(isset($_POST['action'])){
|
|
|
|
switch($_POST['action']){
|
|
|
|
case "assignTicket":
|
|
|
|
$ticket_id = filter_var($_POST['ticket_id'], FILTER_SANITIZE_NUMBER_INT);
|
|
|
|
$result['ACTION_RESULT'] = Ticket::assignTicket($user_id, $ticket_id);
|
|
|
|
break;
|
2013-07-23 21:38:06 +00:00
|
|
|
|
2013-07-21 01:49:31 +00:00
|
|
|
case "unAssignTicket":
|
|
|
|
$ticket_id = filter_var($_POST['ticket_id'], FILTER_SANITIZE_NUMBER_INT);
|
|
|
|
$result['ACTION_RESULT'] = Ticket::unAssignTicket($user_id, $ticket_id);
|
|
|
|
break;
|
2013-07-23 21:38:06 +00:00
|
|
|
|
|
|
|
case "create_queue":
|
|
|
|
$userid = filter_var($_POST['userid'], FILTER_SANITIZE_NUMBER_INT);
|
|
|
|
$groupid = filter_var($_POST['groupid'], FILTER_SANITIZE_NUMBER_INT);
|
|
|
|
$what = filter_var($_POST['what'], FILTER_SANITIZE_STRING);
|
|
|
|
$how = filter_var($_POST['how'], FILTER_SANITIZE_STRING);
|
|
|
|
$who = filter_var($_POST['who'], FILTER_SANITIZE_STRING);
|
|
|
|
$result['ACTION_RESULT'] = Ticket_Queue_Handler::CreateQueue($userid, $groupid, $what, $how, $who);
|
|
|
|
if ($result['ACTION_RESULT'] != "ERROR"){
|
|
|
|
$queueArray = $result['ACTION_RESULT'];
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
2013-07-21 01:49:31 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2013-07-22 16:22:21 +00:00
|
|
|
$result['tickets'] = Gui_Elements::make_table($queueArray, Array("getTId","getTitle","getTimestamp","getAuthor()->getExternId","getTicket_Category()->getName","getStatus","getStatusText","getAssigned","getForwardedGroupName","getForwardedGroupId"), Array("tId","title","timestamp","authorExtern","category","status","statusText","assigned","forwardedGroupName","forwardedGroupId"));
|
2013-07-14 20:33:09 +00:00
|
|
|
$i = 0;
|
|
|
|
foreach( $result['tickets'] as $ticket){
|
2013-08-05 15:31:36 +00:00
|
|
|
$web_author = new WebUsers($ticket['authorExtern']);
|
|
|
|
$result['tickets'][$i]['author'] = $web_author->getUsername();
|
|
|
|
$web_assigned = new WebUsers($ticket['assigned']);
|
|
|
|
$result['tickets'][$i]['assignedText'] = $web_assigned->getUsername();
|
2013-07-21 15:56:24 +00:00
|
|
|
$result['tickets'][$i]['timestamp_elapsed'] = Gui_Elements::time_elapsed_string($ticket['timestamp']);
|
2013-07-14 20:33:09 +00:00
|
|
|
$i++;
|
|
|
|
}
|
2013-07-21 01:49:31 +00:00
|
|
|
$result['user_id'] = $_SESSION['ticket_user']->getTUserId();
|
2013-07-23 21:38:06 +00:00
|
|
|
|
|
|
|
//Queue creator field info
|
|
|
|
$result['grouplist'] = Gui_Elements::make_table(Support_Group::getGroups(), Array("getSGroupId","getName"), Array("sGroupId","name"));
|
|
|
|
$result['teamlist'] = Gui_Elements::make_table(Ticket_User::getModsAndAdmins(), Array("getTUserId","getExternId"), Array("tUserId","externId"));
|
|
|
|
$i = 0;
|
|
|
|
foreach( $result['teamlist'] as $member){
|
2013-08-05 15:31:36 +00:00
|
|
|
$web_teammember = new Webusers($member['externId']);
|
|
|
|
$result['teamlist'][$i]['name'] = $web_teammember->getUsername();
|
2013-07-23 21:38:06 +00:00
|
|
|
$i++;
|
|
|
|
}
|
2013-07-14 20:33:09 +00:00
|
|
|
return $result;
|
2013-07-21 01:49:31 +00:00
|
|
|
|
|
|
|
}else{
|
|
|
|
|
2013-07-14 20:33:09 +00:00
|
|
|
//ERROR: Doesn't exist!
|
|
|
|
$_SESSION['error_code'] = "404";
|
|
|
|
header("Location: index.php?page=error");
|
|
|
|
exit;
|
2013-07-14 14:38:36 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
}else{
|
|
|
|
//ERROR: No access!
|
|
|
|
$_SESSION['error_code'] = "403";
|
|
|
|
header("Location: index.php?page=error");
|
|
|
|
exit;
|
|
|
|
}
|
|
|
|
}else{
|
|
|
|
//ERROR: not logged in!
|
|
|
|
header("Location: index.php");
|
|
|
|
exit;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|