"email" => "",
"password" => ""
);
- if(($sgbds = $data->sgbds()) === false){
+ if(($sgbds = $env->sgbds()) === false){
$env->erreur("impossible de lister les sgbds disponibles");
return;
}
+++ /dev/null
-<?php
-
- class mw_data_sgbds extends mw_data{
-
- public 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, "name")
- && method_exists($class_name, "extention_ok")
- ){
- $impl = new $class_name($env);
- if($impl->extention_ok($env)) $sgbds[$class_name] = $impl;
- }
- }
- }
- }
- }
- else{
- return false;
- }
- return $sgbds;
- }
-
- }
<?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);
+ // -------------------------------------------------------------------------
+ // sgbd
+ //
+
+ $sgbd_impl_file = $this->path("mw_dir")."env/sgbd/mw_".$this->bdd("sgbd").".php";
if($this->bdd("sgbd")){
- if(!$this->app_file_exists("data/impl/mw_".$this->bdd("sgbd").".php")){
+ 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 $this->app_file("data/impl/".$sgbd_impl.".php");
+ 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);
}
$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/");
}
}
-
- // -------------------------------------------------------------------------------------------
- // class mw_sgbd
- //
-
- abstract class mw_sgbd{
-
- public $env;
- public $link;
- public $host;
- public $base;
- public $user;
- public $password;
- public $EXTENTION_OK;
-
- public function __construct($env, $params = array()){
- $this->env = $env;
- $default_params = $this->default_params();
- $params = $this->prepare_params($params);
- $this->host = isset($params["host"]) ? $params["host"] : $default_params["host"];
- $this->base = isset($params["base"]) ? $params["base"] : $default_params["base"];
- $this->user = isset($params["user"]) ? $params["user"] : $default_params["user"];
- $this->password = isset($params["password"]) ? $params["password"] : $default_params["password"];
- $this->EXTENTION_OK = $this->validate_extention();
- }
-
- public function name(){
- return "";
- }
-
- public function default_params(){
- return array(
- "host" => "",
- "base" => "",
- "user" => "",
- "password" => ""
- );
- }
-
- public function prepare_params($params){
- return $params;
- }
-
- public function validate_extention(){
- return false;
- }
-
- public function authentication_required(){
- return false;
- }
-
- public function get_link(){
- return $this->link;
- }
-
- public function extention_ok(){
- return $this->EXTENTION_OK;
- }
-
- public function replace_prefixes($content){
- return (
- ($prefix_codes = array_keys($this->env->bdd("table_prefix"))) ?
- str_replace($prefix_codes, array_values($this->env->bdd("table_prefix")), $content)
- : $content
- );
- }
-
- }
--- /dev/null
+<?php
+
+ class mw_env_sgbds extends mw_env{
+
+ private $sgbds;
+
+ public function sgbds(){
+ if(isset($this->sgbds)) return $this->sgbds;
+ $this->sgbds = array();
+ $impls_dir = $this->path("mw_dir")."env/sgbd";
+ 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, "name")
+ && method_exists($class_name, "extention_ok")
+ ){
+ $impl = new $class_name($this);
+ if($impl->extention_ok($this)) $this->sgbds[$class_name] = $impl;
+ }
+ }
+ }
+ }
+ }
+ else{
+ return false;
+ }
+ return $this->sgbds;
+ }
+
+ }
+
+ // -------------------------------------------------------------------------------------------
+ // class mw_sgbd
+ //
+
+ abstract class mw_sgbd{
+
+ public $env;
+ public $link;
+ public $host;
+ public $base;
+ public $user;
+ public $password;
+ public $EXTENTION_OK;
+
+ public function __construct($env, $params = array()){
+ $this->env = $env;
+ $default_params = $this->default_params();
+ $params = $this->prepare_params($params);
+ $this->host = isset($params["host"]) ? $params["host"] : $default_params["host"];
+ $this->base = isset($params["base"]) ? $params["base"] : $default_params["base"];
+ $this->user = isset($params["user"]) ? $params["user"] : $default_params["user"];
+ $this->password = isset($params["password"]) ? $params["password"] : $default_params["password"];
+ $this->EXTENTION_OK = $this->validate_extention();
+ }
+
+ public function name(){
+ return "";
+ }
+
+ public function default_params(){
+ return array(
+ "host" => "",
+ "base" => "",
+ "user" => "",
+ "password" => ""
+ );
+ }
+
+ public function prepare_params($params){
+ return $params;
+ }
+
+ public function validate_extention(){
+ return false;
+ }
+
+ public function authentication_required(){
+ return false;
+ }
+
+ public function get_link(){
+ return $this->link;
+ }
+
+ public function extention_ok(){
+ return $this->EXTENTION_OK;
+ }
+
+ public function replace_prefixes($content){
+ return (
+ ($prefix_codes = array_keys($this->env->bdd("table_prefix"))) ?
+ str_replace($prefix_codes, array_values($this->env->bdd("table_prefix")), $content)
+ : $content
+ );
+ }
+
+ }
}
public function validate_extention(){
+ $mw_xml_data_file = $this->env->path("mw_dir")."env/sgbd/xml/mw_xml_data.php";
+ $mw_xml_data_handler_file = $this->env->path("mw_dir")."env/sgbd/xml/mw_xml_data_handler.php";
if(
- !file_exists($this->env->app_file("data/impl/xml/mw_xml_data.php"))
- || !file_exists($this->env->app_file("data/impl/xml/mw_xml_data_handler.php"))
+ !file_exists($mw_xml_data_file)
+ || !file_exists($mw_xml_data_handler_file)
){
return false;
}
- if(!class_exists("mw_xml_data")) require_once $this->env->app_file("data/impl/xml/mw_xml_data.php");
- if(!class_exists("mw_xml_data_handler")) require_once $this->env->app_file("data/impl/xml/mw_xml_data_handler.php");
+ if(!class_exists("mw_xml_data")) require_once $mw_xml_data_file;
+ if(!class_exists("mw_xml_data_handler")) require_once $mw_xml_data_handler_file;
if(
!class_exists("mw_xml_data")
|| !class_exists("mw_xml_data_handler")