Author: as
Date: Fri Nov 9 16:03:46 2007
New Revision: 6688
Log:
- Added support for generating 'rights' ATOM feed element.
Added:
trunk/Feed/tests/atom/regression/generate/optional/rights/
trunk/Feed/tests/atom/regression/generate/optional/rights/rights_empty.in
trunk/Feed/tests/atom/regression/generate/optional/rights/rights_empty.out
trunk/Feed/tests/atom/regression/generate/optional/rights/rights_html.in
trunk/Feed/tests/atom/regression/generate/optional/rights/rights_html.out
trunk/Feed/tests/atom/regression/generate/optional/rights/rights_no_type.in
trunk/Feed/tests/atom/regression/generate/optional/rights/rights_no_type.out
trunk/Feed/tests/atom/regression/generate/optional/rights/rights_text.in
trunk/Feed/tests/atom/regression/generate/optional/rights/rights_text.out
trunk/Feed/tests/atom/regression/generate/optional/rights/rights_xhtml.in
trunk/Feed/tests/atom/regression/generate/optional/rights/rights_xhtml.out
Modified:
trunk/Feed/src/processors/atom.php
Modified: trunk/Feed/src/processors/atom.php
==============================================================================
--- trunk/Feed/src/processors/atom.php [iso-8859-1] (original)
+++ trunk/Feed/src/processors/atom.php [iso-8859-1] Fri Nov 9 16:03:46 2007
@@ -59,7 +59,9 @@
'icon' => array( '#' => 'string' ),
'logo' => array( '#' => 'string' ),
- 'rights' => array( '#' => 'string' ),
+ 'rights' => array( '#' => 'string',
+ 'ATTRIBUTES' => array( 'type' => 'string' ),
),
+
'subtitle' => array( '#' => 'string' ),
'REQUIRED' => array( 'id', 'title', 'updated' ),
@@ -94,6 +96,7 @@
$this->xml->formatOutput = 1;
$this->createRootElement( '2.0' );
$this->generateRequired();
+ $this->generateOptional();
return $this->xml->saveXML();
}
@@ -142,6 +145,33 @@
}
$this->generateNode( $this->channel, $element, $dataNode );
+ }
+ }
+ }
+
+ /**
+ * Adds the optional feed elements to the XML document being generated.
+ *
+ * @ignore
+ */
+ protected function generateOptional()
+ {
+ foreach ( $this->schema->getOptional() as $element )
+ {
+ $data = $this->schema->isMulti( $element ) ? $this->get(
$this->schema->getMulti( $element ) ) : $this->get( $element );
+
+ if ( !is_null( $data ) )
+ {
+ if ( !is_array( $data ) )
+ {
+ $data = array( $data );
+ }
+
+ foreach ( $data as $dataNode )
+ {
+ $this->generateNode( $this->channel, $element, $dataNode );
+
+ }
}
}
}
Added: trunk/Feed/tests/atom/regression/generate/optional/rights/rights_empty.in
==============================================================================
--- trunk/Feed/tests/atom/regression/generate/optional/rights/rights_empty.in
(added)
+++ trunk/Feed/tests/atom/regression/generate/optional/rights/rights_empty.in
[iso-8859-1] Fri Nov 9 16:03:46 2007
@@ -1,0 +1,7 @@
+<?php
+return array( 'id' => 'Feed id',
+ 'title' => array( array( '#' => 'Feed title',
+ 'type' => '' ) ),
+ 'updated' => 'Feed updated',
+ 'copyright' => array( array() ) );
+?>
Added:
trunk/Feed/tests/atom/regression/generate/optional/rights/rights_empty.out
==============================================================================
--- trunk/Feed/tests/atom/regression/generate/optional/rights/rights_empty.out
(added)
+++ trunk/Feed/tests/atom/regression/generate/optional/rights/rights_empty.out
[iso-8859-1] Fri Nov 9 16:03:46 2007
@@ -1,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>Feed id</id>
+ <title type="text">Feed title</title>
+ <updated>Feed updated</updated>
+ <rights></rights>
+</feed>
Added: trunk/Feed/tests/atom/regression/generate/optional/rights/rights_html.in
==============================================================================
--- trunk/Feed/tests/atom/regression/generate/optional/rights/rights_html.in
(added)
+++ trunk/Feed/tests/atom/regression/generate/optional/rights/rights_html.in
[iso-8859-1] Fri Nov 9 16:03:46 2007
@@ -1,0 +1,7 @@
+<?php
+return array( 'id' => 'Feed id',
+ 'title' => array( array( '#' => 'Feed title' ) ),
+ 'updated' => 'Feed updated',
+ 'copyright' => array( array( '#' => 'Feed copyright',
+ 'type' => 'html' ) ) );
+?>
Added: trunk/Feed/tests/atom/regression/generate/optional/rights/rights_html.out
==============================================================================
--- trunk/Feed/tests/atom/regression/generate/optional/rights/rights_html.out
(added)
+++ trunk/Feed/tests/atom/regression/generate/optional/rights/rights_html.out
[iso-8859-1] Fri Nov 9 16:03:46 2007
@@ -1,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>Feed id</id>
+ <title>Feed title</title>
+ <updated>Feed updated</updated>
+ <rights type="html">Feed copyright</rights>
+</feed>
Added:
trunk/Feed/tests/atom/regression/generate/optional/rights/rights_no_type.in
==============================================================================
--- trunk/Feed/tests/atom/regression/generate/optional/rights/rights_no_type.in
(added)
+++ trunk/Feed/tests/atom/regression/generate/optional/rights/rights_no_type.in
[iso-8859-1] Fri Nov 9 16:03:46 2007
@@ -1,0 +1,7 @@
+<?php
+return array( 'id' => 'Feed id',
+ 'title' => array( array( '#' => 'Feed title',
+ 'type' => '' ) ),
+ 'updated' => 'Feed updated',
+ 'copyright' => array( array( '#' => 'Feed copyright' ) ) );
+?>
Added:
trunk/Feed/tests/atom/regression/generate/optional/rights/rights_no_type.out
==============================================================================
---
trunk/Feed/tests/atom/regression/generate/optional/rights/rights_no_type.out
(added)
+++
trunk/Feed/tests/atom/regression/generate/optional/rights/rights_no_type.out
[iso-8859-1] Fri Nov 9 16:03:46 2007
@@ -1,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>Feed id</id>
+ <title type="text">Feed title</title>
+ <updated>Feed updated</updated>
+ <rights>Feed copyright</rights>
+</feed>
Added: trunk/Feed/tests/atom/regression/generate/optional/rights/rights_text.in
==============================================================================
--- trunk/Feed/tests/atom/regression/generate/optional/rights/rights_text.in
(added)
+++ trunk/Feed/tests/atom/regression/generate/optional/rights/rights_text.in
[iso-8859-1] Fri Nov 9 16:03:46 2007
@@ -1,0 +1,7 @@
+<?php
+return array( 'id' => 'Feed id',
+ 'title' => array( array( '#' => 'Feed title' ) ),
+ 'updated' => 'Feed updated',
+ 'copyright' => array( array( '#' => 'Feed copyright',
+ 'type' => 'text' ) ) );
+?>
Added: trunk/Feed/tests/atom/regression/generate/optional/rights/rights_text.out
==============================================================================
--- trunk/Feed/tests/atom/regression/generate/optional/rights/rights_text.out
(added)
+++ trunk/Feed/tests/atom/regression/generate/optional/rights/rights_text.out
[iso-8859-1] Fri Nov 9 16:03:46 2007
@@ -1,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>Feed id</id>
+ <title>Feed title</title>
+ <updated>Feed updated</updated>
+ <rights type="text">Feed copyright</rights>
+</feed>
Added: trunk/Feed/tests/atom/regression/generate/optional/rights/rights_xhtml.in
==============================================================================
--- trunk/Feed/tests/atom/regression/generate/optional/rights/rights_xhtml.in
(added)
+++ trunk/Feed/tests/atom/regression/generate/optional/rights/rights_xhtml.in
[iso-8859-1] Fri Nov 9 16:03:46 2007
@@ -1,0 +1,7 @@
+<?php
+return array( 'id' => 'Feed id',
+ 'title' => array( array( '#' => 'Feed title' ) ),
+ 'updated' => 'Feed updated',
+ 'copyright' => array( array( '#' => 'Feed copyright',
+ 'type' => 'xhtml' ) ) );
+?>
Added:
trunk/Feed/tests/atom/regression/generate/optional/rights/rights_xhtml.out
==============================================================================
--- trunk/Feed/tests/atom/regression/generate/optional/rights/rights_xhtml.out
(added)
+++ trunk/Feed/tests/atom/regression/generate/optional/rights/rights_xhtml.out
[iso-8859-1] Fri Nov 9 16:03:46 2007
@@ -1,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>Feed id</id>
+ <title>Feed title</title>
+ <updated>Feed updated</updated>
+ <rights type="xhtml" xmlns:xhtml="http://www.w3.org/1999/xhtml">
+ <xhtml:div>Feed copyright</xhtml:div>
+ </rights>
+</feed>
--
svn-components mailing list
[EMAIL PROTECTED]
http://lists.ez.no/mailman/listinfo/svn-components