/** * Determines the type of any XML-RPC value * @param mixed The XML-RPC value * @return string The type of the XML-RPC value */ function getTypeFromValue(&$value) { require_once DOM_XMLRPC_INCLUDE_PATH . 'dom_xmlrpc_constants.php'; $scalarType = dom_xmlrpc_utilities::getScalarTypeFromValue($value); if ($scalarType == '') { require_once DOM_XMLRPC_INCLUDE_PATH . 'dom_xmlrpc_struct.php'; if (is_array($value)) { if (dom_xmlrpc_utilities::isAssociativeArray($value)) { return DOM_XMLRPC_TYPE_STRUCT; } else { return DOM_XMLRPC_TYPE_ARRAY; } } else { if (get_class($value) == 'dom_xmlrpc_struct') { return DOM_XMLRPC_TYPE_STRUCT; } else { if (is_object($value)) { return DOM_XMLRPC_TYPE_STRUCT; } } } } else { return $scalarType; } }
/** * Creates an XML-RPC representation of a member * @param mixed The member to be converted to XML-RPC notation * @return string An XML-RPC representation of the member */ function createMember($name, &$value, $type) { $data = '<member><name>' . $name . '</name>'; if ($type == '') { $type = dom_xmlrpc_utilities::getScalarTypeFromValue($value); } $data .= $this->create($value, $type) . '</member>'; return $data; }