<?php
- class mw_xml{
+ class mw_xml extends mw_sgbd{
- public $host;
- public $base;
- public $user;
- public $password;
- public $EXTENTION_OK;
public $xml_data;
public $data_handlers;
public $last_data_handler;
- public function __construct($params = array()){
- $this->init_xml_env(
- isset($params["host"]) ? $params["host"] : "content/data/xml",
- isset($params["base"]) ? $params["base"] : "mw",
- isset($params["user"]) ? $params["user"] : "",
- isset($params["password"]) ? $params["password"] : ""
+ public function name(){
+ return "XML";
+ }
+
+ public function default_params(){
+ return array(
+ "host" => "content/data/xml",
+ "base" => "mw",
+ "user" => "",
+ "password" => ""
);
- $this->EXTENTION_OK = true;
- }
-
- public function extention_ok(&$env){
- if($this->EXTENTION_OK){
- if(
- file_exists($env->app_file("data/impl/xml/mw_xml_data.php"))
- && file_exists($env->app_file("data/impl/xml/mw_xml_data_handler.php"))
- ){
- if(!class_exists("mw_xml_data")) require_once $env->app_file("data/impl/xml/mw_xml_data.php");
- if(!class_exists("mw_xml_data_handler")) require_once $env->app_file("data/impl/xml/mw_xml_data_handler.php");
- if(
- class_exists("mw_xml_data")
- && class_exists("mw_xml_data_handler")
- ){
- $this->xml_data = new mw_xml_data($this->host, $this->base);
- }
- else $this->EXTENTION_OK = false;
- }
- else $this->EXTENTION_OK = false;
- }
- return $this->EXTENTION_OK;
}
public function authentication_required(){
return false;
}
- public function sgbd_name(){
- return "XML";
- }
-
- public function init_xml_env($host, $base, $user, $password){
- $this->host = $host.($host && substr($host, -1) != "/" ? "/" : "");
- $this->base = $base.($base && substr($base, -1) != "/" ? "/" : "");
- $this->user = $user;
- $this->password = $password;
+ public function prepare_params($params){
+ if(isset($params["host"])){
+ $params["host"] .= $params["host"] && substr($params["host"], -1) != "/" ? "/" : "";
+ }
+ if(isset($params["base"])){
+ $params["base"] .= $params["base"] && substr($params["base"], -1) != "/" ? "/" : "";
+ }
$this->data_handlers = array();
$this->last_data_handler = 0;
+ return $params;
+ }
+
+ public function validate_extention(){
+ if(
+ !file_exists($this->env->app_file("data/impl/xml/mw_xml_data.php"))
+ || !file_exists($this->env->app_file("data/impl/xml/mw_xml_data_handler.php"))
+ ){
+ return false;
+ }
+ if(!class_exists("mw_xml_data")) require_once $this->env->app_file("data/impl/xml/mw_xml_data.php");
+ if(!class_exists("mw_xml_data_handler")) require_once $this->env->app_file("data/impl/xml/mw_xml_data_handler.php");
+ if(
+ !class_exists("mw_xml_data")
+ || !class_exists("mw_xml_data_handler")
+ ){
+ return false;
+ }
+ $this->xml_data = new mw_xml_data($this->host, $this->base);
+ return true;
}
public function connect($host, $base, $user, $password){
if($host.$base && is_dir($host.$base) && is_writable($host.$base)){
- $this->init_xml_env($host, $base, $user, $password);
$this->xml_data = new mw_xml_data($this->host, $this->base);
return true;
}