X-Git-Url: http://git.dj3c1t.com/?a=blobdiff_plain;f=web%2Fapp%2Fdata%2Fimpl%2Fmw_xml.php;h=53fa7f1303025424b43bb0499a7120458518e984;hb=refs%2Ftags%2Fmtweb.0.4.3;hp=b454cdd5b4f448126d7d893d2282b987067c192a;hpb=19b8f3b9263210d9154e7556446e903f84175519;p=mtweb diff --git a/web/app/data/impl/mw_xml.php b/web/app/data/impl/mw_xml.php index b454cdd..53fa7f1 100644 --- a/web/app/data/impl/mw_xml.php +++ b/web/app/data/impl/mw_xml.php @@ -1,7 +1,6 @@ init_xml_env($host, $base, $user, $password); + function mw_xml($host, $base, $user, $password){ + $this->init_xml_env($host, $base, $user, $password); $this->EXTENTION_OK = true; } - function extention_ok(&$env) - { if($this->EXTENTION_OK) - { if - ( file_exists($env->app_file("data/impl/xml/mw_xml_data.php")) + 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")) - ) - { require $env->app_file("data/impl/xml/mw_xml_data.php"); + ){ + require $env->app_file("data/impl/xml/mw_xml_data.php"); require $env->app_file("data/impl/xml/mw_xml_data_handler.php"); - if - ( class_exists("mw_xml_data") + if( + class_exists("mw_xml_data") && class_exists("mw_xml_data_handler") - ) - { $this->xml_data = new mw_xml_data($this->host, $this->base); + ){ + $this->xml_data = new mw_xml_data($this->host, $this->base); } else $this->EXTENTION_OK = false; } @@ -41,8 +40,8 @@ return $this->EXTENTION_OK; } - function init_xml_env($host, $base, $user, $password) - { $this->host = $host.($host && substr($host, -1) != "/" ? "/" : ""); + 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; @@ -50,68 +49,68 @@ $this->last_data_handler = 0; } - 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); + 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; } return null; } - function select_db($base) - { $this->base = $base.($base && substr($base, -1) != "/" ? "/" : ""); + function select_db($base){ + $this->base = $base.($base && substr($base, -1) != "/" ? "/" : ""); return $this->connect($this->host, $this->base, $this->user, $this->password); } - function data_exists($data_path) - { return is_dir($this->host.$this->base.$data_path); + function data_exists($data_path){ + return is_dir($this->host.$this->base.$data_path); } - function create_data($data_path) - { if(!is_dir($this->host.$this->base.$data_path)) @mkdir($this->host.$this->base.$data_path); - if(is_dir($this->host.$this->base.$data_path)) - { if($dh = $this->open_data($data_path, false)) - { $this->close_data($dh); + function create_data($data_path){ + if(!is_dir($this->host.$this->base.$data_path)) @mkdir($this->host.$this->base.$data_path); + if(is_dir($this->host.$this->base.$data_path)){ + if($dh = $this->open_data($data_path, false)){ + $this->close_data($dh); return true; } } return null; } - function get_data($data_path, $data_id) - { $dh = ++$this->last_data_handler; + function get_data($data_path, $data_id){ + $dh = ++$this->last_data_handler; $this->data_handlers[$dh] = new mw_xml_data_handler($this->xml_data, $data_path); - if($this->data_handlers[$dh]->open_data(false)) - { $res = $this->data_handlers[$dh]->get_data($data_id); + if($this->data_handlers[$dh]->open_data(false)){ + $res = $this->data_handlers[$dh]->get_data($data_id); $this->close_data($dh); return $res; } return null; } - function open_data($data_path, $FETCH = true) - { $dh = ++$this->last_data_handler; + function open_data($data_path, $FETCH = true){ + $dh = ++$this->last_data_handler; $this->data_handlers[$dh] = new mw_xml_data_handler($this->xml_data, $data_path); - if($this->data_handlers[$dh]->open_data($FETCH)) - { return $dh; + if($this->data_handlers[$dh]->open_data($FETCH)){ + return $dh; } $this->close_data($dh); return null; } - function fetch_data($dh) - { if(isset($this->data_handlers[$dh])) - { return $this->data_handlers[$dh]->fetch_assoc(); + function fetch_data($dh){ + if(isset($this->data_handlers[$dh])){ + return $this->data_handlers[$dh]->fetch_assoc(); } return false; } - function add_data($data_path, $data) - { $dh = ++$this->last_data_handler; + function add_data($data_path, $data){ + $dh = ++$this->last_data_handler; $this->data_handlers[$dh] = new mw_xml_data_handler($this->xml_data, $data_path); - if($this->data_handlers[$dh]->open_data(false)) - { $res = $this->data_handlers[$dh]->add_data($data); + if($this->data_handlers[$dh]->open_data(false)){ + $res = $this->data_handlers[$dh]->add_data($data); if($res) $res = $this->last_index($dh); $this->close_data($dh); return $res; @@ -119,50 +118,50 @@ return null; } - function last_index($dh) - { if(isset($this->data_handlers[$dh])) - { return $this->data_handlers[$dh]->last_index; + function last_index($dh){ + if(isset($this->data_handlers[$dh])){ + return $this->data_handlers[$dh]->last_index; } return null; } - function set_data($data_path, $data_id, $data) - { $dh = ++$this->last_data_handler; + function set_data($data_path, $data_id, $data){ + $dh = ++$this->last_data_handler; $this->data_handlers[$dh] = new mw_xml_data_handler($this->xml_data, $data_path); - if($this->data_handlers[$dh]->open_data(false)) - { $res = $this->data_handlers[$dh]->set_data($data_id.".xml", $data); + if($this->data_handlers[$dh]->open_data(false)){ + $res = $this->data_handlers[$dh]->set_data($data_id.".xml", $data); $this->close_data($dh); return $res; } return null; } - function del_data($data_path, $data_id) - { $dh = ++$this->last_data_handler; + function del_data($data_path, $data_id){ + $dh = ++$this->last_data_handler; $this->data_handlers[$dh] = new mw_xml_data_handler($this->xml_data, $data_path); - if($this->data_handlers[$dh]->open_data(false)) - { $res = $this->data_handlers[$dh]->del_data($data_id.".xml"); + if($this->data_handlers[$dh]->open_data(false)){ + $res = $this->data_handlers[$dh]->del_data($data_id.".xml"); $this->close_data($dh); return $res; } return null; } - function close_data($dh) - { if(isset($this->data_handlers[$dh])) - { $this->data_handlers[$dh]->close_data(); + function close_data($dh){ + if(isset($this->data_handlers[$dh])){ + $this->data_handlers[$dh]->close_data(); unset($this->data_handlers[$dh]); } } - function remove_data($data_path) - { $OK = strlen($data_path) > 0; - if($OK && is_dir($this->host.$this->base.$data_path) && is_writable($this->host.$this->base.$data_path)) - { $data_path .= substr($data_path, -1) == "/" ? "" : "/"; - if($dh = opendir($this->host.$this->base.$data_path)) - { while($OK && ($file = readdir($dh)) !== false) - { if(is_dir($this->host.$this->base.$data_path.$file)) - { if($file != "." && $file != "..") $OK = $this->remove_data($data_path.$file); + function remove_data($data_path){ + $OK = strlen($data_path) > 0; + if($OK && is_dir($this->host.$this->base.$data_path) && is_writable($this->host.$this->base.$data_path)){ + $data_path .= substr($data_path, -1) == "/" ? "" : "/"; + if($dh = opendir($this->host.$this->base.$data_path)){ + while($OK && ($file = readdir($dh)) !== false){ + if(is_dir($this->host.$this->base.$data_path.$file)){ + if($file != "." && $file != "..") $OK = $this->remove_data($data_path.$file); } else $OK = @unlink($this->host.$this->base.$data_path.$file); }