DataObjects/Core_notify_recur.php
[Pman.Core] / Mailer.php
index c704c4b..769d559 100644 (file)
@@ -18,7 +18,8 @@
  *
  *  $x= Pman_Core_Mailer(array(
        page => 
-       contents
+       contents  << keys must be trusted
+          bcc -> 
        template
        html_locale => 'en' == always use the 'english translated verison'
        cache_images => true -- defaults to caching images - set to false to disable.
@@ -55,7 +56,7 @@
  */
 
 class Pman_Core_Mailer {
-    var $debug          = 2;
+    var $debug          = 0;
     var $page           = false; /* usually a html_flexyframework_page */
     var $contents       = false; /* object or array */
     var $template       = false; /* string */
@@ -75,6 +76,8 @@ class Pman_Core_Mailer {
     var $mail_method = 'SMTP';
     
     var $cache_images = true;
+      
+    var $bcc = false;
     
     function Pman_Core_Mailer($args) {
         foreach($args as $k=>$v) {
@@ -87,8 +90,8 @@ class Pman_Core_Mailer {
         if (!empty($ff->Core_Mailer['debug'])) {
             $this->debug = $ff->Core_Mailer['debug'];
         }
-        $this->log("URL MAP");
-        $this->log($urlmap);
+        //$this->log("URL MAP");
+        //$this->log($this->urlmap);
         
     }
      
@@ -100,11 +103,11 @@ class Pman_Core_Mailer {
     {
     
         $templateFile = $this->template;
-        $args = $this->contents;
+        $args = (array)$this->contents;
         
         $content  = clone($this->page);
         
-        foreach((array)$args as $k=>$v) {
+        foreach($args as $k=>$v) {
             $content->$k = $v;
         }
         
@@ -274,17 +277,17 @@ class Pman_Core_Mailer {
             $parts[2] = $mime->get();
             $parts[1] = $mime->headers($parts[1]);
         }
-//        echo '<PRE>';
-//        print_r('parts');
-//        print_r($parts[2]);
-//        exit;
-       // list($recipents,$headers,$body) = $parts;
-        return array(
+        $ret = array(
             'recipents' => $parts[0],
             'headers' => $parts[1],
             'body' => $parts[2],
             'mailer' => $this
         );
+        // add bcc if necessary..
+        if (!empty($this->bcc)) {
+           $ret['bcc'] = $this->bcc;
+        }
+        return $ret;
     }
     function send($email = false)
     {
@@ -300,7 +303,7 @@ class Pman_Core_Mailer {
             return $email;
         }
         
-        $this->log( htmlspecialchars(print_r($email,true)));
+        //$this->log( htmlspecialchars(print_r($email,true)));
         
         ///$recipents = array($this->email);
         $mailOptions = PEAR::getStaticProperty('Mail','options');
@@ -325,6 +328,9 @@ class Pman_Core_Mailer {
         } 
         $rcpts = $this->rcpts == false ? $email['recipents'] : $this->rcpts;
         
+        
+        
+        // this makes contents untrustable...
         if (!empty($this->contents['bcc']) && is_array($this->contents['bcc'])) {
             $rcpts =array_merge(is_array($rcpts) ? $rcpts : array($rcpts), $this->contents['bcc']);
         }
@@ -400,7 +406,7 @@ class Pman_Core_Mailer {
                 $file = $ff->rootDir . $url;
 
                 if (!file_exists($file)) {
-                    echo $file;
+//                    echo $file;
                     $link->setAttribute('href', 'missing:' . $file);
                     continue;
                 }
@@ -440,7 +446,7 @@ class Pman_Core_Mailer {
             return array(
                     'mimetype' => $mt,
                    'ext' => $ext,
-                   'contentid' => md5($file),
+                   'contentid' => md5($file),  // mailer makes md5 cid's' -- cid with attachment-** are done by mailer.
                    'file' => $file
             );
             
@@ -527,18 +533,21 @@ class Pman_Core_Mailer {
                 return $ret;
             }
         }
+        $this->log("mapurl no change - $in");
         return $in;
          
         
     }
+    
     
     function log($val)
     {
-        if (!$this->debug < 1) {
+        if (!$this->debug) {
             return;
         }
         if ($this->debug < 2) {
-            echo '<PRE>' . $val. "\n";
+            echo '<PRE>' . print_r($val,true). "\n"; 
             return;
         }
         $fh = fopen('/tmp/core_mailer.log', 'a');