DataObjects/Core_email.php
[Pman.Core] / DataObjects / Core_email.php
index 5540b0c..eac40bf 100644 (file)
@@ -306,30 +306,22 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject
         $p = new PEAR();
         $contents = (array)$obj;
         
-        if (!empty($obj['subject_replace'])) {
-            $mapping = array(
-                '/{person.name}/' => $obj['person']->name
-            );
-            $subject = $obj['subject'];
-            foreach ($mapping as $pattern => $replace) {
-                $subject = preg_replace($pattern,$replace,$subject);
-            }
-            $content['subject'] = $subject;
-        }
-         
         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');
             
@@ -349,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());
         
@@ -366,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);
@@ -379,8 +382,6 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject
             'css_embed' => true, // we should always try and do this with emails...
         );
         
-        var_dump($cfg);exit;
-        
         if (isset($contents['rcpts'])) {
             $cfg['rcpts'] = $contents['rcpts'];
         }
@@ -418,7 +419,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()
      *
      * 
      */