MessagePreview.php
[Pman.Core] / MessagePreview.php
index ad9e17e..df5ca57 100644 (file)
@@ -40,6 +40,10 @@ class Pman_Core_MessagePreview extends Pman
             $this->jerr('Missing Options');
         }
         
+        if($_REQUEST['_table'] == 'core_email'){
+            $this->coreEmailSendTest();
+        }
+        
         $mid = $_REQUEST['_id'];
         
         $mlq = DB_DataObject::factory($_REQUEST['_table']);
@@ -56,7 +60,35 @@ class Pman_Core_MessagePreview extends Pman
         if(!is_object($sent)){
             $this->jok('SUCCESS');
         }
+        
         $this->jerr('error!!:' . $sent->toString());
         
     }
+    
+    function coreEmailSendTest()
+    {
+        $core_email = DB_DataObject::factory('core_email');
+        
+        if(!$core_email->get($_REQUEST['_id'])){
+            $this->jerr('Invalid Message ID');
+        }
+        
+        if(empty($core_email->test_class)){
+            $this->jerr("[{$core_email->name}] does not has test class");
+        }
+        
+        require_once "{$core_email->test_class}.php";
+        
+        $cls = str_replace('/', '_', $core_email->test_class);
+        
+        $x = new $cls;
+        
+        $method = "test_{$core_email->name}";
+        $this->jerr("{$method} does not exists in {$cls}");
+        if(!method_exists($x, $method)){
+            $this->jerr("{$method} does not exists in {$cls}");
+        }
+        
+        
+    }
 }