Author: as
Date: Mon Mar  3 11:32:12 2008
New Revision: 7476

Log:
- The RSS2 guid item attribute is accessed as id through ezcFeed.
- RSS1 item description is actually used now (it was ignored before).

Modified:
    trunk/Feed/ChangeLog
    trunk/Feed/src/processors/rss1.php
    trunk/Feed/src/processors/rss2.php
    trunk/Feed/tests/rss2/regression/parse/item/guid/guid.out
    trunk/Feed/tests/rss2/regression/parse/item/guid/guid_empty.out
    trunk/Feed/tests/rss2/regression/parse/item/guid/guid_isPermaLink_false.out
    trunk/Feed/tests/rss2/regression/parse/item/guid/guid_isPermaLink_true.out

Modified: trunk/Feed/ChangeLog
==============================================================================
--- trunk/Feed/ChangeLog [iso-8859-1] (original)
+++ trunk/Feed/ChangeLog [iso-8859-1] Mon Mar  3 11:32:12 2008
@@ -24,6 +24,7 @@
 - Added support for the CreativeCommons module.
 - Added the required xmlns attribute when creating RSS1 feeds.
 - Added parse support for version 0.93 and 0.94 RSS feeds.
+- The RSS2 guid item attribute is accessed as id through ezcFeed.
 
 
 1.0beta1 - Monday 18 December 2006

Modified: trunk/Feed/src/processors/rss1.php
==============================================================================
--- trunk/Feed/src/processors/rss1.php [iso-8859-1] (original)
+++ trunk/Feed/src/processors/rss1.php [iso-8859-1] Mon Mar  3 11:32:12 2008
@@ -286,6 +286,19 @@
                 $this->generateMetaData( $itemTag, $attribute, $data );
             }
 
+            foreach ( $this->schema->getOptional( 'item' ) as $attribute )
+            {
+                $data = $element->$attribute;
+                if ( !is_null( $data ) )
+                {
+                    $data = ( $data instanceof ezcFeedElement ) ? 
$data->__toString() : $data;
+                    $normalizedAttribute = ezcFeedTools::normalizeName( 
$attribute, $this->schema->getItemsMap() );
+
+                    $attributes = array();
+                    $this->generateMetaData( $itemTag, $attribute, $data );
+                }
+            }
+
             $this->generateModules( $element, $itemTag );
         }
     }

Modified: trunk/Feed/src/processors/rss2.php
==============================================================================
--- trunk/Feed/src/processors/rss2.php [iso-8859-1] (original)
+++ trunk/Feed/src/processors/rss2.php [iso-8859-1] Mon Mar  3 11:32:12 2008
@@ -137,7 +137,8 @@
                                                                               
'enclosure', 'guid', 'pubDate',
                                                                               
'source' ),
                                                      ),
-                                   'ITEMS_MAP'      => array( 'published'  => 
'pubDate' ),
+                                   'ITEMS_MAP'      => array( 'published'  => 
'pubDate',
+                                                              'id'         => 
'guid' ),
                                    'MULTI'      => 'items' ),
 
         'REQUIRED'       => array( 'title', 'link', 'description' ),
@@ -771,7 +772,7 @@
                         $subElement->set( $itemChild->textContent );
                         break;
 
-                    case 'guid':
+                    case 'id':
                         $subElement = $element->add( $tagName );
                         $subElement->set( $itemChild->textContent );
                         break;
@@ -790,7 +791,7 @@
                     {
                         $subElement->$key = $value;
                     }
-                    else if ( in_array( $tagName, array( 'guid' ) ) )
+                    else if ( in_array( $tagName, array( 'id' ) ) )
                     {
                         if ( $key === 'isPermaLink'
                              && $value !== null )

Modified: trunk/Feed/tests/rss2/regression/parse/item/guid/guid.out
==============================================================================
--- trunk/Feed/tests/rss2/regression/parse/item/guid/guid.out [iso-8859-1] 
(original)
+++ trunk/Feed/tests/rss2/regression/parse/item/guid/guid.out [iso-8859-1] Mon 
Mar  3 11:32:12 2008
@@ -12,7 +12,7 @@
 $item->link = 'Item link';
 $item->description = 'Item description';
 
-$guid = $item->add( 'guid' );
+$guid = $item->add( 'id' );
 $guid->set( 'Item guid' );
 
 return $feed;

Modified: trunk/Feed/tests/rss2/regression/parse/item/guid/guid_empty.out
==============================================================================
--- trunk/Feed/tests/rss2/regression/parse/item/guid/guid_empty.out 
[iso-8859-1] (original)
+++ trunk/Feed/tests/rss2/regression/parse/item/guid/guid_empty.out 
[iso-8859-1] Mon Mar  3 11:32:12 2008
@@ -12,7 +12,7 @@
 $item->link = 'Item link';
 $item->description = 'Item description';
 
-$guid = $item->add( 'guid' );
+$guid = $item->add( 'id' );
 $guid->set( '' );
 
 return $feed;

Modified: 
trunk/Feed/tests/rss2/regression/parse/item/guid/guid_isPermaLink_false.out
==============================================================================
--- trunk/Feed/tests/rss2/regression/parse/item/guid/guid_isPermaLink_false.out 
[iso-8859-1] (original)
+++ trunk/Feed/tests/rss2/regression/parse/item/guid/guid_isPermaLink_false.out 
[iso-8859-1] Mon Mar  3 11:32:12 2008
@@ -12,7 +12,7 @@
 $item->link = 'Item link';
 $item->description = 'Item description';
 
-$guid = $item->add( 'guid' );
+$guid = $item->add( 'id' );
 $guid->set( 'Item guid' );
 $guid->isPermaLink = false;
 

Modified: 
trunk/Feed/tests/rss2/regression/parse/item/guid/guid_isPermaLink_true.out
==============================================================================
--- trunk/Feed/tests/rss2/regression/parse/item/guid/guid_isPermaLink_true.out 
[iso-8859-1] (original)
+++ trunk/Feed/tests/rss2/regression/parse/item/guid/guid_isPermaLink_true.out 
[iso-8859-1] Mon Mar  3 11:32:12 2008
@@ -12,7 +12,7 @@
 $item->link = 'Item link';
 $item->description = 'Item description';
 
-$guid = $item->add( 'guid' );
+$guid = $item->add( 'id' );
 $guid->set( 'Item guid' );
 $guid->isPermaLink = true;
 


-- 
svn-components mailing list
svn-components@lists.ez.no
http://lists.ez.no/mailman/listinfo/svn-components

Reply via email to