Esempio n. 1
0
 /**
  * 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;
 }