From c0115a26c5fb87963bc1a8cec9afef584830f1ea Mon Sep 17 00:00:00 2001 From: johnnyq Date: Wed, 20 Mar 2024 13:36:04 -0400 Subject: [PATCH] Group Ticket Replies and only search in ticket reply not ticket subject or ticket details In global search --- global_search.php | 74 +++++++++++++++++++++++++++++++---------------- 1 file changed, 49 insertions(+), 25 deletions(-) diff --git a/global_search.php b/global_search.php index 25b2f59b..379f142c 100644 --- a/global_search.php +++ b/global_search.php @@ -103,8 +103,8 @@ if (isset($_GET['query'])) { 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%' OR ticket_subject LIKE '%$query%' OR ticket_details LIKE '%$query%') - ORDER BY ticket_id DESC LIMIT 5" + AND (ticket_reply LIKE '%$query%') + ORDER BY ticket_id DESC, ticket_reply_id ASC LIMIT 20" ); $q = nullable_htmlentities($_GET['query']); @@ -648,36 +648,60 @@ if (isset($_GET['query'])) {
purify($row['ticket_reply']); - $client_id = intval($row['ticket_client_id']); - $client_name = nullable_htmlentities($row['client_name']); + + // Only output the ticket header if we're at a new ticket + if ($ticket_id !== $last_ticket_id) { + if ($last_ticket_id !== null) { + // Close the previous ticket's card (except for the very first ticket) + echo '
'; + } - ?> -
-
-

- -

-
- Open -
-
-
-
-
- + $ticket_prefix = nullable_htmlentities($row['ticket_prefix']); + $ticket_number = intval($row['ticket_number']); + $ticket_subject = nullable_htmlentities($row['ticket_subject']); + $client_id = intval($row['ticket_client_id']); + $client_name = nullable_htmlentities($row['client_name']); + + // Output the ticket header + ?> +
+
+

+ +

+
-
-
+
+ + $ticket_reply = $purifier->purify($row['ticket_reply']); + + // Output the ticket reply + ?> +
+ +
+ +
+
+
+
'; + } + ?>