/** * Send email to audience, and if requested copy to sender * * @param Doctrine_Collection $object * @param Array $form_values */ protected function notifyAudience($object, $form_values, $route_name) { $user = $this->getUser(); $signed_in = $user->isAuthenticated() ? true : false; $from_email = $form_values['from_email']; $to_email = $this->getRecipients($form_values['to_email']); // Variables $vars = array('object' => $object); $vars['form_values'] = $form_values; $vars['route_name'] = $route_name; if ($signed_in) { $vars['from_text'] = sprintf('%s %s (%s)', $user->getGuardUser()->getFirstName(), $user->getGuardUser()->getLastName(), $user->getGuardUser()->getEmailAddress()); } else { $vars['from_text'] = sprintf('%s (%s)', $form_values['from_name'], $form_values['from_email']); } $vars['name'] = $object->getTitle() ? $object->getTitle() : __('Item Page'); // Email templates $message_html = $this->getPartial('rtSocial/email_html', $vars); $message_html = $this->getPartial('rtEmail/layout_html', array('content' => $message_html)); $message_plain = $this->getPartial('rtSocial/email_plain', $vars); $message_plain = $this->getPartial('rtEmail/layout_plain', array('content' => html_entity_decode($message_plain))); // Subject $subject_text = 'I thought you might be interested in this'; $subject = $object->getTitle() ? sprintf('%s: %s', $subject_text, $object->getTitle()) : $subject_text . '...'; // Email $message = Swift_Message::newInstance()->setFrom($from_email)->setTo($to_email)->setSubject($subject)->setBody($message_html, 'text/html')->addPart($message_plain, 'text/plain'); // Send copy to sender if ($form_values['copy'] == true) { $message->setBcc($from_email); } $this->getMailer()->send($message); }