Index: branches/5.0.x/core/units/email_messages/email_messages_event_handler.php =================================================================== diff -u -r12299 -r12400 --- branches/5.0.x/core/units/email_messages/email_messages_event_handler.php (.../email_messages_event_handler.php) (revision 12299) +++ branches/5.0.x/core/units/email_messages/email_messages_event_handler.php (.../email_messages_event_handler.php) (revision 12400) @@ -1,6 +1,6 @@ getObject(); - - $lines = explode("\n", $object->GetDBField('Template') ); - - $headers = Array(); - - foreach($lines as $line) - { - if( strlen(trim($line)) == 0 || ($line == '.') ) break; - - $parts = explode(':', $line, 2); - if(strtolower($parts[0]) == 'subject') - { - $object->SetDBField('Subject', trim($parts[1]) ); - } - else - { - $headers[] = $line; - } - } - $object->SetDBField('Headers', implode("\n", $headers) ); - - $message_body = ''; - while( (list($line_id,$line) = each($lines)) ) - { - $message_body .= $line; - } - $object->SetDBField('Body', $message_body); + /* @var $object kDBItem */ + + $email_message_helper =& $this->Application->recallObject('EmailMessageHelper'); + /* @var $email_message_helper EmailMessageHelper */ + + $fields_hash = $email_message_helper->parseTemplate( $object->GetDBField('Template') ); + + $object->SetDBFieldsFromHash($fields_hash); } /**