UpdateDatabase.php
[Pman.Core] / UpdateDatabase.php
index bf7f1df..fa2a2cb 100644 (file)
@@ -127,6 +127,16 @@ class Pman_Core_UpdateDatabase extends Pman
     
     var $local_base_url = false;
     
+    var $emailTemplates = array(
+        'EVENT_ERRORS_REPORT' => array(
+            'bcc_group' => 'Administrators',
+            'test_class' => 'Pman/Coba/DataObjects/Ext_data',
+            'to_group' => 'Review Submission Group',
+            'active' => 0,
+            'description' => '9. System Error Messages'
+        )
+    );
+    
     function getAuth() {
         
         
@@ -152,6 +162,8 @@ class Pman_Core_UpdateDatabase extends Pman
    
         $this->checkSystem();
         
+        $this->verifyExtensions(array('curl'));
+        
         if (class_exists('PDO_DataObjects_Introspection')) {
             PDO_DataObject_Introspection::$cache = array();
         }
@@ -303,9 +315,10 @@ 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' : $dbtype;
             
             $this->{$dirmethod}($dburl, $this->rootDir. "/Pman/$m/sql");
-            $this->{$dirmethod}($dburl, $this->rootDir. "/Pman/$m/{$dbtype}");
+            $this->{$dirmethod}($dburl, $this->rootDir. "/Pman/$m/{$dbdir}");
             
            
             
@@ -864,10 +877,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');
@@ -892,6 +906,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);
@@ -1190,7 +1208,7 @@ class Pman_Core_UpdateDatabase extends Pman
     
     function clearApacheDataobjectsCache()
     {
-        
+        echo "Clearing Database Cache\n";
         // this needs to clear it's own cache along with remote one..
   
         
@@ -1200,7 +1218,7 @@ class Pman_Core_UpdateDatabase extends Pman
         
         if(empty($json['data']) || $json['data'] != 'DONE'){
             echo $response. "\n";
-            echo "CURL clear cache failed\n";
+            echo "Clear DataObjects Cache failed\n";
             exit;
         }
         
@@ -1209,17 +1227,17 @@ class Pman_Core_UpdateDatabase extends Pman
     
     function clearApacheAssetCache()
     {
-        
+        echo "Clearing Asset Cache\n";
         $response = $this->curl(
             "http://localhost{$this->local_base_url}/Core/Asset",
-            array( '_clear_cache' => 1 ),
+            array( '_clear_cache' => 1 ,'returnHTML' => 'NO' ),
             'POST'
         );
         $json = json_decode($response, true);
         
         if(empty($json['success']) || !$json['success']) {
             echo $response. "\n";
-            echo "CURL clear compiled file failed\n";
+            echo "CURL Clear Asset cache failed\n";
             exit;
         }
         
@@ -1260,4 +1278,25 @@ class Pman_Core_UpdateDatabase extends Pman
         return $response;
     }
     
+    static function verifyExtensions($extensions)
+    {
+        $error = array();
+        
+        foreach ($extensions as $e){
+            
+            if(extension_loaded($e)) {
+                continue;
+            }
+            
+            $error[] = "Error: Please install php extension: {$e}";
+        }
+        
+        if(empty($error)){
+           return true; 
+        }
+        $ff = HTML_FLexyFramework::get();
+        
+        $ff->page->jerr(implode('\n', $error));
+    }
+    
 }