-
Notifications
You must be signed in to change notification settings - Fork 91
/
simple_call.php
53 lines (50 loc) · 1.64 KB
/
simple_call.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
/**
* Helper function for the terminally lazy.
*
* @copyright (c) 2006-2015 G. Giunta
* @license code licensed under the BSD License: http://phpxmlrpc.sourceforge.net/license.txt
*/
/**
* Takes a client object, a remote method name, and a variable numbers of
* php values, and calls the method with the supplied parameters. The
* parameters are native php values and the result is an xmlrpcresp object.
*
* Notes:
* The function encodes the received parameters using php_xmlrpc_encode:
* the limitations of automatic encoding apply to this function too);
*
* the type of the value returned by the function can be changed setting
* beforehand the 'return_type' member of the client object to 'phpvals' -
* see the manual for more details about this capability).
*
*
* @author Toth Istvan
*
* @param xmlrpc_client client object, properly set up to connect to server
* @param string remote function name
* @param mixed $parameter1
* @param mixed $parameter2
* @param mixed $parameter3 ...
*
* @return xmlrpcresp or false on error
*/
function xmlrpccall_simple()
{
if (func_num_args() < 2) {
// Incorrect
return false;
} else {
$varargs = func_get_args();
$client = array_shift($varargs);
$remote_function_name = array_shift($varargs);
if (!is_a($client, 'xmlrpc_client') || !is_string($remote_function_name)) {
return false;
}
$xmlrpcval_array = array();
foreach ($varargs as $parameter) {
$xmlrpcval_array[] = php_xmlrpc_encode($parameter);
}
return $client->send(new xmlrpcmsg($remote_function_name, $xmlrpcval_array));
}
}