3 require_once 'Pman.php';
5 class Pman_Core_MessagePreview extends Pman
7 var $masterTemplate = 'mail/MessagePreview.html';
11 if (HTML_FlexyFramework::get()->cli) {
14 $this->authUser = $this->getAuthUser();
15 if (!$this->authUser) {
23 if(empty($_REQUEST['_id'])){
24 $this->jerr('missing options!');
28 $mlq = DB_DataObject::factory('core_mailing_list_message');
30 $mlq->get($_REQUEST['_id']);
34 $this->showHtml = isset($_REQUEST['_as_html']) ? true : false;
40 if(empty($_REQUEST['_id'])){
41 $this->jerr('id got error');
43 if(empty($_REQUEST['_action'])){
44 $this->jerr('preview type not set');
46 $mid = $_REQUEST['_id'];
48 $cfg = HTML_FlexyFramework::get()->Pman_Crm;
52 $q = DB_DataObject::factory('crm_mailing_list_queue');
53 $q->id = 'test-message-'. $mid;
54 $q->message_id = $mid;
55 $q->message_id_subject = $q->message()->subject;
56 $q->message_id_from_email = $cfg['from_email'];
57 $q->message_id_from_name = "Email Test";
59 $q->cachedMailWithOutImages(true);
60 $r = $q->getMailerObject($this->authUser, false, false, true);
61 //print_r($r->toData());
63 $images = file_get_contents(session_save_path() . '/email-cache-' . getenv('APACHE_RUN_USER') . '/mail/' . $q->id . '-images.txt');
64 // var_dump($images);exit;
66 $ret['body'] = str_replace('%Images%', $images, $ret['body']);
68 $sent = $r->send($ret);
69 if(!is_object($sent)){
70 $this->jok('SUCCESS');
72 $this->jerr('error!!:' . $sent->toString());
77 $images = file_get_contents(session_save_path() . '/email-cache-' . get_current_user() . '/mail/' . $this->id . '-images.txt');
78 // var_dump($images);exit;
80 $ret['body'] = str_replace('%Images%', $images, $ret['body']);
87 $message = DB_DataObject::factory('crm_mailing_list_message');
88 if(!$message->get($mid)){
89 $this->jerr("Error occour on getting message!");
91 $mm = clone($message);
92 $message->processRelacements($this->authUser);
94 $ids = $mm->attachmentIds();
95 //$this->jerr(print_r($ids,true));
106 require_once 'Pman/Core/Mailer.php';
107 $i = DB_DataObject::factory('Images');
109 $i->ontable = 'crm_mailing_list_message';
110 $i->whereAddIn('id', $ids, 'int');
112 $attachment = array();
115 require_once 'File/MimeType.php';
116 $y = new File_MimeType();
117 $ii->ext = $y->toExt(trim((string) $ii->mimetype ));
118 $ii->file = chunk_split(base64_encode(file_get_contents($ii->getStoreName())));
122 $cfg = HTML_FlexyFramework::get()->Pman_Crm;
125 $template = ($_REQUEST['_action'] == 'html') ? 'mixedMail' : 'plainMail';
127 $random_hash = md5(date('r', time()));
128 $r = new Pman_Core_Mailer(array(
129 'template'=> $template,
132 'random_hash' => $random_hash,
133 'person' => $this->authUser,
135 'attach' => $attachment,
136 'from' => '<'.$cfg['from_email'].'>'
139 //print_R($r->toData());
141 if(!is_object($sent)){
142 $this->jok('SUCCESS');
144 $this->jerr('error!!:' . $sent->toString());