UpdateDatabase.php
[Pman.Core] / UpdateDatabase.php
index 5e907c2..776c223 100644 (file)
@@ -108,9 +108,11 @@ class Pman_Core_UpdateDatabase extends Pman
             require_once $fd;
             
             $cls = new ReflectionClass('Pman_'. $m . '_UpdateDatabase');
-            
-            $ret = array_merge($ret, $cls->getStaticPropertyValue('cli_opts'));
-            
+            $ar = $cls->getStaticProperties();
+            if (isset($ar['cli_opts'])) {
+                  
+                $ret = array_merge($ret, $cls->getStaticPropertyValue('cli_opts'));
+            }
             
         }
         
@@ -145,8 +147,7 @@ class Pman_Core_UpdateDatabase extends Pman
     
     function get($args, $opts=array())
     {
-        print_R($opts);
-        
+         
         PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, array($this, 'onPearError'));
    
         $this->checkSystem();
@@ -154,9 +155,9 @@ class Pman_Core_UpdateDatabase extends Pman
         if (class_exists('PDO_DataObjects_Introspection')) {
             PDO_DataObject_Introspection::$cache = array();
         }
-        
+        echo "Generate DB cache\n";
         HTML_FlexyFramework::get()->generateDataobjectsCache(true);
-   
+        echo "Generated DB cache\n";
         $ff = HTML_FlexyFramework::get();
         
         if(!isset($ff->Pman) || !isset($ff->Pman['local_base_url'])){
@@ -177,13 +178,11 @@ class Pman_Core_UpdateDatabase extends Pman
         $this->opts = $opts;
         
         if (!empty($opts['debug'])) {
-            echo "Setting debug Level : {$opts['debug']}\n";
-            DB_DataObject::DebugLevel($opts['debug']);
+             DB_DataObject::DebugLevel($opts['debug']);
         }
-      
         
         // ask all the modules to verify the opts
-        
+        echo "Checi options\n";
         $this->checkOpts($opts);
         
           
@@ -203,6 +202,8 @@ class Pman_Core_UpdateDatabase extends Pman
             return;
         }
         
+        
+
         $this->runUpdateModulesData();
         
         if (!empty($opts['add-company']) && !in_array('Core', $this->disabled)) {
@@ -213,10 +214,11 @@ class Pman_Core_UpdateDatabase extends Pman
         
         $this->runExtensions();
         
-        $this->generateDataobjectsCache();
+        $this->clearApacheDataobjectsCache();
         
-         
+        $this->clearApacheAssetCache();
     }
+    
     function output() {
         echo "\nUpdate Completed SUCCESS\n";
         return '';
@@ -940,6 +942,8 @@ class Pman_Core_UpdateDatabase extends Pman
             PDO_DataObject_Introspection::$cache = array();
         }
         HTML_FlexyFramework::get()->generateDataobjectsCache(true);
+        
+         
         $this->updateDataEnums();
         $this->updateDataGroups();
         $this->updateDataCompanies();
@@ -1184,14 +1188,44 @@ class Pman_Core_UpdateDatabase extends Pman
         
     }
     
-    function generateDataobjectsCache()
+    function clearApacheDataobjectsCache()
     {
-        $url = "http://localhost{$this->local_base_url}/Core/RefreshDatabaseCache";
-            
-        $this->curl($url);
+        echo "Clearing Database Cache\n";
+        // this needs to clear it's own cache along with remote one..
+  
+        
+        $response = $this->curl("http://localhost{$this->local_base_url}/Core/RefreshDatabaseCache");
+        
+        $json = json_decode($response, true);
+        
+        if(empty($json['data']) || $json['data'] != 'DONE'){
+            echo $response. "\n";
+            echo "Clear DataObjects Cache failed\n";
+            exit;
+        }
+        
+    }
+    
+    
+    function clearApacheAssetCache()
+    {
+        echo "Clearing Asset Cache\n";
+        $response = $this->curl(
+            "http://localhost{$this->local_base_url}/Core/Asset",
+            array( '_clear_cache' => 1 ,'returnHTML' => 0 ),
+            'POST'
+        );
+        $json = json_decode($response, true);
+        
+        if(empty($json['success']) || !$json['success']) {
+            echo $response. "\n";
+            echo "CURL Clear Asset cache failed\n";
+            exit;
+        }
         
     }
     
+    
     function curl($url, $request = array(), $method = 'GET') 
     {
         if($method == 'GET'){
@@ -1207,7 +1241,6 @@ class Pman_Core_UpdateDatabase extends Pman
             curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
             
         } else {
-            
             curl_setopt($ch, CURLOPT_HTTPHEADER,
                     array("Content-Type: application/x-www-form-urlencoded", "Content-Length: " . strlen($request)));
             
@@ -1227,6 +1260,4 @@ class Pman_Core_UpdateDatabase extends Pman
         return $response;
     }
     
-    
-    
 }