| | |
| | | } |
| | | |
| | | |
| | | function rcmail_generic_message_footer($isHtml) |
| | | { |
| | | global $CONFIG; |
| | | |
| | | if ($isHtml && !empty($CONFIG['generic_message_footer_html'])) { |
| | | $file = $CONFIG['generic_message_footer_html']; |
| | | $html_footer = true; |
| | | } |
| | | else { |
| | | $file = $CONFIG['generic_message_footer']; |
| | | $html_footer = false; |
| | | } |
| | | |
| | | if ($file && realpath($file)) { |
| | | // sanity check |
| | | if (!preg_match('/\.(php|ini|conf)$/', $file) && strpos($file, '/etc/') === false) { |
| | | $footer = file_get_contents($file); |
| | | if ($isHtml && !$html_footer) |
| | | $footer = '<pre>' . $footer . '</pre>'; |
| | | return $footer; |
| | | } |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | |
| | | /****** compose message ********/ |
| | | |
| | | if (strlen($_POST['_draft_saveid']) > 3) |
| | |
| | | } |
| | | |
| | | // generic footer for all messages |
| | | if ($isHtml && !empty($CONFIG['generic_message_footer_html'])) { |
| | | $footer = file_get_contents(realpath($CONFIG['generic_message_footer_html'])); |
| | | if ($footer = rcmail_generic_message_footer($isHtml)) { |
| | | $footer = rcube_charset_convert($footer, RCMAIL_CHARSET, $message_charset); |
| | | } |
| | | else if (!empty($CONFIG['generic_message_footer'])) { |
| | | $footer = file_get_contents(realpath($CONFIG['generic_message_footer'])); |
| | | $footer = rcube_charset_convert($footer, RCMAIL_CHARSET, $message_charset); |
| | | if ($isHtml) |
| | | $footer = '<pre>'.$footer.'</pre>'; |
| | | } |
| | | |
| | | if ($footer) |
| | | $message_body .= "\r\n" . $footer; |
| | | } |
| | | } |
| | | |
| | | if ($isHtml) { |
| | | $message_body .= "\r\n</body></html>\r\n"; |