sync
[Pman.Core] / UpdateDatabase / VerifyExtensions.php
index 6f54338..10763a5 100644 (file)
@@ -1,11 +1,54 @@
 <?php
 
-require_once 'Pman_Core_UpdateDatabase';
+require_once 'Pman.php';
 
-class VerifyExtensions extends Pman_Core_UpdateDatabase
+class Pman_Core_UpdateDatabase_VerifyExtensions extends Pman
 {
+    static $cli_opts = array(
+
+    );
+    
+    function getAuth()
+    {
+        return true;
+    }
+    
     function get($base, $opts = array())
     {
-        print_r($this->required_extensions);exit;
+        $extensions = $error = array();
+        
+        $ff = HTML_FlexyFramework::get();
+        
+        foreach($this->modulesList() as $m) {
+            
+            $fd = $ff->rootDir. "/Pman/$m/UpdateDatabase.php";
+            
+            if (!file_exists($fd)) {
+                continue;
+            }
+            require_once $fd;
+            $cls = new ReflectionClass('Pman_'. $m . '_UpdateDatabase');
+            $props = $cls->getDefaultProperties();
+            
+            if(!empty($props['required_extensions'])) {
+                $extensions = array_merge($extensions, $props['required_extensions']);
+            }
+        }
+        
+        foreach ($extensions as $e){
+            
+            if(extension_loaded($e)) {
+                continue;
+            }
+            
+            $error[] = "Error: Please install php extension: {$e}";
+        }
+        
+        if(!empty($error)) {
+            $this->jerr($error);
+        }
+        
+        $this->jok("DONE");
+        
     }
 }
\ No newline at end of file