-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(
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