diff options
Diffstat (limited to 'engine/classes/XMLRPCErrorResponse.php')
| -rw-r--r-- | engine/classes/XMLRPCErrorResponse.php | 36 | 
1 files changed, 36 insertions, 0 deletions
| diff --git a/engine/classes/XMLRPCErrorResponse.php b/engine/classes/XMLRPCErrorResponse.php new file mode 100644 index 000000000..425c075cc --- /dev/null +++ b/engine/classes/XMLRPCErrorResponse.php @@ -0,0 +1,36 @@ +<?php + +/** + * XMLRPC Error Response + * + * @package    Elgg.Core + * @subpackage XMLRPC + */ +class XMLRPCErrorResponse extends XMLRPCResponse { +	/** +	 * Set the error response and error code. +	 * +	 * @param string $message The message +	 * @param int    $code    Error code (default = system error as defined by +	 *                        http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php) +	 */ +	function __construct($message, $code = -32400) { +		$this->addParameter( +			new XMLRPCStructParameter( +				array ( +					'faultCode' => new XMLRPCIntParameter($code), +					'faultString' => new XMLRPCStringParameter($message) +				) +			) +		); +	} + +	/** +	 * Output to XML. +	 * +	 * @return string +	 */ +	public function __toString() { +		return "<methodResponse><fault><value>{$this->parameters[0]}</value></fault></methodResponse>"; +	} +} | 
