From b8c9d5b4cfb078588fa97b10c7c1c428223d0a48 Mon Sep 17 00:00:00 2001 From: johnnyq Date: Thu, 6 Aug 2026 12:59:43 -0400 Subject: [PATCH] Query Optimization: Select only needed columns instead of SELECT * on looped queries --- admin/ai_models.php | 3 +- admin/audit_logs.php | 5 +-- admin/backup.php | 3 +- admin/cron.php | 2 +- admin/custom_links.php | 3 +- admin/document_templates.php | 3 +- admin/includes/side_nav.php | 2 +- admin/mail_queue.php | 3 +- .../ticket_template/ticket_template_add.php | 2 +- admin/modals/user/user_add.php | 2 +- admin/modals/user/user_edit.php | 2 +- admin/project_template.php | 6 ++-- admin/project_templates.php | 3 +- admin/settings_default.php | 8 ++--- admin/software_templates.php | 4 ++- admin/vendor_templates.php | 5 ++- agent/asset.php | 8 +++-- agent/assets.php | 9 ++++- agent/calendar.php | 23 ++++++++----- agent/certificates.php | 4 ++- agent/client_overview.php | 31 +++++++++-------- agent/contact.php | 21 ++++++++---- agent/credentials.php | 2 +- agent/dashboard.php | 8 +++-- agent/document.php | 6 ++-- agent/expenses.php | 5 ++- agent/includes/side_nav.php | 2 +- agent/invoice.php | 6 ++-- agent/invoices.php | 6 +++- agent/modals/asset/asset.php | 8 +++-- agent/modals/asset/asset_add.php | 6 ++-- agent/modals/asset/asset_bulk_add_ticket.php | 2 +- .../asset/asset_bulk_assign_contact.php | 2 +- agent/modals/asset/asset_copy.php | 8 ++--- agent/modals/asset/asset_edit.php | 8 ++--- agent/modals/asset/asset_interface_add.php | 2 +- agent/modals/calendar/calendar_event_add.php | 2 +- agent/modals/calendar/calendar_event_edit.php | 2 +- agent/modals/certificate/certificate_add.php | 2 +- agent/modals/certificate/certificate_edit.php | 3 +- .../modals/client/client_bulk_add_ticket.php | 2 +- agent/modals/contact/contact.php | 18 ++++++---- agent/modals/contact/contact_edit.php | 2 +- agent/modals/credential/credential_add.php | 4 +-- .../document/document_add_from_template.php | 2 +- agent/modals/domain/domain_add.php | 8 ++--- agent/modals/domain/domain_edit.php | 3 +- agent/modals/file/file_link_asset.php | 4 +-- agent/modals/invoice/invoice_add.php | 2 +- agent/modals/invoice/invoice_payments.php | 3 +- agent/modals/location/location_add.php | 2 +- agent/modals/location/location_edit.php | 2 +- agent/modals/network/network_add.php | 2 +- agent/modals/project/project_add.php | 4 +-- agent/modals/project/project_link_ticket.php | 2 +- agent/modals/quote/quote_add.php | 2 +- agent/modals/quote/quote_copy.php | 2 +- agent/modals/rack/rack_add.php | 2 +- agent/modals/rack/rack_device_add.php | 2 +- agent/modals/rack/rack_edit.php | 2 +- .../recurring_invoice_add.php | 2 +- .../recurring_ticket/recurring_ticket_add.php | 2 +- agent/modals/service/service.php | 10 +++--- agent/modals/service/service_add.php | 14 ++++---- agent/modals/service/service_edit.php | 14 ++++---- agent/modals/share_modal.php | 2 +- agent/modals/software/software_add.php | 4 +-- .../software/software_add_from_template.php | 2 +- agent/modals/software/software_edit.php | 4 +-- agent/modals/ticket/ticket_add.php | 2 +- agent/modals/ticket/ticket_bulk_merge.php | 2 +- agent/modals/ticket/ticket_invoice_add.php | 3 +- agent/modals/ticket/ticket_merge.php | 2 +- .../modals/transaction/transaction_export.php | 2 +- agent/modals/trip/trip_add.php | 4 +-- agent/modals/trip/trip_copy.php | 4 +-- agent/modals/trip/trip_edit.php | 6 ++-- .../vendor/vendor_add_from_template.php | 2 +- agent/modals/vendor/vendor_edit.php | 2 +- agent/networks.php | 4 ++- agent/notifications.php | 3 +- agent/post/asset.php | 2 +- agent/post/client.php | 2 +- agent/post/contact.php | 4 +-- agent/post/folder.php | 2 +- agent/post/invoice.php | 13 +++---- agent/post/quote.php | 14 ++++---- agent/post/recurring_invoice.php | 9 ++--- agent/post/ticket.php | 2 +- agent/project.php | 2 +- agent/quote.php | 3 +- agent/quotes.php | 4 ++- agent/racks.php | 4 ++- agent/recurring_expenses.php | 8 ++++- agent/recurring_invoice.php | 3 +- agent/reports/includes/reports_side_nav.php | 2 +- agent/services.php | 4 ++- agent/ticket.php | 6 ++-- agent/trips.php | 3 +- agent/vendors.php | 5 ++- api/v1/clients/archive.php | 2 +- api/v1/credentials/read.php | 2 +- client/assets.php | 4 ++- client/includes/header.php | 2 +- client/index.php | 4 +-- client/invoices.php | 3 +- client/quotes.php | 3 +- client/ticket.php | 4 ++- cron/certificate_refresher.php | 2 +- cron/mail_queue.php | 6 ++-- cron/nightly_tasks.php | 34 +++++++++++++------ guest/guest_pay_invoice_stripe.php | 2 +- guest/guest_post.php | 4 +-- guest/guest_view_invoice.php | 8 +++-- guest/guest_view_quote.php | 2 +- guest/guest_view_ticket.php | 4 ++- includes/top_nav.php | 2 +- 117 files changed, 345 insertions(+), 227 deletions(-) diff --git a/admin/ai_models.php b/admin/ai_models.php index e30dc6db3..db8f96d81 100644 --- a/admin/ai_models.php +++ b/admin/ai_models.php @@ -6,7 +6,8 @@ $order = "ASC"; require_once "includes/inc_all_admin.php"; -$sql = mysqli_query($mysqli, "SELECT * FROM ai_models LEFT JOIN ai_providers ON ai_model_ai_provider_id = ai_provider_id ORDER BY $sort $order"); +$sql = mysqli_query($mysqli, "SELECT ai_model_id, ai_model_name, ai_model_prompt, ai_model_use_case, ai_provider_id, + ai_provider_name FROM ai_models LEFT JOIN ai_providers ON ai_model_ai_provider_id = ai_provider_id ORDER BY $sort $order"); $num_rows = mysqli_num_rows($sql); diff --git a/admin/audit_logs.php b/admin/audit_logs.php index fd91cd8f6..440907e9a 100644 --- a/admin/audit_logs.php +++ b/admin/audit_logs.php @@ -48,7 +48,8 @@ if (isset($_GET['action']) & !empty($_GET['action'])) { $sql = mysqli_query( $mysqli, - "SELECT SQL_CALC_FOUND_ROWS * FROM logs + "SELECT SQL_CALC_FOUND_ROWS client_id, client_name, log_action, log_created_at, log_description, log_entity_id, log_id, + log_ip, log_type, log_user_agent, user_id, user_name FROM logs LEFT JOIN users ON log_user_id = user_id LEFT JOIN clients ON log_client_id = client_id WHERE (log_type LIKE '%$q%' OR log_action LIKE '%$q%' OR log_description LIKE '%$q%' OR log_ip LIKE '%$q%' OR log_user_agent LIKE '%$q%' OR user_name LIKE '%$q%' OR client_name LIKE '%$q%') @@ -87,7 +88,7 @@ $num_rows = mysqli_fetch_row(mysqli_query($mysqli, "SELECT FOUND_ROWS()")); - No - diff --git a/admin/modals/user/user_add.php b/admin/modals/user/user_add.php index e89fe85eb..b81e505dc 100644 --- a/admin/modals/user/user_add.php +++ b/admin/modals/user/user_add.php @@ -138,7 +138,7 @@ ob_start(); - None - @@ -105,7 +105,7 @@ $net_terms_array = array ( @@ -128,7 +128,7 @@ $net_terms_array = array ( @@ -153,7 +153,7 @@ $net_terms_array = array ( diff --git a/admin/software_templates.php b/admin/software_templates.php index 4672b8706..660053b01 100644 --- a/admin/software_templates.php +++ b/admin/software_templates.php @@ -8,7 +8,9 @@ require_once "includes/inc_all_admin.php"; $sql = mysqli_query( $mysqli, - "SELECT SQL_CALC_FOUND_ROWS * FROM software_templates + "SELECT SQL_CALC_FOUND_ROWS software_template_description, software_template_id, software_template_license_type, + software_template_name, software_template_notes, software_template_type, + software_template_version FROM software_templates WHERE software_template_name LIKE '%$q%' OR software_template_type LIKE '%$q%' ORDER BY $sort $order LIMIT $record_from, $record_to" ); diff --git a/admin/vendor_templates.php b/admin/vendor_templates.php index bbda9d1ef..6a58fdf5e 100644 --- a/admin/vendor_templates.php +++ b/admin/vendor_templates.php @@ -8,7 +8,10 @@ require_once "includes/inc_all_admin.php"; $sql = mysqli_query( $mysqli, - "SELECT SQL_CALC_FOUND_ROWS * FROM vendor_templates + "SELECT SQL_CALC_FOUND_ROWS vendor_template_account_number, vendor_template_code, vendor_template_contact_name, + vendor_template_description, vendor_template_email, vendor_template_extension, + vendor_template_hours, vendor_template_id, vendor_template_name, vendor_template_notes, + vendor_template_phone, vendor_template_sla, vendor_template_website FROM vendor_templates WHERE vendor_template_name LIKE '%$q%' OR vendor_template_description LIKE '%$q%' OR vendor_template_account_number LIKE '%$q%' OR vendor_template_website LIKE '%$q%' OR vendor_template_contact_name LIKE '%$q%' OR vendor_template_email LIKE '%$q%' OR vendor_template_phone LIKE '%$phone_query%' ORDER BY $sort $order LIMIT $record_from, $record_to" ); diff --git a/agent/asset.php b/agent/asset.php index e2798c31f..eb95190e7 100644 --- a/agent/asset.php +++ b/agent/asset.php @@ -206,7 +206,8 @@ if (isset($_GET['asset_id'])) { } // Related Documents - $sql_related_documents = mysqli_query($mysqli, "SELECT * FROM asset_documents, documents + $sql_related_documents = mysqli_query($mysqli, "SELECT document_created_at, document_description, documents.document_id, document_name, + document_updated_at, user_name FROM asset_documents, documents LEFT JOIN users ON document_created_by = user_id WHERE asset_documents.asset_id = $asset_id AND asset_documents.document_id = documents.document_id @@ -253,7 +254,8 @@ if (isset($_GET['asset_id'])) { $software_count = mysqli_num_rows($sql_related_software); // Linked Services - $sql_linked_services = mysqli_query($mysqli, "SELECT * FROM service_assets, services + $sql_linked_services = mysqli_query($mysqli, "SELECT service_category, service_description, service_assets.service_id, service_importance, + service_name FROM service_assets, services WHERE service_assets.asset_id = $asset_id AND service_assets.service_id = services.service_id ORDER BY service_name ASC" @@ -263,7 +265,7 @@ if (isset($_GET['asset_id'])) { $linked_services = array(); // Notes - 1 to many relationship - $sql_related_notes = mysqli_query($mysqli, "SELECT * FROM asset_notes + $sql_related_notes = mysqli_query($mysqli, "SELECT asset_note, asset_note_created_at, asset_note_id, asset_note_type, user_name FROM asset_notes LEFT JOIN users ON asset_note_created_by = user_id WHERE asset_note_asset_id = $asset_id AND asset_note_archived_at IS NULL diff --git a/agent/assets.php b/agent/assets.php index bb0d8ded4..a5bef8fa9 100644 --- a/agent/assets.php +++ b/agent/assets.php @@ -150,7 +150,14 @@ $other_count = intval($row['other_count']); $sql = mysqli_query( $mysqli, - "SELECT SQL_CALC_FOUND_ROWS * FROM assets + "SELECT SQL_CALC_FOUND_ROWS asset_archived_at, asset_contact_id, asset_created_at, asset_description, asset_favorite, + asset_id, asset_install_date, asset_location_id, asset_make, asset_model, asset_name, + asset_notes, asset_os, asset_photo, asset_physical_location, asset_purchase_date, + asset_purchase_reference, asset_serial, asset_status, asset_type, asset_uri, asset_uri_2, + asset_uri_client, asset_vendor_id, asset_warranty_expire, client_id, client_name, + contact_archived_at, contact_name, interface_ip, interface_ipv6, interface_mac, + interface_nat_ip, interface_network_id, location_archived_at, location_name, tag_color, + tag_icon, tag_id, tag_name FROM assets LEFT JOIN clients ON asset_client_id = client_id LEFT JOIN contacts ON asset_contact_id = contact_id LEFT JOIN locations ON asset_location_id = location_id diff --git a/agent/calendar.php b/agent/calendar.php index ceb20d164..08150d1f0 100644 --- a/agent/calendar.php +++ b/agent/calendar.php @@ -135,7 +135,8 @@ if (isset($_GET['calendar_id'])) { require_once "modals/calendar/calendar_event_add.php"; //loop through IDs and create a modal for each -$sql = mysqli_query($mysqli, "SELECT * FROM calendar_events LEFT JOIN calendars ON event_calendar_id = calendar_id $client_event_query"); +$sql = mysqli_query($mysqli, "SELECT calendar_color, calendar_id, calendar_name, event_client_id, event_description, event_end, + event_id, event_location, event_repeat, event_start, event_title FROM calendar_events LEFT JOIN calendars ON event_calendar_id = calendar_id $client_event_query"); while ($row = mysqli_fetch_assoc($sql)) { $event_id = intval($row['event_id']); $event_title = escapeHtml($row['event_title']); @@ -303,7 +304,8 @@ while ($row = mysqli_fetch_assoc($sql)) { }, events: [ - All Asset Locations - Revisions - +
diff --git a/agent/invoices.php b/agent/invoices.php index 481ce914e..cdaa6e600 100644 --- a/agent/invoices.php +++ b/agent/invoices.php @@ -94,7 +94,11 @@ if (isset($_GET['category']) & !empty($_GET['category'])) { $sql = mysqli_query( $mysqli, - "SELECT SQL_CALC_FOUND_ROWS * FROM invoices + "SELECT SQL_CALC_FOUND_ROWS category_id, category_name, client_currency_code, client_id, client_name, client_net_terms, + invoice_amount, invoice_created_at, invoice_currency_code, invoice_date, + invoice_discount_amount, invoice_due, invoice_id, invoice_number, invoice_prefix, + invoice_scope, invoice_status, recurring_invoice_id, recurring_invoice_number, + recurring_invoice_prefix FROM invoices LEFT JOIN clients ON invoice_client_id = client_id LEFT JOIN categories ON invoice_category_id = category_id LEFT JOIN recurring_invoices ON invoice_recurring_invoice_id = recurring_invoice_id diff --git a/agent/modals/asset/asset.php b/agent/modals/asset/asset.php index 59af1695a..772484f15 100644 --- a/agent/modals/asset/asset.php +++ b/agent/modals/asset/asset.php @@ -179,7 +179,8 @@ $sql_related_tickets = mysqli_query($mysqli, " $ticket_count = mysqli_num_rows($sql_related_tickets); // Related Recurring Tickets Query -$sql_related_recurring_tickets = mysqli_query($mysqli, "SELECT * FROM recurring_tickets +$sql_related_recurring_tickets = mysqli_query($mysqli, "SELECT recurring_ticket_frequency, recurring_ticket_assets.recurring_ticket_id, + recurring_ticket_next_run, recurring_ticket_priority, recurring_ticket_subject FROM recurring_tickets LEFT JOIN recurring_ticket_assets ON recurring_tickets.recurring_ticket_id = recurring_ticket_assets.recurring_ticket_id WHERE recurring_ticket_asset_id = $asset_id OR recurring_ticket_assets.asset_id = $asset_id GROUP BY recurring_tickets.recurring_ticket_id @@ -188,7 +189,8 @@ $sql_related_recurring_tickets = mysqli_query($mysqli, "SELECT * FROM recurring_ $recurring_ticket_count = mysqli_num_rows($sql_related_recurring_tickets); // Related Documents -$sql_related_documents = mysqli_query($mysqli, "SELECT * FROM asset_documents +$sql_related_documents = mysqli_query($mysqli, "SELECT document_created_at, document_description, documents.document_id, document_name, + document_updated_at, user_name FROM asset_documents LEFT JOIN documents ON asset_documents.document_id = documents.document_id LEFT JOIN users ON user_id = document_created_by WHERE asset_documents.asset_id = $asset_id @@ -219,7 +221,7 @@ $sql_related_software = mysqli_query( $software_count = mysqli_num_rows($sql_related_software); // Related Notes -$sql_related_notes = mysqli_query($mysqli, "SELECT * FROM asset_notes +$sql_related_notes = mysqli_query($mysqli, "SELECT asset_note, asset_note_created_at, asset_note_type, user_name FROM asset_notes LEFT JOIN users ON asset_note_created_by = user_id WHERE asset_note_asset_id = $asset_id AND asset_note_archived_at IS NULL diff --git a/agent/modals/asset/asset_add.php b/agent/modals/asset/asset_add.php index 21cf097c2..6a4a01d59 100644 --- a/agent/modals/asset/asset_add.php +++ b/agent/modals/asset/asset_add.php @@ -7,10 +7,10 @@ $contact_id = intval($_GET['contact_id'] ?? 0); $type = escapeHtml(ucwords($_GET['type']) ?? ''); if ($client_id) { - $sql_network_select = mysqli_query($mysqli, "SELECT * FROM networks WHERE network_archived_at IS NULL AND network_client_id = $client_id ORDER BY network_name ASC"); - $sql_vendor_select = mysqli_query($mysqli, "SELECT * FROM vendors WHERE vendor_archived_at IS NULL AND vendor_client_id = $client_id ORDER BY vendor_name ASC"); + $sql_network_select = mysqli_query($mysqli, "SELECT network, network_id, network_name FROM networks WHERE network_archived_at IS NULL AND network_client_id = $client_id ORDER BY network_name ASC"); + $sql_vendor_select = mysqli_query($mysqli, "SELECT vendor_id, vendor_name FROM vendors WHERE vendor_archived_at IS NULL AND vendor_client_id = $client_id ORDER BY vendor_name ASC"); $sql_location_select = mysqli_query($mysqli, "SELECT location_id, location_name FROM locations WHERE location_archived_at IS NULL AND location_client_id = $client_id ORDER BY location_name ASC"); - $sql_contact_select = mysqli_query($mysqli, "SELECT * FROM contacts WHERE contact_archived_at IS NULL AND contact_client_id = $client_id ORDER BY contact_name ASC"); + $sql_contact_select = mysqli_query($mysqli, "SELECT contact_id, contact_name FROM contacts WHERE contact_archived_at IS NULL AND contact_client_id = $client_id ORDER BY contact_name ASC"); } else { $sql_client_select = mysqli_query($mysqli, "SELECT client_id, client_name FROM clients WHERE client_archived_at IS NULL " . clientScopeSql('clients.client_id') . " ORDER BY client_name ASC"); } diff --git a/agent/modals/asset/asset_bulk_add_ticket.php b/agent/modals/asset/asset_bulk_add_ticket.php index 9050cac8f..a1f5eed98 100644 --- a/agent/modals/asset/asset_bulk_add_ticket.php +++ b/agent/modals/asset/asset_bulk_add_ticket.php @@ -116,7 +116,7 @@ ob_start(); diff --git a/agent/modals/asset/asset_bulk_assign_contact.php b/agent/modals/asset/asset_bulk_assign_contact.php index 6d0489b76..ab301a310 100644 --- a/agent/modals/asset/asset_bulk_assign_contact.php +++ b/agent/modals/asset/asset_bulk_assign_contact.php @@ -37,7 +37,7 @@ ob_start(); - Select Location - - Select Contact - - Select Network - - Select Vendor - - Select Location - - Select Contact - - Select Network - - Select Vendor - - Client - - Client - - None - diff --git a/agent/modals/contact/contact.php b/agent/modals/contact/contact.php index 1e7941128..ba9c19444 100644 --- a/agent/modals/contact/contact.php +++ b/agent/modals/contact/contact.php @@ -52,7 +52,8 @@ $auth_method = escapeHtml($row['user_auth_method']); $contact_client_id = intval($row['contact_client_id']); // Related Assets Query - 1 to 1 relationship -$sql_related_assets = mysqli_query($mysqli, "SELECT * FROM assets +$sql_related_assets = mysqli_query($mysqli, "SELECT asset_description, asset_favorite, asset_id, asset_install_date, asset_make, asset_model, + asset_name, asset_serial, asset_status, asset_type FROM assets LEFT JOIN asset_interfaces ON interface_asset_id = asset_id AND interface_primary = 1 LEFT JOIN asset_tags ON asset_tag_asset_id = asset_id LEFT JOIN tags ON tag_id = asset_tag_tag_id @@ -63,7 +64,8 @@ $sql_related_assets = mysqli_query($mysqli, "SELECT * FROM assets $asset_count = mysqli_num_rows($sql_related_assets); // Linked Software Licenses -$sql_linked_software = mysqli_query($mysqli, "SELECT * FROM software_contacts, software +$sql_linked_software = mysqli_query($mysqli, "SELECT software.software_id, software_key, software_name, software_seats, software_type, + software_version FROM software_contacts, software WHERE software_contacts.contact_id = $contact_id AND software_contacts.software_id = software.software_id AND software_archived_at IS NULL @@ -89,7 +91,9 @@ $sql_related_credentials = mysqli_query($mysqli, " $credential_count = mysqli_num_rows($sql_related_credentials); // Related Tickets Query - 1 to 1 relationship -$sql_related_tickets = mysqli_query($mysqli, "SELECT * FROM tickets +$sql_related_tickets = mysqli_query($mysqli, "SELECT ticket_assigned_to, ticket_created_at, ticket_id, ticket_number, ticket_prefix, + ticket_priority, ticket_status, ticket_status_color, ticket_status_name, ticket_subject, + ticket_updated_at, user_name FROM tickets LEFT JOIN users ON ticket_assigned_to = user_id LEFT JOIN ticket_statuses ON ticket_status = ticket_status_id WHERE ticket_contact_id = $contact_id @@ -98,7 +102,8 @@ $sql_related_tickets = mysqli_query($mysqli, "SELECT * FROM tickets $ticket_count = mysqli_num_rows($sql_related_tickets); // Related Recurring Tickets Query -$sql_related_recurring_tickets = mysqli_query($mysqli, "SELECT * FROM recurring_tickets +$sql_related_recurring_tickets = mysqli_query($mysqli, "SELECT recurring_ticket_frequency, recurring_ticket_next_run, recurring_ticket_priority, + recurring_ticket_subject FROM recurring_tickets WHERE recurring_ticket_contact_id = $contact_id ORDER BY recurring_ticket_next_run DESC" ); @@ -131,7 +136,7 @@ while ($row = mysqli_fetch_assoc($sql_contact_tags)) { $contact_tags_display = implode('', $contact_tag_name_display_array); // Notes - 1 to 1 relationship -$sql_related_notes = mysqli_query($mysqli, "SELECT * FROM contact_notes +$sql_related_notes = mysqli_query($mysqli, "SELECT contact_note, contact_note_created_at, contact_note_type, user_name FROM contact_notes LEFT JOIN users ON contact_note_created_by = user_id WHERE contact_note_contact_id = $contact_id AND contact_note_archived_at IS NULL @@ -156,7 +161,8 @@ $services_count = mysqli_num_rows($sql_linked_services); $linked_services = array(); // Linked Documents -$sql_linked_documents = mysqli_query($mysqli, "SELECT * FROM contact_documents, documents +$sql_linked_documents = mysqli_query($mysqli, "SELECT document_created_at, document_description, documents.document_id, document_name, + document_updated_at, user_name FROM contact_documents, documents LEFT JOIN users ON document_created_by = user_id WHERE contact_documents.contact_id = $contact_id AND contact_documents.document_id = documents.document_id diff --git a/agent/modals/contact/contact_edit.php b/agent/modals/contact/contact_edit.php index d1c5ac1f8..bd2ad1088 100644 --- a/agent/modals/contact/contact_edit.php +++ b/agent/modals/contact/contact_edit.php @@ -174,7 +174,7 @@ ob_start(); - Select Contact - - Select Asset - - Vendor - - Vendor - - Vendor - - Vendor - - Select an Asset -
- Select a Client - - Contact - - Contact - '$location_created_at' OR contact_archived_at IS NULL) AND contact_client_id = $client_id ORDER BY contact_archived_at ASC, contact_name ASC"); + $sql_contacts = mysqli_query($mysqli, "SELECT contact_archived_at, contact_id, contact_name FROM contacts WHERE (contact_archived_at > '$location_created_at' OR contact_archived_at IS NULL) AND contact_client_id = $client_id ORDER BY contact_archived_at ASC, contact_name ASC"); while ($row = mysqli_fetch_assoc($sql_contacts)) { $contact_id_select = intval($row['contact_id']); $contact_name_select = escapeHtml($row['contact_name']); diff --git a/agent/modals/network/network_add.php b/agent/modals/network/network_add.php index 67abf4cef..c5ac37f8a 100644 --- a/agent/modals/network/network_add.php +++ b/agent/modals/network/network_add.php @@ -78,7 +78,7 @@ ob_start(); Select related vendors Select related assets Select related domains '$service_created_at' OR contact_archived_at IS NULL) AND contact_client_id = $client_id"); + $sql_all = mysqli_query($mysqli, "SELECT contact_id, contact_name FROM contacts WHERE (contact_archived_at > '$service_created_at' OR contact_archived_at IS NULL) AND contact_client_id = $client_id"); while ($row_all = mysqli_fetch_assoc($sql_all)) { $contact_id = intval($row_all['contact_id']); @@ -216,7 +216,7 @@ ob_start(); '$service_created_at' OR vendor_archived_at IS NULL) AND vendor_client_id = $client_id"); + $sql_all = mysqli_query($mysqli, "SELECT vendor_id, vendor_name FROM vendors WHERE (vendor_archived_at > '$service_created_at' OR vendor_archived_at IS NULL) AND vendor_client_id = $client_id"); while ($row_all = mysqli_fetch_assoc($sql_all)) { $vendor_id = intval($row_all['vendor_id']); $vendor_name = escapeHtml($row_all['vendor_name']); @@ -238,7 +238,7 @@ ob_start(); '$service_created_at' OR asset_archived_at IS NULL) AND asset_client_id = $client_id"); + $sql_all = mysqli_query($mysqli, "SELECT asset_id, asset_name FROM assets WHERE (asset_archived_at > '$service_created_at' OR asset_archived_at IS NULL) AND asset_client_id = $client_id"); while ($row_all = mysqli_fetch_assoc($sql_all)) { $asset_id = intval($row_all['asset_id']); $asset_name = escapeHtml($row_all['asset_name']); @@ -290,7 +290,7 @@ ob_start(); '$service_created_at' OR credential_archived_at IS NULL) AND credential_client_id = $client_id"); + $sql_all = mysqli_query($mysqli, "SELECT credential_id, credential_name FROM credentials WHERE (credential_archived_at > '$service_created_at' OR credential_archived_at IS NULL) AND credential_client_id = $client_id"); while ($row_all = mysqli_fetch_assoc($sql_all)) { $credential_id = intval($row_all['credential_id']); $credential_name = escapeHtml($row_all['credential_name']); @@ -312,7 +312,7 @@ ob_start(); '$service_created_at' OR domain_archived_at IS NULL) AND domain_client_id = $client_id"); + $sql_all = mysqli_query($mysqli, "SELECT domain_id, domain_name FROM domains WHERE (domain_archived_at > '$service_created_at' OR domain_archived_at IS NULL) AND domain_client_id = $client_id"); while ($row_all = mysqli_fetch_assoc($sql_all)) { $domain_id = intval($row_all['domain_id']); $domain_name = escapeHtml($row_all['domain_name']); @@ -334,7 +334,7 @@ ob_start(); '$service_created_at' OR certificate_archived_at IS NULL) AND certificate_client_id = $client_id"); + $sql_all = mysqli_query($mysqli, "SELECT certificate_id, certificate_name FROM certificates WHERE (certificate_archived_at > '$service_created_at' OR certificate_archived_at IS NULL) AND certificate_client_id = $client_id"); while ($row_all = mysqli_fetch_assoc($sql_all)) { $cert_id = intval($row_all['certificate_id']); $cert_name = escapeHtml($row_all['certificate_name']); diff --git a/agent/modals/share_modal.php b/agent/modals/share_modal.php index eb5f9431c..eb4a86db6 100644 --- a/agent/modals/share_modal.php +++ b/agent/modals/share_modal.php @@ -28,7 +28,7 @@ '' AND contact_archived_at IS NULL ORDER BY contact_name ASC"); + $sql_client_contacts_select = mysqli_query($mysqli, "SELECT contact_email, contact_id, contact_name FROM contacts WHERE contact_client_id = $client_id AND contact_email <> '' AND contact_archived_at IS NULL ORDER BY contact_name ASC"); while ($row = mysqli_fetch_assoc($sql_client_contacts_select)) { $contact_id_select = intval($row['contact_id']); $contact_name_select = escapeHtml($row['contact_name']); diff --git a/agent/modals/software/software_add.php b/agent/modals/software/software_add.php index a5e1a0064..a79f0e783 100644 --- a/agent/modals/software/software_add.php +++ b/agent/modals/software/software_add.php @@ -244,7 +244,7 @@ ob_start(); '$software_created_at' OR asset_archived_at IS NULL) AND asset_client_id = $client_id ORDER BY asset_archived_at ASC, asset_name ASC"); + $sql_assets_select = mysqli_query($mysqli, "SELECT asset_archived_at, asset_id, asset_name, asset_type, contact_name FROM assets LEFT JOIN contacts ON asset_contact_id = contact_id WHERE (asset_archived_at > '$software_created_at' OR asset_archived_at IS NULL) AND asset_client_id = $client_id ORDER BY asset_archived_at ASC, asset_name ASC"); while ($row = mysqli_fetch_assoc($sql_assets_select)) { $asset_id_select = intval($row['asset_id']); @@ -298,7 +298,7 @@ ob_start(); '$software_created_at' OR contact_archived_at IS NULL) AND contact_client_id = $client_id ORDER BY contact_archived_at ASC, contact_name ASC"); + $sql_contacts_select = mysqli_query($mysqli, "SELECT contact_archived_at, contact_email, contact_id, contact_name FROM contacts WHERE (contact_archived_at > '$software_created_at' OR contact_archived_at IS NULL) AND contact_client_id = $client_id ORDER BY contact_archived_at ASC, contact_name ASC"); while ($row = mysqli_fetch_assoc($sql_contacts_select)) { $contact_id_select = intval($row['contact_id']); diff --git a/agent/modals/ticket/ticket_add.php b/agent/modals/ticket/ticket_add.php index d23901601..9f250c2a9 100644 --- a/agent/modals/ticket/ticket_add.php +++ b/agent/modals/ticket/ticket_add.php @@ -62,7 +62,7 @@ ob_start(); diff --git a/agent/modals/ticket/ticket_bulk_merge.php b/agent/modals/ticket/ticket_bulk_merge.php index 0558600d2..16ac34a9c 100644 --- a/agent/modals/ticket/ticket_bulk_merge.php +++ b/agent/modals/ticket/ticket_bulk_merge.php @@ -12,7 +12,7 @@ if (!empty($ticket_ids)) { $whereNotIn = "AND ticket_id NOT IN ($ids)"; } -$sql_merge = mysqli_query($mysqli, "SELECT * FROM tickets +$sql_merge = mysqli_query($mysqli, "SELECT client_name, ticket_id, ticket_number, ticket_prefix, ticket_status_name, ticket_subject FROM tickets LEFT JOIN ticket_statuses ON ticket_status = ticket_status_id LEFT JOIN clients ON client_id = ticket_client_id WHERE ticket_closed_at IS NULL diff --git a/agent/modals/ticket/ticket_invoice_add.php b/agent/modals/ticket/ticket_invoice_add.php index 03047bf12..ae15e8174 100644 --- a/agent/modals/ticket/ticket_invoice_add.php +++ b/agent/modals/ticket/ticket_invoice_add.php @@ -81,7 +81,8 @@ $row = mysqli_fetch_assoc($ticket_total_reply_time); $ticket_total_reply_time = escapeHtml($row['ticket_total_reply_time']); $ticket_total_reply_time_display = formatDuration($ticket_total_reply_time); -$sql_invoices = mysqli_query($mysqli, "SELECT * FROM invoices WHERE invoice_status LIKE 'Draft' AND invoice_client_id = $client_id ORDER BY invoice_number ASC"); +$sql_invoices = mysqli_query($mysqli, "SELECT invoice_amount, invoice_date, invoice_due, invoice_id, invoice_number, invoice_prefix, + invoice_scope, invoice_status FROM invoices WHERE invoice_status LIKE 'Draft' AND invoice_client_id = $client_id ORDER BY invoice_number ASC"); ob_start(); diff --git a/agent/modals/ticket/ticket_merge.php b/agent/modals/ticket/ticket_merge.php index 0a3f0f89a..4f293bfe1 100644 --- a/agent/modals/ticket/ticket_merge.php +++ b/agent/modals/ticket/ticket_merge.php @@ -22,7 +22,7 @@ if ($client_id) { enforceClientAccess(); } -$sql_merge = mysqli_query($mysqli, "SELECT * FROM tickets +$sql_merge = mysqli_query($mysqli, "SELECT client_name, ticket_id, ticket_number, ticket_prefix, ticket_status_name, ticket_subject FROM tickets LEFT JOIN ticket_statuses ON ticket_status = ticket_status_id LEFT JOIN clients ON client_id = ticket_client_id WHERE ticket_closed_at IS NULL diff --git a/agent/modals/transaction/transaction_export.php b/agent/modals/transaction/transaction_export.php index 1fd5ec558..ffc62e648 100644 --- a/agent/modals/transaction/transaction_export.php +++ b/agent/modals/transaction/transaction_export.php @@ -100,7 +100,7 @@ ob_start(); - Client (Optional) - - Client (Optional) - - Driver - - Client (Optional) - - None - diff --git a/agent/networks.php b/agent/networks.php index c7153bb8a..23ae73e91 100644 --- a/agent/networks.php +++ b/agent/networks.php @@ -58,7 +58,9 @@ if ($client_url && isset($_GET['location']) && !empty($_GET['location'])) { $sql = mysqli_query( $mysqli, - "SELECT SQL_CALC_FOUND_ROWS * FROM networks + "SELECT SQL_CALC_FOUND_ROWS client_id, client_name, location_name, network, network_archived_at, network_description, + network_dhcp_range, network_gateway, network_id, network_location_id, network_name, + network_primary_dns, network_secondary_dns, network_vlan FROM networks LEFT JOIN clients ON client_id = network_client_id LEFT JOIN locations ON location_id = network_location_id WHERE $archive_query diff --git a/agent/notifications.php b/agent/notifications.php index 6140d4fc8..2465833ae 100644 --- a/agent/notifications.php +++ b/agent/notifications.php @@ -18,7 +18,8 @@ if (isset($_GET['dismissed'])) { $sql = mysqli_query( $mysqli, - "SELECT SQL_CALC_FOUND_ROWS * FROM notifications + "SELECT SQL_CALC_FOUND_ROWS client_id, client_name, notification, notification_dismissed_at, notification_id, + notification_timestamp, notification_type FROM notifications LEFT JOIN clients ON notification_client_id = client_id WHERE (notification_type LIKE '%$q%' OR notification LIKE '%$q%') AND DATE(notification_timestamp) BETWEEN '$dtf' AND '$dtt' diff --git a/agent/post/asset.php b/agent/post/asset.php index 886d83b95..075ce5409 100644 --- a/agent/post/asset.php +++ b/agent/post/asset.php @@ -540,7 +540,7 @@ if (isset($_POST['bulk_transfer_client_asset'])) { $new_asset_id = mysqli_insert_id($mysqli); // Transfer all Interfaces over too - $sql_interfaces = mysqli_query($mysqli, "SELECT * FROM asset_interfaces WHERE interface_asset_id = $current_asset_id"); + $sql_interfaces = mysqli_query($mysqli, "SELECT interface_mac, interface_name, interface_primary FROM asset_interfaces WHERE interface_asset_id = $current_asset_id"); while ($row = mysqli_fetch_assoc($sql_interfaces)) { $interface_name = escapeSql($row['interface_name']); diff --git a/agent/post/client.php b/agent/post/client.php index d9fc5143a..31ae1fc77 100644 --- a/agent/post/client.php +++ b/agent/post/client.php @@ -216,7 +216,7 @@ if (isset($_GET['archive_client'])) { mysqli_query($mysqli, "UPDATE clients SET client_archived_at = NOW() WHERE client_id = $client_id"); // Stop recurring invoices - $sql_recurring_invoices = mysqli_query($mysqli, "SELECT * FROM recurring_invoices WHERE recurring_invoice_client_id = $client_id AND recurring_invoice_status = 1"); + $sql_recurring_invoices = mysqli_query($mysqli, "SELECT recurring_invoice_id FROM recurring_invoices WHERE recurring_invoice_client_id = $client_id AND recurring_invoice_status = 1"); while ($row = mysqli_fetch_assoc($sql_recurring_invoices)) { $recurring_invoice_id = intval($row['recurring_invoice_id']); mysqli_query($mysqli,"UPDATE recurring_invoices SET recurring_invoice_status = 0 WHERE recurring_invoice_id = $recurring_invoice_id AND recurring_invoice_client_id = $client_id"); diff --git a/agent/post/contact.php b/agent/post/contact.php index 16000b39d..23cff00e9 100644 --- a/agent/post/contact.php +++ b/agent/post/contact.php @@ -820,7 +820,7 @@ if (isset($_GET['anonymize_contact'])) { // Get all tickets this contact raised - $contact_tickets_sql = mysqli_query($mysqli, "SELECT * FROM tickets WHERE ticket_client_id = $client_id AND ticket_contact_id = $contact_id"); + $contact_tickets_sql = mysqli_query($mysqli, "SELECT ticket_details, ticket_id, ticket_subject FROM tickets WHERE ticket_client_id = $client_id AND ticket_contact_id = $contact_id"); while ($ticket = mysqli_fetch_assoc($contact_tickets_sql)) { $ticket_id = intval($ticket['ticket_id']); @@ -839,7 +839,7 @@ if (isset($_GET['anonymize_contact'])) { mysqli_query($mysqli,"UPDATE tickets SET ticket_details = '$details' WHERE ticket_id = $ticket_id"); // Redact contact name or email in the replies of all tickets they raised - $ticket_replies_sql = mysqli_query($mysqli, "SELECT * FROM ticket_replies WHERE ticket_reply_ticket_id = $ticket_id"); + $ticket_replies_sql = mysqli_query($mysqli, "SELECT ticket_reply, ticket_reply_id FROM ticket_replies WHERE ticket_reply_ticket_id = $ticket_id"); while($ticket_reply = mysqli_fetch_assoc($ticket_replies_sql)) { $ticket_reply_id = intval($ticket_reply['ticket_reply_id']); diff --git a/agent/post/folder.php b/agent/post/folder.php index d9c2ba43d..023d34247 100644 --- a/agent/post/folder.php +++ b/agent/post/folder.php @@ -78,7 +78,7 @@ if (isset($_GET['delete_folder'])) { mysqli_query($mysqli,"DELETE FROM folders WHERE folder_id = $folder_id"); // Move files in deleted folder back to the root folder / - $sql_documents = mysqli_query($mysqli,"SELECT * FROM documents WHERE document_folder_id = $folder_id"); + $sql_documents = mysqli_query($mysqli,"SELECT document_id FROM documents WHERE document_folder_id = $folder_id"); while($row = mysqli_fetch_assoc($sql_documents)) { $document_id = intval($row['document_id']); diff --git a/agent/post/invoice.php b/agent/post/invoice.php index da38550b9..c3d0b468e 100644 --- a/agent/post/invoice.php +++ b/agent/post/invoice.php @@ -74,7 +74,7 @@ if (isset($_POST['edit_invoice'])) { enforceClientAccess(); // Calculate new total - $sql = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE item_invoice_id = $invoice_id"); + $sql = mysqli_query($mysqli,"SELECT item_total FROM invoice_items WHERE item_invoice_id = $invoice_id"); $invoice_amount = 0; while($row = mysqli_fetch_assoc($sql)) { $item_total = floatval($row['item_total']); @@ -138,7 +138,8 @@ if (isset($_POST['add_invoice_copy'])) { mysqli_query($mysqli,"INSERT INTO history SET history_status = 'Draft', history_description = 'Copied INVOICE!', history_invoice_id = $new_invoice_id"); - $sql_items = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE item_invoice_id = $invoice_id"); + $sql_items = mysqli_query($mysqli,"SELECT item_description, item_id, item_name, item_order, item_price, item_quantity, item_subtotal, + item_tax, item_tax_id, item_total FROM invoice_items WHERE item_invoice_id = $invoice_id"); while($row = mysqli_fetch_assoc($sql_items)) { $item_id = intval($row['item_id']); $item_name = escapeSql($row['item_name']); @@ -271,7 +272,7 @@ if (isset($_GET['delete_invoice'])) { mysqli_query($mysqli,"DELETE FROM invoices WHERE invoice_id = $invoice_id"); //Delete Items Associated with the Invoice - $sql = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE item_invoice_id = $invoice_id"); + $sql = mysqli_query($mysqli,"SELECT item_id FROM invoice_items WHERE item_invoice_id = $invoice_id"); while($row = mysqli_fetch_assoc($sql)) { $item_id = intval($row['item_id']); mysqli_query($mysqli,"DELETE FROM invoice_items WHERE item_id = $item_id"); @@ -372,7 +373,7 @@ if (isset($_POST['add_invoice_item'])) { $invoice_discount = floatval($row['invoice_discount_amount']); //add up all line items - $sql = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE item_invoice_id = $invoice_id"); + $sql = mysqli_query($mysqli,"SELECT item_total FROM invoice_items WHERE item_invoice_id = $invoice_id"); $invoice_total = 0; while($row = mysqli_fetch_assoc($sql)) { $item_total = floatval($row['item_total']); @@ -974,7 +975,7 @@ if (isset($_GET['export_invoice_pdf'])) { $sub_total = 0; $total_tax = 0; - $sql_items = mysqli_query($mysqli, "SELECT * FROM invoice_items WHERE item_invoice_id = $invoice_id ORDER BY item_order ASC"); + $sql_items = mysqli_query($mysqli, "SELECT item_description, item_name, item_price, item_quantity, item_tax, item_total FROM invoice_items WHERE item_invoice_id = $invoice_id ORDER BY item_order ASC"); while ($item = mysqli_fetch_assoc($sql_items)) { $name = $item['item_name']; $desc = $item['item_description']; @@ -1140,7 +1141,7 @@ if (isset($_GET['export_invoice_packing_slip'])) { $sub_total = 0; $total_tax = 0; - $sql_items = mysqli_query($mysqli, "SELECT * FROM invoice_items WHERE item_invoice_id = $invoice_id ORDER BY item_order ASC"); + $sql_items = mysqli_query($mysqli, "SELECT item_name, item_quantity FROM invoice_items WHERE item_invoice_id = $invoice_id ORDER BY item_order ASC"); while ($item = mysqli_fetch_assoc($sql_items)) { $name = $item['item_name']; $qty = $item['item_quantity']; diff --git a/agent/post/quote.php b/agent/post/quote.php index 38adb631b..ef0750221 100644 --- a/agent/post/quote.php +++ b/agent/post/quote.php @@ -99,7 +99,8 @@ if (isset($_POST['add_quote_copy'])) { mysqli_query($mysqli,"INSERT INTO history SET history_status = 'Draft', history_description = 'Quote copied!', history_quote_id = $new_quote_id"); - $sql_items = mysqli_query($mysqli,"SELECT * FROM quote_items WHERE item_quote_id = $quote_id"); + $sql_items = mysqli_query($mysqli,"SELECT item_description, item_id, item_name, item_order, item_price, item_quantity, item_subtotal, + item_tax, item_tax_id, item_total FROM quote_items WHERE item_quote_id = $quote_id"); while($row = mysqli_fetch_assoc($sql_items)) { $item_id = intval($row['item_id']); $item_name = escapeSql($row['item_name']); @@ -172,7 +173,8 @@ if (isset($_POST['add_quote_to_invoice'])) { mysqli_query($mysqli,"INSERT INTO history SET history_status = 'Draft', history_description = 'Invoice created from quote $quote_prefix$quote_number', history_invoice_id = $new_invoice_id"); - $sql_items = mysqli_query($mysqli,"SELECT * FROM quote_items WHERE item_quote_id = $quote_id"); + $sql_items = mysqli_query($mysqli,"SELECT item_description, item_id, item_name, item_order, item_price, item_quantity, item_subtotal, + item_tax, item_tax_id, item_total FROM quote_items WHERE item_quote_id = $quote_id"); while($row = mysqli_fetch_assoc($sql_items)) { $item_id = intval($row['item_id']); $item_name = escapeSql($row['item_name']); @@ -260,7 +262,7 @@ if (isset($_POST['add_quote_item'])) { $client_id = intval($row['quote_client_id']); //add up the total of all items - $sql = mysqli_query($mysqli,"SELECT * FROM quote_items WHERE item_quote_id = $quote_id"); + $sql = mysqli_query($mysqli,"SELECT item_total FROM quote_items WHERE item_quote_id = $quote_id"); $quote_amount = 0; while($row = mysqli_fetch_assoc($sql)) { $item_total = floatval($row['item_total']); @@ -385,7 +387,7 @@ if (isset($_POST['edit_quote'])) { enforceClientAccess(); //Calculate the new quote amount - $sql = mysqli_query($mysqli,"SELECT * FROM quote_items WHERE item_quote_id = $quote_id"); + $sql = mysqli_query($mysqli,"SELECT item_total FROM quote_items WHERE item_quote_id = $quote_id"); $quote_amount = 0; while($row = mysqli_fetch_assoc($sql)) { $item_total = floatval($row['item_total']); @@ -423,7 +425,7 @@ if (isset($_GET['delete_quote'])) { mysqli_query($mysqli,"DELETE FROM quotes WHERE quote_id = $quote_id"); //Delete Items Associated with the Quote - $sql = mysqli_query($mysqli,"SELECT * FROM quote_items WHERE item_quote_id = $quote_id"); + $sql = mysqli_query($mysqli,"SELECT item_id FROM quote_items WHERE item_quote_id = $quote_id"); while($row = mysqli_fetch_assoc($sql)) {; $item_id = intval($row['item_id']); mysqli_query($mysqli,"DELETE FROM quote_items WHERE item_id = $item_id"); @@ -918,7 +920,7 @@ if (isset($_GET['export_quote_pdf'])) { $sub_total = 0; $total_tax = 0; - $sql_items = mysqli_query($mysqli, "SELECT * FROM quote_items WHERE item_quote_id = $quote_id ORDER BY item_order ASC"); + $sql_items = mysqli_query($mysqli, "SELECT item_description, item_name, item_price, item_quantity, item_tax, item_total FROM quote_items WHERE item_quote_id = $quote_id ORDER BY item_order ASC"); while ($item = mysqli_fetch_assoc($sql_items)) { $name = $item['item_name']; $desc = $item['item_description']; diff --git a/agent/post/recurring_invoice.php b/agent/post/recurring_invoice.php index 0f7b6d5ee..0f9b182fe 100644 --- a/agent/post/recurring_invoice.php +++ b/agent/post/recurring_invoice.php @@ -46,7 +46,8 @@ if (isset($_POST['add_invoice_recurring'])) { mysqli_query($mysqli,"INSERT INTO history SET history_status = 'Draft', history_description = 'Recurring Invoice Created from INVOICE!', history_recurring_invoice_id = $recurring_invoice_id"); - $sql_items = mysqli_query($mysqli,"SELECT * FROM invoice_items WHERE item_invoice_id = $invoice_id"); + $sql_items = mysqli_query($mysqli,"SELECT item_description, item_id, item_name, item_order, item_price, item_quantity, item_subtotal, + item_tax, item_tax_id, item_total FROM invoice_items WHERE item_invoice_id = $invoice_id"); while($row = mysqli_fetch_assoc($sql_items)) { $item_id = intval($row['item_id']); $item_name = escapeSql($row['item_name']); @@ -133,7 +134,7 @@ if (isset($_POST['edit_recurring_invoice'])) { enforceClientAccess(); //Calculate new total - $sql = mysqli_query($mysqli,"SELECT * FROM recurring_invoice_items WHERE item_recurring_invoice_id = $recurring_invoice_id"); + $sql = mysqli_query($mysqli,"SELECT item_total FROM recurring_invoice_items WHERE item_recurring_invoice_id = $recurring_invoice_id"); $recurring_invoice_amount = 0; while($row = mysqli_fetch_assoc($sql)) { $item_total = floatval($row['item_total']); @@ -174,7 +175,7 @@ if (isset($_GET['delete_recurring_invoice'])) { mysqli_query($mysqli,"DELETE FROM recurring_invoices WHERE recurring_invoice_id = $recurring_invoice_id"); //Delete Items Associated with the Recurring - $sql = mysqli_query($mysqli,"SELECT * FROM recurring_invoice_items WHERE item_recurring_invoice_id = $recurring_invoice_id"); + $sql = mysqli_query($mysqli,"SELECT item_id FROM recurring_invoice_items WHERE item_recurring_invoice_id = $recurring_invoice_id"); while($row = mysqli_fetch_assoc($sql)) { $item_id = intval($row['item_id']); mysqli_query($mysqli,"DELETE FROM recurring_invoice_items WHERE item_id = $item_id"); @@ -237,7 +238,7 @@ if (isset($_POST['add_recurring_invoice_item'])) { $client_id = intval($row['recurring_invoice_client_id']); //add up all the items - $sql = mysqli_query($mysqli,"SELECT * FROM recurring_invoice_items WHERE item_recurring_invoice_id = $recurring_invoice_id"); + $sql = mysqli_query($mysqli,"SELECT item_total FROM recurring_invoice_items WHERE item_recurring_invoice_id = $recurring_invoice_id"); $recurring_invoice_amount = 0; while($row = mysqli_fetch_assoc($sql)) { $item_total = floatval($row['item_total']); diff --git a/agent/post/ticket.php b/agent/post/ticket.php index a371f61e5..b1da09085 100644 --- a/agent/post/ticket.php +++ b/agent/post/ticket.php @@ -2996,7 +2996,7 @@ if (isset($_POST['edit_ticket_schedule'])) { //TODO make this configurable $start = date('Y-m-d H:i:s', strtotime($schedule) - 7200); $end = date('Y-m-d H:i:s', strtotime($schedule) + 7200); - $sql = mysqli_query($mysqli, "SELECT * FROM tickets WHERE ticket_schedule BETWEEN '$start' AND '$end' AND ticket_id != $ticket_id"); + $sql = mysqli_query($mysqli, "SELECT ticket_id, ticket_schedule, ticket_subject FROM tickets WHERE ticket_schedule BETWEEN '$start' AND '$end' AND ticket_id != $ticket_id"); if (mysqli_num_rows($sql) > 0) { $conflicting_tickets = []; while ($row = mysqli_fetch_assoc($sql)) { diff --git a/agent/project.php b/agent/project.php index c11303c98..7a5d625c9 100644 --- a/agent/project.php +++ b/agent/project.php @@ -112,7 +112,7 @@ if (isset($_GET['project_id'])) { // Get All Tasks $sql_tasks = mysqli_query($mysqli, - "SELECT * FROM tickets, tasks + "SELECT task_completed_at, task_id, task_name FROM tickets, tasks WHERE ticket_id = task_ticket_id AND ticket_project_id = $project_id ORDER BY task_created_at ASC" diff --git a/agent/quote.php b/agent/quote.php index b0bf55ab0..a5fa73a87 100644 --- a/agent/quote.php +++ b/agent/quote.php @@ -283,7 +283,8 @@ if (isset($_GET['quote_id'])) {
- +
diff --git a/agent/quotes.php b/agent/quotes.php index b86e950f1..b14379fa6 100644 --- a/agent/quotes.php +++ b/agent/quotes.php @@ -20,7 +20,9 @@ enforceUserPermission('module_sales'); $sql = mysqli_query( $mysqli, - "SELECT SQL_CALC_FOUND_ROWS * FROM quotes + "SELECT SQL_CALC_FOUND_ROWS category_id, category_name, client_currency_code, client_id, client_name, client_net_terms, + quote_amount, quote_created_at, quote_currency_code, quote_date, quote_discount_amount, + quote_expire, quote_id, quote_number, quote_prefix, quote_scope, quote_status FROM quotes LEFT JOIN clients ON quote_client_id = client_id LEFT JOIN categories ON quote_category_id = category_id WHERE (CONCAT(quote_prefix,quote_number) LIKE '%$q%' OR quote_scope LIKE '%$q%' OR category_name LIKE '%$q%' OR quote_status LIKE '%$q%' OR quote_amount LIKE '%$q%' OR client_name LIKE '%$q%') diff --git a/agent/racks.php b/agent/racks.php index 2e5cbff8a..a68f31e69 100644 --- a/agent/racks.php +++ b/agent/racks.php @@ -11,7 +11,9 @@ enforceUserPermission('module_support'); $sql = mysqli_query( $mysqli, - "SELECT SQL_CALC_FOUND_ROWS * FROM racks + "SELECT SQL_CALC_FOUND_ROWS location_name, rack_created_at, rack_depth, rack_description, rack_id, rack_location_id, + rack_model, rack_name, rack_notes, rack_photo, rack_physical_location, rack_type, + rack_units FROM racks LEFT JOIN locations ON location_id = rack_location_id WHERE rack_client_id = $client_id AND rack_$archive_query diff --git a/agent/recurring_expenses.php b/agent/recurring_expenses.php index 97daa8be9..86129b368 100644 --- a/agent/recurring_expenses.php +++ b/agent/recurring_expenses.php @@ -11,7 +11,13 @@ enforceUserPermission('module_financial'); $sql = mysqli_query( $mysqli, - "SELECT SQL_CALC_FOUND_ROWS * FROM recurring_expenses + "SELECT SQL_CALC_FOUND_ROWS account_name, category_name, client_name, recurring_expense_account_id, + recurring_expense_amount, recurring_expense_category_id, recurring_expense_client_id, + recurring_expense_created_at, recurring_expense_currency_code, recurring_expense_day, + recurring_expense_description, recurring_expense_frequency, recurring_expense_id, + recurring_expense_last_sent, recurring_expense_month, recurring_expense_next_date, + recurring_expense_payment_method, recurring_expense_reference, recurring_expense_status, + recurring_expense_vendor_id, vendor_name FROM recurring_expenses LEFT JOIN categories ON recurring_expense_category_id = category_id LEFT JOIN vendors ON recurring_expense_vendor_id = vendor_id LEFT JOIN accounts ON recurring_expense_account_id = account_id diff --git a/agent/recurring_invoice.php b/agent/recurring_invoice.php index 0ba7ea836..02028422a 100644 --- a/agent/recurring_invoice.php +++ b/agent/recurring_invoice.php @@ -252,7 +252,8 @@ if (isset($_GET['recurring_invoice_id'])) {
- +
diff --git a/agent/reports/includes/reports_side_nav.php b/agent/reports/includes/reports_side_nav.php index 364701163..2fe243bea 100644 --- a/agent/reports/includes/reports_side_nav.php +++ b/agent/reports/includes/reports_side_nav.php @@ -139,7 +139,7 @@
diff --git a/client/includes/header.php b/client/includes/header.php index 93d6851be..408faa996 100644 --- a/client/includes/header.php +++ b/client/includes/header.php @@ -80,7 +80,7 @@ header("X-Frame-Options: DENY"); // Legacy

Invoices

diff --git a/client/quotes.php b/client/quotes.php index 081da951f..b49a4efda 100644 --- a/client/quotes.php +++ b/client/quotes.php @@ -10,7 +10,8 @@ require_once "includes/inc_all.php"; enforceContactCan('accounting'); -$quotes_sql = mysqli_query($mysqli, "SELECT * FROM quotes WHERE quote_client_id = $session_client_id AND quote_status != 'Draft' ORDER BY quote_date DESC"); +$quotes_sql = mysqli_query($mysqli, "SELECT quote_amount, quote_date, quote_id, quote_number, quote_prefix, quote_scope, quote_status, + quote_url_key FROM quotes WHERE quote_client_id = $session_client_id AND quote_status != 'Draft' ORDER BY quote_date DESC"); ?>

Quotes

diff --git a/client/ticket.php b/client/ticket.php index 75bf15c17..944039085 100644 --- a/client/ticket.php +++ b/client/ticket.php @@ -269,7 +269,9 @@ if (isset($_GET['id']) && intval($_GET['id'])) {
0) { /** ======================================================================= * SEND: status = 0 (Queued) * ======================================================================= */ -$sql_queue = mysqli_query($mysqli, "SELECT * FROM email_queue WHERE email_status = 0 AND email_queued_at <= NOW()"); +$sql_queue = mysqli_query($mysqli, "SELECT email_attachments, email_cal_str, email_content, email_from, email_from_name, email_id, + email_recipient, email_recipient_name, email_subject FROM email_queue WHERE email_status = 0 AND email_queued_at <= NOW()"); if (mysqli_num_rows($sql_queue) > 0) { while ($rowq = mysqli_fetch_assoc($sql_queue)) { @@ -417,7 +418,8 @@ if (mysqli_num_rows($sql_queue) > 0) { */ $sql_failed_queue = mysqli_query( $mysqli, - "SELECT * FROM email_queue + "SELECT email_attachments, email_attempts, email_cal_str, email_content, email_from, + email_from_name, email_id, email_recipient, email_recipient_name, email_subject FROM email_queue WHERE email_status = 2 AND email_attempts < 4 AND email_failed_at <= NOW() - INTERVAL 30 MINUTE" diff --git a/cron/nightly_tasks.php b/cron/nightly_tasks.php index 997da02f9..e81a0f893 100644 --- a/cron/nightly_tasks.php +++ b/cron/nightly_tasks.php @@ -218,7 +218,7 @@ if ($config_enable_alert_domain_expire == 1) { //Get Domains Expiring $sql = mysqli_query( $mysqli, - "SELECT * FROM domains + "SELECT client_id, client_name, domain_expire, domain_id, domain_name FROM domains LEFT JOIN clients ON domain_client_id = client_id WHERE domain_expire IS NOT NULL AND domain_expire = CURDATE() + INTERVAL $day DAY" ); @@ -248,7 +248,8 @@ foreach ($certificateAlertArray as $day) { //Get Certs Expiring $sql = mysqli_query( $mysqli, - "SELECT * FROM certificates + "SELECT certificate_domain, certificate_expire, certificate_id, certificate_name, + certificate_public_key, client_id, client_name FROM certificates LEFT JOIN clients ON certificate_client_id = client_id WHERE certificate_expire = CURDATE() + INTERVAL $day DAY" ); @@ -298,7 +299,7 @@ foreach ($warranty_alert_array as $day) { //Get Asset Warranty Expiring $sql = mysqli_query( $mysqli, - "SELECT * FROM assets + "SELECT asset_id, asset_name, asset_warranty_expire, client_id, client_name FROM assets LEFT JOIN clients ON asset_client_id = client_id WHERE asset_warranty_expire = CURDATE() + INTERVAL $day DAY" ); @@ -492,7 +493,7 @@ if (mysqli_num_rows($sql_recurring_tickets) > 0) { } // Flag any active recurring "next run" dates that are in the past -$sql_invalid_recurring_tickets = mysqli_query($mysqli, "SELECT * FROM recurring_tickets WHERE recurring_ticket_next_run < CURDATE()"); +$sql_invalid_recurring_tickets = mysqli_query($mysqli, "SELECT recurring_ticket_subject FROM recurring_tickets WHERE recurring_ticket_next_run < CURDATE()"); while ($row = mysqli_fetch_assoc($sql_invalid_recurring_tickets)) { $subject = escapeSql($row['recurring_ticket_subject']); appNotify("Ticket", "Recurring ticket $subject next run date is in the past!", "/agent/recurring_tickets.php"); @@ -507,7 +508,8 @@ while ($row = mysqli_fetch_assoc($sql_invalid_recurring_tickets)) { $sql_resolved_tickets_to_close = mysqli_query( $mysqli, - "SELECT * FROM tickets + "SELECT ticket_assigned_to, ticket_client_id, ticket_id, ticket_number, ticket_prefix, + ticket_status, ticket_subject FROM tickets WHERE ticket_status = 4 AND ticket_updated_at < NOW() - INTERVAL $config_ticket_autoclose_hours HOUR" ); @@ -544,7 +546,9 @@ if ($config_send_invoice_reminders == 1) { $sql = mysqli_query( $mysqli, - "SELECT * FROM invoices + "SELECT client_id, client_name, contact_email, contact_name, invoice_amount, invoice_currency_code, + invoice_date, invoice_due, invoice_id, invoice_number, invoice_prefix, invoice_status, + invoice_url_key FROM invoices LEFT JOIN clients ON invoice_client_id = client_id LEFT JOIN contacts ON clients.client_id = contacts.contact_client_id AND contact_primary = 1 WHERE invoice_status != 'Draft' @@ -702,7 +706,8 @@ while ($row = mysqli_fetch_assoc($sql_recurring_invoices)) { $new_invoice_id = mysqli_insert_id($mysqli); //Copy Items from original recurring invoice to new invoice - $sql_invoice_items = mysqli_query($mysqli, "SELECT * FROM recurring_invoice_items WHERE item_recurring_invoice_id = $recurring_invoice_id ORDER BY item_id ASC"); + $sql_invoice_items = mysqli_query($mysqli, "SELECT item_description, item_id, item_name, item_order, item_price, item_quantity, item_subtotal, + item_tax, item_tax_id, item_total FROM recurring_invoice_items WHERE item_recurring_invoice_id = $recurring_invoice_id ORDER BY item_id ASC"); while ($row = mysqli_fetch_assoc($sql_invoice_items)) { $item_id = intval($row['item_id']); @@ -812,7 +817,7 @@ while ($row = mysqli_fetch_assoc($sql_recurring_invoices)) { } //End Recurring Invoices Loop // Start Flag any active recurring "next run" dates that are in the past -$sql_invalid_recurring_invoices = mysqli_query($mysqli, "SELECT * FROM recurring_invoices WHERE recurring_invoice_next_date < CURDATE() AND recurring_invoice_status = 1"); +$sql_invalid_recurring_invoices = mysqli_query($mysqli, "SELECT recurring_invoice_number, recurring_invoice_prefix FROM recurring_invoices WHERE recurring_invoice_next_date < CURDATE() AND recurring_invoice_status = 1"); while ($row = mysqli_fetch_assoc($sql_invalid_recurring_invoices)) { $invoice_prefix = escapeSql($row['recurring_invoice_prefix']); $invoice_number = intval($row['recurring_invoice_number']); @@ -823,7 +828,10 @@ while ($row = mysqli_fetch_assoc($sql_invalid_recurring_invoices)) { // Start Recurring Payments $sql_recurring_payments = mysqli_query($mysqli, " - SELECT * FROM recurring_payments + SELECT client_id, client_name, contact_email, contact_name, invoice_amount, invoice_currency_code, + invoice_date, invoice_due, invoice_id, invoice_number, invoice_prefix, invoice_scope, + invoice_url_key, recurring_payment_account_id, recurring_payment_currency_code, + recurring_payment_method, recurring_payment_saved_payment_id FROM recurring_payments LEFT JOIN invoices ON invoice_recurring_invoice_id = recurring_payment_recurring_invoice_id LEFT JOIN clients ON client_id = invoice_client_id LEFT JOIN contacts ON client_id = contact_client_id AND contact_primary = 1 @@ -1066,7 +1074,11 @@ if ($stripe_provider) { // Recurring Expenses // Loop through all recurring expenses that match today's date and is active -$sql_recurring_expenses = mysqli_query($mysqli, "SELECT * FROM recurring_expenses WHERE recurring_expense_next_date = CURDATE() AND recurring_expense_status = 1"); +$sql_recurring_expenses = mysqli_query($mysqli, "SELECT recurring_expense_account_id, recurring_expense_amount, recurring_expense_category_id, + recurring_expense_client_id, recurring_expense_currency_code, recurring_expense_day, + recurring_expense_description, recurring_expense_frequency, recurring_expense_id, + recurring_expense_month, recurring_expense_payment_method, recurring_expense_reference, + recurring_expense_vendor_id FROM recurring_expenses WHERE recurring_expense_next_date = CURDATE() AND recurring_expense_status = 1"); while ($row = mysqli_fetch_assoc($sql_recurring_expenses)) { $recurring_expense_id = intval($row['recurring_expense_id']); @@ -1107,7 +1119,7 @@ while ($row = mysqli_fetch_assoc($sql_recurring_expenses)) { } //End Recurring expenses loop // Flag any active recurring "next run" dates that are in the past -$sql_invalid_recurring_expenses = mysqli_query($mysqli, "SELECT * FROM recurring_expenses WHERE recurring_expense_next_date < CURDATE() AND recurring_expense_status = 1"); +$sql_invalid_recurring_expenses = mysqli_query($mysqli, "SELECT recurring_expense_description FROM recurring_expenses WHERE recurring_expense_next_date < CURDATE() AND recurring_expense_status = 1"); while ($row = mysqli_fetch_assoc($sql_invalid_recurring_expenses)) { $recurring_expense_description = escapeSql($row['recurring_expense_description']); appNotify("Expense", "Recurring expense $recurring_expense_description next run date is in the past!", "/agent/recurring_expenses.php"); diff --git a/guest/guest_pay_invoice_stripe.php b/guest/guest_pay_invoice_stripe.php index 8109a55f7..bd01f16c9 100644 --- a/guest/guest_pay_invoice_stripe.php +++ b/guest/guest_pay_invoice_stripe.php @@ -62,7 +62,7 @@ if (isset($_GET['invoice_id'], $_GET['url_key']) && !isset($_GET['payment_intent $balance_to_pay = round($invoice_amount - $amount_paid, 2); // Get invoice items - $sql_invoice_items = mysqli_query($mysqli, "SELECT * FROM invoice_items WHERE item_invoice_id = $invoice_id ORDER BY item_id ASC"); + $sql_invoice_items = mysqli_query($mysqli, "SELECT item_name, item_quantity, item_total FROM invoice_items WHERE item_invoice_id = $invoice_id ORDER BY item_id ASC"); // Currency formatting $currency_format = numfmt_create($company_locale, NumberFormatter::CURRENCY); diff --git a/guest/guest_post.php b/guest/guest_post.php index b23a1ae2c..ec7a02f43 100644 --- a/guest/guest_post.php +++ b/guest/guest_post.php @@ -423,7 +423,7 @@ if (isset($_GET['export_quote_pdf'])) { $sub_total = 0; $total_tax = 0; - $sql_items = mysqli_query($mysqli, "SELECT * FROM quote_items WHERE item_quote_id = $quote_id ORDER BY item_order ASC"); + $sql_items = mysqli_query($mysqli, "SELECT item_description, item_name, item_price, item_quantity, item_tax, item_total FROM quote_items WHERE item_quote_id = $quote_id ORDER BY item_order ASC"); while ($item = mysqli_fetch_assoc($sql_items)) { $name = $item['item_name']; $desc = $item['item_description']; @@ -646,7 +646,7 @@ if (isset($_GET['export_invoice_pdf'])) { $sub_total = 0; $total_tax = 0; - $sql_items = mysqli_query($mysqli, "SELECT * FROM invoice_items WHERE item_invoice_id = $invoice_id ORDER BY item_order ASC"); + $sql_items = mysqli_query($mysqli, "SELECT item_description, item_name, item_price, item_quantity, item_tax, item_total FROM invoice_items WHERE item_invoice_id = $invoice_id ORDER BY item_order ASC"); while ($item = mysqli_fetch_assoc($sql_items)) { $name = $item['item_name']; $desc = $item['item_description']; diff --git a/guest/guest_view_invoice.php b/guest/guest_view_invoice.php index f430c3d5f..993a200b6 100644 --- a/guest/guest_view_invoice.php +++ b/guest/guest_view_invoice.php @@ -135,7 +135,7 @@ if ($invoice_status !== "Paid" && $invoice_status !== "Draft" && $invoice_status } // Invoice individual items -$sql_invoice_items = mysqli_query($mysqli, "SELECT * FROM invoice_items WHERE item_invoice_id = $invoice_id ORDER BY item_order ASC"); +$sql_invoice_items = mysqli_query($mysqli, "SELECT item_description, item_id, item_name, item_price, item_quantity, item_tax, item_total FROM invoice_items WHERE item_invoice_id = $invoice_id ORDER BY item_order ASC"); // Get Total Account Balance @@ -358,7 +358,8 @@ if ($balance > 0) { // CURRENT INVOICES -$sql_current_invoices = mysqli_query($mysqli, "SELECT * FROM invoices WHERE invoice_client_id = $client_id AND invoice_due > CURDATE() AND(invoice_status = 'Sent' OR invoice_status = 'Viewed' OR invoice_status = 'Partial') ORDER BY invoice_number DESC"); +$sql_current_invoices = mysqli_query($mysqli, "SELECT invoice_amount, invoice_currency_code, invoice_date, invoice_due, invoice_id, + invoice_number, invoice_prefix, invoice_url_key FROM invoices WHERE invoice_client_id = $client_id AND invoice_due > CURDATE() AND(invoice_status = 'Sent' OR invoice_status = 'Viewed' OR invoice_status = 'Partial') ORDER BY invoice_number DESC"); $current_invoices_count = mysqli_num_rows($sql_current_invoices); @@ -420,7 +421,8 @@ if ($current_invoices_count > 0) { ?> // OUTSTANDING INVOICES -$sql_outstanding_invoices = mysqli_query($mysqli, "SELECT * FROM invoices WHERE invoice_client_id = $client_id AND invoice_due < CURDATE() AND(invoice_status = 'Sent' OR invoice_status = 'Viewed' OR invoice_status = 'Partial') ORDER BY invoice_date DESC"); +$sql_outstanding_invoices = mysqli_query($mysqli, "SELECT invoice_amount, invoice_currency_code, invoice_date, invoice_due, invoice_id, + invoice_number, invoice_prefix, invoice_url_key FROM invoices WHERE invoice_client_id = $client_id AND invoice_due < CURDATE() AND(invoice_status = 'Sent' OR invoice_status = 'Viewed' OR invoice_status = 'Partial') ORDER BY invoice_date DESC"); $outstanding_invoices_count = mysqli_num_rows($sql_outstanding_invoices); diff --git a/guest/guest_view_quote.php b/guest/guest_view_quote.php index f9ce5f4b6..f3887b784 100644 --- a/guest/guest_view_quote.php +++ b/guest/guest_view_quote.php @@ -174,7 +174,7 @@ if ($quote_status == "Draft" || $quote_status == "Sent" || $quote_status == "Vie
- +
diff --git a/guest/guest_view_ticket.php b/guest/guest_view_ticket.php index 8a5544362..b4e4e4270 100644 --- a/guest/guest_view_ticket.php +++ b/guest/guest_view_ticket.php @@ -147,7 +147,9 @@ if ($ticket_row) {