|
|
@@ -256,6 +256,8 @@ class RssHelper extends AppHelper {
|
|
|
$attrib = $val;
|
|
|
$val = null;
|
|
|
break;
|
|
|
+ default:
|
|
|
+ $attrib = $att;
|
|
|
}
|
|
|
if (!is_null($val) && $escape) {
|
|
|
$val = h($val);
|
|
|
@@ -312,7 +314,12 @@ class RssHelper extends AppHelper {
|
|
|
|
|
|
$xml = '<' . $name;
|
|
|
if (!empty($namespace)) {
|
|
|
- $xml .= ' xmlns:"' . $namespace . '"';
|
|
|
+ $xml .= ' xmlns';
|
|
|
+ if (is_array($namespace)) {
|
|
|
+ $xml .= ':' . $namespace['prefix'];
|
|
|
+ $namespace = $namespace['url'];
|
|
|
+ }
|
|
|
+ $xml .= '="' . $namespace . '"';
|
|
|
}
|
|
|
$bareName = $name;
|
|
|
if (strpos($name, ':') !== false) {
|
|
|
@@ -329,8 +336,10 @@ class RssHelper extends AppHelper {
|
|
|
$xml .= '>' . $content . '</' . $name . '>';
|
|
|
$elem = Xml::build($xml, array('return' => 'domdocument'));
|
|
|
$nodes = $elem->getElementsByTagName($bareName);
|
|
|
- foreach ($attrib as $key => $value) {
|
|
|
- $nodes->item(0)->setAttribute($key, $value);
|
|
|
+ if ($attrib) {
|
|
|
+ foreach ($attrib as $key => $value) {
|
|
|
+ $nodes->item(0)->setAttribute($key, $value);
|
|
|
+ }
|
|
|
}
|
|
|
foreach ($children as $k => $child) {
|
|
|
$child = $elem->createElement($name, $child);
|