/** * Creates a Swift message from a Gutuma newsletter * @param gu_newsletter $newsletter The newsletter * @param string $recipient The recipient address * @param string $list_name The name of the list holding the recipient * @return mixed The Swift message if successful, else FALSE */ private function create_message(gu_newsletter $newsletter, $address, $list_name) { if (!gu_config::get('msg_prefix_subject')) { $subject = $newsletter->get_subject(); } elseif ($list_name != '') { $subject = '[' . $list_name . '] ' . $newsletter->get_subject(); } else { $subject = '[' . gu_config::get('collective_name') . '] ' . $newsletter->get_subject(); } if ($list_name != '' && gu_config::get('msg_append_signature')) { $text = $newsletter->get_text() . "\n-------------------------------------------------\n" . t('Unsubscribe') . ": " . absolute_url('subscribe.php') . "?addr=" . $address . "\n" . t('Powered by Gutuma') . " (" . GUTUMA_URL . ")\n"; $html = $newsletter->get_html() . '<hr /><p><a href="' . absolute_url('subscribe.php') . '?addr=' . $address . '">' . t('Unsubscribe') . '</a> ' . t('from this newsletter.') . t(' Powered by') . ' <a href="' . GUTUMA_URL . '">' . t('Gutuma') . '</a></p>'; } else { $text =& $newsletter->get_text(); $html =& $newsletter->get_html(); } // Add text and html as separate MIME parts $message = new Swift_Message($subject); $message->attach(new Swift_Message_Part($text)); $message->attach(new Swift_Message_Part($html, "text/html")); // Add message attachments foreach ($newsletter->get_attachments() as $attachment) { if (!$message->attach(new Swift_Message_Attachment(new Swift_File($attachment['path']), $attachment['name']))) { return gu_error(t("Unable to attach '") . $attachment['name'] . "'"); } } return $message; }
} } elseif (is_post_var('remove_submit')) { $attachment = get_post_var('msg_attachments'); if ($newsletter->delete_attachment($attachment)) { gu_success(t('Attachment <i>%</i> removed', array($attachment))); } } elseif (is_post_var('save_submit')) { if ($newsletter->save()) { $is_modified = FALSE; gu_success(t('Newsletter saved as draft')); } } // Get all newsletters as mailbox $mailbox = gu_newsletter::get_mailbox(); // Get list of attachments $attachments = $newsletter->get_attachments(); if (!$preview_mode) { // Only enable the TinyMCE compressor if zlib compression is disabled on the server if (!ini_get('zlib.output_compression') && GUTUMA_TINYMCE_COMPRESSION) { ?> <script type="text/javascript" src="js/tiny_mce/tiny_mce_gzip.js"></script> <script type="text/javascript"> tinyMCE_GZ.init({ plugins : 'safari,pagebreak,emotions,iespell,media,print,contextmenu,paste,noneditable,nonbreaking,xhtmlxtras,inlinepopups', themes : 'advanced', languages : 'en', disk_cache : true, debug : false }); </script> <?php