From 2d691db3df0cb209ff2ef140af3715b43e0553be Mon Sep 17 00:00:00 2001
From: Jared Hancock <jared@osticket.com>
Date: Fri, 11 Oct 2013 18:44:52 +0000
Subject: [PATCH] Don't double-attach email inline attachments

---
 include/class.thread.php | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/include/class.thread.php b/include/class.thread.php
index e1840c787..eca16c58e 100644
--- a/include/class.thread.php
+++ b/include/class.thread.php
@@ -426,7 +426,14 @@ Class ThreadEntry {
         if(!($fileId=is_numeric($file)?$file:AttachmentFile::save($file)))
             return 0;
 
-        $sql ='INSERT INTO '.TICKET_ATTACHMENT_TABLE.' SET created=NOW() '
+        // TODO: Add a unique index to TICKET_ATTACHMENT_TABLE (file_id,
+        // ticket_id), and remove this block
+        if ($id = db_result(db_query('SELECT attach_id FROM '.TICKET_ATTACHMENT_TABLE
+                .' WHERE file_id='.db_input($fileId).' AND ticket_id='
+                .db_input($this->getTicketId()))))
+            return $id;
+
+        $sql ='INSERT IGNORE INTO '.TICKET_ATTACHMENT_TABLE.' SET created=NOW() '
              .' ,file_id='.db_input($fileId)
              .' ,ticket_id='.db_input($this->getTicketId())
              .' ,ref_id='.db_input($this->getId())
-- 
GitLab