UpdateDatabase.php
[Pman.Core] / UpdateDatabase.php
index 900c7ec..960dbc3 100644 (file)
@@ -127,6 +127,16 @@ class Pman_Core_UpdateDatabase extends Pman
     
     var $local_base_url = false;
     
+    var $emailTemplates = array(
+        'EVENT_ERRORS_REPORT' => array(
+            'test_class' => 'Pman/Admin/Report/SendEventErrors',
+            'to_group' => 'Administrators',
+            'active' => 1,
+            'description' => '9. System Error Messages',
+            'template_dir' => '/Pman/Admin/templates/mail/'
+        )
+    );
+    
     function getAuth() {
         
         
@@ -305,7 +315,7 @@ class Pman_Core_UpdateDatabase extends Pman
             // new -- sql directory..
             // new style will not support migrate ... they have to go into mysql-migrate.... directories..
             // new style will not support pg.sql etc.. naming - that's what the direcotries are for..
-            $dbdir = $dbtype == 'mysqli' ? 'mysql' : $dbdir;
+            $dbdir = $dbtype == 'mysqli' ? 'mysql' : $dbtype;
             
             $this->{$dirmethod}($dburl, $this->rootDir. "/Pman/$m/sql");
             $this->{$dirmethod}($dburl, $this->rootDir. "/Pman/$m/{$dbdir}");
@@ -793,7 +803,9 @@ class Pman_Core_UpdateDatabase extends Pman
                 'name' => 'core-person-signup-bcc',
                 'type' => 0, // system
             ),
-        
+            array(
+                'name' => 'Empty Group' // use for no bcc emails.
+            )
 
         ));
         
@@ -838,6 +850,19 @@ class Pman_Core_UpdateDatabase extends Pman
         
     }
     
+    function updateDataEmails()
+    {
+        foreach ($this->emailTemplates as $k => $mail) {
+            
+            $mail_dir = "{$this->rootDir}{$mail['template_dir']}";
+
+            $this->initEmails(
+                $mail_dir,
+                array($k => $mail),
+                false
+            );
+        }
+    }
     
     function initEmails($templateDir, $emails, $mapping = false)
     {
@@ -853,6 +878,7 @@ class Pman_Core_UpdateDatabase extends Pman
                 if (empty($data['bcc_group'])) {
                     $this->jerr("missing bcc_group for template $name");
                 }
+                
                 $g = DB_DataObject::Factory('core_group')->lookup('name',$data['bcc_group']);
                 
                 if (empty($g->id)) {
@@ -867,10 +893,11 @@ class Pman_Core_UpdateDatabase extends Pman
             }
             // initEmails will always have the latest location of the test class - in theory the user should not be changign the value of this...
             //if (empty($cm->test_class)) {
-                if (empty($data['test_class'])) {
-                    $this->jerr("missing test_class for template $name");
-                }
-                $cm->test_class = $data['test_class'];
+            if (empty($data['test_class'])) {
+                $this->jerr("missing test_class for template $name");
+            }
+            
+            $cm->test_class = $data['test_class'];
             //}
             if(isset($cm->to_group_id)) {
                 print_r('isset');
@@ -895,6 +922,10 @@ class Pman_Core_UpdateDatabase extends Pman
                 $cm->active = $data['active'];
             }
             
+            if(!empty($data['description'])){
+                $cm->description = $cm->escape($data['description']);
+            }
+            
             require_once $cm->test_class . '.php';
             
             $clsname = str_replace('/','_', $cm->test_class);
@@ -951,6 +982,8 @@ class Pman_Core_UpdateDatabase extends Pman
         $this->updateDataGroups();
         $this->updateDataCompanies();
         
+        $this->updateDataEmails();
+        
         $c = DB_DataObject::Factory('I18n');
         $c->buildDB();