settings =& Settings::get_instance(); $params = $this->settings->get_db($conn_name); $params->type = strtolower($params->type); $dbtype = ($params->type !== 'postgresql') ? $params->type : 'pgsql'; // Initiate the constructor for the switch($dbtype) { default: $this->db = new $dbtype("host={$params->host};port={$params->port};", $params->user, $params->pass); break; case "sqlite": $this->db = new $dbtype($params->file, $params->user, $params->pass); break; case "firebird": $this->db = new $dbtype("{$params->host}:{$params->file}", $params->user, $params->pass); break; } } // -------------------------------------------------------------------------- /** * Shortcut to directly call database methods * * @param string $name * @param array $params * @return mixed */ public function __call($name, $params) { if (is_callable($this->$db->$name)) { return call_user_func_array(array(&$this->db, $name), $params); } else { return NULL; } } }