/** * Handles end element events * @param object A reference to the SAX parser * @param string The name of the end element tag */ function endElement($parser, $name) { switch ($name) { case DOM_XMLRPC_TYPE_STRING: //$this->addValue(html_entity_decode($this->charContainer, ENT_QUOTES)); $this->addValue($this->charContainer); break; case DOM_XMLRPC_TYPE_I4: case DOM_XMLRPC_TYPE_INT: $this->addValue((int) $this->charContainer); break; case DOM_XMLRPC_TYPE_DOUBLE: $this->addValue(floatval($this->charContainer)); break; case DOM_XMLRPC_TYPE_BOOLEAN: $this->addValue((bool) trim($this->charContainer)); break; case DOM_XMLRPC_TYPE_BASE64: require_once DOM_XMLRPC_INCLUDE_PATH . 'dom_xmlrpc_base64.php'; $base64 = new dom_xmlrpc_base64(); $base64->fromString($this->charContainer); $this->addValue($base64); //should I add object or string? break; case DOM_XMLRPC_TYPE_DATETIME: require_once DOM_XMLRPC_INCLUDE_PATH . 'dom_xmlrpc_datetime_iso8601.php'; $dateTime = new dom_xmlrpc_datetime_iso8601($this->charContainer); $this->addValue($dateTime); //should I add object or string? break; case DOM_XMLRPC_TYPE_VALUE: //if charContainer has anything in it, //then there mustn't be a subnode, therefore a <string> $myValue = trim($this->charContainer); //if ($myValue != '') $this->addValue(html_entity_decode($myValue, ENT_QUOTES)); if ($myValue != '') { $this->addValue($myValue); } break; case DOM_XMLRPC_TYPE_ARRAY: case DOM_XMLRPC_TYPE_STRUCT: $value =& array_pop($this->lastArray); $this->addValue($value); array_pop($this->lastArrayType); break; case DOM_XMLRPC_TYPE_MEMBER: array_pop($this->lastStructName); break; case DOM_XMLRPC_TYPE_NAME: $this->lastStructName[] = trim($this->charContainer); $this->charContainer = ''; break; case DOM_XMLRPC_TYPE_METHODNAME: $this->arrayDocument->methodName = trim($this->charContainer); $this->charContainer = ''; break; } }
/** * Creates a dom_xmlrpc_base64 object from the file * @param string The file path * @return object The base64 encoded data */ function &createBase64FromFile($fileName) { require_once DOM_XMLRPC_INCLUDE_PATH . 'dom_xmlrpc_base64.php'; $base64 = new dom_xmlrpc_base64(); $base64->fromFile($fileName); return $base64; }