Nothing to see here

Go Back"; include_once "footer.php"; exit; } $row = mysqli_fetch_array($sql_project); $project_id = intval($row['project_id']); $project_prefix = nullable_htmlentities($row['project_prefix']); $project_number = intval($row['project_number']); $project_name = nullable_htmlentities($row['project_name']); $project_description = nullable_htmlentities($row['project_description']); $project_due = nullable_htmlentities($row['project_due']); $project_created_at = date("Y-m-d", strtotime($row['project_created_at'])); $project_updated_at = nullable_htmlentities($row['project_updated_at']); $project_completed_at = nullable_htmlentities($row['project_completed_at']); $project_archived_at = nullable_htmlentities($row['project_archived_at']); $client_id = intval($row['client_id']); $client_name = nullable_htmlentities($row['client_name']); if ($client_name) { $client_name_display = "
$client_name
"; } else { $client_name_display = ""; } $project_manager = intval($row['user_id']); $project_manager_name = nullable_htmlentities($row['user_name']); if ($project_manager) { $project_manager_display = "
$project_manager_name
"; } else { $project_manager_display = "-"; } if ($project_completed_at) { $project_status_display = "Closed"; $project_completed_date_display = "
" . date('Y-m-d', strtotime($project_completed_at)) . "
"; } else { $project_status_display = "Open"; $project_completed_date_display = ""; } // Override Tab Title // No Sanitizing needed as this var will only be used in the tab title $tab_title = "{$row['project_prefix']}{$row['project_number']}"; $page_title = $row['project_name']; // Get Tickets $sql_tickets = mysqli_query($mysqli, "SELECT * FROM tickets LEFT JOIN ticket_statuses ON ticket_status = ticket_status_id LEFT JOIN clients ON ticket_client_id = client_id LEFT JOIN users ON ticket_assigned_to = user_id WHERE ticket_project_id = $project_id ORDER BY $sort $order" ); $ticket_count = mysqli_num_rows($sql_tickets); // Get Closed Ticket Count $sql_closed_tickets = mysqli_query($mysqli, "SELECT * FROM tickets WHERE ticket_project_id = $project_id AND ticket_closed_at IS NOT NULL"); $closed_ticket_count = mysqli_num_rows($sql_closed_tickets); // Get Resolved Ticket Count $sql_resolved_tickets = mysqli_query($mysqli, "SELECT * FROM tickets WHERE ticket_project_id = $project_id AND ticket_resolved_at IS NOT NULL"); $resolved_ticket_count = mysqli_num_rows($sql_resolved_tickets); $tickets_closed_percent = 100; //Default if ($ticket_count) { $tickets_closed_percent = round(($closed_ticket_count / $ticket_count) * 100); } $tickets_resolved_percent = 100; //Default if ($ticket_count) { $tickets_resolved_percent = round(($resolved_ticket_count / $ticket_count) * 100); } // Get All Tasks $sql_tasks = mysqli_query($mysqli, "SELECT * FROM tickets, tasks WHERE ticket_id = task_ticket_id AND ticket_project_id = $project_id ORDER BY task_created_at ASC" ); $task_count = mysqli_num_rows($sql_tasks); // Get Completed Task Count $sql_tasks_completed = mysqli_query($mysqli, "SELECT * FROM tickets, tasks WHERE ticket_id = task_ticket_id AND ticket_project_id = $project_id AND task_completed_at IS NOT NULL" ); $completed_task_count = mysqli_num_rows($sql_tasks_completed); // Tasks Completed Percent if ($task_count) { $tasks_completed_percent = round(($completed_task_count / $task_count) * 100); } //Get Total Ticket Time $sql_ticket_total_reply_time = mysqli_query($mysqli, "SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(ticket_reply_time_worked))) AS ticket_total_reply_time FROM ticket_replies LEFT JOIN tickets ON ticket_id = ticket_reply_ticket_id WHERE ticket_reply_archived_at IS NULL AND ticket_project_id = $project_id"); $row = mysqli_fetch_array($sql_ticket_total_reply_time); $ticket_total_reply_time = nullable_htmlentities($row['ticket_total_reply_time']); // Get all Assigned ticket Users as a comma-separated string $sql_project_collaborators = mysqli_query($mysqli, " SELECT GROUP_CONCAT(DISTINCT user_name SEPARATOR ', ') AS user_names FROM users LEFT JOIN ticket_replies ON user_id = ticket_reply_by LEFT JOIN tickets ON ticket_id = ticket_reply_ticket_id WHERE ticket_reply_archived_at IS NULL AND ticket_project_id = $project_id "); // Fetch the result $row = mysqli_fetch_assoc($sql_project_collaborators); // The user names in a comma-separated string $ticket_collaborators = nullable_htmlentities($row['user_names']); ?>

$project_name"; ?>

Total time worked:
/
/
0) { ?>
Never

"; } else { $ticket_updated_at_display = "

Never

"; } } else { $ticket_updated_at_display = "$ticket_updated_at_time_ago
$ticket_updated_at"; } $ticket_closed_at = nullable_htmlentities($row['ticket_closed_at']); if ($ticket_priority == "High") { $ticket_priority_display = "$ticket_priority"; } elseif ($ticket_priority == "Medium") { $ticket_priority_display = "$ticket_priority"; } elseif ($ticket_priority == "Low") { $ticket_priority_display = "$ticket_priority"; } else{ $ticket_priority_display = "-"; } $ticket_assigned_to = intval($row['ticket_assigned_to']); if (empty($ticket_assigned_to)) { if ($ticket_status == 5) { $ticket_assigned_to_display = "

Not Assigned

"; } else { $ticket_assigned_to_display = "

Not Assigned

"; } } else { $ticket_assigned_to_display = nullable_htmlentities($row['user_name']); } $project_id = intval($row['ticket_project_id']); $client_id = intval($row['client_id']); $client_name = nullable_htmlentities($row['client_name']); $contact_name = nullable_htmlentities($row['contact_name']); $contact_email = nullable_htmlentities($row['contact_email']); $contact_archived_at = nullable_htmlentities($row['contact_archived_at']); if (empty($contact_archived_at)) { $contact_archived_display = ""; } else { $contact_archived_display = "Archived - "; } if (empty($contact_name)) { $contact_display = "-"; } else { $contact_display = "$contact_archived_display$contact_name
$contact_email"; } // Get who last updated the ticket - to be shown in the last Response column $ticket_reply_type = "Client"; // Default to client for unreplied tickets $ticket_reply_by_display = ""; // Default none $sql_ticket_reply = mysqli_query($mysqli, "SELECT ticket_reply_type, contact_name, user_name FROM ticket_replies LEFT JOIN users ON ticket_reply_by = user_id LEFT JOIN contacts ON ticket_reply_by = contact_id WHERE ticket_reply_ticket_id = $ticket_id AND ticket_reply_archived_at IS NULL ORDER BY ticket_reply_id DESC LIMIT 1" ); $row = mysqli_fetch_array($sql_ticket_reply); if ($row) { $ticket_reply_type = nullable_htmlentities($row['ticket_reply_type']); if ($ticket_reply_type == "Client") { $ticket_reply_by_display = nullable_htmlentities($row['contact_name']); } else { $ticket_reply_by_display = nullable_htmlentities($row['user_name']); } } ?>
Ticket Priority Status Assigned Last Response Client
0) { ?>
All Tasks