IXR_Server::call()publicWP 1.0

Method of the class: IXR_Server{}

No Hooks.

Return

null. Nothing (null).

Usage

$IXR_Server = new IXR_Server();
$IXR_Server->call( $methodname, $args );
$methodname (required)
-
$args (required)
-

IXR_Server::call() code WP 6.5.2

function call($methodname, $args)
{
    if (!$this->hasMethod($methodname)) {
        return new IXR_Error(-32601, 'server error. requested method '.$methodname.' does not exist.');
    }
    $method = $this->callbacks[$methodname];

    // Perform the callback and send the response
    if (count($args) == 1) {
        // If only one parameter just send that instead of the whole array
        $args = $args[0];
    }

    // Are we dealing with a function or a method?
    if (is_string($method) && substr($method, 0, 5) == 'this:') {
        // It's a class method - check it exists
        $method = substr($method, 5);
        if (!method_exists($this, $method)) {
            return new IXR_Error(-32601, 'server error. requested class method "'.$method.'" does not exist.');
        }

        //Call the method
        $result = $this->$method($args);
    } else {
        // It's a function - does it exist?
        if (is_array($method)) {
            if (!is_callable(array($method[0], $method[1]))) {
                return new IXR_Error(-32601, 'server error. requested object method "'.$method[1].'" does not exist.');
            }
        } else if (!function_exists($method)) {
            return new IXR_Error(-32601, 'server error. requested function "'.$method.'" does not exist.');
        }

        // Call the function
        $result = call_user_func($method, $args);
    }
    return $result;
}