<?php /* XMPPHP: The PHP XMPP Library Copyright (C) 2008 Nathanael C. Fritz This file is part of SleekXMPP. XMPPHP is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. XMPPHP is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with XMPPHP; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ class XMLObj { var $name; var $ns; var $attrs = array(); var $subs = array(); var $data = ''; function XMLObj($name, $ns='', $attrs=array(), $data='') { $this->name = strtolower($name); $this->ns = $ns; if(is_array($attrs)) { foreach($attrs as $key => $value) { $this->attrs[strtolower($key)] = $value; } } $this->data = $data; } function printobj($depth=0) { print str_repeat("\t", $depth) . $this->name . " " . $this->ns . ' ' . $this->data; print "\n"; foreach($this->subs as $sub) { $sub->printobj($depth + 1); } } function tostring($str='') { $str .= "<{$this->name} xmlns='{$this->ns}' "; foreach($this->attrs as $key => $value) { if($key != 'xmlns') { $value = htmlspecialchars($value); $str .= "$key='$value' "; } } $str .= ">"; foreach($this->subs as $sub) { $str .= $sub->tostring(); } $body = htmlspecialchars($this->data); $str .= "$body</{$this->name}>"; return $str; } function hassub($name) { foreach($this->subs as $sub) { if($sub->name == $name) return True; } return False; } function sub($name, $attrs=Null, $ns=Null) { foreach($this->subs as $sub) { if($sub->name == $name) return $sub; } } } ?>