0 AND (ticket_response_sla_alert_stage = 2 OR ticket_resolution_sla_alert_stage = 2 OR ticket_response_sla_met = 0 OR ticket_resolution_sla_met = 0)'; } elseif ($ticket_sla_filter == 'at_risk') { $ticket_sla_query = 'AND ticket_sla_id > 0 AND COALESCE(ticket_status_pauses_sla, 0) = 0 AND (ticket_response_sla_alert_stage = 1 OR ticket_resolution_sla_alert_stage = 1)'; } elseif ($ticket_sla_filter == 'paused') { $ticket_sla_query = 'AND ticket_sla_id > 0 AND ticket_status_pauses_sla = 1'; } elseif ($ticket_sla_filter == 'met') { $ticket_sla_query = 'AND ticket_sla_id > 0 AND ticket_response_sla_met = 1 AND (ticket_resolution_sla_met = 1 OR ticket_resolution_due_at IS NULL)'; } elseif ($ticket_sla_filter == 'none') { $ticket_sla_query = 'AND ticket_sla_id = 0'; } } if (isset($_GET['assigned']) & !empty($_GET['assigned'])) { if ($_GET['assigned'] == 'unassigned') { $ticket_assigned_query = 'AND ticket_assigned_to = 0'; $ticket_assigned_filter_id = 0; } else { $ticket_assigned_query = 'AND ticket_assigned_to = ' . intval($_GET['assigned']); $ticket_assigned_filter_id = intval($_GET['assigned']); } } // Project filter // Default - any (including tickets without a project) $ticket_project_snippet = ''; $ticket_project_filter_id = ''; if (isset($_GET['project']) & !empty($_GET['project']) && $_GET['project'] > '0') { $ticket_project_snippet = 'AND ticket_project_id = ' . intval($_GET['project']); $ticket_project_filter_id = intval($_GET['project']); } // Ticket client access overide - This is the only way to show tickets without a client to agents with restricted client access $access_permission_query_overide = ''; if ($client_access_string) { $access_permission_query_overide = "AND ticket_client_id IN (0,$client_access_string)"; } // Main ticket query: $query = "SELECT SQL_CALC_FOUND_ROWS * FROM tickets LEFT JOIN clients ON ticket_client_id = client_id LEFT JOIN contacts ON ticket_contact_id = contact_id LEFT JOIN users ON ticket_assigned_to = user_id LEFT JOIN assets ON ticket_asset_id = asset_id LEFT JOIN locations ON ticket_location_id = location_id LEFT JOIN vendors ON ticket_vendor_id = vendor_id LEFT JOIN ticket_statuses ON ticket_status = ticket_status_id LEFT JOIN categories ON ticket_category = category_id WHERE $ticket_status_snippet " . $ticket_assigned_query . " $category_query AND DATE(ticket_created_at) BETWEEN '$dtf' AND '$dtt' AND (CONCAT(ticket_prefix,ticket_number) LIKE '%$q%' OR client_name LIKE '%$q%' OR ticket_subject LIKE '%$q%' OR ticket_status_name LIKE '%$q%' OR ticket_priority LIKE '%$q%' OR user_name LIKE '%$q%' OR contact_name LIKE '%$q%' OR asset_name LIKE '%$q%' OR vendor_name LIKE '%$q%' OR ticket_vendor_ticket_number LIKE '%q%') $ticket_sla_query $ticket_billable_snippet $ticket_project_snippet $access_permission_query_overide $client_query ORDER BY CASE WHEN '$sort' = 'ticket_priority' THEN CASE ticket_priority WHEN 'Urgent' THEN 0 WHEN 'High' THEN 1 WHEN 'Medium' THEN 2 WHEN 'Low' THEN 3 ELSE 4 -- Optional: for unexpected priority values END ELSE NULL END $order, $sort $order -- Apply normal sorting by $sort and $order LIMIT $record_from, $record_to"; $sql = mysqli_query($mysqli,$query); $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()")); //Get Total tickets open $sql_total_tickets_open = mysqli_query($mysqli, "SELECT COUNT(ticket_id) AS total_tickets_open FROM tickets WHERE ticket_resolved_at IS NULL $client_query $access_permission_query_overide"); $row = mysqli_fetch_assoc($sql_total_tickets_open); $total_tickets_open = intval($row['total_tickets_open']); //Get Total tickets closed $sql_total_tickets_closed = mysqli_query($mysqli, "SELECT COUNT(ticket_id) AS total_tickets_closed FROM tickets WHERE ticket_resolved_at IS NOT NULL $client_query $access_permission_query_overide"); $row = mysqli_fetch_assoc($sql_total_tickets_closed); $total_tickets_closed = intval($row['total_tickets_closed']); //Get Unassigned tickets $sql_total_tickets_unassigned = mysqli_query($mysqli, "SELECT COUNT(ticket_id) AS total_tickets_unassigned FROM tickets WHERE ticket_assigned_to = '0' AND ticket_resolved_at IS NULL $client_query $access_permission_query_overide"); $row = mysqli_fetch_assoc($sql_total_tickets_unassigned); $total_tickets_unassigned = intval($row['total_tickets_unassigned']); //Get Total tickets assigned to me $sql_total_tickets_assigned = mysqli_query($mysqli, "SELECT COUNT(ticket_id) AS total_tickets_assigned FROM tickets WHERE ticket_assigned_to = $session_user_id AND ticket_resolved_at IS NULL $client_query $access_permission_query_overide"); $row = mysqli_fetch_assoc($sql_total_tickets_assigned); $user_active_assigned_tickets = intval($row['total_tickets_assigned']); $sql_categories_filter = mysqli_query( $mysqli, "SELECT * FROM categories WHERE category_type = 'Ticket' AND category_archived_at IS NULL ORDER BY category_name" ); ?>

Tickets "> Open | "> Closed

= 2) { ?>
0) { ?>
0; if ($sla_filter_in_use) { ?>
" id="advancedFilter" >