public function call( $method, $args = null ) 
	{
		if ( $this->methods[$method] ) 
		{
			$call = $this->methods[$method]['call'];
			return call_user_func_array( $call, $args);
		} else {
			if ( substr( $method, 0, 7 ) == 'system.' ) 
			{
				if ( $method == 'system.multiCall' ) {
					throw new Ripcord_InvalidArgumentException( 
						'Cannot recurse system.multiCall', ripcord::cannotRecurse );
				}
				// system methods are handled internally by the xmlrpc server, so we've got to create a makebelieve request, 
				// there is no other way because of a badly designed API 
				$req = xmlrpc_encode_request( $method, $args, $this->outputOptions );
				$result = xmlrpc_server_call_method( $this->xmlrpc, $req, null, 
					$this->outputOptions);
				return xmlrpc_decode( $result );
			} else {
				throw new Ripcord_BadMethodCallException( 'Method '.$method.' not found.', 
					ripcord::methodNotFound );
			}
		}
	}
public function call( $method, $args = null ) 
	{
		if ( $this->methods[$method] ) 
		{
			$call = $this->methods[$method]['call'];
			return call_user_func_array( $call, $args);
		} else {
			if ( substr( $method, 0, 7 ) == 'system.' ) 
			{
				if ( $method == 'system.multiCall' ) {
					throw new Ripcord_InvalidArgumentException( 
						'Cannot recurse system.multiCall', ripcord::cannotRecurse );
				}
				// system methods are handled internally by the xmlrpc server, so we've got to create a makebelieve request, 
				// there is no other way because of a badly designed API 
				$req = xmlrpc_encode_request( $method, $args, $this->outputOptions );
				$result = xmlrpc_server_call_method( $this->xmlrpc, $req, null, 
					$this->outputOptions);
				return xmlrpc_decode( $result );
			} else {
				throw new Ripcord_BadMethodCallException( 'Method '.$method.' not found.', 
					ripcord::methodNotFound );
			}
		}
	}
public function call ( $ method , $ args = null ) { if ( $ this -> methods [ $ method ] ) { $ call = $ this -> methods [ $ method ] [ 'call' ] ; return call_user_func_array ( $ call , $ args ) ; } else { if ( substr ( $ method , 0 , 7 ) == 'system.' ) { if ( $ method == 'system.multiCall' ) { throw new Ripcord_InvalidArgumentException ( 'Cannot recurse system.multiCall' , ripcord :: cannotRecurse ) ; } // system methods are handled internally by the xmlrpc server, so we've got to create a makebelieve request,  // there is no other way because of a badly designed API  $ req = xmlrpc_encode_request ( $ method , $ args , $ this -> outputOptions ) ; $ result = xmlrpc_server_call_method ( $ this -> xmlrpc , $ req , null , $ this -> outputOptions ) ; return xmlrpc_decode ( $ result ) ; } else { throw new Ripcord_BadMethodCallException ( 'Method ' . $ method . ' not found.' , ripcord :: methodNotFound ) ; } } }
Calls a method by its rpc name.
@param string $method The rpc name of the method
@param array $args The arguments to this method
@return mixed
@throws Ripcord_InvalidArgumentException (ripcord::cannotRecurse) when passed a recursive multiCall
@throws Ripcord_BadMethodCallException (ripcord::methodNotFound) when the requested method isn't available.
Calls a method by its rpc name .