File indexing completed on 2025-05-04 05:28:32
0001 <?php 0002 /** 0003 * Zend Framework 0004 * 0005 * LICENSE 0006 * 0007 * This source file is subject to the new BSD license that is bundled 0008 * with this package in the file LICENSE.txt. 0009 * It is also available through the world-wide-web at this URL: 0010 * http://framework.zend.com/license/new-bsd 0011 * If you did not receive a copy of the license and are unable to 0012 * obtain it through the world-wide-web, please send an email 0013 * to license@zend.com so we can send you a copy immediately. 0014 * 0015 * @category Zend 0016 * @package Zend_XmlRpc 0017 * @subpackage Value 0018 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) 0019 * @license http://framework.zend.com/license/new-bsd New BSD License 0020 * @version $Id$ 0021 */ 0022 0023 0024 /** 0025 * Zend_XmlRpc_Value_Collection 0026 */ 0027 // require_once 'Zend/XmlRpc/Value/Collection.php'; 0028 0029 0030 /** 0031 * @category Zend 0032 * @package Zend_XmlRpc 0033 * @subpackage Value 0034 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) 0035 * @license http://framework.zend.com/license/new-bsd New BSD License 0036 */ 0037 class Zend_XmlRpc_Value_Struct extends Zend_XmlRpc_Value_Collection 0038 { 0039 /** 0040 * Set the value of an struct native type 0041 * 0042 * @param array $value 0043 */ 0044 public function __construct($value) 0045 { 0046 $this->_type = self::XMLRPC_TYPE_STRUCT; 0047 parent::__construct($value); 0048 } 0049 0050 0051 /** 0052 * Generate the XML code that represent struct native MXL-RPC value 0053 * 0054 * @return void 0055 */ 0056 protected function _generateXML() 0057 { 0058 $generator = $this->getGenerator(); 0059 $generator->openElement('value') 0060 ->openElement('struct'); 0061 0062 if (is_array($this->_value)) { 0063 foreach ($this->_value as $name => $val) { 0064 /* @var $val Zend_XmlRpc_Value */ 0065 $generator->openElement('member') 0066 ->openElement('name', $name) 0067 ->closeElement('name'); 0068 $val->generateXml(); 0069 $generator->closeElement('member'); 0070 } 0071 } 0072 $generator->closeElement('struct') 0073 ->closeElement('value'); 0074 } 0075 }