}
function data(){
- return $this->data;
+ return isset($this->data) ? $this->data : false;
+ }
+
+ }
+
+ 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);
}
}