X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=DataObjects%2FCore_email.php;h=eac40bf106a19b10af779f4f340f7f67618f54ee;hb=dc5910f5438eefe0dead0751851017299fcd0e83;hp=9df68b275ded4d2faea39bf7fbbfda659d927d8a;hpb=4d2708991914a38d8229db9bfe84fa9e139bce00;p=Pman.Core diff --git a/DataObjects/Core_email.php b/DataObjects/Core_email.php index 9df68b27..eac40bf1 100644 --- a/DataObjects/Core_email.php +++ b/DataObjects/Core_email.php @@ -305,20 +305,23 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject $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'); @@ -338,13 +341,23 @@ 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']); + var_dump($contents['subject']); + var_dump($pattern); + var_dump($replace); + } + } if(!empty($contents['rcpts']) && is_array($contents['rcpts'])){ $contents['rcpts'] = implode(',', $contents['rcpts']); - } + } $ui = posix_getpwuid(posix_geteuid()); @@ -355,6 +368,7 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject } require_once 'Pman/Core/Mailer.php'; + $templateDir = session_save_path() . '/email-cache-' . $ui['name'] ; //print_r($this); @@ -389,8 +403,6 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject $r->images = $images; } - var_dump($r);exit; - return $r; } function toMailerData($obj,$force=false) @@ -405,6 +417,15 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject /** * * DEPRICATED !!! - DO NOT USE THIS !!! + * + * use: toMailerData() -- to return the email data.. + * or + * $mailer = $core_email->toMailer($obj, false); + * $sent = is_a($mailer,'PEAR_Error') ? false : $mailer->send(); + + * toMailer($obj, false)->send() + * + * */ function send($obj, $force = true, $send = true) @@ -413,20 +434,8 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject return $this->toMailerData($obj,$force); } - if(!empty($obj['rcpts'])) { - $rcpts = $obj['rcpts']; - if (strpos($obj['rcpts'], '@') == false) { - $rcpts = array(); - $gp = DB_DataObject::factory('core_group'); - $gp->get('name', $obj['rcpts']); - foreach ($gp->members() as $v) { - $rcpts[] = $v->email; - } - $obj['rcpts'] = $rcpts; - } - } - $r = $this->toMailer($obj, $force); + if (is_a($r, 'PEAR_Error')) { return $r; }