diff options
| author | Sem <sembrestels@riseup.net> | 2012-04-25 19:09:22 +0200 | 
|---|---|---|
| committer | Sem <sembrestels@riseup.net> | 2012-04-25 19:09:22 +0200 | 
| commit | 9fe063022e08a4b6fa5f5935f8f185d5d95814a4 (patch) | |
| tree | 87377f7b889efc639935508556beb9baf010e821 /engine/classes/XMLRPCArrayParameter.php | |
| parent | 24690ed95198c093e6fbb91a94b5d0544c740f89 (diff) | |
| download | elgg-9fe063022e08a4b6fa5f5935f8f185d5d95814a4.tar.gz elgg-9fe063022e08a4b6fa5f5935f8f185d5d95814a4.tar.bz2  | |
Upgraded to Elgg 1.8.4.
Diffstat (limited to 'engine/classes/XMLRPCArrayParameter.php')
| -rw-r--r-- | engine/classes/XMLRPCArrayParameter.php | 56 | 
1 files changed, 56 insertions, 0 deletions
diff --git a/engine/classes/XMLRPCArrayParameter.php b/engine/classes/XMLRPCArrayParameter.php new file mode 100644 index 000000000..a8edccba7 --- /dev/null +++ b/engine/classes/XMLRPCArrayParameter.php @@ -0,0 +1,56 @@ +<?php + +/** + * An array containing other XMLRPCParameter objects. + * + * @package    Elgg.Core + * @subpackage XMLRPC + * + */ +class XMLRPCArrayParameter extends XMLRPCParameter +{ +	/** +	 * Construct an array. +	 * +	 * @param array $parameters Optional array of parameters, if not provided +	 * then addField must be used. +	 */ +	function __construct($parameters = NULL) { +		parent::__construct(); + +		if (is_array($parameters)) { +			foreach ($parameters as $v) { +				$this->addField($v); +			} +		} +	} + +	/** +	 * Add a field to the container. +	 * +	 * @param XMLRPCParameter $value The value. +	 * +	 * @return void +	 */ +	public function addField(XMLRPCParameter $value) { +		if (!is_array($this->value)) { +			$this->value = array(); +		} + +		$this->value[] = $value; +	} + +	/** +	 * Converts XML array to string +	 * +	 * @return string +	 */ +	function __toString() { +		$params = ""; +		foreach ($this->value as $value) { +			$params .= "$value"; +		} + +		return "<array><data>$params</data></array>"; +	} +}  | 
