X-Git-Url: http://git.dj3c1t.com/?a=blobdiff_plain;f=mw%2Fapp%2Finit%2F0300_data.php;h=9d5e2f90b4d5520da0d2266b04a5697633e7794a;hb=0ada6496e6c552c473a5816734b38896ccdd345b;hp=ea7ad71b55d6ef4c0430ced1a892c1b27d343124;hpb=c8731e3a31f51a93cfff9fe7206dd6fb007bc733;p=mtweb diff --git a/mw/app/init/0300_data.php b/mw/app/init/0300_data.php index ea7ad71..9d5e2f9 100644 --- a/mw/app/init/0300_data.php +++ b/mw/app/init/0300_data.php @@ -2,40 +2,48 @@ if(!class_exists("mw_sgbd")) require_once $this->app_file("data/mw_sgbd.php"); if(!class_exists("mw_data")) require_once $this->app_file("data/mw_data.php"); - if($this->app_file_exists("data/impl/mw_".$this->bdd("sgbd").".php")){ + 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); + if($this->bdd("sgbd")){ + if(!$this->app_file_exists("data/impl/mw_".$this->bdd("sgbd").".php")){ + $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 $this->app_file("data/impl/".$sgbd_impl.".php"); - if(class_exists($sgbd_impl)){ - if(($plugins = $this->plugins("DESC")) !== false){ - $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/"); - $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/"); - $data->load_modules($this->path("mw_dir")."app/", "data/modules/".($this->bdd("sgbd") == "xml" ? "xml" : "sql")."/"); - $sgbd = new mw_sgbd( - new $sgbd_impl( - $this->bdd("host"), - $this->bdd("base"), - $this->bdd("user"), - $this->bdd("password") - ), - $this - ); - if($sgbd->extention_ok()){ - $data->set_sgbd($sgbd); - $data->set_env($this); - $this->set_data($data); - } - else $this->erreur("L'extention php ".$this->bdd("sgbd")." n'est pas installée", true); + if(!class_exists($sgbd_impl)){ + $this->erreur("Impossible de trouver la classe d'implementation du sgbd ".$this->bdd("sgbd"), true); + } + $sgbd = new mw_sgbd( + new $sgbd_impl( + array( + "host" => $this->bdd("host"), + "base" => $this->bdd("base"), + "user" => $this->bdd("user"), + "password" => $this->bdd("password") + ) + ), + $this + ); + if(!$sgbd->extention_ok()){ + $this->erreur("L'extention php ".$this->bdd("sgbd")." n'est pas installée", 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")."/"); } - else $this->erreur("Impossible de lire les plugins pour charger les modules de donnees"); } - else $this->erreur("Impossible de trouver la classe d'implementation du sgbd ".$this->bdd("sgbd"), true); } - else $this->erreur("Impossible de trouver le fichier d'implementation du sgbd ".$this->bdd("sgbd"), true); + $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); ?> \ No newline at end of file