--- /dev/null
+<?php
+
+ // -------------------------------------------------------------------------
+ // sgbd
+ //
+
+ $sgbd_impl_file = $this->path("mw_dir")."env/sgbd/mw_".$this->bdd("sgbd").".php";
+ if($this->bdd("sgbd")){
+ if(!file_exists($sgbd_impl_file)){
+ $this->erreur("Impossible de trouver le fichier d'implementation du sgbd ".$this->bdd("sgbd"), true);
+ }
+ $sgbd_impl = "mw_".$this->bdd("sgbd");
+ if(!class_exists($sgbd_impl)) require_once $sgbd_impl_file;
+ if(!class_exists($sgbd_impl)){
+ $this->erreur("Impossible de trouver la classe d'implementation du sgbd ".$this->bdd("sgbd"), true);
+ }
+ $sgbd = new $sgbd_impl(
+ $this,
+ array(
+ "host" => $this->bdd("host"),
+ "base" => $this->bdd("base"),
+ "user" => $this->bdd("user"),
+ "password" => $this->bdd("password")
+ )
+ );
+ if(!$sgbd->extention_ok()){
+ $this->erreur("L'extention php ".$this->bdd("sgbd")." n'est pas installée", true);
+ }
+ }
+
+ // -------------------------------------------------------------------------
+ // 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_sgbd($sgbd);
+ }
+ $data->set_env($this);
+ $this->set_data($data);