Exemple #1
0
 function _parseFile($full_filename)
 {
     $logger = DevblocksPlatform::getConsoleLog();
     $fileparts = pathinfo($full_filename);
     $logger->info("[Parser] Reading " . $fileparts['basename'] . "...");
     $time = microtime(true);
     $mime = mailparse_msg_parse_file($full_filename);
     $message = CerberusParser::parseMime($mime, $full_filename);
     $time = microtime(true) - $time;
     $logger->info("[Parser] Decoded! (" . sprintf("%d", $time * 1000) . " ms)");
     //	    echo "<b>Plaintext:</b> ", $message->body,"<BR>";
     //	    echo "<BR>";
     //	    echo "<b>HTML:</b> ", htmlspecialchars($message->htmlbody), "<BR>";
     //	    echo "<BR>";
     //	    echo "<b>Files:</b> "; print_r($message->files); echo "<BR>";
     //	    echo "<HR>";
     $time = microtime(true);
     $ticket_id = CerberusParser::parseMessage($message);
     $time = microtime(true) - $time;
     $logger->info("[Parser] Parsed! (" . sprintf("%d", $time * 1000) . " ms) " . (!empty($ticket_id) ? "(Ticket ID: " . $ticket_id . ")" : "(Local Delivery Rejected.)"));
     @unlink($full_filename);
     mailparse_msg_free($mime);
     //		flush();
 }
Exemple #2
0
 private function _postSourceParseAction($path)
 {
     $xml_in = simplexml_load_string($this->getPayload());
     @($source = (string) $xml_in->source);
     if (empty($source)) {
         $this->_error("No message source was provided.");
     }
     //echo("<pre>");print_r($source);echo("</pre>");exit();
     $file = CerberusParser::saveMimeToFile($source);
     $mime = mailparse_msg_parse_file($file);
     $message = CerberusParser::parseMime($mime, $file);
     mailparse_msg_free($mime);
     @unlink($file);
     $ticket_id = CerberusParser::parseMessage($message);
     if (null != ($ticket = DAO_Ticket::getTicket($ticket_id))) {
         // [TODO] Denote if ticket is new or reply?
         $xml_out = new SimpleXMLElement("<ticket></ticket>");
         $xml_out->addChild("id", $ticket_id);
         $xml_out->addChild("mask", $ticket->mask);
         $this->_render($xml_out->asXML());
     } else {
         $this->_error("Message could not be parsed.");
     }
 }