00001 <?php
00002 abstract class AuthEmail {
00003 public static function renderTemplate($name, $recipient, $values = array()) {
00004
00005 $template = AuthEmailTemplate::retrieve(array('name' => $name));
00006
00007
00008 $headers = AuthEmailHeader::getList(array('emailTemplateId' => $template->id));
00009 $textHeaders = array();
00010 foreach($headers as $header) {
00011 $textHeaders[$header->name] = $header->value;
00012 }
00013
00014
00015 $body = $template->body;
00016 foreach($values as $name => $value) {
00017 $body = str_replace('{' . $name . '}', $value, $body);
00018 }
00019
00020
00021 $mailer = new Mailer;
00022 foreach($textHeaders as $headerName => $value) {
00023 switch($headerName) {
00024 case 'Subject':
00025 $mailer->setSubject($value);
00026 break;
00027 case 'Reply-To':
00028 $mailer->setReplyTo($value);
00029 break;
00030 case 'From':
00031 $mailer->setFrom($value);
00032 if(!isset($textHeaders[$headerName])) {
00033 $mailer->setReplyTo($value);
00034 }
00035 break;
00036 }
00037 }
00038
00039
00040 $mailer->setMessage($body);
00041 $mailer->addRecipient($recipient);
00042 $mailer->sendMail();
00043 }
00044 }
00045 ?>