contents
template
replaceImages => true|false,
+ locale => 'en' .... or zh_hk....
rcpts => array() // override recipients..
]
*
var $replaceImages = false; /* boolean */
var $rcpts = false;
var $templateDir = false;
+ var $locale = false; // eg. 'en' or 'zh_HK'
var $images = array(); // generated list of cid images for sending
+
// this should be done by having multiple template sources...!!!
require_once 'HTML/Template/Flexy.php';
- $tmp_opts = array();
+ $tmp_opts = array(
+ // 'forceCompile' => true,
+ 'site_prefix' => false,
+ );
if (!empty($this->templateDir)) {
$tmp_opts['templateDir'] = $this->templateDir;
}
+ $fopts = HTML_FlexyFramework::get()->HTML_Template_Flexy;
+ if (!empty($fopts['DB_DataObject_translator'])) {
+ $tmp_opts['DB_DataObject_translator'] = $fopts['DB_DataObject_translator'];
+ }
+ if (!empty($fopts['locale'])) {
+ $tmp_opts['locale'] = $fopts['locale'];
+ }
+ // local opt's overwrite
+ if (!empty($this->locale)) {
+ $tmp_opts['locale'] = $this->locale;
+ }
$htmlbody = false;
$htmltemplate = new HTML_Template_Flexy( $tmp_opts );
}
$tmp_opts['nonHTML'] = true;
+
+
+ //print_R($tmp_opts);
// $tmp_opts['force'] = true;
$template = new HTML_Template_Flexy( $tmp_opts );
//exit;
}
-
+ require_once 'Mail/mime.php';
+ $mime = new Mail_mime(array(
+ 'eol' => "\n",
+ //'html_encoding' => 'base64',
+ 'html_charset' => 'utf-8',
+ 'text_charset' => 'utf-8',
+ 'head_charset' => 'utf-8',
+ ));
+ // clean up the headers...
$parts[1]['Message-Id'] = '<' . $content->msgid .
'@' . $content->HTTP_HOST .'>';
-
-
-
+
if ($htmlbody !== false) {
- require_once 'Mail/mime.php';
- $mime = new Mail_mime(array('eol' => "\n",
-// 'html_encoding' => 'base64',
- 'html_charset' => 'utf-8',
- 'text_charset' => 'utf-8',
- 'head_charset' => 'utf-8'
- ));
+ // got a html headers...
+ if (isset($parts[1]['Content-Type'])) {
+ unset($parts[1]['Content-Type']);
+ }
$mime->setTXTBody($parts[2]);
$mime->setHTMLBody($htmlbody);
// var_dump($mime);exit;
function htmlbodytoCID($html)
{
- $dom = new DOMDocument;
- $dom->loadHTML('<?xml encoding="UTF-8">' .$html);
+ $dom = new DOMDocument();
+ // this may raise parse errors as some html may be a component..
+ @$dom->loadHTML('<?xml encoding="UTF-8">' .$html);
$imgs= $dom->getElementsByTagName('img');
foreach ($imgs as $i=>$img) {
{
if ($url[0] == '/') {
- $file = $this->page->rootDir . $url;
+ $ff = HTML_FlexyFramework::get();
+ $file = $ff->rootDir . $url;
require_once 'File/MimeType.php';
$m = new File_MimeType();
$mt = $m->fromFilename($file);
$ext = $m->toExt($mt);
return array(
- 'mimetype' => $mt,
- 'ext' => $ext,
- 'contentid' => md5($file),
- 'file' => $file
+ 'mimetype' => $mt,
+ 'ext' => $ext,
+ 'contentid' => md5($file),
+ 'file' => $file
);
}
// CACHE???
// 2 files --- the info file.. and the actual file...
// add user
- $cache = ini_get('session.save_path').'/Pman_Core_Mailer/' . md5($url);
+ // unix only...
+ $uinfo = posix_getpwuid( posix_getuid () );
+ $user = $uinfo['name'];
+
+ $cache = ini_get('session.save_path')."/Pman_Core_Mailer-{$user}/" . md5($url);
if (file_exists($cache) and filemtime($cache) > strtotime('NOW - 1 WEEK')) {
$ret = json_decode($cache);
$ret['file'] = $cache . '.data';
return $ret;
}
if (!file_exists(dirname($cache))) {
- mkdir(dirname($cache),0666, true);
+ mkdir(dirname($cache),0700, true);
}
require_once 'HTTP/Request.php';