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']) || empty($_REQUEST['_table'])){
24 $this->jerr('Missing Options');
27 $mlq = DB_DataObject::factory($_REQUEST['_table']);
29 $mlq->get($_REQUEST['_id']);
33 $this->showHtml = isset($_REQUEST['_as_html']) ? true : false;
39 if(empty($_REQUEST['_id']) || empty($_REQUEST['_table'])){
40 $this->jerr('Missing Options');
43 if($_REQUEST['_table'] == 'core_email'){
44 $this->coreEmailSendTest();
47 $cn = DB_DataObject::factory('core_notify');
49 'evtype' => "{$_REQUEST['_table']}::SendPreviewEmail",
50 'onid' => $_REQUEST['_id'],
51 'ontable' => $_REQUEST['_table'],
52 'person_id' => $this->authUser->id,
53 'act_when' => $cn->sqlValue("NOW()"),
54 'act_start' => $cn->sqlValue("NOW()")
64 $mid = $_REQUEST['_id'];
66 $mlq = DB_DataObject::factory($_REQUEST['_table']);
68 $mlq->get($_REQUEST['_id']);
71 'template' => $mlq->name,
72 'person' => $this->authUser
75 $sent = DB_DataObject::factory($_REQUEST['_table'])->send($content);
77 if(!is_object($sent)){
78 $this->jok('SUCCESS');
81 $this->jerr('error!!:' . $sent->toString());
85 function coreEmailSendTest()
87 $core_email = DB_DataObject::factory('core_email');
89 if(!$core_email->get($_REQUEST['_id'])){
90 $this->jerr('Invalid Message ID');
93 if(empty($core_email->test_class)){
94 $this->jerr("[{$core_email->name}] does not has test class");
97 require_once "{$core_email->test_class}.php";
99 $cls = str_replace('/', '_', $core_email->test_class);
103 $method = "test_{$core_email->name}";
105 if(!method_exists($x, $method)){
106 $this->jerr("{$method} does not exists in {$cls}");
109 $content = $x->{$method}($this, $this->authUser);
111 $sent = $core_email->send($content);
113 if(is_object($sent)){
114 $this->jerr("Error sending email - " . $sent->toString());
117 $this->jok('SUCCESS');