X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=DataObjects%2FCore_email.php;h=de91473dfe3d38d9ad668eb21d6839fe63bba33e;hb=1c49b447ea70bc1b855e1f8d27352e4cb16a900b;hp=739eed566680d42d5ff82b612f2f468eb6b5afee;hpb=1f0b1a435a3d42d1805e0324547a4e145996e476;p=Pman.Core diff --git a/DataObjects/Core_email.php b/DataObjects/Core_email.php index 739eed56..de91473d 100644 --- a/DataObjects/Core_email.php +++ b/DataObjects/Core_email.php @@ -301,26 +301,27 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject function toMailer($obj,$force=false) { - - require_once 'PEAR.php'; $p = new PEAR(); $contents = (array)$obj; - + if(empty($this->id) && !empty($contents['template'])){ $this->get('name', $contents['template']); } + if(empty($this->active)){ return $p->raiseError("template [{$contents['template']}] is Disabled"); } + if(empty($this->id)){ return $p->raiseError("template [{$contents['template']}] has not been set"); } // fill in BCC + if (!empty($this->bcc_group) && empty($contents['rcpts_group'])) { $admin = DB_DAtaObject::Factory('core_group')->lookupMembersByGroupId($this->bcc_group,'email'); @@ -340,15 +341,20 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject $contents['rcpts'] = $admin; } + //subject replacement if(empty($contents['subject'])){ $contents['subject'] = $this->subject; } + + if (!empty($contents['subject_replace'])) { + foreach ($contents['mapping'] as $pattern => $replace) { + $contents['subject'] = preg_replace($pattern,$replace,$contents['subject']); + } + } if(!empty($contents['rcpts']) && is_array($contents['rcpts'])){ $contents['rcpts'] = implode(',', $contents['rcpts']); - } - - var_dump('die');exit; + } $ui = posix_getpwuid(posix_geteuid()); @@ -410,7 +416,11 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject * DEPRICATED !!! - DO NOT USE THIS !!! * * use: toMailerData() -- to return the email data.. - * or toMailer($obj, false)->send() + * or + * $mailer = $core_email->toMailer($obj, false); + * $sent = is_a($mailer,'PEAR_Error') ? false : $mailer->send(); + + * toMailer($obj, false)->send() * * */