5 require_once 'Pman.php';
7 class Pman_Core_Import_Core_email extends Pman
9 static $cli_desc = "Import an email into core_email template";
11 static $cli_opts = array(
13 'desc' => 'File to import',
20 'desc' => 'Master template (wrapper to body)',
28 'desc' => 'Update template (deletes old version?)',
38 $ff = HTML_FlexyFramework::get();
46 function get($part='', $opts){
48 // DB_DataObject::debugLevel(1);
50 $template_name = preg_replace('/\.[a-z]+$/i', '', basename($opts['file']));
52 if (!file_exists($opts['file'])) {
53 $this->jerr("file does not exist : " . $opts['file']);
57 if (!empty($opts['master']) && !file_exists($opts['master'])) {
58 $this->jerr("master file does not exist : " . $opts['master']);
63 $c = DB_dataObject::factory('core_email');
64 $ret = $c->get('name',$template_name);
66 $this->jerr("we do not support updating the files ... - especially if the user has changed them!!");
69 $mailtext = file_get_contents($opts['file']);
71 require_once 'Mail/mimeDecode.php';
72 require_once 'Mail/RFC822.php';
74 $decoder = new Mail_mimeDecode($mailtext);
75 $parts = $decoder->getSendArray();
76 if (is_a($parts,'PEAR_Error')) {
77 echo $parts->toString() . "\n";
82 $from = new Mail_RFC822();
83 $from_str = $from->parseAddressList($headers['From']);
85 $from_name = trim($from_str[0]->personal, '"');
87 $from_email = $from_str[0]->mailbox . '@' . $from_str[0]->host;
91 'from_name' => $from_name,
92 'from_email' => $from_email,
93 'subject' => $parts[1]['Subject'],
94 'name' => $template_name,
95 'bodytext' => $parts[2],
96 'updated_dt' => date('Y-m-d H:i:s'),
97 'created_dt' => date('Y-m-d H:i:s'),