OpenCart 🇺🇦

Схема

private mixed constructXmlrpc ( $data )

Аргументы

Аргумент Возможный тип Описание
$data

Описание

Метод пока еще не документирован.

Исходный код

$type = gettype($data);

switch ($type) {
	case 'boolean':
		if ($data == true) {
			$value = 1;
		} else {
			$value = false;
		}

		$xml = '<boolean>' . $value . '</boolean>';
		break;
	case 'integer':
		$xml = '<int>' . (int)$data . '</int>';
		break;
	case 'double':
		$xml = '<double>' . (float)$data . '</double>';
		break;
	case 'string':
		$xml = '<string>' . htmlspecialchars($data) . '</string>';
		break;
	case 'array':
		if ($data === array_values($data)) {
			$xml = '<array><data>';

			foreach ($data as $value) {
				$xml .= '<value>' . $this->constructXmlrpc($value) . '</value>';
			}

			$xml .= '</data></array>';
		} else {
			$xml = '<struct>';

			foreach ($data as $key => $value) {
				$xml .= '<member>';
				$xml .= '  <name>' . htmlspecialchars($key) . '</name>';
				$xml .= '  <value>' . $this->constructXmlrpc($value) . '</value>';
				$xml .= '</member>';
			}

			$xml .= '</struct>';
		}
		break;
	default:
		$xml = '<nil/>';
		break;
}

return $xml;