Project

General

Profile

« Previous | Next » 

Revision 94c5a14d

Added by Colin Smith about 20 years ago

Add function to change XMLRPC values to their PHP equivalents.

XXX: xmlrpc_value_to_php does not currently handle structs.

View differences:

etc/inc/pfsense-utils.inc
1004 1004
	return;
1005 1005
}
1006 1006

  
1007
function xmlrpc_value_to_php($value) {
1008
	if($value->kindOf() == 'array') {
1009
		$toreturn = array();
1010
		for($i= 0; $i < $value->arraysize(); $i++) {
1011
			$arrayval = $value->arraymem($i);
1012
			if($arrayval->kindOf() == 'array') {
1013
				$toreturn[] = xmlrpc_value_to_php($arrayval);
1014
			} else {
1015
				$toreturn[] = $arrayval->scalarval();	
1016
			}
1017
		}
1018
	} else {
1019
		$toreturn = $value->scalarval();
1020
	}
1021
	return $toreturn;
1022
}
1023

  
1024

  
1007 1025
/*
1008 1026
 * check_firmware_version(): Check whether the current firmware installed is the most recently released.
1009 1027
 */
......
1025 1043
	if($resp->faultCode()) return -1;
1026 1044
        if($return_php == false) return $resp->serialize();
1027 1045
	$raw_versions = $resp->value();
1028
	$toreturn = array();
1029
	for($i = 0; $i < $raw_versions->arraysize(); $i++) {
1030
		$arrayval = $raw_versions->arraymem($i);
1031
		$toreturn[] = $arrayval->scalarval();
1032
	}
1033
	return $toreturn;
1046
	return xmlrpc_value_to_php($raw_versions);
1034 1047
}
1035 1048

  
1036 1049
?>

Also available in: Unified diff