X-Git-Url: http://git.dj3c1t.com/?a=blobdiff_plain;f=mw%2Fapp%2Finit%2F0102_data.php;fp=mw%2Fapp%2Finit%2F0102_data.php;h=9d376e2bef67f6dc8ec791d6ff4e92a909c3fabc;hb=92bc3e665cb27a998748e250097e8337f8865499;hp=0000000000000000000000000000000000000000;hpb=4687a79b837722b039f87b5ecce003c67f0001ba;p=mtweb diff --git a/mw/app/init/0102_data.php b/mw/app/init/0102_data.php new file mode 100644 index 0000000..9d376e2 --- /dev/null +++ b/mw/app/init/0102_data.php @@ -0,0 +1,53 @@ +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);