implementation sgbd herite de mw_sgbd
[mtweb] / mw / env / modules / mw_env_data.php
1 <?php
2
3   class mw_env_data extends mw_env{
4
5     public $data;
6
7     public function set_data(&$data){
8       $this->data = &$data;
9     }
10
11     public function data(){
12       return isset($this->data) ? $this->data : false;
13     }
14
15   }
16
17   // -------------------------------------------------------------------------------------------
18   //                                                                               class mw_data
19   //
20
21   class mw_data extends empty_class{
22
23     public function call_default($inst, $method_name, $arguments){
24       return $this->call_data_auto_crud($method_name, $arguments);
25     }
26
27   }
28
29   // -------------------------------------------------------------------------------------------
30   //                                                                               class mw_sgbd
31   //
32
33   abstract class mw_sgbd{
34
35     public $env;
36     public $link;
37     public $host;
38     public $base;
39     public $user;
40     public $password;
41     public $EXTENTION_OK;
42
43     public function __construct($env, $params = array()){
44       $this->env = $env;
45       $default_params = $this->default_params();
46       $params = $this->prepare_params($params);
47       $this->host = isset($params["host"]) ? $params["host"] : $default_params["host"];
48       $this->base = isset($params["base"]) ? $params["base"] : $default_params["base"];
49       $this->user = isset($params["user"]) ? $params["user"] : $default_params["user"];
50       $this->password = isset($params["password"]) ? $params["password"] : $default_params["password"];
51       $this->EXTENTION_OK = $this->validate_extention();
52     }
53
54     public function name(){
55       return "";
56     }
57
58     public function default_params(){
59       return array(
60         "host" => "",
61         "base" => "",
62         "user" => "",
63         "password" => ""
64       );
65     }
66
67     public function prepare_params($params){
68       return $params;
69     }
70
71     public function validate_extention(){
72       return false;
73     }
74
75     public function authentication_required(){
76       return false;
77     }
78
79     public function get_link(){
80       return $this->link;
81     }
82
83     public function extention_ok(){
84       return $this->EXTENTION_OK;
85     }
86
87     public function replace_prefixes($content){
88       return (
89         ($prefix_codes = array_keys($this->env->bdd("table_prefix"))) ?
90           str_replace($prefix_codes, array_values($this->env->bdd("table_prefix")), $content)
91         : $content
92       );
93     }
94
95   }