implementation sgbd herite de mw_sgbd
[mtweb] / mw / env / modules / mw_env_data.php
index 6e8caff..3cb19d1 100644 (file)
@@ -2,16 +2,94 @@
 
   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;
     }
 
   }
 
-?>
\ 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);
+    }
+
+  }
+
+  // -------------------------------------------------------------------------------------------
+  //                                                                               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
+      );
+    }
+
+  }