PHP7 fix
[Pman.Core] / UpdateDatabase.php
index 4fda8da..d3ec063 100644 (file)
@@ -67,12 +67,24 @@ class Pman_Core_UpdateDatabase extends Pman
             'min' => 1,
             'max' => 1,
         ),
+        'skip-email-import' => array(
+            'desc' => 'Skip email import',
+            'default' => '',
+            'min' => 1,
+            'max' => 1,
+        ),
         'procedures-only' => array(
             'desc' => 'Only import procedures (not supported by most modules yet) - ignores sql directory',
             'default' => '',
             'min' => 1,
             'max' => 1,
         ),
+        'disable-create-triggers' => array(
+            'desc' => 'So not create the mysql triggers',
+            'default' => '',
+            'min' => 1,
+            'max' => 1,
+        ),
         
         'json-person' => array(
             'desc' => 'Person JSON file',
@@ -90,7 +102,7 @@ class Pman_Core_UpdateDatabase extends Pman
             
         ),
     );
-    
+  
     static function cli_opts()
     {
         
@@ -132,8 +144,18 @@ class Pman_Core_UpdateDatabase extends Pman
             'test_class' => 'Pman/Admin/Report/SendEventErrors',
             'to_group' => 'Administrators',
             'active' => 1,
-            'description' => '9. System Error Messages',
+            'description' => '9.2 System Error Messages',
             'template_dir' => '/Pman/Admin/templates/mail/'
+        ),
+         'ADMIN_PASSWORD_RESET' => array(
+            'bcc_group' => 'Administrators',
+            'test_class' => 'Pman/Core/DataObjects/Core_person',
+            'to_group' => '',
+            'active' => 1,
+            'description' => '9.1 Management System Password Reset',
+            'template_dir' => '/Pman/Core/templates/mail/'
+
+            
         )
     );
     
@@ -227,18 +249,20 @@ class Pman_Core_UpdateDatabase extends Pman
         
         // this will trigger errors about freetext indexes - we will have to remove them manually.?
         // otherwise we need to do an sql query to find them, then remove them (not really worth it as it only affects really old code..)
-        
+        echo "Run extensions\n";
+
         $this->runExtensions(); 
 
         
         if (empty($opts['data-only'])) {
+            echo "Import SQL\n";
             $this->importSQL();
         }
         if (!empty($opts['only-module-sql'])) {
             return;
         }
         
-        
+        echo "run Update Modules Data\n";
 
         $this->runUpdateModulesData();
         
@@ -253,6 +277,12 @@ class Pman_Core_UpdateDatabase extends Pman
         $this->clearApacheDataobjectsCache();
         
         $this->clearApacheAssetCache();
+        
+        
+        
+        
+        
+        
     }
     
     function output() {
@@ -885,6 +915,9 @@ class Pman_Core_UpdateDatabase extends Pman
     
     function updateDataEmails()
     {
+        if (!empty($this->opts['skip-email-import'])) {
+            return;
+        }
         foreach ($this->emailTemplates as $k => $mail) {
             
             $mail_dir = "{$this->rootDir}{$mail['template_dir']}";
@@ -1184,15 +1217,18 @@ class Pman_Core_UpdateDatabase extends Pman
         $dburl = parse_url($ff->database);
         
         $dbtype = $dburl['scheme'];
-       
+        $dbtype  = ($dbtype == 'mysqli') ? 'mysql' : $dbtype;
+        
         foreach($this->extensions as $ext) {
        
             $scls = ucfirst($dbtype). $ext;
             $cls = __CLASS__ . '_'. $scls;
             $fn = implode('/',explode('_', $cls)).'.php';
+            
             if (!file_exists(__DIR__.'/UpdateDatabase/'. $scls .'.php')) {
                 return;
             }
+            echo "Running : {$fn}\n";
             require_once $fn;
             $c = new $cls();
             
@@ -1261,16 +1297,20 @@ 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..
   
+        $url = "http://localhost{$this->local_base_url}/Core/RefreshDatabaseCache";
+        
+        echo "Clearing Database Cache : http://localhost{$this->local_base_url}/Core/RefreshDatabaseCache\n";
         
-        $response = $this->curl("http://localhost{$this->local_base_url}/Core/RefreshDatabaseCache");
+        $response = $this->curl($url);
         
         $json = json_decode($response, true);
         
         if(empty($json['data']) || $json['data'] != 'DONE'){
-            echo $response. "\n";
+            echo "fetching $url\n";
+            echo "GOT:" . $response. "\n";
             echo "Clear DataObjects Cache failed\n";
             exit;
         }
@@ -1280,7 +1320,7 @@ class Pman_Core_UpdateDatabase extends Pman
     
     function clearApacheAssetCache()
     {
-        echo "Clearing Asset Cache\n";
+        echo "Clearing Asset Cache : http://localhost{$this->local_base_url}/Core/Asset\n";
         $response = $this->curl(
             "http://localhost{$this->local_base_url}/Core/Asset",
             array( '_clear_cache' => 1 ,'returnHTML' => 'NO' ),