Example #1
0
 /**
  * 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;
 }