3 class mw_env_sgbds extends mw_env{
7 public function sgbds(){
8 if(isset($this->sgbds)) return $this->sgbds;
9 $this->sgbds = array();
10 $impls_dir = $this->path("mw_dir")."env/sgbd";
11 if(!file_exists($impls_dir) || !is_dir($impls_dir)){
14 if($dh = opendir($impls_dir)){
16 while($OK && ($impl_file = readdir($dh)) !== false){
17 if(substr($impl_file, 0 ,1) !== "." && substr($impl_file, -4) == ".php"){
18 require_once $impls_dir."/".$impl_file;
19 if(class_exists($class_name = substr($impl_file, 0, -4))){
21 method_exists($class_name, "name")
22 && method_exists($class_name, "extention_ok")
24 $impl = new $class_name($this);
25 if($impl->extention_ok($this)) $this->sgbds[$class_name] = $impl;
39 // -------------------------------------------------------------------------------------------
43 abstract class mw_sgbd{
53 public function __construct($env, $params = array()){
55 $default_params = $this->default_params();
56 $params = $this->prepare_params($params);
57 $this->host = isset($params["host"]) ? $params["host"] : $default_params["host"];
58 $this->base = isset($params["base"]) ? $params["base"] : $default_params["base"];
59 $this->user = isset($params["user"]) ? $params["user"] : $default_params["user"];
60 $this->password = isset($params["password"]) ? $params["password"] : $default_params["password"];
61 $this->EXTENTION_OK = $this->validate_extention();
64 public function name(){
68 public function default_params(){
77 public function prepare_params($params){
81 public function validate_extention(){
85 public function authentication_required(){
89 public function get_link(){
93 public function extention_ok(){
94 return $this->EXTENTION_OK;
97 public function replace_prefixes($content){
99 ($prefix_codes = array_keys($this->env->bdd("table_prefix"))) ?
100 str_replace($prefix_codes, array_values($this->env->bdd("table_prefix")), $content)