Pman.js
[Pman.Core] / UpdateDatabase / VerifyExtensions.php
index 6f54338..e39bea4 100644 (file)
@@ -1,11 +1,66 @@
 <?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()
+    {
+        if ($_SERVER['HTTP_HOST'] == 'localhost') {
+            return true;
+        }
+        
+        $this->getAuthUser();
+        
+        if(empty($this->authUser)) {
+            return false;
+        }
+        
+        return true;
+    }
+    
     function get($base, $opts = array())
     {
-        print_r($this->required_extensions);exit;
+        $extensions = 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']);
+            }
+        }
+        
+        $error = '';
+        
+        foreach ($extensions as $e){
+            
+            if(empty($e) || extension_loaded($e)) {
+                continue;
+            }
+            
+            $error .= "$e\n";
+        }
+        
+        if(!empty($error)) {
+            $this->jerror(false,$error);
+        }
+        
+        $this->jok("DONE");
+        
     }
 }
\ No newline at end of file