class mw_xml_data{
- var $host;
- var $base;
+ public $host;
+ public $base;
+ public $sxml;
+ public $cache;
+ public $buffer;
- var $sxml;
-
- var $cache;
- var $buffer;
-
- function mw_xml_data($host, $base){
+ public function mw_xml_data($host, $base){
$this->host = $host.(substr($host, -1) != "/" ? "/" : "");
$this->base = $base.(substr($base, -1) != "/" ? "/" : "");
$this->cache = array();
}
- function host(){
+ public function host(){
return $this->host;
}
- function base(){
+ public function base(){
return $this->base;
}
- function use_cache(){
+ public function use_cache(){
return true;
}
- function set_cache($data_name, $data, $data_id){
+ public function set_cache($data_name, $data, $data_id){
if($this->use_cache()){
$this->cache[$data_name] = $data;
$this->cache[$data_name]["id"] = $data_id;
}
}
- function get_data($data_path, $data_id){
+ public function get_data($data_path, $data_id){
$data_name = $this->data_name($data_path, $data_id);
if(isset($this->cache[$data_name])) return $this->cache[$data_name];
if($this->buffer = @file_get_contents($data_name)){
return false;
}
- function add_data($data_path, $data_id, $data){
+ public function add_data($data_path, $data_id, $data){
return $this->_set_data($data_path, $data_id, $data);
}
- function set_data($data_path, $data_id, $data){
+ public function set_data($data_path, $data_id, $data){
return $this->_set_data($data_path, $data_id, $data);
}
- function _set_data($data_path, $data_id, $data){
+ public function _set_data($data_path, $data_id, $data){
if($fh = @fopen($this->data_name($data_path, $data_id), "w")){
$this->buffer = $this->serialize_data($data);
if(@fwrite($fh, $this->buffer) !== false){
return null;
}
- function del_data($data_path, $data_id){
+ public function del_data($data_path, $data_id){
$data_name = $this->data_name($data_path, $data_id);
if(isset($this->cache[$data_name])) unset($this->cache[$data_name]);
return @unlink($this->data_name($data_path, $data_id));
}
- function data_name($data_path, $data_id){
+ public function data_name($data_path, $data_id){
return $this->host.$this->base.$data_path.$data_id.".xml";
}
- function parse_data(){
+ public function parse_data(){
if(!isset($this->sxml)) $this->sxml = new sxml();
$this->sxml->parse($this->buffer);
if(isset($this->sxml->data["tuple"][0])){
return false;
}
- function serialize_data($data){
+ public function serialize_data($data){
$this->buffer = "<tuple>\n";
foreach($data as $key => $value){
if(isset($value)) $this->buffer .= " <".$key."><![CDATA[".$value."]]></".$key.">\n";
}
}
-
-?>
\ No newline at end of file