mecanisme d'upgrade
[mtweb] / mw / env / modules / mw_env_data.php
index fb1a5bd..e6cb000 100644 (file)
 
   }
 
+  class mw_data extends empty_class{
+
+    function call_default($inst, $method_name, $arguments){
+      return $this->call_data_auto_crud($method_name, $arguments);
+    }
+
+  }
+
+  class mw_sgbd{
+
+    var $sgbd_impl;
+    var $env;
+
+    function mw_sgbd($sgbd_impl, $env){
+      $this->sgbd_impl = $sgbd_impl;
+      $this->env = $env;
+    }
+
+    function extention_ok(){
+      return $this->sgbd_impl->extention_ok($this->env);
+    }
+
+    function authentication_required(){
+      return $this->sgbd_impl->authentication_required();
+    }
+
+    function connect($host, $base, $user, $password){
+      return $this->sgbd_impl->connect($host, $base, $user, $password);
+    }
+
+    function select_db($db_name){
+      return $this->sgbd_impl->select_db($db_name);
+    }
+
+    # ---------------------------------------------------------------------------------
+    #                                                                               SQL
+    #
+
+    function desc_table($table_name){
+      if(!method_exists($this->sgbd_impl, "desc_table")) return false;
+      return $this->sgbd_impl->desc_table(
+        ($prefix_codes = array_keys($this->env->bdd("table_prefix"))) ?
+          str_replace($prefix_codes, array_values($this->env->bdd("table_prefix")), $table_name)
+        : $table_name
+      );
+    }
+
+    function table_exists($table_name){
+      if(!method_exists($this->sgbd_impl, "table_exists")) return false;
+      return $this->sgbd_impl->table_exists(
+        ($prefix_codes = array_keys($this->env->bdd("table_prefix"))) ?
+          str_replace($prefix_codes, array_values($this->env->bdd("table_prefix")), $table_name)
+        : $table_name
+      );
+    }
+
+    function field_exists($table_name, $field_name){
+      if(!method_exists($this->sgbd_impl, "field_exists")) return false;
+      return $this->sgbd_impl->field_exists(
+        (
+          $prefix_codes = array_keys($this->env->bdd("table_prefix"))) ?
+          str_replace($prefix_codes, array_values($this->env->bdd("table_prefix")), $table_name)
+        : $table_name,
+        $field_name
+      );
+    }
+
+    function query($sql){
+      if(!method_exists($this->sgbd_impl, "query")) return false;
+      return $this->sgbd_impl->query(
+        ($prefix_codes = array_keys($this->env->bdd("table_prefix"))) ?
+          str_replace($prefix_codes, array_values($this->env->bdd("table_prefix")), $sql)
+        : $sql
+      );
+    }
+
+    function insert_id(){
+      if(!method_exists($this->sgbd_impl, "insert_id")) return false;
+      return $this->sgbd_impl->insert_id();
+    }
+
+    function fetch_assoc($rst){
+      if(!method_exists($this->sgbd_impl, "fetch_assoc")) return false;
+      return $this->sgbd_impl->fetch_assoc($rst);
+    }
+
+    function free_result($rst){
+      if(!method_exists($this->sgbd_impl, "")) return false;
+      return $this->sgbd_impl->free_result($rst);
+    }
+
+    function close(){
+      if(!method_exists($this->sgbd_impl, "")) return false;
+      return $this->sgbd_impl->close();
+    }
+
+    # ---------------------------------------------------------------------------------
+    #                                                                               XML
+    #
+
+    function data_exists($data_path){
+      if(!method_exists($this->sgbd_impl, "data_exists")) return false;
+      return $this->sgbd_impl->data_exists($data_path);
+    }
+
+    function create_data($data_path){
+      if(!method_exists($this->sgbd_impl, "create_data")) return false;
+      return $this->sgbd_impl->create_data($data_path);
+    }
+
+    function get_data($data_path, $data_id){
+      if(!method_exists($this->sgbd_impl, "get_data")) return false;
+      return $this->sgbd_impl->get_data($data_path, $data_id);
+    }
+
+    function open_data($data_path, $FETCH = true){
+      if(!method_exists($this->sgbd_impl, "open_data")) return false;
+      return $this->sgbd_impl->open_data($data_path, $FETCH);
+    }
+
+    function fetch_data($dh){
+      if(!method_exists($this->sgbd_impl, "fetch_data")) return false;
+      return $this->sgbd_impl->fetch_data($dh);
+    }
+
+    function add_data($data_path, $data, $index = null){
+      if(!method_exists($this->sgbd_impl, "add_data")) return false;
+      return $this->sgbd_impl->add_data($data_path, $data, $index);
+    }
+
+    function last_index($dh){
+      if(!method_exists($this->sgbd_impl, "last_index")) return false;
+      return $this->sgbd_impl->last_index($dh);
+    }
+
+    function set_data($data_path, $data_id, $data){
+      if(!method_exists($this->sgbd_impl, "set_data")) return false;
+      return $this->sgbd_impl->set_data($data_path, $data_id, $data);
+    }
+
+    function del_data($data_path, $data_id){
+      if(!method_exists($this->sgbd_impl, "del_data")) return false;
+      return $this->sgbd_impl->del_data($data_path, $data_id);
+    }
+
+    function close_data($dh){
+      if(!method_exists($this->sgbd_impl, "close_data")) return false;
+      return $this->sgbd_impl->close_data($dh);
+    }
+
+    function remove_data($data_path){
+      if(!method_exists($this->sgbd_impl, "remove_data")) return false;
+      return $this->sgbd_impl->remove_data($data_path);
+    }
+
+  }
+
 ?>
\ No newline at end of file