ajout d'un installeur en ligne
[mtweb] / mw / app / data / modules / share / mw_data_sgbds.php
diff --git a/mw/app/data/modules/share/mw_data_sgbds.php b/mw/app/data/modules/share/mw_data_sgbds.php
new file mode 100644 (file)
index 0000000..db90855
--- /dev/null
@@ -0,0 +1,37 @@
+<?php
+
+  class mw_data_sgbds extends mw_data{
+
+    function sgbds(){
+      $env = $this->env();
+      $sgbds = array();
+      $impls_dir = $env->app_file("data/impl");
+      if(!file_exists($impls_dir) || !is_dir($impls_dir)){
+        return false;
+      }
+      if($dh = opendir($impls_dir)){
+        $OK = true;
+        while($OK && ($impl_file = readdir($dh)) !== false){
+          if(substr($impl_file, 0 ,1) !== "." && substr($impl_file, -4) == ".php"){
+            require_once $impls_dir."/".$impl_file;
+            if(class_exists($class_name = substr($impl_file, 0, -4))){
+              if(
+                    method_exists($class_name, "sgbd_name")
+                &&  method_exists($class_name, "extention_ok")
+              ){
+                $impl = new $class_name();
+                if($impl->extention_ok($env)) $sgbds[$class_name] = $impl;
+              }
+            }
+          }
+        }
+      }
+      else{
+        return false;
+      }
+      return $sgbds;
+    }
+
+  }
+
+?>
\ No newline at end of file