fix #8131 - chinese translations
[Pman.Core] / Mailer.php
index 3868884..a79169f 100644 (file)
@@ -65,7 +65,7 @@
 class Pman_Core_Mailer {
     var $debug          = 0;
     var $page           = false; /* usually a html_flexyframework_page */
-    var $contents       = false; /* object or array */
+    var $contents       = array(); /* object or array */
     var $template       = false; /* string */
     var $replaceImages  = false; /* boolean */
     var $rcpts   = false;
@@ -73,6 +73,8 @@ class Pman_Core_Mailer {
     var $locale = false; // eg. 'en' or 'zh_HK'
     var $urlmap = array();
     
+    var $htmlbody;
+    var $textbody;
     
     var $html_locale = false; // eg. 'en' or 'zh_HK'
     var $images         = array(); // generated list of cid images for sending
@@ -105,7 +107,12 @@ class Pman_Core_Mailer {
     }
      
     /**
-     * ---------------- Global Tools ---------------   
+     * ---------------- Global Tools ---------------
+     *
+     * applies this variables to a object
+     * msgid
+     * HTTP_HOIST
+     * 
      */
     
     function toData()
@@ -120,13 +127,15 @@ class Pman_Core_Mailer {
         
         $content->msgid = empty($content->msgid ) ? md5(time() . rand()) : $content->msgid ;
         
+        // content can override this now
         $ff = HTML_FlexyFramework::get();
         $http_host = isset($_SERVER["HTTP_HOST"]) ? $_SERVER["HTTP_HOST"] : 'pman.HTTP_HOST.not.set';
         if (isset($ff->Pman['HTTP_HOST']) && $http_host != 'localhost') {
             $http_host  = $ff->Pman['HTTP_HOST'];
         }
-        
-        $content->HTTP_HOST = $http_host;
+        if (empty($content->HTTP_HOST )) {
+            $content->HTTP_HOST = $http_host;
+        }
         
         // this should be done by having multiple template sources...!!!
         
@@ -137,16 +146,23 @@ class Pman_Core_Mailer {
             'site_prefix' => false,
             'multiSource' => true,
         );
-        if (!empty($this->templateDir)) {
-            $tmp_opts['templateDir'] = $this->templateDir;
-        }
+        
         $fopts = HTML_FlexyFramework::get()->HTML_Template_Flexy;
+        
+        //print_R($fopts);exit;
         if (!empty($fopts['DB_DataObject_translator'])) {
             $tmp_opts['DB_DataObject_translator'] = $fopts['DB_DataObject_translator'];
         }
         if (!empty($fopts['locale'])) {
             $tmp_opts['locale'] = $fopts['locale'];
         }
+        if (!empty($fopts['templateDir'])) {
+            $tmp_opts['templateDir'] = $fopts['templateDir'];
+        }
+        // override.
+        if (!empty($this->templateDir)) {
+            $tmp_opts['templateDir'] = $this->templateDir;
+        }
         
         // local opt's overwrite
         if (!empty($this->locale)) {
@@ -189,12 +205,13 @@ class Pman_Core_Mailer {
             
         }
         $tmp_opts['nonHTML'] = true;
+        //$tmp_opts['debug'] = true;
         
-        
-        //print_R($tmp_opts);
+        // print_R($tmp_opts);
         // $tmp_opts['force'] = true;
         
         $template = new HTML_Template_Flexy(  $tmp_opts );
+        
         $template->compile('mail/'. $templateFile.'.txt');
         
         /* use variables from this object to ouput data. */