diff --git a/include/class.ticket.php b/include/class.ticket.php index 9f8380a623cac70c10ab585996f48fb26e6a6616..b08e6ff9066e11416cac1bfab054babc807a5f67 100644 --- a/include/class.ticket.php +++ b/include/class.ticket.php @@ -528,11 +528,15 @@ class Ticket { } function getLastMessage() { + if (!isset($this->last_message)) { + if($this->getLastMsgId()) + $this->last_message = Message::lookup( + $this->getLastMsgId(), $this->getId()); - if($this->getLastMsgId()) - return Message::lookup($this->getLastMsgId(), $this->getId()); - - return Message::lastByTicketId($this->getId()); + if (!$this->last_message) + $this->last_message = Message::lastByTicketId($this->getId()); + } + return $this->last_message; } function getThread() { @@ -694,6 +698,10 @@ class Ticket { function setLastMsgId($msgid) { return $this->lastMsgId=$msgid; } + function setLastMessage($message) { + $this->last_message = $message; + $this->setLastMsgId($message->getId()); + } //DeptId can NOT be 0. No orphans please! function setDeptId($deptId) { @@ -1542,7 +1550,7 @@ class Ticket { if(!($message = $this->getThread()->addMessage($vars, $errors))) return null; - $this->setLastMsgId($message->getId()); + $this->setLastMessage($message); //Add email recipients as collaborators... if ($vars['recipients'] @@ -2516,7 +2524,7 @@ class Ticket { && ($msg=$tpl->getNewTicketNoticeMsgTemplate()) && ($email=$dept->getEmail())) { - $message = $vars['message']; + $message = (string) $ticket->getLastMessage(); if($response) { $message .= ($cfg->isHtmlThreadEnabled()) ? "<br><br>" : "\n\n"; $message .= $response->getBody();