diff --git a/api/pipe.php b/api/pipe.php index 2c43e56814f959b3db8dde643750ac64c8d4d20d..381745a1cdcadce1fb461fc6461b45d3d408f016 100644 --- a/api/pipe.php +++ b/api/pipe.php @@ -99,20 +99,18 @@ if(preg_match ("[[#][0-9]{1,10}]",$var['subject'],$regs)) { } $errors=array(); $msgid=0; -if(!$ticket){ //New tickets... +if(!$ticket) { //New tickets... $ticket=Ticket::create($var,$errors,'email'); - if(!is_object($ticket) || $errors){ + if(!is_object($ticket) || $errors) { api_exit(EX_DATAERR,'Ticket create Failed '.implode("\n",$errors)."\n\n"); } + $msgid=$ticket->getLastMsgId(); -}else{ - $message=$var['message']; - //Strip quoted reply...TODO: figure out how mail clients do it without special tag.. - if($cfg->stripQuotedReply() && ($tag=$cfg->getReplySeparator()) && strpos($var['message'],$tag)) - list($message)=split($tag,$var['message']); + +} else { //post message....postMessage does the cleanup. - if(!($msgid=$ticket->postMessage($message,'Email',$var['mid'],$var['header']))) { - api_exit(EX_DATAERR,"Unable to post message \n\n $message\n"); + if(!($msgid=$ticket->postMessage($var['message'], 'Email',$var['mid'],$var['header']))) { + api_exit(EX_DATAERR, 'Unable to post message'); } } //Ticket created...save attachments if enabled. diff --git a/include/class.ticket.php b/include/class.ticket.php index 5ea192c366420f32949cca4558a2f6868808816c..8eb5399ce31ce60d177f5e4fce002b9d26dfc19c 100644 --- a/include/class.ticket.php +++ b/include/class.ticket.php @@ -1296,7 +1296,16 @@ class Ticket{ global $cfg; if(!$this->getId()) return 0; - + + + + //Strip quoted reply...on emailed replies + if(!strcasecmp($source, 'Email') + && $cfg->stripQuotedReply() + && ($tag=$cfg->getReplySeparator()) && strpos($msg, $tag)) + list($msg)=split($tag, $msg); + + # XXX: Refuse auto-response messages? (via email) XXX: No - but kill our auto-responder. $sql='INSERT INTO '.TICKET_THREAD_TABLE.' SET created=NOW()' @@ -1316,8 +1325,7 @@ class Ticket{ .' SET message_id='.db_input($msgid) .', email_mid='.db_input($emsgid) .', headers='.db_input($headers); - - if (!db_query($sql)) return 0; + db_query($sql); } if($newticket) return $msgid; //Our work is done...