DataObjects/Core_watch.php
[Pman.Core] / DataObjects / Core_email.php
index 777876d..e167a74 100644 (file)
@@ -178,7 +178,7 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject
     
     function processRelacements($replace_links = true)
     {   
-        $cfg = HTML_FlexyFramework::get()->Pman_Crm;
+        $cfg = isset(HTML_FlexyFramework::get()->Pman_Crm) ? HTML_FlexyFramework::get()->Pman_Crm : false;
         
         libxml_use_internal_errors (true);
         $doc = new DOMDocument('1.0', 'UTF-8');
@@ -255,19 +255,19 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject
         $this->bodytext = str_replace('%7B', '{', $this->bodytext ); // kludge as template is not interpretated as html.
         $this->bodytext = str_replace('%7D', '}', $this->bodytext ); // kludge as template is not interpretated as html.
          
-        
-        
         return;
     }
     
-    function send($obj)
+    function send($obj, $force = true, $send = true)
     {   
         $contents = (array)$obj;
         
-        $this->get('name', $contents['template']);
+        if(empty($this->id)){
+            $this->get('name', $contents['template']);
+        }
         
         if(empty($this->id)){
-            return false;
+            return PEAR::raiseError("template [{$contents['template']}]has not been set");
         }
         
         $contents['subject'] = $this->subject;
@@ -277,12 +277,13 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject
         $cachePath = session_save_path() . '/email-cache-' . $ui['name'] . '/mail/' . $this->tableName() . '-' . $this->id . '.txt';
         
         if(!$this->isGenerated($cachePath)){
-            $this->cachedMailWithOutImages(true, false);
+            $this->cachedMailWithOutImages($force, false);
         }
          
         require_once 'Pman/Core/Mailer.php';
         
         $templateDir = session_save_path() . '/email-cache-' . $ui['name'] ;
+        
         $r = new Pman_Core_Mailer(array(
             'template'=> $this->tableName() . '-' . $this->id,
             'templateDir' => $templateDir,
@@ -299,6 +300,10 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject
         
         $ret = $r->toData();
         
+        if(!$send){
+            return $ret;
+        }
+        
         return $r->send($ret);
     }