/** * 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; }