ILIAS  release_4-3 Revision
 All Data Structures Namespaces Files Functions Variables Groups Pages
XML_RPC2_Backend_Xmlrpcext_Value Class Reference
+ Collaboration diagram for XML_RPC2_Backend_Xmlrpcext_Value:

Static Public Member Functions

static createFromNative ($value, $explicitType)
 Factory method that constructs the appropriate XML-RPC encoded type value.

Detailed Description

Definition at line 57 of file Value.php.

Member Function Documentation

static XML_RPC2_Backend_Xmlrpcext_Value::createFromNative (   $value,
  $explicitType 
)
static

Factory method that constructs the appropriate XML-RPC encoded type value.

Parameters
mixedValue to be encode
stringExplicit XML-RPC type as enumerated in the XML-RPC spec (defaults to automatically selected type)
Returns
mixed The encoded value

Definition at line 69 of file Value.php.

{
$type = strtolower($explicitType);
$availableTypes = array('datetime', 'base64', 'struct');
if (in_array($type, $availableTypes)) {
if ($type=='struct') {
if (!(is_array($value))) {
throw new XML_RPC2_Exception('With struct type, value has to be an array');
}
// Because of http://bugs.php.net/bug.php?id=21949
// is some cases (structs with numeric indexes), we need to be able to force the "struct" type
// (xmlrpc_set_type doesn't help for this, so we need this ugly hack)
$new = array();
while (list($k, $v) = each($value)) {
$new["xml_rpc2_ugly_struct_hack_$k"] = $v;
// with this "string" prefix, we are sure that the array will be seen as a "struct"
}
return $new;
}
$value2 = (string) $value;
if (!xmlrpc_set_type($value2, $type)) {
throw new XML_RPC2_Exception('Error returned from xmlrpc_set_type');
}
return $value2;
}
return $value;
}

The documentation for this class was generated from the following file: