3 require_once 'Pman.php';
5 class Pman_Crm_MessagePreview extends Pman
7 var $masterTemplate = 'mail/rich_sample.html';
11 if (HTML_FlexyFramework::get()->cli) {
14 $this->authUser = $this->getAuthUser();
15 if (!$this->authUser) {
23 if(empty($_REQUEST['_id'])){
24 $this->jerr('id got error');
26 $mlq = DB_DataObject::factory('crm_mailing_list_message');
28 $mlq->get($_REQUEST['_id']);
32 $this->showHtml = isset($_REQUEST['_as_html']) ? true : false;
38 if(empty($_REQUEST['_id'])){
39 $this->jerr('id got error');
41 if(empty($_REQUEST['_action'])){
42 $this->jerr('preview type not set');
44 $mid = $_REQUEST['_id'];
46 $cfg = HTML_FlexyFramework::get()->Pman_Crm;
50 $q = DB_DataObject::factory('crm_mailing_list_queue');
51 $q->id = 'test-message-'. $mid;
52 $q->message_id = $mid;
53 $q->message_id_subject = $q->message()->subject;
54 $q->message_id_from_email = $cfg['from_email'];
55 $q->message_id_from_name = "Email Test";
57 $q->cachedMailWithOutImages(true);
58 $r = $q->getMailerObject($this->authUser, false, false, true);
59 //print_r($r->toData());
61 $images = file_get_contents(session_save_path() . '/email-cache-' . getenv('APACHE_RUN_USER') . '/mail/' . $q->id . '-images.txt');
62 // var_dump($images);exit;
64 $ret['body'] = str_replace('%Images%', $images, $ret['body']);
66 $sent = $r->send($ret);
67 if(!is_object($sent)){
68 $this->jok('SUCCESS');
70 $this->jerr('error!!:' . $sent->toString());
75 $images = file_get_contents(session_save_path() . '/email-cache-' . get_current_user() . '/mail/' . $this->id . '-images.txt');
76 // var_dump($images);exit;
78 $ret['body'] = str_replace('%Images%', $images, $ret['body']);
85 $message = DB_DataObject::factory('crm_mailing_list_message');
86 if(!$message->get($mid)){
87 $this->jerr("Error occour on getting message!");
89 $mm = clone($message);
90 $message->processRelacements($this->authUser);
92 $ids = $mm->attachmentIds();
93 //$this->jerr(print_r($ids,true));
104 require_once 'Pman/Core/Mailer.php';
105 $i = DB_DataObject::factory('Images');
107 $i->ontable = 'crm_mailing_list_message';
108 $i->whereAddIn('id', $ids, 'int');
110 $attachment = array();
113 require_once 'File/MimeType.php';
114 $y = new File_MimeType();
115 $ii->ext = $y->toExt(trim((string) $ii->mimetype ));
116 $ii->file = chunk_split(base64_encode(file_get_contents($ii->getStoreName())));
120 $cfg = HTML_FlexyFramework::get()->Pman_Crm;
123 $template = ($_REQUEST['_action'] == 'html') ? 'mixedMail' : 'plainMail';
125 $random_hash = md5(date('r', time()));
126 $r = new Pman_Core_Mailer(array(
127 'template'=> $template,
130 'random_hash' => $random_hash,
131 'person' => $this->authUser,
133 'attach' => $attachment,
134 'from' => '<'.$cfg['from_email'].'>'
137 //print_R($r->toData());
139 if(!is_object($sent)){
140 $this->jok('SUCCESS');
142 $this->jerr('error!!:' . $sent->toString());