DataObjects/Core_person_signup.php
[Pman.Core] / DataObjects / Core_email.php
index 500e0a9..99ed55d 100644 (file)
@@ -199,7 +199,7 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject
         if(!empty($cfg)){
             $unsubscribe = $cfg ['server_baseurl'] . '/Crm/Unsubscribe/' . $this->id . '/{person.id}';
         }
-        
+       
         foreach ($xpath->query('//a[@href]') as $a) { 
             
             $href = $a->getAttribute('href');
@@ -233,7 +233,7 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject
             $a->setAttribute('href', $l);
             
         }
-        exit;
+        
         if(!empty($unsubscribe)){
             $element = $doc->createElement('img');
         
@@ -242,7 +242,9 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject
             $element->setAttribute('height', '1');
 
             $html = $doc->getElementsByTagName('html');
-            $html->item(0)->appendChild($element);
+            if ($html->length) {
+                $html->item(0)->appendChild($element);
+            }
             
             $this->plaintext = str_replace("{unsubscribe_link}", $unsubscribe, $this->plaintext);
         }
@@ -260,8 +262,6 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject
     
     function send($obj, $force = true, $send = true)
     {   
-        $this->processRelacements(true);
-        exit;
         $contents = (array)$obj;
         
         if(empty($this->id)){
@@ -269,12 +269,17 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject
         }
         
         if(empty($this->id)){
-            return PEAR::raiseError("template [{$contents['template']}]has not been set");
+            $p = new PEAR();
+            return $p->raiseError("template [{$contents['template']}]has not been set");
         }
         if(empty($contents['subject'])){
            $contents['subject'] = $this->subject; 
         }
         
+        if(!empty($contents['rcpts']) && is_array($contents['rcpts'])){
+            $contents['rcpts'] = implode(',', $contents['rcpts']);
+        }
+        
         $ui = posix_getpwuid(posix_geteuid());
         
         $cachePath = session_save_path() . '/email-cache-' . $ui['name'] . '/mail/' . $this->tableName() . '-' . $this->id . '.txt';
@@ -307,18 +312,17 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject
             return $ret;
         }
         
-        return $r->send($ret);
+        return $r->send();
     }
     
     function cachedMailWithOutImages($force = false, $replace_links = true)
     {  
         
-        
         $ui = posix_getpwuid(posix_geteuid());
         
         $cachePath = session_save_path() . '/email-cache-' . $ui['name'] . '/mail/' . $this->tableName() . '-' . $this->id . '.txt';
           
-        if ($this->isGenerated($cachePath)) {
+        if (!$force && $this->isGenerated($cachePath)) {
             return;
         }
         
@@ -334,10 +338,10 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject
 
         fwrite($fh, implode("\n", array(
             "From: {if:t.messageFrom}{t.messageFrom:h}{else:}{t.messageFrom():h}{end:}",
-            "To: {if:t.person}{t.person.getEmailFrom():h}{else:}{foreach:rcpts,v}{v:h},{end:}{end:}",
-            "{if:t.replyTo}Reply-To: {t.replyTo:h}{end:}",
+            "To: {if:t.person}{t.person.getEmailFrom():h}{else:}{rcpts:h}{end:}",
             "Subject: {t.subject} ",
-            "X-Message-ID: {t.id} "
+            "X-Message-ID: {t.id} ",
+            "{if:t.replyTo}Reply-To: {t.replyTo:h}{end:}"
         ))."\n");