public function __set($prop, $val)
{
switch ($prop) {
// access to jaxl xml properties
case 'name':
case 'ns':
case 'text':
case 'attrs':
case 'children':
return $this->xml->{$prop} = $val;
break;
// access to common xml attributes
// access to common xml attributes
case 'to':
case 'from':
case 'id':
case 'type':
$this->xml->attrs[$prop] = $val;
return true;
break;
// access to parts of common xml attributes
// access to parts of common xml attributes
case 'to_node':
case 'to_domain':
case 'to_resource':
case 'from_node':
case 'from_domain':
case 'from_resource':
list($attr, $key) = explode('_', $prop);
$val1 = isset($this->xml->attrs[$attr]) ? $this->xml->attrs[$attr] : null;
if (!$val1) {
$val1 = '';
}
$val1 = new XMPPJid($val1);
$val1->{$key} = $val;
$this->xml->attrs[$attr] = $val1->to_string();
return true;
break;
// access to first child element text
// access to first child element text
case 'status':
case 'show':
case 'priority':
case 'body':
case 'thread':
case 'subject':
$val1 = $this->xml->exists($prop);
if (!$val1) {
$this->xml->c($prop)->t($val)->up();
} else {
$this->xml->update($prop, $val1->ns, $val1->attrs, $val);
}
return true;
break;
default:
return null;
break;
}
}