From 89c07804e5b503e0a712457d44a27b61a5ed18b2 Mon Sep 17 00:00:00 2001 From: Jared Hancock <jared@osticket.com> Date: Wed, 23 Oct 2013 14:32:35 +0000 Subject: [PATCH] Support ticket thread items in email templates * %{ticket.thread.original} represents the original message submitted when creating the ticket * %{ticket.thread.lastmessage} represents the most recent message submitted by the end user --- include/class.thread.php | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/include/class.thread.php b/include/class.thread.php index 29e1b1d57..a1a79e391 100644 --- a/include/class.thread.php +++ b/include/class.thread.php @@ -215,6 +215,19 @@ class Thread { && $thread->getId() )?$thread:null; } + + function getVar($name) { + switch ($name) { + case 'original': + return Message::firstByTicketId($this->ticket->getId()) + ->getBody(); + break; + case 'last_message': + case 'lastmessage': + return $this->ticket->getLastMessage()->getBody(); + break; + } + } } @@ -806,10 +819,18 @@ class Message extends ThreadEntry { } function lastByTicketId($ticketId) { + return self::byTicketId($ticketId); + } + + function firstByTicketId($ticketId) { + return self::byTicketId($ticketId, false); + } + + function byTicketId($ticketId, $last=true) { $sql=' SELECT thread.id FROM '.TICKET_THREAD_TABLE.' thread ' .' WHERE thread_type=\'M\' AND thread.ticket_id = '.db_input($ticketId) - .' ORDER BY thread.id DESC LIMIT 1'; + .sprintf(' ORDER BY thread.id %s LIMIT 1', $last ? 'DESC' : 'ASC'); if (($res = db_query($sql)) && ($id = db_result($res))) return Message::lookup($id); -- GitLab