maj version dans config.xml
[mtweb] / mw / env / modules / mw_env_data.php
index 6e8caff..f0ddeba 100644 (file)
@@ -2,16 +2,47 @@
 
   class mw_env_data extends mw_env{
 
-    var $data;
+    public $data;
 
-    function set_data(&$data){
+    public function set_data(&$data){
       $this->data = &$data;
     }
 
-    function data(){
-      return $this->data;
+    public function data(){
+      return isset($this->data) ? $this->data : false;
+    }
+
+    public function load_data(){
+      if(($plugins = $this->plugins("DESC")) === false){
+        $this->erreur("Impossible de lire les plugins pour charger les modules de donnees", true);
+      }
+      $data = new mw_data(true);
+      foreach($plugins as $plugin_name => $plugin){
+        if($plugin["installed"] && $plugin["enabled"]){
+          $data->load_modules($this->path("mw_dir")."plugins/".$plugin_name."/app/", "data/modules/share/");
+          if($this->bdd("sgbd")){
+            $data->load_modules($this->path("mw_dir")."plugins/".$plugin_name."/app/", "data/modules/".($this->bdd("sgbd") == "xml" ? "xml" : "sql")."/");
+          }
+        }
+      }
+      $data->load_modules($this->path("mw_dir")."app/", "data/modules/share/");
+      if($this->bdd("sgbd")){
+        $data->load_modules($this->path("mw_dir")."app/", "data/modules/".($this->bdd("sgbd") == "xml" ? "xml" : "sql")."/");
+      }
+      $data->set_env($this);
+      $this->set_data($data);
     }
 
   }
 
-?>
\ No newline at end of file
+  // -------------------------------------------------------------------------------------------
+  //                                                                               class mw_data
+  //
+
+  class mw_data extends empty_class{
+
+    public function call_default($inst, $method_name, $arguments){
+      return $this->call_data_auto_crud($method_name, $arguments);
+    }
+
+  }