From 95f190c89d2936d1f42895db340bb20dae8ccce3 Mon Sep 17 00:00:00 2001 From: johnnyq Date: Mon, 20 Feb 2023 22:02:39 -0500 Subject: [PATCH] More UI work and santitizeInput migrations --- account_add_modal.php | 6 +- account_edit_modal.php | 6 +- accounts.php | 12 ++- ajax.php | 16 ++-- api_key_add_modal.php | 8 +- calendar_add_modal.php | 6 +- calendar_event_add_modal.php | 16 ++-- calendar_event_edit_modal.php | 18 ++--- client_add_modal.php | 6 +- client_edit_modal.php | 12 +-- clients.php | 14 +++- cron.php | 16 +++- post.php | 3 +- ticket.php | 148 +++++++++++++++++----------------- ticket_add_modal.php | 32 ++++---- ticket_edit_modal.php | 22 ++--- ticket_invoice_add_modal.php | 22 ++--- ticket_merge_modal.php | 6 +- ticket_reply_edit_modal.php | 9 ++- tickets.php | 44 +++++----- top_nav.php | 4 +- 21 files changed, 223 insertions(+), 203 deletions(-) diff --git a/account_add_modal.php b/account_add_modal.php index fb8db55f..7663d926 100644 --- a/account_add_modal.php +++ b/account_add_modal.php @@ -2,7 +2,7 @@ diff --git a/cron.php b/cron.php index 86a48c09..79320439 100644 --- a/cron.php +++ b/cron.php @@ -82,6 +82,9 @@ while ($row = mysqli_fetch_array($sql_companies)) { // Clean-up old dismissed notifications mysqli_query($mysqli, "DELETE FROM notifications WHERE notification_dismissed_at < CURDATE() - INTERVAL 90 DAY"); + //Logging + mysqli_query($mysqli, "INSERT INTO logs SET log_type = 'Cron', log_action = 'Task', log_description = 'Cron cleaned up old data', company_id = $company_id"); + /* @@ -158,6 +161,8 @@ while ($row = mysqli_fetch_array($sql_companies)) { } } + // Logging + mysqli_query($mysqli, "INSERT INTO logs SET log_type = 'Cron', log_action = 'Task', log_description = 'Cron created notifications for domain expiring', company_id = $company_id"); // CERTIFICATES EXPIRING @@ -187,6 +192,8 @@ while ($row = mysqli_fetch_array($sql_companies)) { } } + // Logging + mysqli_query($mysqli, "INSERT INTO logs SET log_type = 'Cron', log_action = 'Task', log_description = 'Cron created notifications for certificates expiring', company_id = $company_id"); // Asset Warranties Expiring @@ -215,6 +222,8 @@ while ($row = mysqli_fetch_array($sql_companies)) { } } + // Logging + mysqli_query($mysqli, "INSERT INTO logs SET log_type = 'Cron', log_action = 'Task', log_description = 'Cron created notifications for asset warranties expiring', company_id = $company_id"); // Scheduled tickets @@ -328,7 +337,8 @@ while ($row = mysqli_fetch_array($sql_companies)) { } } - + // Logging + mysqli_query($mysqli, "INSERT INTO logs SET log_type = 'Cron', log_action = 'Task', log_description = 'Cron created sent out scheduled tickets', company_id = $company_id"); // PAST DUE INVOICE Notifications //$invoiceAlertArray = [$config_invoice_overdue_reminders]; @@ -397,6 +407,8 @@ while ($row = mysqli_fetch_array($sql_companies)) { } } + // Logging + mysqli_query($mysqli, "INSERT INTO logs SET log_type = 'Cron', log_action = 'Task', log_description = 'Cron created notifications for past due invoices and sent out notifications to the primary contacts email', company_id = $company_id"); //Send Recurring Invoices that match todays date and are active @@ -515,6 +527,8 @@ while ($row = mysqli_fetch_array($sql_companies)) { } //End if Autosend is on } //End Recurring Invoices Loop + // Logging + mysqli_query($mysqli, "INSERT INTO logs SET log_type = 'Cron', log_action = 'Task', log_description = 'Cron created invoices from recurring invoices and sent emails out', company_id = $company_id"); // TELEMETRY diff --git a/post.php b/post.php index c6334529..9a67ed03 100644 --- a/post.php +++ b/post.php @@ -4137,7 +4137,7 @@ if(isset($_GET['email_invoice'])){ ); $row = mysqli_fetch_array($sql); - $invoice_id = $row['invoice_id']; + $invoice_id = intval($row['invoice_id']); $invoice_prefix = $row['invoice_prefix']; $invoice_number = $row['invoice_number']; $invoice_status = $row['invoice_status']; @@ -4148,7 +4148,6 @@ if(isset($_GET['email_invoice'])){ $invoice_currency_code = $row['invoice_currency_code']; $client_id = $row['client_id']; $client_name = $row['client_name']; - $client_name = $row['client_name']; $contact_name = $row['contact_name']; $contact_email = $row['contact_email']; $contact_phone = formatPhoneNumber($row['contact_phone']); diff --git a/ticket.php b/ticket.php index bace5515..76b1f8c2 100644 --- a/ticket.php +++ b/ticket.php @@ -24,10 +24,11 @@ if (isset($_GET['ticket_id'])) { } else { $row = mysqli_fetch_array($sql); - $client_id = $row['client_id']; + $client_id = intval($row['client_id']); $client_name = htmlentities($row['client_name']); $client_type = htmlentities($row['client_type']); $client_website = htmlentities($row['client_website']); + $client_net_terms = htmlentities($row['client_net_terms']); if ($client_net_terms == 0) { $client_net_terms = $config_default_net_terms; @@ -39,22 +40,6 @@ if (isset($_GET['ticket_id'])) { $ticket_subject = htmlentities($row['ticket_subject']); $ticket_details = $row['ticket_details']; $ticket_priority = htmlentities($row['ticket_priority']); - $ticket_feedback = htmlentities($row['ticket_feedback']); - $ticket_status = htmlentities($row['ticket_status']); - $ticket_created_at = $row['ticket_created_at']; - $ticket_date = date('Y-m-d', strtotime($ticket_created_at)); - $ticket_updated_at = $row['ticket_updated_at']; - $ticket_closed_at = $row['ticket_closed_at']; - $ticket_created_by = $row['ticket_created_by']; - - if ($ticket_status == "Open") { - $ticket_status_display = "$ticket_status"; - } elseif ($ticket_status == "Working") { - $ticket_status_display = "$ticket_status"; - } else { - $ticket_status_display = "$ticket_status"; - } - //Set Ticket Bage Color based of priority if ($ticket_priority == "High") { $ticket_priority_display = "$ticket_priority"; @@ -65,8 +50,36 @@ if (isset($_GET['ticket_id'])) { } else { $ticket_priority_display = "-"; } + $ticket_feedback = htmlentities($row['ticket_feedback']); + + $ticket_status = htmlentities($row['ticket_status']); + if ($ticket_status == "Open") { + $ticket_status_display = "$ticket_status"; + } elseif ($ticket_status == "Working") { + $ticket_status_display = "$ticket_status"; + } else { + $ticket_status_display = "$ticket_status"; + } + + $ticket_created_at = htmlentities($row['ticket_created_at']); + $ticket_date = date('Y-m-d', strtotime($ticket_created_at)); + $ticket_updated_at = htmlentities($row['ticket_updated_at']); + $ticket_closed_at = htmlentities($row['ticket_closed_at']); + + $ticket_assigned_to = intval($row['ticket_assigned_to']); + if (empty($ticket_assigned_to)) { + $ticket_assigned_to_display = "Not Assigned"; + } else { + $ticket_assigned_to_display = htmlentities($row['user_name']); + } - $contact_id = $row['contact_id']; + //Ticket Created By + $ticket_created_by = intval($row['ticket_created_by']); + $ticket_created_by_sql = mysqli_query($mysqli, "SELECT user_name FROM users WHERE user_id = $ticket_created_by"); + $row = mysqli_fetch_array($ticket_created_by_sql); + $ticket_created_by_display = htmlentities($row['user_name']); + + $contact_id = intval($row['contact_id']); $contact_name = htmlentities($row['contact_name']); $contact_title = htmlentities($row['contact_title']); $contact_email = htmlentities($row['contact_email']); @@ -74,7 +87,22 @@ if (isset($_GET['ticket_id'])) { $contact_extension = htmlentities($row['contact_extension']); $contact_mobile = formatPhoneNumber($row['contact_mobile']); - $asset_id = $row['asset_id']; + if ($contact_id) { + //Get Contact Ticket Stats + $ticket_related_open = mysqli_query($mysqli, "SELECT COUNT(ticket_id) AS ticket_related_open FROM tickets WHERE ticket_status != 'Closed' AND ticket_contact_id = $contact_id "); + $row = mysqli_fetch_array($ticket_related_open); + $ticket_related_open = intval($row['ticket_related_open']); + + $ticket_related_closed = mysqli_query($mysqli, "SELECT COUNT(ticket_id) AS ticket_related_closed FROM tickets WHERE ticket_status = 'Closed' AND ticket_contact_id = $contact_id "); + $row = mysqli_fetch_array($ticket_related_closed); + $ticket_related_closed = intval($row['ticket_related_closed']); + + $ticket_related_total = mysqli_query($mysqli, "SELECT COUNT(ticket_id) AS ticket_related_total FROM tickets WHERE ticket_contact_id = $contact_id "); + $row = mysqli_fetch_array($ticket_related_total); + $ticket_related_total = intval($row['ticket_related_total']); + } + + $asset_id = intval($row['asset_id']); $asset_ip = htmlentities($row['asset_ip']); $asset_name = htmlentities($row['asset_name']); $asset_type = htmlentities($row['asset_type']); @@ -82,9 +110,9 @@ if (isset($_GET['ticket_id'])) { $asset_model = htmlentities($row['asset_model']); $asset_serial = htmlentities($row['asset_serial']); $asset_os = htmlentities($row['asset_os']); - $asset_warranty_expire = $row['asset_warranty_expire']; + $asset_warranty_expire = htmlentities($row['asset_warranty_expire']); - $vendor_id = $row['ticket_vendor_id']; + $vendor_id = intval($row['ticket_vendor_id']); $vendor_name = htmlentities($row['vendor_name']); $vendor_description = htmlentities($row['vendor_description']); $vendor_account_number = htmlentities($row['vendor_account_number']); @@ -105,45 +133,10 @@ if (isset($_GET['ticket_id'])) { $location_zip = htmlentities($row['location_zip']); $location_phone = formatPhoneNumber($row['location_phone']); - $ticket_assigned_to = $row['ticket_assigned_to']; - if (empty($ticket_assigned_to)) { - $ticket_assigned_to_display = "Not Assigned"; - } else { - $ticket_assigned_to_display = htmlentities($row['user_name']); - } - - //Ticket Created By - $ticket_created_by = $row['ticket_created_by']; - $ticket_created_by_sql = mysqli_query($mysqli, "SELECT user_name FROM users WHERE user_id = $ticket_created_by"); - $row = mysqli_fetch_array($ticket_created_by_sql); - $ticket_created_by_display = htmlentities($row['user_name']); - - //Ticket Assigned To - if (empty($ticket_assigned_to)) { - $ticket_assigned_to_display = "Not Assigned"; - } else { - $ticket_assigned_to_display = htmlentities($row['user_name']); - } - - if ($contact_id) { - //Get Contact Ticket Stats - $ticket_related_open = mysqli_query($mysqli, "SELECT COUNT(ticket_id) AS ticket_related_open FROM tickets WHERE ticket_status != 'Closed' AND ticket_contact_id = $contact_id "); - $row = mysqli_fetch_array($ticket_related_open); - $ticket_related_open = $row['ticket_related_open']; - - $ticket_related_closed = mysqli_query($mysqli, "SELECT COUNT(ticket_id) AS ticket_related_closed FROM tickets WHERE ticket_status = 'Closed' AND ticket_contact_id = $contact_id "); - $row = mysqli_fetch_array($ticket_related_closed); - $ticket_related_closed = $row['ticket_related_closed']; - - $ticket_related_total = mysqli_query($mysqli, "SELECT COUNT(ticket_id) AS ticket_related_total FROM tickets WHERE ticket_contact_id = $contact_id "); - $row = mysqli_fetch_array($ticket_related_total); - $ticket_related_total = $row['ticket_related_total']; - } - //Get Total Ticket Time $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 WHERE ticket_reply_archived_at IS NULL AND ticket_reply_ticket_id = $ticket_id"); $row = mysqli_fetch_array($ticket_total_reply_time); - $ticket_total_reply_time = $row['ticket_total_reply_time']; + $ticket_total_reply_time = htmlentities($row['ticket_total_reply_time']); //Client Tags $client_tag_name_display_array = array(); @@ -151,7 +144,7 @@ if (isset($_GET['ticket_id'])) { $sql_client_tags = mysqli_query($mysqli, "SELECT * FROM client_tags LEFT JOIN tags ON client_tags.tag_id = tags.tag_id WHERE client_tags.client_id = $client_id"); while ($row = mysqli_fetch_array($sql_client_tags)) { - $client_tag_id = $row['tag_id']; + $client_tag_id = intval($row['tag_id']); $client_tag_name = htmlentities($row['tag_name']); $client_tag_color = htmlentities($row['tag_color']); $client_tag_icon = htmlentities($row['tag_icon']); @@ -189,11 +182,16 @@ if (isset($_GET['ticket_id'])) { } // Get technicians to assign the ticket to - $sql_assign_to_select = mysqli_query($mysqli, "SELECT users.user_id, user_name FROM users - LEFT JOIN user_companies ON users.user_id = user_companies.user_id - LEFT JOIN user_settings on users.user_id = user_settings.user_id - WHERE user_companies.company_id = $session_company_id - AND user_role > 1 AND user_archived_at IS NULL ORDER BY user_name ASC"); + $sql_assign_to_select = mysqli_query( + $mysqli, + "SELECT users.user_id, user_name FROM users + LEFT JOIN user_companies ON users.user_id = user_companies.user_id + LEFT JOIN user_settings on users.user_id = user_settings.user_id + WHERE user_companies.company_id = $session_company_id + AND user_role > 1 + AND user_archived_at IS NULL + ORDER BY user_name ASC" + ); ?> @@ -303,21 +301,21 @@ if (isset($_GET['ticket_id'])) { - +

@@ -592,7 +590,7 @@ if (isset($_GET['ticket_id'])) { diff --git a/ticket_add_modal.php b/ticket_add_modal.php index ad194005..0a7ff3d1 100644 --- a/ticket_add_modal.php +++ b/ticket_add_modal.php @@ -2,7 +2,7 @@