From 194ab8364ab2ed037bbed06cc3bdfc11926a4f2d Mon Sep 17 00:00:00 2001 From: gwoo Date: Sat, 22 Dec 2007 05:09:28 +0000 Subject: [PATCH] updating XML class, fixes #3696 git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@6194 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/libs/xml.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/cake/libs/xml.php b/cake/libs/xml.php index 69cc2f152..335119918 100644 --- a/cake/libs/xml.php +++ b/cake/libs/xml.php @@ -112,8 +112,7 @@ class XMLNode extends Object { * @return array Properties from object * @access private */ - function __objectToNode($object) { - + function __objectToNode($object, $key = false) { if (is_array($object)) { $objects = array(); foreach ($object as $obj) { @@ -124,13 +123,16 @@ class XMLNode extends Object { if (isset($object->_name_) && !empty($object->_name_)) { $name = $object->_name_; + } elseif ($key) { + $name = $key; } elseif (isset($object->name) && $object->name != null) { $name = $object->name; } else { $name = get_class($object); } + if ($name != strtolower($name)) { - $name = Inflector::underscore($name); + $name = Inflector::slug(Inflector::underscore($name)); } if (is_object($object)) { @@ -152,7 +154,7 @@ class XMLNode extends Object { unset($attributes[$key]); } } elseif (is_object($val)) { - $children[] = $this->__objectToNode($val); + $children[] = $this->__objectToNode($val, $key); unset($attributes[$key]); } }