Index: branches/5.2.x/core/units/email_events/email_events_event_handler.php =================================================================== diff -u -N -r14851 -r14861 --- branches/5.2.x/core/units/email_events/email_events_event_handler.php (.../email_events_event_handler.php) (revision 14851) +++ branches/5.2.x/core/units/email_events/email_events_event_handler.php (.../email_events_event_handler.php) (revision 14861) @@ -1,6 +1,6 @@ CreateTextHtmlPart($message_body, $object->GetDBField('MessageType') == 'html'); + $log_fields_hash = Array ( + 'fromuser' => $from_name . ' (' . $from_email . ')', + 'addressto' => $to_name . ' (' . $to_email . ')', + 'subject' => $message_subject, + 'timestamp' => adodb_mktime(), + 'event' => $email_event_name, + 'EventParams' => serialize( $this->removeSendingParams($send_params) ), + ); + + $esender->setLogData($log_fields_hash); $event->status = $esender->Deliver() ? kEvent::erSUCCESS : kEvent::erFAIL; + } - if ( $event->status == kEvent::erSUCCESS ) { - // all keys, that are not used in email sending are written to log record - $send_keys = Array ('from_email', 'from_name', 'to_email', 'to_name', 'message'); - foreach ($send_keys as $send_key) { - unset($send_params[$send_key]); - } + /** + * Removes parameters, used during e-mail sending + * + * @param Array $params + * @return Array + * @access protected + */ + protected function removeSendingParams($params) + { + $send_keys = Array ('from_email', 'from_name', 'to_email', 'to_name', 'message'); - $fields_hash = Array ( - 'fromuser' => $from_name . ' (' . $from_email . ')', - 'addressto' => $to_name . ' (' . $to_email . ')', - 'subject' => $message_subject, - 'timestamp' => adodb_mktime(), - 'event' => $email_event_name, - 'EventParams' => serialize($send_params), - ); - - $this->Conn->doInsert($fields_hash, TABLE_PREFIX . 'EmailLog'); + foreach ($send_keys as $send_key) { + unset($params[$send_key]); } + + return $params; } function _getSendLanguage($send_params)