diff --git a/agent/asset_details.php b/agent/asset_details.php
index 26fa998f1..2ade057b0 100644
--- a/agent/asset_details.php
+++ b/agent/asset_details.php
@@ -21,525 +21,649 @@
LEFT JOIN asset_interfaces ON interface_asset_id = asset_id AND interface_primary = 1
WHERE asset_id = $asset_id
$client_query
+ LIMIT 1
");
- $row = mysqli_fetch_array($sql);
- $client_id = intval($row['client_id']);
- $client_name = nullable_htmlentities($row['client_name']);
- $asset_id = intval($row['asset_id']);
- $asset_type = nullable_htmlentities($row['asset_type']);
- $asset_name = nullable_htmlentities($row['asset_name']);
- $asset_description = nullable_htmlentities($row['asset_description']);
- $asset_make = nullable_htmlentities($row['asset_make']);
- $asset_model = nullable_htmlentities($row['asset_model']);
- $asset_serial = nullable_htmlentities($row['asset_serial']);
- $asset_os = nullable_htmlentities($row['asset_os']);
- $asset_uri = sanitize_url($row['asset_uri']);
- $asset_uri_2 = sanitize_url($row['asset_uri_2']);
- $asset_uri_client = sanitize_url($row['asset_uri_client']);
- $asset_status = nullable_htmlentities($row['asset_status']);
- $asset_purchase_reference = nullable_htmlentities($row['asset_purchase_reference']);
- $asset_purchase_date = nullable_htmlentities($row['asset_purchase_date']);
- $asset_warranty_expire = nullable_htmlentities($row['asset_warranty_expire']);
- $asset_install_date = nullable_htmlentities($row['asset_install_date']);
- $asset_photo = nullable_htmlentities($row['asset_photo']);
- $asset_physical_location = nullable_htmlentities($row['asset_physical_location']);
- $asset_notes = nullable_htmlentities($row['asset_notes']);
- $asset_created_at = nullable_htmlentities($row['asset_created_at']);
- $asset_vendor_id = intval($row['asset_vendor_id']);
- $asset_location_id = intval($row['asset_location_id']);
- $asset_contact_id = intval($row['asset_contact_id']);
-
- $asset_ip = nullable_htmlentities($row['interface_ip']);
- $asset_ipv6 = nullable_htmlentities($row['interface_ipv6']);
- $asset_nat_ip = nullable_htmlentities($row['interface_nat_ip']);
- $asset_mac = nullable_htmlentities($row['interface_mac']);
- $asset_network_id = intval($row['interface_network_id']);
-
- $device_icon = getAssetIcon($asset_type);
-
- $contact_name = nullable_htmlentities($row['contact_name']);
- $contact_email = nullable_htmlentities($row['contact_email']);
- $contact_phone = nullable_htmlentities($row['contact_phone']);
- $contact_mobile = nullable_htmlentities($row['contact_mobile']);
- $contact_archived_at = nullable_htmlentities($row['contact_archived_at']);
- if ($contact_archived_at) {
- $contact_name_display = "$contact_name";
- } else {
- $contact_name_display = $contact_name;
- }
- $location_name = nullable_htmlentities($row['location_name']);
- if (empty($location_name)) {
- $location_name = "-";
- }
- $location_archived_at = nullable_htmlentities($row['location_archived_at']);
- if ($location_archived_at) {
- $location_name_display = "$location_name";
- } else {
- $location_name_display = $location_name;
- }
-
- // Override Tab Title // No Sanitizing needed as this var will opnly be used in the tab title
- $page_title = $row['asset_name'];
-
- $sql_related_tickets = mysqli_query($mysqli, "
- SELECT tickets.*, users.*, ticket_statuses.*
- FROM tickets
- LEFT JOIN users ON ticket_assigned_to = user_id
- LEFT JOIN ticket_statuses ON ticket_status_id = ticket_status
- LEFT JOIN ticket_assets ON tickets.ticket_id = ticket_assets.ticket_id
- WHERE ticket_asset_id = $asset_id OR ticket_assets.asset_id = $asset_id
- GROUP BY tickets.ticket_id
- ORDER BY ticket_number DESC
- ");
- $ticket_count = mysqli_num_rows($sql_related_tickets);
-
- // Related Recurring Tickets Query
- $sql_related_recurring_tickets = mysqli_query($mysqli, "SELECT recurring_tickets.* 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
- ORDER BY recurring_ticket_next_run DESC"
- );
- $recurring_ticket_count = mysqli_num_rows($sql_related_recurring_tickets);
-
- // Related Documents
- $sql_related_documents = mysqli_query($mysqli, "SELECT * FROM asset_documents
- LEFT JOIN documents ON asset_documents.document_id = documents.document_id
- WHERE asset_documents.asset_id = $asset_id
- AND document_archived_at IS NULL
- ORDER BY document_name DESC"
- );
- $document_count = mysqli_num_rows($sql_related_documents);
-
- // Network Interfaces
- $sql_related_interfaces = mysqli_query($mysqli, "
- SELECT
- ai.interface_id,
- ai.interface_name,
- ai.interface_description,
- ai.interface_type,
- ai.interface_mac,
- ai.interface_ip,
- ai.interface_nat_ip,
- ai.interface_ipv6,
- ai.interface_primary,
- ai.interface_notes,
- n.network_name,
- n.network_id,
- connected_interfaces.interface_id AS connected_interface_id,
- connected_interfaces.interface_name AS connected_interface_name,
- connected_assets.asset_name AS connected_asset_name,
- connected_assets.asset_id AS connected_asset_id,
- connected_assets.asset_type AS connected_asset_type
- FROM asset_interfaces AS ai
- LEFT JOIN networks AS n
- ON n.network_id = ai.interface_network_id
- LEFT JOIN asset_interface_links AS ail
- ON (ail.interface_a_id = ai.interface_id OR ail.interface_b_id = ai.interface_id)
- LEFT JOIN asset_interfaces AS connected_interfaces
- ON (
- (ail.interface_a_id = ai.interface_id AND ail.interface_b_id = connected_interfaces.interface_id)
- OR
- (ail.interface_b_id = ai.interface_id AND ail.interface_a_id = connected_interfaces.interface_id)
- )
- LEFT JOIN assets AS connected_assets
- ON connected_assets.asset_id = connected_interfaces.interface_asset_id
- WHERE
- ai.interface_asset_id = $asset_id
- AND ai.interface_archived_at IS NULL
- ORDER BY ai.interface_name ASC
- ");
+ if (mysqli_num_rows($sql) == 0) {
+ echo "