$ticket = Ticket::create($var, $errors, 'email'); if (!is_object($ticket) || $errors) { api_exit(EX_DATAERR, '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']); } //post message....postMessage does the cleanup. if (!($msgid = $ticket->postMessage($message, $var['header'], 'Email'))) { api_exit(EX_DATAERR, "post message failed \n\n {$message}\n"); } } //Ticket created...save attachments if enabled. $struct = $parser->getStruct(); if ($struct && $struct->parts && $cfg->allowEmailAttachments()) { for ($i = 0; $i < count($struct->parts); $i++) { $part = $struct->parts[$i]; if ($part->disposition && (!strcasecmp($part->disposition, 'attachment') || !strcasecmp($part->disposition, 'inline') || !strcasecmp($part->ctype_primary, 'image'))) { $filename = $part->d_parameters['filename']; if ($filename && $cfg->canUploadFileType($filename)) { $ticket->saveAttachment($filename, $part->body, $msgid, 'M'); } } } } //print_r($var); api_exit(EX_SUCCESS);