Import/Core_email.php
[Pman.Core] / Import / Core_email.php
index e4caaaa..369c830 100644 (file)
@@ -2,11 +2,11 @@
 
 
 
-require_once 'Pman/Roo.php';
+require_once 'Pman.php';
 
-class Pman_Hydra_Import_Core_email extends Pman_Roo
+class Pman_Core_Import_Core_email extends Pman 
 {
-       static $cli_desc = "Import an email into core_email template"; 
+    static $cli_desc = "Import an email into core_email template"; 
     
     static $cli_opts = array(
         'file' => array(
@@ -31,33 +31,48 @@ class Pman_Hydra_Import_Core_email extends Pman_Roo
 
     function get($part='', $opts){
         
+        DB_DataObject::debugLevel(1);
         
-        $template_name = preg_replace('/\.[a-z]+$/',dirname($opts['file']),'');
-        
-        
+        $template_name = preg_replace('/\.[a-z]+$/i', '', basename($opts['file']));
         
+        if (!file_exists($opts['file'])) {
+            $this->jerr("file does not exist : " . $opts['file']);
+        }
+         
         $c = DB_dataObject::factory('core_email');
         $ret = $c->get('name',$template_name);
-        if($ret == 0){
-            $mailtext = file_get_contents('Pman.Core/templates/mail/'.$template_name.'.txt');
-    
-            require_once 'Mail/mimeDecode.php';  
-            $decoder = new Mail_mimeDecode($mailtext);
-            $parts = $decoder->getSendArray();
-            $from_name = explode(" ", $parts[0])[0];
-            $from_email = explode(" ", $parts[0])[1];
-            $c->setFrom(array(
-                'from_name'=>$from_name,
-                'from_email'=>$from_email,
-                'subject'=>$parts[1]['Subject'],
-                'name'=>$template_name,
-                'bodytext'=>$parts[2]
-                ));
-            $c->insert();
-        }else{
-            print_r("template exists.");
+        if($ret ) {
+            $this->jerr("we do not support updating the files ... - especially if the user has changed them!!");
         }
+        
+        $mailtext = file_get_contents($opts['file']);
 
+        require_once 'Mail/mimeDecode.php';
+        require_once 'Mail/RFC822.php';
+        
+        $decoder = new Mail_mimeDecode($mailtext);
+        $parts = $decoder->getSendArray();
+        
+        $headers = $parts[1];
+        $from = new Mail_RFC822();
+        $from_str = $from->parseAddressList($headers['From']);
+        
+        $from_name  = trim($from_str[0]->personal, '"');
+        
+        $from_email = $from_str[0]->mailbox . '@' . $from_str[0]->host;
+        
+        
+        $c->setFrom(array(
+            'from_name'     => $from_name,
+            'from_email'    => $from_email,
+            'subject'       => $parts[1]['Subject'],
+            'name'          => $template_name,
+            'bodytext'      => $parts[2],
+            'updated_dt'     => date('Y-m-d H:i:s'),
+            'created_dt'     => date('Y-m-d H:i:s'),
+        ));
+        $c->insert();
+        
         die("done\n");
     }
 }
\ No newline at end of file