Index: admin_templates/mailing_lists/mailing_list_edit.tpl =================================================================== --- admin_templates/mailing_lists/mailing_list_edit.tpl (revision 15437) +++ admin_templates/mailing_lists/mailing_list_edit.tpl (working copy) @@ -123,8 +123,22 @@ - - + + + + + + + + + +
+ +
+ +
Index: install/install_schema.sql =================================================================== --- install/install_schema.sql (revision 15437) +++ install/install_schema.sql (working copy) @@ -76,7 +76,7 @@ SendRetries int(10) unsigned NOT NULL DEFAULT '0', LastSendRetry int(10) unsigned DEFAULT NULL, MailingId int(10) unsigned NOT NULL DEFAULT '0', - LogData text, + LogData longtext, PRIMARY KEY (EmailQueueId), KEY LastSendRetry (LastSendRetry), KEY SendRetries (SendRetries), Index: install/upgrades.sql =================================================================== --- install/upgrades.sql (revision 15458) +++ install/upgrades.sql (working copy) @@ -2790,3 +2790,6 @@ UPDATE SystemSettings SET VariableValue = 1 WHERE VariableName = 'UseOutputCompression'; + +ALTER TABLE EmailQueue CHANGE LogData LogData LONGTEXT NULL DEFAULT NULL; +DELETE FROM UserPersistentSessionData WHERE VariableName = 'mailing-list[Default]columns_.'; Index: kernel/utility/email_send.php =================================================================== --- kernel/utility/email_send.php (revision 15445) +++ kernel/utility/email_send.php (working copy) @@ -684,17 +684,29 @@ "<", ">", " ", - chr(161), - chr(162), - chr(163), - chr(169), - "chr(\\1)" + $this->_safeCharEncode(161), + $this->_safeCharEncode(162), + $this->_safeCharEncode(163), + $this->_safeCharEncode(169), + "\$this->_safeCharEncode(\\1)" ); return strip_tags( preg_replace ($search, $replace, $html) ); } /** + * Returns symbols, that corresponds given ASCII code and also encodes it into proper charset + * + * @param int $ascii + * @return string + * @access protected + */ + protected function _safeCharEncode($ascii) + { + return mb_convert_encoding(chr($ascii), $this->charset, 'ISO-8859-1'); + } + + /** * Add text OR html part to message (optionally encoded) * * @param string $text part's text Index: units/mailing_lists/mailing_list_eh.php =================================================================== --- units/mailing_lists/mailing_list_eh.php (revision 15437) +++ units/mailing_lists/mailing_list_eh.php (working copy) @@ -31,6 +31,7 @@ 'OnCancelMailing' => Array ('self' => 'edit'), 'OnGenerateEmailQueue' => Array ('self' => true), 'OnProcessEmailQueue' => Array ('self' => true), + 'OnGetHtmlBody' => Array ('self' => 'edit'), ); $this->permMapping = array_merge($this->permMapping, $permissions); @@ -381,4 +382,21 @@ $mailing_list_helper->processQueue($messages); } + + /** + * Returns HTML of sent e-mail for iframe + * + * @param kEvent $event + * @return void + * @access protected + */ + protected function OnGetHtmlBody(kEvent $event) + { + $event->status = kEvent::erSTOP; + + $object = $event->getObject(); + /* @var $object kDBItem */ + + echo $object->GetDBField('MessageHtml'); + } } \ No newline at end of file Index: units/mailing_lists/mailing_lists_config.php =================================================================== --- units/mailing_lists/mailing_lists_config.php (revision 15437) +++ units/mailing_lists/mailing_lists_config.php (working copy) @@ -131,14 +131,14 @@ 'Default' => Array ( 'Icons' => Array ('default' => 'icon16_item.png'), 'Fields' => Array ( - 'MailingId' => Array ('title' => 'column:la_fld_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', 'width' => 70, ), - 'Subject' => Array ('filter_block' => 'grid_like_filter', 'width' => 200, ), - 'MessageText' => Array ('filter_block' => 'grid_like_filter', 'cut_first' => 100, 'width' => 120, ), - 'MessageHtml' => Array ('title' => 'la_col_MessageHtml', 'filter_block' => 'grid_like_filter', 'cut_first' => 100, 'width' => 120, ), - 'Status' => Array ('filter_block' => 'grid_options_filter', 'width' => 100, ), - 'EmailsQueued' => Array ('filter_block' => 'grid_range_filter', 'width' => 80, ), - 'EmailsSent' => Array ('filter_block' => 'grid_range_filter', 'width' => 80, ), - 'EmailsTotal' => Array ('filter_block' => 'grid_range_filter', 'width' => 80, ), + 'MailingId' => Array ('title' => 'column:la_fld_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', 'width' => 70), + 'Subject' => Array ('filter_block' => 'grid_like_filter', 'width' => 200), + 'MessageText' => Array ('filter_block' => 'grid_like_filter', 'cut_first' => 100, 'width' => 120, 'hidden' => 1), + 'MessageHtml' => Array ('title' => 'la_col_MessageHtml', 'filter_block' => 'grid_like_filter', 'cut_first' => 100, 'width' => 120, 'hidden' => 1), + 'Status' => Array ('filter_block' => 'grid_options_filter', 'width' => 100), + 'EmailsQueued' => Array ('filter_block' => 'grid_range_filter', 'width' => 80), + 'EmailsSent' => Array ('filter_block' => 'grid_range_filter', 'width' => 80), + 'EmailsTotal' => Array ('filter_block' => 'grid_range_filter', 'width' => 80), ), ), ),