set('URI.AllowedSchemes', ['data' => true, 'src' => true, 'http' => true, 'https' => true]); $purifier = new HTMLPurifier($purifier_config); if (isset($_GET['query'])) { $query = sanitizeInput($_GET['query']); $phone_query = preg_replace("/[^0-9]/", '', $query); if (empty($phone_query)) { $phone_query = $query; } $ticket_num_query = str_replace("$config_ticket_prefix", "", "$query"); $sql_clients = mysqli_query($mysqli, "SELECT * FROM clients LEFT JOIN locations ON clients.client_id = locations.location_client_id AND location_primary = 1 WHERE client_archived_at IS NULL AND client_name LIKE '%$query%' $access_permission_query ORDER BY client_id DESC LIMIT 5" ); $sql_contacts = mysqli_query($mysqli, "SELECT * FROM contacts LEFT JOIN clients ON client_id = contact_client_id WHERE contact_archived_at IS NULL AND (contact_name LIKE '%$query%' OR contact_title LIKE '%$query%' OR contact_email LIKE '%$query%' OR contact_phone LIKE '%$phone_query%' OR contact_mobile LIKE '%$phone_query%') $access_permission_query ORDER BY contact_id DESC LIMIT 5" ); $sql_vendors = mysqli_query($mysqli, "SELECT * FROM vendors LEFT JOIN clients ON vendor_client_id = client_id WHERE vendor_archived_at IS NULL AND vendor_template = 0 AND (vendor_name LIKE '%$query%' OR vendor_phone LIKE '%$phone_query%') $access_permission_query ORDER BY vendor_id DESC LIMIT 5" ); $sql_domains = mysqli_query($mysqli, "SELECT * FROM domains LEFT JOIN clients ON domain_client_id = client_id WHERE domain_archived_at IS NULL AND domain_name LIKE '%$query%' $access_permission_query ORDER BY domain_id DESC LIMIT 5" ); $sql_products = mysqli_query($mysqli, "SELECT * FROM products WHERE product_archived_at IS NULL AND product_name LIKE '%$query%' ORDER BY product_id DESC LIMIT 5" ); $sql_documents = mysqli_query($mysqli, "SELECT * FROM documents LEFT JOIN clients on document_client_id = clients.client_id WHERE document_archived_at IS NULL AND MATCH(document_content_raw) AGAINST ('$query') $access_permission_query ORDER BY document_id DESC LIMIT 5" ); $sql_files = mysqli_query($mysqli, "SELECT * FROM files LEFT JOIN clients ON file_client_id = client_id LEFT JOIN folders ON folder_id = file_folder_id WHERE file_archived_at IS NULL AND (file_name LIKE '%$query%' OR file_description LIKE '%$query%') $access_permission_query ORDER BY file_id DESC LIMIT 5" ); $sql_tickets = mysqli_query($mysqli, "SELECT * FROM tickets LEFT JOIN clients on tickets.ticket_client_id = clients.client_id LEFT JOIN ticket_statuses ON ticket_status = ticket_status_id WHERE ticket_archived_at IS NULL AND (ticket_subject LIKE '%$query%' OR ticket_number = '$ticket_num_query') $access_permission_query ORDER BY ticket_id DESC LIMIT 5" ); $sql_recurring_tickets = mysqli_query($mysqli, "SELECT * FROM recurring_tickets LEFT JOIN clients ON recurring_ticket_client_id = client_id WHERE (recurring_ticket_subject LIKE '%$query%' OR recurring_ticket_details LIKE '%$query%') $access_permission_query ORDER BY recurring_ticket_id DESC LIMIT 5" ); $sql_credentials = mysqli_query($mysqli, "SELECT * FROM credentials LEFT JOIN contacts ON credential_contact_id = contact_id LEFT JOIN clients ON credential_client_id = client_id WHERE credential_archived_at IS NULL AND (credential_name LIKE '%$query%' OR credential_description LIKE '%$query%') $access_permission_query ORDER BY credential_id DESC LIMIT 5" ); $sql_invoices = mysqli_query($mysqli, "SELECT * FROM invoices LEFT JOIN clients ON invoice_client_id = client_id LEFT JOIN categories ON invoice_category_id = category_id WHERE invoice_archived_at IS NULL AND (CONCAT(invoice_prefix,invoice_number) LIKE '%$query%' OR invoice_scope LIKE '%$query%') $access_permission_query ORDER BY invoice_number DESC LIMIT 5" ); $sql_assets = mysqli_query($mysqli,"SELECT * FROM assets LEFT JOIN contacts ON asset_contact_id = contact_id LEFT JOIN locations ON asset_location_id = location_id LEFT JOIN clients ON asset_client_id = client_id LEFT JOIN asset_interfaces ON interface_asset_id = asset_id AND interface_primary = 1 WHERE asset_archived_at IS NULL AND (asset_name LIKE '%$query%' OR asset_description LIKE '%$query%' OR asset_type LIKE '%$query%' OR asset_make LIKE '%$query%' OR asset_model LIKE '%$query%' OR asset_serial LIKE '%$query%' OR asset_os LIKE '%$query%' OR interface_ip LIKE '%$query%' OR interface_nat_ip LIKE '%$query%' OR interface_mac LIKE '%$query%' OR asset_status LIKE '%$query%') $access_permission_query ORDER BY asset_name DESC LIMIT 5" ); $sql_ticket_replies = mysqli_query($mysqli,"SELECT * FROM ticket_replies LEFT JOIN tickets ON ticket_reply_ticket_id = ticket_id LEFT JOIN clients ON ticket_client_id = client_id WHERE ticket_reply_archived_at IS NULL AND (ticket_reply LIKE '%$query%') $access_permission_query ORDER BY ticket_id DESC, ticket_reply_id ASC LIMIT 20" ); $q = nullable_htmlentities($_GET['query']); ?>