Index: trunk/kernel/units/email_events/email_events_event_handler.php =================================================================== diff -u -N -r4216 -r4322 --- trunk/kernel/units/email_events/email_events_event_handler.php (.../email_events_event_handler.php) (revision 4216) +++ trunk/kernel/units/email_events/email_events_event_handler.php (.../email_events_event_handler.php) (revision 4322) @@ -106,8 +106,17 @@ //Parse Message Template $message_object->Load(array('EventId' => $event_id, 'LanguageId' => $this->Application->GetVar('m_lang'))); $message_type = $message_object->GetDBField('MessageType'); - $message_template = $message_object->GetDBField('Template'); + // add footer: begin + $sql = 'SELECT em.Template + FROM '.$message_object->TableName.' em + LEFT JOIN '.TABLE_PREFIX.'Events e ON e.EventId = em.EventId + WHERE em.LanguageId = '.$message_object->GetDBField('LanguageId').' AND e.Event = "COMMON.FOOTER"'; + $footer = explode("\n\n", $this->Conn->GetOne($sql)); + $footer = $message_object->GetDBField('MessageType') == 'text' ? strip_tags($footer[1]) : $footer[1]; + $message_template = $message_object->GetDBField('Template')."\r\n".$footer; + // add footer: end + $email_object = &$this->Application->recallObject('kEmailMessage'); $email_object->Clear(); Index: trunk/core/units/email_events/email_events_event_handler.php =================================================================== diff -u -N -r4216 -r4322 --- trunk/core/units/email_events/email_events_event_handler.php (.../email_events_event_handler.php) (revision 4216) +++ trunk/core/units/email_events/email_events_event_handler.php (.../email_events_event_handler.php) (revision 4322) @@ -106,8 +106,17 @@ //Parse Message Template $message_object->Load(array('EventId' => $event_id, 'LanguageId' => $this->Application->GetVar('m_lang'))); $message_type = $message_object->GetDBField('MessageType'); - $message_template = $message_object->GetDBField('Template'); + // add footer: begin + $sql = 'SELECT em.Template + FROM '.$message_object->TableName.' em + LEFT JOIN '.TABLE_PREFIX.'Events e ON e.EventId = em.EventId + WHERE em.LanguageId = '.$message_object->GetDBField('LanguageId').' AND e.Event = "COMMON.FOOTER"'; + $footer = explode("\n\n", $this->Conn->GetOne($sql)); + $footer = $message_object->GetDBField('MessageType') == 'text' ? strip_tags($footer[1]) : $footer[1]; + $message_template = $message_object->GetDBField('Template')."\r\n".$footer; + // add footer: end + $email_object = &$this->Application->recallObject('kEmailMessage'); $email_object->Clear(); Index: trunk/kernel/include/emailmessage.php =================================================================== diff -u -N -r3620 -r4322 --- trunk/kernel/include/emailmessage.php (.../emailmessage.php) (revision 3620) +++ trunk/kernel/include/emailmessage.php (.../emailmessage.php) (revision 4322) @@ -62,40 +62,50 @@ } /* read the template, split into peices */ - function ReadTemplate() - { - if(!$this->TemplateParsed) - { - $this->headers = array(); - $lines = explode("\n",$this->Get("Template")); - $header_end = FALSE; - $i = 0; - while(!$header_end && $iTemplateParsed) { + $this->headers = Array(); + + // add footer: begin + $sql = 'SELECT em.Template + FROM '.$this->tablename.' em + LEFT JOIN '.TABLE_PREFIX.'Events e ON e.EventId = em.EventId + WHERE em.LanguageId = '.$this->Get('LanguageId').' AND e.Event = "COMMON.FOOTER"'; + $footer = explode("\n\n", $this->Conn->GetOne($sql)); + $footer = $this->Get('MessageType') == 'text' ? strip_tags($footer[1]) : $footer[1]; + + $template = $this->Get('Template')."\r\n".$footer; + // add footer: end + + $lines = explode("\n", $template); + $header_end = false; + $i = 0; + while(!$header_end && $isubject = $h; - } - else - $this->headers[] = $h; - } - $i++; - } - while($ibody .= $lines[$i++]; - } - $this->TemplateParsed=TRUE; - } + if (strtolower($parts[0])=="subject") { + $this->subject = $h; + } + else { + $this->headers[] = $h; + } + } + $i++; + } + while ($ibody .= $lines[$i++]; + } + $this->TemplateParsed = true; + + + } } function ParseSection($text, $parser=null) @@ -246,8 +256,8 @@ } else { - $body = nl2br($body); - $body = str_replace("
","\n",$body); + $body = nl2br(str_replace("\r", "", $body)); + $body = str_replace('
', "\n", $body); $objEmailQueue->SendMail($FromAddr,$FromName,$to_addr,$To,$subject,$body,"",$charset, $this->Get("Event"),NULL,$this->headers); } @@ -929,10 +939,25 @@ } } + $application =& kApplication::Instance(); + $db =& $application->GetADODBConnection(); + + // get footer: begin + $sql = 'SELECT em.Template + FROM '.TABLE_PREFIX.'EmailMessage em + LEFT JOIN '.TABLE_PREFIX.'Events e ON e.EventId = em.EventId + WHERE em.LanguageId = '.$GLOBALS['m_var_list']['lang'].' AND e.Event = "COMMON.FOOTER"'; + $footer = explode("\n\n", $db->GetOne($sql)); + $footer = $footer[1]; + // get footer: end + if(!$Text) { - $Text=strip_tags($Html); + $Text = strip_tags($Html."\r\n".$footer); } + else { + $Text = strip_tags($Text."\r\n".$footer); + } $msg .= "--" . $boundary . "\n"; $msg .= "Content-Type: text/plain; charset=\"$charset\""."\n"; @@ -945,7 +970,7 @@ $msg .= "--" . $boundary . "\n"; $msg .= "Content-Type: text/html; charset=\"iso-8859-1\""."\n"; $msg .= "Content-Transfer-Encoding: 8bit"."\n"."\n"; - $msg .= stripslashes($Html); + $msg .= stripslashes($Html."\r\n".$footer); $msg .= "\n"."\n"; } $msg .= "--" . $boundary . "--"."\n";