dmitry Thu Sep 29 06:01:01 2005 EDT Modified files: /php-src/ext/soap php_encoding.c Log: Fixed wrong array autodetection http://cvs.php.net/diff.php/php-src/ext/soap/php_encoding.c?r1=1.106&r2=1.107&ty=u Index: php-src/ext/soap/php_encoding.c diff -u php-src/ext/soap/php_encoding.c:1.106 php-src/ext/soap/php_encoding.c:1.107 --- php-src/ext/soap/php_encoding.c:1.106 Thu Aug 25 02:50:16 2005 +++ php-src/ext/soap/php_encoding.c Thu Sep 29 06:00:59 2005 @@ -17,7 +17,7 @@ | Dmitry Stogov <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ -/* $Id: php_encoding.c,v 1.106 2005/08/25 06:50:16 dmitry Exp $ */ +/* $Id: php_encoding.c,v 1.107 2005/09/29 10:00:59 dmitry Exp $ */ #include <time.h> @@ -1322,7 +1322,9 @@ data = get_zval_property(object, model->u.element->name TSRMLS_CC); if (data) { enc = model->u.element->encode; - if ((model->max_occurs == -1 || model->max_occurs > 1) && Z_TYPE_P(data) == IS_ARRAY) { + if ((model->max_occurs == -1 || model->max_occurs > 1) && + Z_TYPE_P(data) == IS_ARRAY && + !is_map(data)) { HashTable *ht = Z_ARRVAL_P(data); zval **val; @@ -1345,7 +1347,9 @@ } } xmlNodeSetName(property, model->u.element->name); - if (style == SOAP_LITERAL && model->u.element->namens) { + if (style == SOAP_LITERAL && + model->u.element->namens && + model->u.element->form == XSD_FORM_QUALIFIED) { xmlNsPtr nsp = encode_add_ns(property, model->u.element->namens); xmlSetNs(property, nsp); } @@ -1405,7 +1409,9 @@ data = get_zval_property(object, "any" TSRMLS_CC); if (data) { enc = get_conversion(XSD_ANYXML); - if ((model->max_occurs == -1 || model->max_occurs > 1) && Z_TYPE_P(data) == IS_ARRAY) { + if ((model->max_occurs == -1 || model->max_occurs > 1) && + Z_TYPE_P(data) == IS_ARRAY && + !is_map(data)) { HashTable *ht = Z_ARRVAL_P(data); zval **val; @@ -1600,7 +1606,9 @@ property = master_to_xml(array_el->encode, *val, style, xmlParam); } xmlNodeSetName(property, array_el->name); - if (style == SOAP_LITERAL && array_el->namens) { + if (style == SOAP_LITERAL && + array_el->namens && + array_el->form == XSD_FORM_QUALIFIED) { xmlNsPtr nsp = encode_add_ns(property, array_el->namens); xmlSetNs(property, nsp); }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php