Esempio n. 1
0
$database_log = Database_Logs::getInstance();
// Bail out when the mail storage host has not been defined, rather than giving an error message.
$config_general = Database_Config_General::getInstance();
if ($config_general->getMailStorageHost() == "") {
    return;
}
try {
    $mail_receiver = new Mail_Receive();
    // Messages start at number 1 instead of 0.
    for ($i = 1; $i <= $mail_receiver->count; $i++) {
        $message = $mail_receiver->storage->getMessage($i);
        $from = $message->from;
        $subject = $message->subject;
        $log = "Processing email from {$from} with subject {$subject}";
        $database_log->log($log);
        $body = Filter_Email::extractPlainTextMessage($message);
        $body = $body->__toString();
        $body = strip_tags($body);
        $confirm_worker = Confirm_Worker::getInstance();
        $notes_logic = Notes_Logic::getInstance();
        if ($confirm_worker->handleEmail($from, $subject, $body)) {
        } else {
            if ($notes_logic->handleEmailComment($from, $subject, $body)) {
            } else {
                if ($notes_logic->handleEmailNew($from, $subject, $body)) {
                } else {
                    $log = "Could not allocate email from {$from}, subject {$subject}";
                    $database_log->log($log);
                    $database_log->log($body);
                }
            }