[svn-components] 7506 - in /trunk/Feed: docs/examples/feed_creator/data/news.txt docs/examples/feed_creator/data/news.xml docs/tutorial.txt src/feed.php src/nodes/element.php src/nodes/item.php
Author: as Date: Tue Mar 4 10:30:30 2008 New Revision: 7506 Log: - Some fixes in the tutorial. Modified: trunk/Feed/docs/examples/feed_creator/data/news.txt trunk/Feed/docs/examples/feed_creator/data/news.xml trunk/Feed/docs/tutorial.txt trunk/Feed/src/feed.php trunk/Feed/src/nodes/element.php trunk/Feed/src/nodes/item.php Modified: trunk/Feed/docs/examples/feed_creator/data/news.txt == --- trunk/Feed/docs/examples/feed_creator/data/news.txt [iso-8859-1] (original) +++ trunk/Feed/docs/examples/feed_creator/data/news.txt [iso-8859-1] Tue Mar 4 10:30:30 2008 @@ -16,7 +16,7 @@ [EMAIL PROTECTED] The new release of eZ Publish is based on PHP 5 -eZ Find.0 released +eZ Find 1.0 released http://find.ez.no Derick [EMAIL PROTECTED] Modified: trunk/Feed/docs/examples/feed_creator/data/news.xml == --- trunk/Feed/docs/examples/feed_creator/data/news.xml [iso-8859-1] (original) +++ trunk/Feed/docs/examples/feed_creator/data/news.xml [iso-8859-1] Tue Mar 4 10:30:30 2008 @@ -5,7 +5,7 @@ linkhttp://ez.no/link descriptionThis RSS feed contains news feeds for eZ Publish and eZ Components./description managingEditor[EMAIL PROTECTED] (Derick)/managingEditor -pubDateMon, 03 Mar 2008 12:39:14 +0100/pubDate +pubDateTue, 04 Mar 2008 10:30:14 +0100/pubDate generatoreZ Components/generator docshttp://www.rssboard.org/rss-specification/docs item @@ -23,7 +23,7 @@ guid isPermaLink=truehttp://publish.ez.no/guid /item item - titleeZ Find.0 released/title + titleeZ Find 1.0 released/title linkhttp://find.ez.no/link descriptionA new product in the eZ family of open-source solutions.../description author[EMAIL PROTECTED] (Derick)/author Modified: trunk/Feed/docs/tutorial.txt == --- trunk/Feed/docs/tutorial.txt [iso-8859-1] (original) +++ trunk/Feed/docs/tutorial.txt [iso-8859-1] Tue Mar 4 10:30:30 2008 @@ -117,9 +117,9 @@ processor is used to parse and generate that type. The following feed processors are supported by the Feed component: -- RSS1 (ezcFeedRss1) - `RSS1 specifications`_ -- RSS2 (ezcFeedRss2) - `RSS2 specifications`_ -- ATOM (ezcFeedAtom) - `ATOM specifications`_ +- ATOM (ezcFeedAtom) - |ATOM-specifications|_ +- RSS1 (ezcFeedRss1) - |RSS1-specifications|_ +- RSS2 (ezcFeedRss2) - |RSS2-specifications|_ A new processor can be defined by creating a class which extends the class ezcFeedProcessor and implements the interface ezcFeedParser, and adding it to the @@ -131,11 +131,11 @@ The following modules are supported by the Feed component: -- Content (ezcFeedContentModule) - `Content specifications`_ +- Content (ezcFeedContentModule) - |Content-specifications|_ - CreativeCommons (ezcFeedCreativeCommonsModule) - - `CreativeCommons specifications`_ -- DublinCore (ezcFeedDublinCoreModule) - `DublinCore specifications`_ -- iTunes (ezcFeedITunesModule) - `iTunes specifications`_ + |CreativeCommons-specifications|_ +- DublinCore (ezcFeedDublinCoreModule) - |DublinCore-specifications|_ +- iTunes (ezcFeedITunesModule) - |iTunes-specifications|_ A new module can be defined by creating a class which extends the class ezcFeedModule, and adding it to the ezcFeed::$supportedModules and @@ -599,16 +599,25 @@ .. _iTunes: http://www.apple.com/itunes/ -.. _RSS1 specifications: http://web.resource.org/rss/1.0/spec -.. _RSS2 specifications: http://www.rssboard.org/rss-specification -.. _ATOM specifications: http://atompub.org/rfc4287.html - -.. _Content specifications: http://purl.org/rss/1.0/modules/content/ -.. _CreativeCommons specifications: http://backend.userland.com/creativeCommonsRssModule -.. _DublinCore specifications: http://dublincore.org/documents/dces/ -.. _iTunes specifications: http://www.apple.com/itunes/store/podcaststechspecs.html +.. _RSS1-specifications: http://web.resource.org/rss/1.0/spec +.. _RSS2-specifications: http://www.rssboard.org/rss-specification +.. _ATOM-specifications: http://atompub.org/rfc4287.html + +.. _Content-specifications: http://purl.org/rss/1.0/modules/content/ +.. _CreativeCommons-specifications: http://backend.userland.com/creativeCommonsRssModule +.. _DublinCore-specifications: http://dublincore.org/documents/dces/ +.. _iTunes-specifications: http://www.apple.com/itunes/store/podcaststechspecs.html .. _aggregator: http://en.wikipedia.org/wiki/List_of_feed_aggregators + +.. |ATOM-specifications| replace:: RFC 4287 +.. |RSS1-specifications| replace:: Specifications +.. |RSS2-specifications| replace:: Specifications + +.. |Content-specifications| replace:: Specifications +.. |CreativeCommons-specifications| replace:: Specifications +.. |DublinCore-specifications| replace:: Specifications +.. |iTunes-specifications|
[svn-components] 7516 - in /trunk/Feed/docs: examples/feed_creator/data/news.txt examples/feed_creator/data/news.xml specifications.txt tutorial.txt
Author: as Date: Tue Mar 4 15:05:40 2008 New Revision: 7516 Log: - Rewritten the tutorial in a more friendly way (step by step). # Need to add parsing of feeds. Modified: trunk/Feed/docs/examples/feed_creator/data/news.txt trunk/Feed/docs/examples/feed_creator/data/news.xml trunk/Feed/docs/specifications.txt trunk/Feed/docs/tutorial.txt Modified: trunk/Feed/docs/examples/feed_creator/data/news.txt == --- trunk/Feed/docs/examples/feed_creator/data/news.txt [iso-8859-1] (original) +++ trunk/Feed/docs/examples/feed_creator/data/news.txt [iso-8859-1] Tue Mar 4 15:05:40 2008 @@ -1,23 +1,23 @@ -eZ news feeds +eZ news feed http://ez.no Derick [EMAIL PROTECTED] This RSS feed contains news feeds for eZ Publish and eZ Components. eZ Components 2007.1 released -http://components.ez.no +http://ezcomponents.org/resources/news/news-2007-07-02 Derick [EMAIL PROTECTED] The new release of eZ Components include Workflow, Authentication... eZ Publish 4.0 released -http://publish.ez.no +http://ez.no/company/news/first_stable_ez_publish_4_0_release_for_php_5 Derick [EMAIL PROTECTED] The new release of eZ Publish is based on PHP 5 eZ Find 1.0 released -http://find.ez.no +http://ez.no/ezfind/news/ez_find_1_0_2_for_ez_publish_3_10_and_ez_find_1_0_0beta2_for_ez_publish_4_0_released Derick [EMAIL PROTECTED] A new product in the eZ family of open-source solutions... Modified: trunk/Feed/docs/examples/feed_creator/data/news.xml == --- trunk/Feed/docs/examples/feed_creator/data/news.xml [iso-8859-1] (original) +++ trunk/Feed/docs/examples/feed_creator/data/news.xml [iso-8859-1] Tue Mar 4 15:05:40 2008 @@ -5,29 +5,29 @@ linkhttp://ez.no/link descriptionThis RSS feed contains news feeds for eZ Publish and eZ Components./description managingEditor[EMAIL PROTECTED] (Derick)/managingEditor -pubDateTue, 04 Mar 2008 10:30:14 +0100/pubDate +pubDateTue, 04 Mar 2008 11:18:34 +0100/pubDate generatoreZ Components/generator docshttp://www.rssboard.org/rss-specification/docs item titleeZ Components 2007.1 released/title - linkhttp://components.ez.no/link + linkhttp://ezcomponents.org/resources/news/news-2007-07-02/link descriptionThe new release of eZ Components include Workflow, Authentication.../description author[EMAIL PROTECTED] (Derick)/author - guid isPermaLink=truehttp://components.ez.no/guid + guid isPermaLink=truehttp://ezcomponents.org/resources/news/news-2007-07-02/guid /item item titleeZ Publish 4.0 released/title - linkhttp://publish.ez.no/link + linkhttp://ez.no/company/news/first_stable_ez_publish_4_0_release_for_php_5/link descriptionThe new release of eZ Publish is based on PHP 5/description author[EMAIL PROTECTED] (Derick)/author - guid isPermaLink=truehttp://publish.ez.no/guid + guid isPermaLink=truehttp://ez.no/company/news/first_stable_ez_publish_4_0_release_for_php_5/guid /item item titleeZ Find 1.0 released/title - linkhttp://find.ez.no/link + linkhttp://ez.no/ezfind/news/ez_find_1_0_2_for_ez_publish_3_10_and_ez_find_1_0_0beta2_for_ez_publish_4_0_released/link descriptionA new product in the eZ family of open-source solutions.../description author[EMAIL PROTECTED] (Derick)/author - guid isPermaLink=truehttp://find.ez.no/guid + guid isPermaLink=truehttp://ez.no/ezfind/news/ez_find_1_0_2_for_ez_publish_3_10_and_ez_find_1_0_0beta2_for_ez_publish_4_0_released/guid /item /channel /rss Modified: trunk/Feed/docs/specifications.txt == --- trunk/Feed/docs/specifications.txt [iso-8859-1] (original) +++ trunk/Feed/docs/specifications.txt [iso-8859-1] Tue Mar 4 15:05:40 2008 @@ -2384,7 +2384,7 @@ Can appear only once. -Can be specified as ``HH:MM:SS``, ``H:MM:SS``, ``MM:SS``, ``M:SS`` or ``S`` +Can be specified as ``S``, ``M:SS``, ``MM:SS``, ``H:MM:SS`` or ``HH:MM:SS`` (H = hours, M = minutes, S = seconds). Modified: trunk/Feed/docs/tutorial.txt == --- trunk/Feed/docs/tutorial.txt [iso-8859-1] (original) +++ trunk/Feed/docs/tutorial.txt [iso-8859-1] Tue Mar 4 15:05:40 2008 @@ -142,95 +142,454 @@ ezcFeed::$supportedModulesPrefixes arrays. -Working with feeds -== - -Feeds can be created from scratch or from existing XML documents (stored in an -URI or in a string variable). The information stored in the feed can be -modified, or new information can be added. The feed object can be converted to -an XML document. - - -Creating a feed object +How to create a feed + + +This part of the tutorial will show you step by step how to create an
[svn-components] 7517 - /trunk/Feed/docs/examples/feed_creator/data/podcast.xml
Author: as Date: Tue Mar 4 15:06:13 2008 New Revision: 7517 Log: - Forgot to add an include file. Added: trunk/Feed/docs/examples/feed_creator/data/podcast.xml Added: trunk/Feed/docs/examples/feed_creator/data/podcast.xml == --- trunk/Feed/docs/examples/feed_creator/data/podcast.xml (added) +++ trunk/Feed/docs/examples/feed_creator/data/podcast.xml [iso-8859-1] Tue Mar 4 15:06:13 2008 @@ -1,0 +1,39 @@ +?xml version=1.0 encoding=utf-8? +rss version=2.0 xmlns:itunes=http://www.itunes.com/dtds/podcast-1.0.dtd; + channel +titleFlight of the RC plane/title +linkhttp://rcplanes.examples.com/link +descriptionA podcast for fans of RC planes, with information about planes, competitions, tutorials and tips/description +managingEditor[EMAIL PROTECTED] (Derick)/managingEditor +pubDateTue, 04 Mar 2008 14:56:46 +0100/pubDate +generatoreZ Components/generator +docshttp://www.rssboard.org/rss-specification/docs +itunes:category text=Technology + itunes:category text=Gadgets/ +/itunes:category +itunes:explicityes/itunes:explicit +itunes:image href=http://rcplanes.example.com/images/rc_plane_big.jpg/ +itunes:keywordsRC planes,gadgets,flying/itunes:keywords +itunes:subtitleCompetitions, tutorials and tips/itunes:subtitle +item + titleFlying an RC plane indoors/title + linkhttp://rcplanes.example.com/articles/fly-an-rc-plane-indoors.html/link + descriptionIn this episode, Derick talks about how to fly an RC plane in a big hall, around people working and throwing stuff at the plane/description + author[EMAIL PROTECTED] (Derick)/author + enclosure url=http://rcplanes.example.com/media/003-flying-indoors.mp3; length=49099054 type=audio/x-mp3/ + pubDateThu, 01 Jan 1970 01:00:00 +0100/pubDate + itunes:duration29:20/itunes:duration + itunes:keywordsRC planes,office flying,enemies/itunes:keywords +/item +item + titleThe mutant RC insect from Hell/title + linkhttp://rcplanes.example.com/articles/mutant-rc-insect.html/link + descriptionGunny just got back from a 2-months vacation in Tokyo with the ultimate RC toy ever (TM) - a mean and noisy RC insect based on top-secret Japanese technology/description + author[EMAIL PROTECTED] (Gunny)/author + enclosure url=http://rcplanes.example.com/media/004-mutant-rc-insect.mp3; length=74039198 type=audio/x-mp3/ + pubDateThu, 01 Jan 1970 01:00:00 +0100/pubDate + itunes:duration44:37/itunes:duration + itunes:keywordsRC planes,office flying,insect,Japanese/itunes:keywords +/item + /channel +/rss -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7518 - /trunk/Feed/docs/examples/feed_creator/data/podcast.xml
Author: as Date: Tue Mar 4 15:10:04 2008 New Revision: 7518 Log: - Use correct dates in the example podcast. Modified: trunk/Feed/docs/examples/feed_creator/data/podcast.xml Modified: trunk/Feed/docs/examples/feed_creator/data/podcast.xml == --- trunk/Feed/docs/examples/feed_creator/data/podcast.xml [iso-8859-1] (original) +++ trunk/Feed/docs/examples/feed_creator/data/podcast.xml [iso-8859-1] Tue Mar 4 15:10:04 2008 @@ -5,7 +5,7 @@ linkhttp://rcplanes.examples.com/link descriptionA podcast for fans of RC planes, with information about planes, competitions, tutorials and tips/description managingEditor[EMAIL PROTECTED] (Derick)/managingEditor -pubDateTue, 04 Mar 2008 14:56:46 +0100/pubDate +pubDateTue, 04 Mar 2008 15:10:01 +0100/pubDate generatoreZ Components/generator docshttp://www.rssboard.org/rss-specification/docs itunes:category text=Technology @@ -21,7 +21,7 @@ descriptionIn this episode, Derick talks about how to fly an RC plane in a big hall, around people working and throwing stuff at the plane/description author[EMAIL PROTECTED] (Derick)/author enclosure url=http://rcplanes.example.com/media/003-flying-indoors.mp3; length=49099054 type=audio/x-mp3/ - pubDateThu, 01 Jan 1970 01:00:00 +0100/pubDate + pubDateFri, 04 Jan 2008 11:18:34 +0100/pubDate itunes:duration29:20/itunes:duration itunes:keywordsRC planes,office flying,enemies/itunes:keywords /item @@ -31,7 +31,7 @@ descriptionGunny just got back from a 2-months vacation in Tokyo with the ultimate RC toy ever (TM) - a mean and noisy RC insect based on top-secret Japanese technology/description author[EMAIL PROTECTED] (Gunny)/author enclosure url=http://rcplanes.example.com/media/004-mutant-rc-insect.mp3; length=74039198 type=audio/x-mp3/ - pubDateThu, 01 Jan 1970 01:00:00 +0100/pubDate + pubDateTue, 22 Jan 2008 16:58:00 +0100/pubDate itunes:duration44:37/itunes:duration itunes:keywordsRC planes,office flying,insect,Japanese/itunes:keywords /item -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7476 - in /trunk/Feed: ./ src/processors/ tests/rss2/regression/parse/item/guid/
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
[svn-components] 7477 - in /trunk/Feed: ChangeLog docs/examples/ docs/examples/feed_creator/ docs/examples/feed_creator/data/ docs/examples/feed_creator/data/news.txt docs/examples/feed_creator/data/n
Author: as Date: Mon Mar 3 12:40:52 2008 New Revision: 7477 Log: - Added a feed creator example application. Added: trunk/Feed/docs/examples/ trunk/Feed/docs/examples/feed_creator/ trunk/Feed/docs/examples/feed_creator/data/ trunk/Feed/docs/examples/feed_creator/data/news.txt (with props) trunk/Feed/docs/examples/feed_creator/data/news.xml trunk/Feed/docs/examples/feed_creator/feed_creator.php (with props) Modified: trunk/Feed/ChangeLog trunk/Feed/docs/tutorial.txt Modified: trunk/Feed/ChangeLog == --- trunk/Feed/ChangeLog [iso-8859-1] (original) +++ trunk/Feed/ChangeLog [iso-8859-1] Mon Mar 3 12:40:52 2008 @@ -25,6 +25,7 @@ - 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. +- Added a feed creator example application. 1.0beta1 - Monday 18 December 2006 Added: trunk/Feed/docs/examples/feed_creator/data/news.txt == --- trunk/Feed/docs/examples/feed_creator/data/news.txt (added) +++ trunk/Feed/docs/examples/feed_creator/data/news.txt [iso-8859-1] Mon Mar 3 12:40:52 2008 @@ -1,0 +1,23 @@ +eZ news feeds +http://ez.no +Derick [EMAIL PROTECTED] +This RSS feed contains news feeds for eZ Publish and eZ Components. + +eZ Components 2007.1 released +http://components.ez.no +Derick [EMAIL PROTECTED] +The new release of eZ Components include Workflow, Authentication... + +eZ Publish 4.0 released +http://publish.ez.no +Derick [EMAIL PROTECTED] +The new release of eZ Publish is based on PHP 5 + +eZ Find.0 released +http://find.ez.no +Derick [EMAIL PROTECTED] +A new product in the eZ family of open-source solutions... Propchange: trunk/Feed/docs/examples/feed_creator/data/news.txt -- svn:eol-style = native Added: trunk/Feed/docs/examples/feed_creator/data/news.xml == --- trunk/Feed/docs/examples/feed_creator/data/news.xml (added) +++ trunk/Feed/docs/examples/feed_creator/data/news.xml [iso-8859-1] Mon Mar 3 12:40:52 2008 @@ -1,0 +1,33 @@ +?xml version=1.0 encoding=utf-8? +rss version=2.0 + channel +titleeZ news feeds/title +linkhttp://ez.no/link +descriptionThis RSS feed contains news feeds for eZ Publish and eZ Components./description +managingEditor[EMAIL PROTECTED] (Derick)/managingEditor +pubDateMon, 03 Mar 2008 12:39:14 +0100/pubDate +generatoreZ Components/generator +docshttp://www.rssboard.org/rss-specification/docs +item + titleeZ Components 2007.1 released/title + linkhttp://components.ez.no/link + descriptionThe new release of eZ Components include Workflow, Authentication.../description + author[EMAIL PROTECTED] (Derick)/author + guid isPermaLink=truehttp://components.ez.no/guid +/item +item + titleeZ Publish 4.0 released/title + linkhttp://publish.ez.no/link + descriptionThe new release of eZ Publish is based on PHP 5/description + author[EMAIL PROTECTED] (Derick)/author + guid isPermaLink=truehttp://publish.ez.no/guid +/item +item + titleeZ Find.0 released/title + linkhttp://find.ez.no/link + descriptionA new product in the eZ family of open-source solutions.../description + author[EMAIL PROTECTED] (Derick)/author + guid isPermaLink=truehttp://find.ez.no/guid +/item + /channel +/rss Added: trunk/Feed/docs/examples/feed_creator/feed_creator.php == --- trunk/Feed/docs/examples/feed_creator/feed_creator.php (added) +++ trunk/Feed/docs/examples/feed_creator/feed_creator.php [iso-8859-1] Mon Mar 3 12:40:52 2008 @@ -1,0 +1,206 @@ +?php +// Required for the eZ Components autoload mechanism. +// The components must be from SVN and the trunk directory must be in the path. +// For PEAR installations, use: require_once 'ezc/Base/base.php'; +require_once Base/src/base.php; + +/** + * Required for the eZ Components autoload mechanism. + * + * @param string $className A class to autoload + */ +function __autoload( $className ) +{ +ezcBase::autoload( $className ); +} + +// * + +echo eZ Components feed creator\n; +if ( count( $argv ) 3 ) +{ +echo \tFirst parameter: feed type (rss1, rss2 or atom)\n; +echo \tSecond parameter: txt file name\n; +die(); +} + +$feedType = $argv[1]; +$sourceFile = $argv[2]; + +$data = readDataFile( $sourceFile ); +$xml = createFeed( $feedType, $data ); + +$destFile = substr( $sourceFile, 0, strrpos( $sourceFile, '.' ) ) . '.xml'; +echo Creating xml file {$destFile} with contents:\n\n;
[svn-components] 7478 - /trunk/Feed/docs/examples/feed_creator/feed_creator.php
Author: as Date: Mon Mar 3 12:52:59 2008 New Revision: 7478 Log: - Small fixes in the example application. Modified: trunk/Feed/docs/examples/feed_creator/feed_creator.php Modified: trunk/Feed/docs/examples/feed_creator/feed_creator.php == --- trunk/Feed/docs/examples/feed_creator/feed_creator.php [iso-8859-1] (original) +++ trunk/Feed/docs/examples/feed_creator/feed_creator.php [iso-8859-1] Mon Mar 3 12:52:59 2008 @@ -20,7 +20,7 @@ if ( count( $argv ) 3 ) { echo \tFirst parameter: feed type (rss1, rss2 or atom)\n; -echo \tSecond parameter: txt file name\n; +echo \tSecond parameter: text file name\n; die(); } @@ -66,9 +66,11 @@ * /code * * @throws ezcBaseFileNotFoundException - * If $fileName is not found or cannot be opened - * - * @param string $fileName A file name containing a full path + * If $fileName is not found + * @throws ezcBaseFilePermissionException + * If $fileName cannot be opened + * + * @param string $fileName A file name containing a full or relative path * @return array(mixed) */ function readDataFile( $fileName ) -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7501 - in /trunk/Feed: docs/tutorial.txt src/feed.php
Author: as Date: Mon Mar 3 15:53:46 2008 New Revision: 7501 Log: - Some more details about the generated feed. Modified: trunk/Feed/docs/tutorial.txt trunk/Feed/src/feed.php Modified: trunk/Feed/docs/tutorial.txt == --- trunk/Feed/docs/tutorial.txt [iso-8859-1] (original) +++ trunk/Feed/docs/tutorial.txt [iso-8859-1] Mon Mar 3 15:53:46 2008 @@ -210,7 +210,9 @@ echo $module-getNamespace(); } -- generate an XML document from the ezcFeed object. Example:: +- generate an XML document from the ezcFeed object. The result string should be + saved to a file, and a link to a file made accessible. See + `Provide access to feeds in a web application`_. Example:: $xml = $feed-generate(); @@ -473,6 +475,9 @@ .. include:: examples/feed_creator/data/news.xml :literal: +See the section `Provide access to feeds in a web application`_ for details on +how to provide access to the generated XML feed. + Best practices == @@ -488,13 +493,6 @@ All ATOM feeds must be identified with the *application/atom+xml* media type. Use the getContentType() method of ezcFeed to get this string. - - -Self link -` - -All ATOM feeds should have a *link* feed element with *rel=self* which -points back to the feed itself (with the *href* attribute). RSS1 @@ -506,13 +504,6 @@ All RSS1 feeds should be identified with the *application/rss+xml* media type (although it is not a standard yet). Use the getContentType() method of ezcFeed to get this string. - - -Self link -` - -All RSS1 feeds are required to have the *about* attribute which points back to -the feed itself. RSS2 Modified: trunk/Feed/src/feed.php == --- trunk/Feed/src/feed.php [iso-8859-1] (original) +++ trunk/Feed/src/feed.php [iso-8859-1] Mon Mar 3 15:53:46 2008 @@ -91,7 +91,9 @@ * echo $module-getNamespace(); * } * /code - * - generate an XML document from the [EMAIL PROTECTED] ezcFeed} object. Example: + * - generate an XML document from the [EMAIL PROTECTED] ezcFeed} object. The result + * string should be saved to a file, and a link to a file made accessible to + * users of the application. Example: * code * $xml = $feed-generate(); * /code -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7467 - /trunk/Feed/docs/tutorial.txt
Author: as Date: Fri Feb 29 13:34:35 2008 New Revision: 7467 Log: - Added some useful information to the Feed tutorial. Modified: trunk/Feed/docs/tutorial.txt Modified: trunk/Feed/docs/tutorial.txt == --- trunk/Feed/docs/tutorial.txt [iso-8859-1] (original) +++ trunk/Feed/docs/tutorial.txt [iso-8859-1] Fri Feb 29 13:34:35 2008 @@ -11,6 +11,79 @@ The purpose of the Feed component is to handle parsing and creating RSS and ATOM feeds. + + +XML feeds overview +== + +An XML feed is an XML document with a certain structure, which lists a series +of entries or items. + +Example +--- + +An example XML feed:: + + ?xml version=1.0? + rss version=2.0 +channel + titleLiftoff News/title + linkhttp://liftoff.msfc.nasa.gov//link + descriptionLiftoff to Space Exploration./description + languageen-us/language + pubDateTue, 10 Jun 2003 04:00:00 GMT/pubDate + webMaster[EMAIL PROTECTED]/webMaster + item +titleThe Engine That Does More/title +linkhttp://liftoff.msfc.nasa.gov/news/2003/news-VASIMR.asp/link +descriptionBefore man travels to Mars, NASA hopes to design new engines that will let us fly through the Solar System more quickly. The proposed VASIMR engine would do that./description +pubDateTue, 27 May 2003 08:37:32 GMT/pubDate +guidhttp://liftoff.msfc.nasa.gov/2003/05/27.html#item571/guid + /item + item +titleAstronauts' Dirty Laundry/title +linkhttp://liftoff.msfc.nasa.gov/news/2003/news-laundry.asp/link +descriptionCompared to earlier spacecraft, the International Space Station has many luxuries, but laundry facilities are not one of them. Instead, astronauts have other options./description +pubDateTue, 20 May 2003 08:56:02 GMT/pubDate +guidhttp://liftoff.msfc.nasa.gov/2003/05/20.html#item570/guid + /item +/channel + /rss + +This XML document describes an RSS2 feed, with channel elements *title*, +*link*, *description*, *language*, *pubDate* and *webMaster*. The XML document +also contains 2 entries (*item*), each one with the elements *title*, *link*, +*description*, *pubDate* and *guid*. These elements are not the only ones +present in RSS2 feeds, and some elements are not required to be present. + +The Feed document allows creating and parsing such XML documents. The feed +types supported by the Feed component are ATOM, RSS1 and RSS2. + + +Modules +--- + +XML feeds are extensible through modules. A module has a namespace and certain +XML elements. An example of a feed module is iTunes, which allows creating and +parsing podcasts for the `iTunes`_ media player. + + +Applications + + +XML feeds can be used in many applications: + +- **content aggregation** - blogs or journals can provide their content in an + XML feed form. Subscribers to a feed are able to view content aggregated + from multiple websites in one location, using an `aggregator`_ software + program. +- **news** - websites can provide news in a feed format. The advantage is that + users do not need to check a website or subscribe to newsletters, but + instead can have news from multiple sources in their `aggregator`_ program. +- **podcasts** - XML feeds can have *enclosures*, which are links to media + files (audio, video, pdf, etc). Some `aggregator`_ programs or the `iTunes`_ + media player can download automatically these media files when they become + available. Class overview @@ -44,9 +117,9 @@ processor is used to parse and generate that type. The following feed processors are supported by the Feed component: -- RSS1 (ezcFeedRss1) -- RSS2 (ezcFeedRss2) -- ATOM (ezcFeedAtom) +- RSS1 (ezcFeedRss1) - `RSS1 specifications`_ +- RSS2 (ezcFeedRss2) - `RSS2 specifications`_ +- ATOM (ezcFeedAtom) - `ATOM specifications`_ A new processor can be defined by creating a class which extends the class ezcFeedProcessor and implements the interface ezcFeedParser, and adding it to the @@ -58,10 +131,11 @@ The following modules are supported by the Feed component: -- Content (ezcFeedContentModule) -- CreativeCommons (ezcFeedCreativeCommonsModule) -- DublinCore (ezcFeedDublinCoreModule) -- iTunes (ezcFeedITunesModule) +- Content (ezcFeedContentModule) - `Content specifications`_ +- CreativeCommons (ezcFeedCreativeCommonsModule) - + `CreativeCommons specifications`_ +- DublinCore (ezcFeedDublinCoreModule) - `DublinCore specifications`_ +- iTunes (ezcFeedITunesModule) - `iTunes specifications`_ A new module can be defined by creating a class which extends the class ezcFeedModule, and adding it to the ezcFeed::$supportedModules and @@ -484,6 +558,17 @@ .. _iTunes: http://www.apple.com/itunes/ +.. _RSS1 specifications: http://web.resource.org/rss/1.0/spec +.. _RSS2 specifications: http://www.rssboard.org/rss-specification +.. _ATOM specifications:
[svn-components] 7458 - in /trunk/Feed: ChangeLog src/processors/rss2.php tests/feed_test.php
Author: as Date: Wed Feb 27 09:30:06 2008 New Revision: 7458 Log: - Added parse support for version 0.93 and 0.94 RSS feeds. Modified: trunk/Feed/ChangeLog trunk/Feed/src/processors/rss2.php trunk/Feed/tests/feed_test.php Modified: trunk/Feed/ChangeLog == --- trunk/Feed/ChangeLog [iso-8859-1] (original) +++ trunk/Feed/ChangeLog [iso-8859-1] Wed Feb 27 09:30:06 2008 @@ -23,6 +23,7 @@ - Added support for the iTunes module. - 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. 1.0beta1 - Monday 18 December 2006 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] Wed Feb 27 09:30:06 2008 @@ -609,7 +609,7 @@ { return false; } -if ( !in_array( $xml-documentElement-getAttribute( 'version' ), array( '0.91', '0.92', '2.0' ) ) ) +if ( !in_array( $xml-documentElement-getAttribute( 'version' ), array( '0.91', '0.92', '0.93', '0.94', '2.0' ) ) ) { return false; } Modified: trunk/Feed/tests/feed_test.php == --- trunk/Feed/tests/feed_test.php [iso-8859-1] (original) +++ trunk/Feed/tests/feed_test.php [iso-8859-1] Wed Feb 27 09:30:06 2008 @@ -369,6 +369,22 @@ $this-assertEquals( 'Item 0.92', $feed-items[0]-title-__toString() ); } +public function testParseRss2Version093() +{ +$feed = ezcFeed::parseContent( '?xml version=1.0 encoding=utf-8?rss version=0.93channeltitleRSS 0.93/titleitemtitleItem 0.93/title/item/channel/rss' ); +$this-assertEquals( 'rss2', $feed-getFeedType() ); +$this-assertEquals( 'RSS 0.93', $feed-title-__toString() ); +$this-assertEquals( 'Item 0.93', $feed-items[0]-title-__toString() ); +} + +public function testParseRss2Version094() +{ +$feed = ezcFeed::parseContent( '?xml version=1.0 encoding=utf-8?rss version=0.94channeltitleRSS 0.94/titleitemtitleItem 0.94/title/item/channel/rss' ); +$this-assertEquals( 'rss2', $feed-getFeedType() ); +$this-assertEquals( 'RSS 0.94', $feed-title-__toString() ); +$this-assertEquals( 'Item 0.94', $feed-items[0]-title-__toString() ); +} + public function testCreateModuleNotSupported() { try -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7450 - in /trunk/Feed: ./ design/ docs/ src/ src/interfaces/ src/modules/ tests/ tests/atom/regression/generate/modules/creativecommons/ tests/atom/regression/parse/modules/creativeco
Author: as Date: Tue Feb 26 13:21:56 2008 New Revision: 7450 Log: - Added support for the CreativeCommons module. Added: trunk/Feed/src/modules/creativecommons_module.php (with props) trunk/Feed/tests/atom/regression/generate/modules/creativecommons/ trunk/Feed/tests/atom/regression/generate/modules/creativecommons/creativecommons_all_item_multiple.in trunk/Feed/tests/atom/regression/generate/modules/creativecommons/creativecommons_all_item_multiple.out trunk/Feed/tests/atom/regression/generate/modules/creativecommons/creativecommons_feed.in trunk/Feed/tests/atom/regression/generate/modules/creativecommons/creativecommons_feed.out trunk/Feed/tests/atom/regression/generate/modules/creativecommons/creativecommons_item.in trunk/Feed/tests/atom/regression/generate/modules/creativecommons/creativecommons_item.out trunk/Feed/tests/atom/regression/parse/modules/creativecommons/ trunk/Feed/tests/atom/regression/parse/modules/creativecommons/creativecommons_all_item_multiple.in trunk/Feed/tests/atom/regression/parse/modules/creativecommons/creativecommons_all_item_multiple.out trunk/Feed/tests/atom/regression/parse/modules/creativecommons/creativecommons_feed.in trunk/Feed/tests/atom/regression/parse/modules/creativecommons/creativecommons_feed.out trunk/Feed/tests/atom/regression/parse/modules/creativecommons/creativecommons_item.in trunk/Feed/tests/atom/regression/parse/modules/creativecommons/creativecommons_item.out trunk/Feed/tests/rss1/regression/generate/modules/creativecommons/ trunk/Feed/tests/rss1/regression/generate/modules/creativecommons/creativecommons_all_item_multiple.in trunk/Feed/tests/rss1/regression/generate/modules/creativecommons/creativecommons_all_item_multiple.out trunk/Feed/tests/rss1/regression/generate/modules/creativecommons/creativecommons_feed.in trunk/Feed/tests/rss1/regression/generate/modules/creativecommons/creativecommons_feed.out trunk/Feed/tests/rss1/regression/generate/modules/creativecommons/creativecommons_item.in trunk/Feed/tests/rss1/regression/generate/modules/creativecommons/creativecommons_item.out trunk/Feed/tests/rss1/regression/parse/modules/creativecommons/ trunk/Feed/tests/rss1/regression/parse/modules/creativecommons/creativecommons_all_item_multiple.in trunk/Feed/tests/rss1/regression/parse/modules/creativecommons/creativecommons_all_item_multiple.out trunk/Feed/tests/rss1/regression/parse/modules/creativecommons/creativecommons_feed.in trunk/Feed/tests/rss1/regression/parse/modules/creativecommons/creativecommons_feed.out trunk/Feed/tests/rss1/regression/parse/modules/creativecommons/creativecommons_item.in trunk/Feed/tests/rss1/regression/parse/modules/creativecommons/creativecommons_item.out trunk/Feed/tests/rss2/regression/generate/modules/creativecommons/ trunk/Feed/tests/rss2/regression/generate/modules/creativecommons/creativecommons_all_item_multiple.in trunk/Feed/tests/rss2/regression/generate/modules/creativecommons/creativecommons_all_item_multiple.out trunk/Feed/tests/rss2/regression/generate/modules/creativecommons/creativecommons_feed.in trunk/Feed/tests/rss2/regression/generate/modules/creativecommons/creativecommons_feed.out trunk/Feed/tests/rss2/regression/generate/modules/creativecommons/creativecommons_item.in trunk/Feed/tests/rss2/regression/generate/modules/creativecommons/creativecommons_item.out trunk/Feed/tests/rss2/regression/parse/modules/creativecommons/ trunk/Feed/tests/rss2/regression/parse/modules/creativecommons/creativecommons_all_item_multiple.in trunk/Feed/tests/rss2/regression/parse/modules/creativecommons/creativecommons_all_item_multiple.out trunk/Feed/tests/rss2/regression/parse/modules/creativecommons/creativecommons_feed.in trunk/Feed/tests/rss2/regression/parse/modules/creativecommons/creativecommons_feed.out trunk/Feed/tests/rss2/regression/parse/modules/creativecommons/creativecommons_item.in trunk/Feed/tests/rss2/regression/parse/modules/creativecommons/creativecommons_item.out Modified: trunk/Feed/ChangeLog trunk/Feed/design/class_diagram.png trunk/Feed/docs/specifications.txt trunk/Feed/docs/tutorial.txt trunk/Feed/src/feed.php trunk/Feed/src/feed_autoload.php trunk/Feed/src/interfaces/module.php trunk/Feed/tests/feed_test.php Modified: trunk/Feed/ChangeLog == --- trunk/Feed/ChangeLog [iso-8859-1] (original) +++ trunk/Feed/ChangeLog [iso-8859-1] Tue Feb 26 13:21:56 2008 @@ -21,6 +21,7 @@ - Fixed issue #12557: added parse support for version 0.91 and 0.92 RSS feeds, which are considered as RSS2 feeds. - Added support for the iTunes module. +- Added support for the CreativeCommons module. 1.0beta1 - Monday 18 December 2006 Modified: trunk/Feed/design/class_diagram.png
[svn-components] 7452 - in /trunk/Feed: ./ src/processors/ tests/rss1/regression/generate/item/ tests/rss1/regression/generate/modules/content/ tests/rss1/regression/generate/modules/creativecommons/
Author: as Date: Tue Feb 26 13:39:36 2008 New Revision: 7452 Log: - Added the required xmlns attribute when creating RSS1 feeds. Modified: trunk/Feed/ChangeLog trunk/Feed/src/processors/rss1.php trunk/Feed/tests/rss1/regression/generate/item/item_about+title+link.out trunk/Feed/tests/rss1/regression/generate/item/item_multiple.out trunk/Feed/tests/rss1/regression/generate/modules/content/content_html.out trunk/Feed/tests/rss1/regression/generate/modules/content/content_multiple.out trunk/Feed/tests/rss1/regression/generate/modules/creativecommons/creativecommons_all_item_multiple.out trunk/Feed/tests/rss1/regression/generate/modules/creativecommons/creativecommons_feed.out trunk/Feed/tests/rss1/regression/generate/modules/creativecommons/creativecommons_item.out trunk/Feed/tests/rss1/regression/generate/modules/dc/dc_all_lang_multiple.out trunk/Feed/tests/rss1/regression/generate/modules/dc/dc_creator_item_multiple.out trunk/Feed/tests/rss1/regression/generate/modules/itunes/itunes_all.out trunk/Feed/tests/rss1/regression/generate/modules/itunes/itunes_all_feed.out trunk/Feed/tests/rss1/regression/generate/modules/itunes/itunes_all_item.out trunk/Feed/tests/rss1/regression/generate/modules/itunes/itunes_all_item_multiple.out trunk/Feed/tests/rss1/regression/generate/modules/itunes/itunes_category_multiple.out trunk/Feed/tests/rss1/regression/generate/optional/image/image_about+title+url+link.out trunk/Feed/tests/rss1/regression/generate/optional/textinput/textinput_about+title+description+name+link.out Modified: trunk/Feed/ChangeLog == --- trunk/Feed/ChangeLog [iso-8859-1] (original) +++ trunk/Feed/ChangeLog [iso-8859-1] Tue Feb 26 13:39:36 2008 @@ -22,6 +22,7 @@ which are considered as RSS2 feeds. - Added support for the iTunes module. - Added support for the CreativeCommons module. +- Added the required xmlns attribute when creating RSS1 feeds. 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] Tue Feb 26 13:39:36 2008 @@ -141,6 +141,8 @@ protected function createRootElement( $version ) { $rss = $this-xml-createElementNS( 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', 'rdf:RDF' ); +$this-addAttribute( $rss, 'xmlns', 'http://purl.org/rss/1.0/' ); + $this-channel = $channelTag = $this-xml-createElement( 'channel' ); $rss-appendChild( $channelTag ); $this-root = $this-xml-appendChild( $rss ); Modified: trunk/Feed/tests/rss1/regression/generate/item/item_about+title+link.out == --- trunk/Feed/tests/rss1/regression/generate/item/item_about+title+link.out [iso-8859-1] (original) +++ trunk/Feed/tests/rss1/regression/generate/item/item_about+title+link.out [iso-8859-1] Tue Feb 26 13:39:36 2008 @@ -1,5 +1,5 @@ ?xml version=1.0 encoding=utf-8? -rdf:RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#; +rdf:RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#; xmlns=http://purl.org/rss/1.0/; channel rdf:about=Channel about titleFeed title/title linkFeed link/link Modified: trunk/Feed/tests/rss1/regression/generate/item/item_multiple.out == --- trunk/Feed/tests/rss1/regression/generate/item/item_multiple.out [iso-8859-1] (original) +++ trunk/Feed/tests/rss1/regression/generate/item/item_multiple.out [iso-8859-1] Tue Feb 26 13:39:36 2008 @@ -1,5 +1,5 @@ ?xml version=1.0 encoding=utf-8? -rdf:RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#; +rdf:RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#; xmlns=http://purl.org/rss/1.0/; channel rdf:about=Channel about titleFeed title/title linkFeed link/link Modified: trunk/Feed/tests/rss1/regression/generate/modules/content/content_html.out == --- trunk/Feed/tests/rss1/regression/generate/modules/content/content_html.out [iso-8859-1] (original) +++ trunk/Feed/tests/rss1/regression/generate/modules/content/content_html.out [iso-8859-1] Tue Feb 26 13:39:36 2008 @@ -1,5 +1,5 @@ ?xml version=1.0 encoding=utf-8? -rdf:RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#; xmlns:content=http://purl.org/rss/1.0/modules/content/; +rdf:RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#; xmlns=http://purl.org/rss/1.0/; xmlns:content=http://purl.org/rss/1.0/modules/content/; channel rdf:about=Channel about titleFeed title/title linkFeed link/link Modified:
[svn-components] 7432 [2/2] - in /trunk/Feed: ./ design/ docs/ src/ src/interfaces/ src/modules/ src/processors/ tests/ tests/atom/regression/generate/modules/itunes/ tests/atom/regression/parse/modul
Added: trunk/Feed/tests/rss1/regression/generate/modules/itunes/itunes_category_multiple.out == --- trunk/Feed/tests/rss1/regression/generate/modules/itunes/itunes_category_multiple.out (added) +++ trunk/Feed/tests/rss1/regression/generate/modules/itunes/itunes_category_multiple.out [iso-8859-1] Fri Feb 22 13:14:18 2008 @@ -1,0 +1,24 @@ +?xml version=1.0 encoding=utf-8? +rdf:RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#; xmlns:itunes=http://www.itunes.com/dtds/podcast-1.0.dtd; + channel rdf:about=Channel about +titleFeed title/title +linkFeed link/link +descriptionFeed description/description +items + rdf:Seq +rdf:li resource=Item about/ + /rdf:Seq +/items +itunes:category text=iTunes feed category 1 + itunes:category text=iTunes feed sub-category 1/ +/itunes:category +itunes:category text=iTunes feed category 2/ +itunes:category text=iTunes feed category 3 + itunes:category text=iTunes feed sub-category 3/ +/itunes:category + /channel + item rdf:about=Item about +titleItem title/title +linkItem link/link + /item +/rdf:RDF Added: trunk/Feed/tests/rss1/regression/parse/modules/itunes/itunes_all.in == --- trunk/Feed/tests/rss1/regression/parse/modules/itunes/itunes_all.in (added) +++ trunk/Feed/tests/rss1/regression/parse/modules/itunes/itunes_all.in [iso-8859-1] Fri Feb 22 13:14:18 2008 @@ -1,0 +1,39 @@ +?xml version=1.0 encoding=utf-8? +rdf:RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#; xmlns=http://purl.org/rss/1.0/; xmlns:itunes=http://www.itunes.com/dtds/podcast-1.0.dtd; + channel rdf:about=Channel about +titleFeed title/title +descriptionFeed description/description +linkFeed link/link +items + rdf:Seq +rdf:li resource=Item link/ + /rdf:Seq + /items +itunes:authoriTunes feed author/itunes:author +itunes:blockiTunes feed block/itunes:block +itunes:category text=iTunes feed category/ +itunes:explicitiTunes feed explicit/itunes:explicit +itunes:image href=iTunes feed image/ +itunes:keywordsiTunes feed keywords/itunes:keywords +itunes:new-feed-urliTunes feed new-feed-url/itunes:new-feed-url +itunes:owner + itunes:emailiTunes feed owner email/itunes:email + itunes:nameiTunes feed owner name/itunes:name +/itunes:owner +itunes:subtitleiTunes feed subtitle/itunes:subtitle +itunes:summaryiTunes feed summary/itunes:summary + /channel + item rdf:about=Item link +titleItem title/title +linkItem link/link +descriptionItem description/description +itunes:authoriTunes item author/itunes:author +itunes:blockiTunes item block/itunes:block +itunes:durationiTunes item duration/itunes:duration +itunes:explicitiTunes item explicit/itunes:explicit +itunes:image href=iTunes item image/ +itunes:keywordsiTunes item keywords/itunes:keywords +itunes:subtitleiTunes item subtitle/itunes:subtitle +itunes:summaryiTunes item summary/itunes:summary + /item +/rdf:RDF Added: trunk/Feed/tests/rss1/regression/parse/modules/itunes/itunes_all.out == --- trunk/Feed/tests/rss1/regression/parse/modules/itunes/itunes_all.out (added) +++ trunk/Feed/tests/rss1/regression/parse/modules/itunes/itunes_all.out [iso-8859-1] Fri Feb 22 13:14:18 2008 @@ -1,0 +1,52 @@ +?php +$feed = new ezcFeed( 'rss1' ); + +$feed-id = 'Channel about'; +$feed-title = 'Feed title'; +$feed-description = 'Feed description'; +$feed-link = 'Feed link'; + +$module = $feed-addModule( 'iTunes' ); +$module-author = 'iTunes feed author'; +$module-block = 'iTunes feed block'; + +$category = $module-add( 'category' ); +$category-text = 'iTunes feed category'; + +$module-explicit = 'iTunes feed explicit'; + +$image = $module-add( 'image' ); +$image-href = 'iTunes feed image'; + +$module-keywords = 'iTunes feed keywords'; +$module-newfeedurl = 'iTunes feed new-feed-url'; + +$owner = $module-add( 'owner' ); +$owner-email = 'iTunes feed owner email'; +$owner-name = 'iTunes feed owner name'; + +$module-subtitle = 'iTunes feed subtitle'; +$module-summary = 'iTunes feed summary'; + +$item = $feed-add( 'item' ); +$item-id = 'Item link'; +$item-title = 'Item title'; +$item-link = 'Item link'; +$item-description = 'Item description'; + +$module = $item-addModule( 'iTunes' ); + +$module-author = 'iTunes item author'; +$module-block = 'iTunes item block'; +$module-duration = 'iTunes item duration'; +$module-explicit = 'iTunes item explicit'; + +$image = $module-add( 'image' ); +$image-href = 'iTunes item image'; + +$module-keywords = 'iTunes item keywords'; +$module-subtitle = 'iTunes item subtitle'; +$module-summary = 'iTunes item summary'; + +return $feed; +? Added:
[svn-components] 7433 - /trunk/Feed/tests/feed_test.php
Author: as Date: Fri Feb 22 14:17:55 2008 New Revision: 7433 Log: - Added some more tests for the RSS2 parser. Modified: trunk/Feed/tests/feed_test.php Modified: trunk/Feed/tests/feed_test.php == --- trunk/Feed/tests/feed_test.php [iso-8859-1] (original) +++ trunk/Feed/tests/feed_test.php [iso-8859-1] Fri Feb 22 14:17:55 2008 @@ -170,6 +170,36 @@ } } +public function testParseRss2NoVersion() +{ +try +{ +$feed = ezcFeed::parseContent( '?xml version=1.0 encoding=utf-8?rsschanneltitleRSS no version/titleitemtitleItem no version/title/item/channel/rss' ); +$this-fail( 'Expected exception not thrown' ); +} +catch ( ezcFeedCanNotParseException $e ) +{ +$expected = ' could not be parsed: Feed type not recognized.; +$result = substr( $e-getMessage(), strlen( $e-getMessage() ) - 48 ); +$this-assertEquals( $expected, $result ); +} +} + +public function testParseRss2UnsupportedVersion() +{ +try +{ +$feed = ezcFeed::parseContent( '?xml version=1.0 encoding=utf-8?rss version=unsupported versionchanneltitleRSS unsupported version/titleitemtitleItem unsupported version/title/item/channel/rss' ); +$this-fail( 'Expected exception not thrown' ); +} +catch ( ezcFeedCanNotParseException $e ) +{ +$expected = ' could not be parsed: Feed type not recognized.; +$result = substr( $e-getMessage(), strlen( $e-getMessage() ) - 48 ); +$this-assertEquals( $expected, $result ); +} +} + public function testParseModuleNotRecognized() { $feed = ezcFeed::parseContent( '?xml version=1.0 encoding=utf-8?feed xmlns=http://www.w3.org/2005/Atom;unsupported_module:elementContent/unsupported_module:element/feed' ); -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7434 - in /trunk/Feed: src/feed.php tests/feed_test.php
Author: as Date: Fri Feb 22 15:09:22 2008 New Revision: 7434 Log: - Added some more tests for undefined and unsupported modules. - Fixed the broken isset in ezcFeed. Modified: trunk/Feed/src/feed.php trunk/Feed/tests/feed_test.php Modified: trunk/Feed/src/feed.php == --- trunk/Feed/src/feed.php [iso-8859-1] (original) +++ trunk/Feed/src/feed.php [iso-8859-1] Fri Feb 22 15:09:22 2008 @@ -465,6 +465,8 @@ } } } + +throw new ezcFeedUnsupportedModuleException( $property ); } /** @@ -507,7 +509,7 @@ case 'updated': case 'webMaster': $value = $this-feedProcessor-get( $name ); -return ( $value === null ); +return ( $value !== null ); default: $supportedModules = ezcFeed::getSupportedModules(); @@ -516,6 +518,8 @@ return $this-hasModule( $name );; } } + +return false; } /** Modified: trunk/Feed/tests/feed_test.php == --- trunk/Feed/tests/feed_test.php [iso-8859-1] (original) +++ trunk/Feed/tests/feed_test.php [iso-8859-1] Fri Feb 22 15:09:22 2008 @@ -224,6 +224,42 @@ $this-assertEquals( 'application/atom+xml', $feed-getContentType() ); } +public function testParseAtomUnsupportedModule() +{ +$dot = DIRECTORY_SEPARATOR; +$file = dirname( __FILE__ ) . {$dot}atom{$dot}data{$dot}atom_example_from_specs.xml; + +$feed = ezcFeed::parse( $file ); + +try +{ +$module = $feed-unsupported_module; +$this-fail( 'Expected exception not thrown' ); +} +catch ( ezcFeedUnsupportedModuleException $e ) +{ +$this-assertEquals( The module 'unsupported_module' is not supported., $e-getMessage() ); +} +} + +public function testParseAtomUndefinedModule() +{ +$dot = DIRECTORY_SEPARATOR; +$file = dirname( __FILE__ ) . {$dot}atom{$dot}data{$dot}atom_example_from_specs.xml; + +$feed = ezcFeed::parse( $file ); + +try +{ +$module = $feed-iTunes; +$this-fail( 'Expected exception not thrown' ); +} +catch ( ezcFeedUndefinedModuleException $e ) +{ +$this-assertEquals( The module 'iTunes' is not defined yet., $e-getMessage() ); +} +} + public function testParseAtom1() { $dot = DIRECTORY_SEPARATOR; @@ -233,6 +269,8 @@ $this-assertEquals( 'atom', $feed-getFeedType() ); $this-assertEquals( 'application/atom+xml', $feed-getContentType() ); +$this-assertEquals( false, isset( $feed-skipDays ) ); +$this-assertEquals( false, isset( $feed-unsupportedModule ) ); } public function testParseAtom2() @@ -289,6 +327,9 @@ $this-assertEquals( 'rss2', $feed-getFeedType() ); $this-assertEquals( 'LibriVox Audiobooks', $feed-title-__toString() ); + +$modules = $feed-getModules(); +$this-assertEquals( true, isset( $modules['iTunes'] ) ); } public function testParseRss2Podcast2() -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7439 - /trunk/Feed/docs/specifications.txt
Author: as Date: Fri Feb 22 16:32:34 2008 New Revision: 7439 Log: - Added some more iTunes module documentation. Modified: trunk/Feed/docs/specifications.txt Modified: trunk/Feed/docs/specifications.txt == --- trunk/Feed/docs/specifications.txt [iso-8859-1] (original) +++ trunk/Feed/docs/specifications.txt [iso-8859-1] Fri Feb 22 16:32:34 2008 @@ -2110,6 +2110,17 @@ `iTunes specifications`_ +Recommendations +--- + +- All values should be plain text (no markup or HTML) +- Values are limited to 255 characters, except for *summary* which can be up + to 4000 characters +- Whitespace in values is significant, i.e. it will show in `iTunes`_, so + don't add leading or trailing whitespace to your values +- CDATA sections are strongly discouraged + + Feed elements - @@ -2122,6 +2133,9 @@ Can appear only once. +If missing, `iTunes`_ will use the *author* / *managingEditor* element from +the feed (|ezcFeed-author|_). + iTunes-block @@ -2172,6 +2186,9 @@ The URL to the image is specified in the attribute *href*. +If missing, `iTunes`_ will use the *image* element from the feed +(|ezcFeed-image|_). + iTunes-keywords ``` @@ -2231,6 +2248,8 @@ Can appear only once. +If missing, `iTunes`_ will use the *description* element from the feed +(|ezcFeed-description|_). Item elements @@ -2294,12 +2313,12 @@ The URL to the image is specified in the attribute *href*. -NOTE: The `iTunes specifications` say that image is supported at podcast-level -only, but there are many podcasts using image at podcast entry (item) level -also, and there are software applications supporting that too. Use image at -item-level at your own risk, as some software applications might not support -it. The Feed component supports parsing and generating feeds with image at -both podcast-level and item-level. +NOTE: The `iTunes specifications`_ say that image is supported at +podcast-level only, but there are many podcasts using image at podcast entry +(item) level also, and there are software applications supporting that too. +Use *image* at item-level at your own risk, as some software applications +might not support it. The Feed component supports parsing and generating +feeds with image at both podcast-level and item-level. iTunes-item-keywords @@ -2334,6 +2353,8 @@ Can appear only once. +If missing, `iTunes`_ will use the *description* element from the feed +(|ezcFeed-item-description|_). Resources @@ -2372,6 +2393,7 @@ .. _DCMI Type Vocabulary: http://dublincore.org/documents/dcmi-type-vocabulary/ .. _RSS language codes: http://www.rssboard.org/rss-language-codes .. _iTunes categories: http://www.apple.com/itunes/store/podcaststechspecs.html#categories +.. _iTunes: http://www.apple.com/itunes/ .. |ezcFeed-author| replace:: author .. |ezcFeed-category| replace:: category -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7441 - in /trunk/Feed: docs/specifications.txt src/modules/itunes_module.php
Author: as Date: Fri Feb 22 16:46:08 2008 New Revision: 7441 Log: - Better documentation for the category element of the iTunes module. Modified: trunk/Feed/docs/specifications.txt trunk/Feed/src/modules/itunes_module.php Modified: trunk/Feed/docs/specifications.txt == --- trunk/Feed/docs/specifications.txt [iso-8859-1] (original) +++ trunk/Feed/docs/specifications.txt [iso-8859-1] Fri Feb 22 16:46:08 2008 @@ -2157,9 +2157,45 @@ Can appear multiple times. Categories can have sub-categories. +The category name is specified in the attribute *text*. + The ampersands () in categories must be escaped to ``amp;``. -Valid `iTunes categories`_ values. A maximum of 3 categories are recommended. +Valid values for categories are found in the `iTunes categories`_ section of +the `iTunes specifications`_. A maximum of 3 categories are recommended. + +Create example:: + + // $feed is an ezcFeed object + $iTunes = $feed-addModule( 'iTunes' ); + + // add the podcast in one or more categories + sub-categories + $category = $iTunes-add( 'category' ); + $category-text = 'iTunes category'; + $subCategory = $category-add( 'category' ); + $subCategory-text = 'iTunes sub-category'; + +Parse example:: + + // $feed is an ezcFeed object + if ( isset( $feed-iTunes ) ) + { + $iTunes = $feed-iTunes; + if ( isset( $iTunes-category ) ) + { + foreach ( $iTunes-category as $category ) + { + echo $category-text; + if ( isset( $category-category ) ) + { + foreach ( $category-category as $subCategory ) + { + echo $subCategory-text; + } + } + } + } + } iTunes-explicit @@ -2186,7 +,6 @@ The URL to the image is specified in the attribute *href*. If missing, `iTunes`_ will use the |ezcFeed-image|_ element from the feed. - iTunes-keywords Modified: trunk/Feed/src/modules/itunes_module.php == --- trunk/Feed/src/modules/itunes_module.php [iso-8859-1] (original) +++ trunk/Feed/src/modules/itunes_module.php [iso-8859-1] Fri Feb 22 16:46:08 2008 @@ -28,13 +28,23 @@ * * Parse example: * code - * // $item is an ezcFeedItem object - * foreach ( $item-iTunes-category as $category ) + * // $feed is an ezcFeed object + * if ( isset( $feed-iTunes ) ) * { - * echo $category-text; - * foreach ( $category-category as $subCategory ) + * $iTunes = $feed-iTunes; + * if ( isset( $iTunes-category ) ) * { - * echo $subCategory-text; + * foreach ( $iTunes-category as $category ) + * { + * echo $category-text; + * if ( isset( $category-category ) ) + * { + * foreach ( $category-category as $subCategory ) + * { + * echo $subCategory-text; + * } + * } + * } * } * } * /code -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7406 - /trunk/Feed/src/modules/dublincore_module.php
Author: as Date: Tue Feb 19 10:09:47 2008 New Revision: 7406 Log: - Fixed typo. Modified: trunk/Feed/src/modules/dublincore_module.php Modified: trunk/Feed/src/modules/dublincore_module.php == --- trunk/Feed/src/modules/dublincore_module.php [iso-8859-1] (original) +++ trunk/Feed/src/modules/dublincore_module.php [iso-8859-1] Tue Feb 19 10:09:47 2008 @@ -142,7 +142,7 @@ ) ); /** - * Constructs a new ezcFeedContentModule object. + * Constructs a new ezcFeedDublinCoreModule object. * * @param string $level The level of the data container ('feed' or 'item') */ -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7415 - in /trunk/Feed/src/modules: content_module.php dublincore_module.php
Author: as Date: Tue Feb 19 15:44:35 2008 New Revision: 7415 Log: - Fixed the types of the properties. Modified: trunk/Feed/src/modules/content_module.php trunk/Feed/src/modules/dublincore_module.php Modified: trunk/Feed/src/modules/content_module.php == --- trunk/Feed/src/modules/content_module.php [iso-8859-1] (original) +++ trunk/Feed/src/modules/content_module.php [iso-8859-1] Tue Feb 19 15:44:35 2008 @@ -29,10 +29,11 @@ * $text = $item-Content-encoded; * /code * - * @property string $encoded - * Item-level container for text. The text is stored in a feed by - * applying htmlspecialchars() with ENT_NOQUOTES and restored from - * a feed with htmlspecialchars_decode() with ENT_NOQUOTES. + * @property ezcFeedElement $encoded + * Item-level container for text. The text is stored + * in a feed by applying htmlspecialchars() with + * ENT_NOQUOTES and restored from a feed with + * htmlspecialchars_decode() with ENT_NOQUOTES. * * @package Feed * @version //autogentag// Modified: trunk/Feed/src/modules/dublincore_module.php == --- trunk/Feed/src/modules/dublincore_module.php [iso-8859-1] (original) +++ trunk/Feed/src/modules/dublincore_module.php [iso-8859-1] Tue Feb 19 15:44:35 2008 @@ -35,53 +35,62 @@ * } * /code * - * @property string $contributor - * An entity responsible for making contributions to the resource. - * Usually the name of a person, organization or service. - * @property string $coverage - * The spatial or temporal topic of the resource, the spatial - * applicability of the resource, or the jurisdiction under which - * the resource is relevant. A recommended practice is to use a - * controlled vocabulary such as - * [EMAIL PROTECTED] http://www.getty.edu/research/tools/vocabulary/tgn/index.html TGN}. - * @property string $creator - * An entity responsible for making the resource. - * Usually the name of a person or organization. - * @property int$date - * A point or period of time associated with an event in the - * lifecycle of the resource. It is a Unix timestamp, which will - * be converted to an [EMAIL PROTECTED] http://www.w3.org/TR/NOTE-datetime ISO 8601} - * date when generating the feed. - * @property string $description - * A description of the resource. - * @property string $format - * The file format, physical medium, or dimensions of the resource. - * Recommended best practices is to use a controlled vocabulary such as the list of - * [EMAIL PROTECTED] http://www.iana.org/assignments/media-types/ Internet Media Types} - * (MIME). - * @property string $identifier - * An unambiguous reference to the resource within a given context. - * @property string $language - * A language of the resource. - * Recommended best practice is to use a controlled vocabulary - * such as [EMAIL PROTECTED] http://www.faqs.org/rfcs/rfc4646.html RFC 4646}. - * @property string $publisher - * An entity responsible for making the resource available. - * Usually the name of a person, organization or service. - * @property string $relation - * A related resource. - * @property string $rights - * Information about rights held in and over the resource. - * @property string $source - * A related resource from which the described resource is derived. - * @property string $subject - * The topic of the resource. - * @property string $title - * The name given to the resource. - * @property string $type - * The nature or genre of the resource. - * Recommended best practice is to use a controlled vocabulary such as the - * [EMAIL PROTECTED] http://dublincore.org/documents/dcmi-type-vocabulary/ DCMI Type Vocabulary} + * @property ezcFeedElement $contributor + * An entity responsible for making contributions to + * the resource. + * Usually the name of a person, organization or service. + * @property ezcFeedElement $coverage + * The spatial or temporal topic of the resource, the + * spatial applicability of the resource, or the + * jurisdiction under which the resource is relevant. + *
[svn-components] 7398 - in /trunk/Feed: src/interfaces/module.php src/modules/content_module.php src/modules/dublincore_module.php tests/feed_test.php
Author: as Date: Mon Feb 18 10:45:46 2008 New Revision: 7398 Log: - Unrecognized module elements will be ignored when parsing feeds. Modified: trunk/Feed/src/interfaces/module.php trunk/Feed/src/modules/content_module.php trunk/Feed/src/modules/dublincore_module.php trunk/Feed/tests/feed_test.php Modified: trunk/Feed/src/interfaces/module.php == --- trunk/Feed/src/interfaces/module.php [iso-8859-1] (original) +++ trunk/Feed/src/interfaces/module.php [iso-8859-1] Mon Feb 18 10:45:46 2008 @@ -54,7 +54,7 @@ */ public function __set( $name, $value ) { -if ( isset( $this-schema[$this-level][$name] ) ) +if ( $this-isElementAllowed( $name ) ) { $node = $this-add( $name ); $node-set( $value ); @@ -74,7 +74,7 @@ */ public function __get( $name ) { -if ( isset( $this-schema[$this-level][$name] ) ) +if ( $this-isElementAllowed( $name ) ) { return $this-properties[$name]; } @@ -93,7 +93,7 @@ */ public function __isset( $name ) { -if ( isset( $this-schema[$this-level][$name] ) ) +if ( $this-isElementAllowed( $name ) ) { return isset( $this-properties[$name] ); } @@ -101,6 +101,18 @@ { return false; } +} + +/** + * Returns true if the element $name is allowed in the current module at the + * current level (feed or item), and false otherwise. + * + * @param string $name The element name to check if allowed in the current module and level (feed or item) + * @return bool + */ +public function isElementAllowed( $name ) +{ +return isset( $this-schema[$this-level][$name] ); } /** @@ -115,7 +127,7 @@ */ public function add( $name ) { -if ( isset( $this-schema[$this-level][$name] ) ) +if ( $this-isElementAllowed( $name ) ) { $node = new ezcFeedElement( $this-schema[$this-level][$name] ); $this-properties[$name][] = $node; Modified: trunk/Feed/src/modules/content_module.php == --- trunk/Feed/src/modules/content_module.php [iso-8859-1] (original) +++ trunk/Feed/src/modules/content_module.php [iso-8859-1] Mon Feb 18 10:45:46 2008 @@ -47,10 +47,6 @@ protected $schema = array( 'feed' = array(), 'item' = array( 'encoded' = array( '#' = 'string' ), - 'encoding' = array( '#' = 'string' ), // not supported - 'format' = array( '#' = 'string' ), // not supported - 'item' = array( '#' = 'string' ), // not supported - 'items' = array( '#' = 'string' ), // not supported ) ); /** @@ -100,14 +96,17 @@ */ public function parse( $name, $node ) { -$element = $this-add( $name ); -$value = $node-textContent; +if ( $this-isElementAllowed( $name ) ) +{ +$element = $this-add( $name ); +$value = $node-textContent; -switch ( $name ) -{ -case 'encoded': -$element-set( htmlspecialchars_decode( $value, ENT_NOQUOTES ) ); -break; +switch ( $name ) +{ +case 'encoded': +$element-set( htmlspecialchars_decode( $value, ENT_NOQUOTES ) ); +break; +} } } Modified: trunk/Feed/src/modules/dublincore_module.php == --- trunk/Feed/src/modules/dublincore_module.php [iso-8859-1] (original) +++ trunk/Feed/src/modules/dublincore_module.php [iso-8859-1] Mon Feb 18 10:45:46 2008 @@ -200,30 +200,33 @@ */ public function parse( $name, $node ) { -$element = $this-add( $name ); -$value = $node-textContent; - -switch ( $name ) +if ( $this-isElementAllowed( $name ) ) { -case 'date': -$element-set( ezcFeedTools::prepareDate( $value ) ); -break; - -default: -$element-set( $value ); -} - -foreach ( ezcFeedTools::getAttributes( $node ) as $attr = $value ) -{ -switch ( $attr ) +$element = $this-add( $name ); +$value = $node-textContent; + +switch ( $name ) { -case 'lang': -$element-language = $value; +case 'date': +$element-set( ezcFeedTools::prepareDate( $value ) ); break; default: -$element-$attr = $value; -break; +
[svn-components] 7403 - in /trunk/Feed: ChangeLog src/processors/rss2.php tests/feed_test.php
Author: as Date: Mon Feb 18 16:52:15 2008 New Revision: 7403 Log: - Fixed issue #12557: added parse support for version 0.91 and 0.92 RSS feeds (considered as RSS2 feeds). Modified: trunk/Feed/ChangeLog trunk/Feed/src/processors/rss2.php trunk/Feed/tests/feed_test.php Modified: trunk/Feed/ChangeLog == --- trunk/Feed/ChangeLog [iso-8859-1] (original) +++ trunk/Feed/ChangeLog [iso-8859-1] Mon Feb 18 16:52:15 2008 @@ -18,6 +18,8 @@ - The RSS1 about attribute is accessed as id through ezcFeed. - Added support for the Content module. - Added support for the DublinCore module. +- Fixed issue #12557: added parse support for version 0.91 and 0.92 RSS feeds + (considered as RSS2 feeds). 1.0beta1 - Monday 18 December 2006 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 Feb 18 16:52:15 2008 @@ -608,7 +608,7 @@ { return false; } -if ( $xml-documentElement-getAttribute( 'version' ) !== 2.0 ) +if ( !in_array( $xml-documentElement-getAttribute( 'version' ), array( '0.91', '0.92', '2.0' ) ) ) { return false; } Modified: trunk/Feed/tests/feed_test.php == --- trunk/Feed/tests/feed_test.php [iso-8859-1] (original) +++ trunk/Feed/tests/feed_test.php [iso-8859-1] Mon Feb 18 16:52:15 2008 @@ -262,6 +262,22 @@ $this-assertEquals( 'The Woodsongs Old Time Radio Hour Podcast', $feed-title-__toString() ); } +public function testParseRss2Version091() +{ +$feed = ezcFeed::parseContent( '?xml version=1.0 encoding=utf-8?rss version=0.91channeltitleRSS 0.91/titleitemtitleItem 0.91/title/item/channel/rss' ); +$this-assertEquals( 'rss2', $feed-getFeedType() ); +$this-assertEquals( 'RSS 0.91', $feed-title-__toString() ); +$this-assertEquals( 'Item 0.91', $feed-items[0]-title-__toString() ); +} + +public function testParseRss2Version092() +{ +$feed = ezcFeed::parseContent( '?xml version=1.0 encoding=utf-8?rss version=0.92channeltitleRSS 0.92/titleitemtitleItem 0.92/title/item/channel/rss' ); +$this-assertEquals( 'rss2', $feed-getFeedType() ); +$this-assertEquals( 'RSS 0.92', $feed-title-__toString() ); +$this-assertEquals( 'Item 0.92', $feed-items[0]-title-__toString() ); +} + public function testCreateModuleNotSupported() { try -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7383 [2/2] - in /trunk/Feed: ./ design/ docs/ src/ src/exceptions/ src/interfaces/ src/modules/ src/nodes/ src/processors/ tests/ tests/atom/regression/generate/modules/dc/ tests/atom
Added: trunk/Feed/tests/rss2/regression/generate/modules/dc/dc_all_lang_multiple.in == --- trunk/Feed/tests/rss2/regression/generate/modules/dc/dc_all_lang_multiple.in (added) +++ trunk/Feed/tests/rss2/regression/generate/modules/dc/dc_all_lang_multiple.in [iso-8859-1] Fri Feb 15 13:12:59 2008 @@ -1,0 +1,69 @@ +?php +return array( 'title' = 'Feed title', + 'link' = array( 'Feed link' ), + 'description' = 'Feed description', + 'item' = array( array( 'title' = 'Item title', + 'link' = 'Item link', + 'description' = 'Item description', + 'DublinCore' = array( array( 'contributor' = array( array( '#' = 'DC contributor 1', + 'language' = 'a' ), + array( '#' = 'DC contributor 2', + 'language' = 'b' ) ), +'coverage' = array( array( '#' = 'DC coverage 1', + 'language' = 'c' ), + array( '#' = 'DC coverage 2', + 'language' = 'd' ) ), +'creator' = array( array( '#' = 'DC creator 1', + 'language' = 'e' ), + array( '#' = 'DC creator 2', + 'language' = 'f' ) ), +'date' = array( array( '#' = '1202996091', + 'language' = 'g' ), + array( '#' = 0, + 'language' = 'h' ) ), + 'description' = array( array( '#' = 'DC description 1', + 'language' = 'i' ), + array( '#' = 'DC description 2', + 'language' = 'j' ) ), +'format' = array( array( '#' = 'DC format 1', + 'language' = 'k' ), + array( '#' = 'DC format 2', + 'language' = 'l' ) ), + 'identifier' = array( array( '#' = 'DC identifier 1', + 'language' = 'm' ), + array( '#' = 'DC identifier 2', + 'language' = 'n' ) ), +'language' = array( array( '#' = 'DC language 1', + 'language' = 'o' ), + array( '#' = 'DC language 2', + 'language' = 'p' ) ), + 'publisher' = array( array( '#' = 'DC publisher 1', + 'language' = 'q' ), +
[svn-components] 7385 - in /trunk/Feed/tests/atom/regression/parse/entry/title: type_html_cdata.in type_html_cdata.out
Author: as Date: Fri Feb 15 14:21:35 2008 New Revision: 7385 Log: - Added some CDATA tests for the ATOM feed parser. Added: trunk/Feed/tests/atom/regression/parse/entry/title/type_html_cdata.in trunk/Feed/tests/atom/regression/parse/entry/title/type_html_cdata.out Added: trunk/Feed/tests/atom/regression/parse/entry/title/type_html_cdata.in == --- trunk/Feed/tests/atom/regression/parse/entry/title/type_html_cdata.in (added) +++ trunk/Feed/tests/atom/regression/parse/entry/title/type_html_cdata.in [iso-8859-1] Fri Feb 15 14:21:35 2008 @@ -1,0 +1,11 @@ +?xml version=1.0 encoding=utf-8? +feed xmlns=http://www.w3.org/2005/Atom; + idFeed id/id + title type=textFeed title/title + updatedFeed updated/updated + entry +idEntry id/id +title type=html![CDATA[bEntry title/b]]/title +updated2007-11-14T16:23:40+01:00/updated + /entry +/feed Added: trunk/Feed/tests/atom/regression/parse/entry/title/type_html_cdata.out == --- trunk/Feed/tests/atom/regression/parse/entry/title/type_html_cdata.out (added) +++ trunk/Feed/tests/atom/regression/parse/entry/title/type_html_cdata.out [iso-8859-1] Fri Feb 15 14:21:35 2008 @@ -1,0 +1,16 @@ +?php +$feed = new ezcFeed( 'atom' ); + +$feed-id = 'Feed id'; +$feed-title = 'Feed title'; +$feed-title-type = 'text'; +$feed-updated = 'Feed updated'; + +$entry = $feed-add( 'item' ); +$entry-id = 'Entry id'; +$entry-title = 'bEntry title/b'; +$entry-title-type = 'html'; +$entry-updated = 1195053820; + +return $feed; +? -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7386 - /trunk/Feed/tests/feed_test.php
Author: as Date: Fri Feb 15 14:40:46 2008 New Revision: 7386 Log: - Added a test for parsing modules which are not supported (they are ignored). Modified: trunk/Feed/tests/feed_test.php Modified: trunk/Feed/tests/feed_test.php == --- trunk/Feed/tests/feed_test.php [iso-8859-1] (original) +++ trunk/Feed/tests/feed_test.php [iso-8859-1] Fri Feb 15 14:40:46 2008 @@ -160,6 +160,14 @@ } } +public function testParseModuleNotRecognized() +{ +$feed = ezcFeed::parseContent( '?xml version=1.0 encoding=utf-8?feed xmlns=http://www.w3.org/2005/Atom;unsupported_module:elementContent/unsupported_module:element/feed' ); +$this-assertEquals( 'ezcFeed', get_class( $feed ) ); +$this-assertEquals( 'atom', $feed-getFeedType() ); +$this-assertEquals( 'application/atom+xml', $feed-getContentType() ); +} + public function testParseAtom1() { $dot = DIRECTORY_SEPARATOR; -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7319 - /trunk/Feed/docs/specifications.txt
Author: as Date: Fri Feb 8 10:46:41 2008 New Revision: 7319 Log: - Alphabetical ordering for the equivalence tables. Modified: trunk/Feed/docs/specifications.txt Modified: trunk/Feed/docs/specifications.txt == --- trunk/Feed/docs/specifications.txt [iso-8859-1] (original) +++ trunk/Feed/docs/specifications.txt [iso-8859-1] Fri Feb 8 10:46:41 2008 @@ -17,51 +17,51 @@ ++-++---+ | ezcFeed| ATOM |RSS1 | RSS2| ++=++===+ +| |ezcFeed-author|_ !* | |ATOM-author|_ !* | x | |RSS2-managingEditor|_ ? | +++-++---+ +| |ezcFeed-category|_ ?* | |ATOM-category|_ ?* | x | |RSS2-category|_ ?* | +++-++---+ +| |ezcFeed-cloud|_ ? | x | x | |RSS2-cloud|_ ? | +++-++---+ +| |ezcFeed-contributor|_ ? | |ATOM-contributor|_ ?* | x | x | +++-++---+ +| |ezcFeed-copyright|_ ? | |ATOM-rights|_ ?| x | |RSS2-copyright|_ ? | +++-++---+ +| |ezcFeed-description|_ ! | |ATOM-subtitle|_ ? | |RSS1-description|_ ! | |RSS2-description|_ ! | +++-++---+ +| |ezcFeed-docs|_ ? | x | x | |RSS2-docs|_ ?| +++-++---+ +| |ezcFeed-generator|_ ? | |ATOM-generator|_ ? | x | |RSS2-generator|_ ? | +++-++---+ +| |ezcFeed-icon|_ ? | |ATOM-icon|_ ? | x | x | +++-++---+ | |ezcFeed-id|_ !| |ATOM-id|_ !| |RSS1-about|_ ! | x | ++-++---+ +| |ezcFeed-image|_ ? | |ATOM-logo|_ ? | |RSS1-image|_ ? | |RSS2-image|_ ? | +++-++---+ +| |ezcFeed-item|_ !* | |ATOM-entry|_ ?*| |RSS1-item|_ !* | |RSS2-item|_ !* | +++-++---+ +| |ezcFeed-language|_ ? | x | x | |RSS2-language|_ ?| +++-++---+ +| |ezcFeed-link|_ !* | |ATOM-link|_ !* | |RSS1-link|_ ! | |RSS2-link|_ !| +++-++---+ +| |ezcFeed-published|_ ? | x | x | |RSS2-pubDate|_ ? | +++-++---+ +| |ezcFeed-rating|_ ?| x | x | |RSS2-rating|_ ? | +++-++---+ +| |ezcFeed-skipDays|_ ? | x | x | |RSS2-skipDays|_ ?| +++-++---+ +| |ezcFeed-skipHours|_ ? | x | x | |RSS2-skipHours|_ ? | +++-++---+ +| |ezcFeed-textInput|_ ? | x
[svn-components] 7320 - /trunk/Feed/docs/specifications.txt
Author: as Date: Fri Feb 8 11:08:29 2008 New Revision: 7320 Log: - Added documentation for the ezcFeed content element (from ATOM). Modified: trunk/Feed/docs/specifications.txt Modified: trunk/Feed/docs/specifications.txt == --- trunk/Feed/docs/specifications.txt [iso-8859-1] (original) +++ trunk/Feed/docs/specifications.txt [iso-8859-1] Fri Feb 8 11:08:29 2008 @@ -81,6 +81,8 @@ | |ezcFeed-item-category|_ ?* | |ATOM-entry-category|_ ?* | x | |RSS2-item-category|_ ?* | +-+---+--+--+ | |ezcFeed-item-comments|_ ? | x | x | |RSS2-item-comments|_ ? | ++-+---+--+--+ +| |ezcFeed-item-content|_ ? | |ATOM-entry-content|_ ? | x | x| +-+---+--+--+ | |ezcFeed-item-contributor|_ ?* | |ATOM-entry-contributor|_ ?* | x | x| +-+---+--+--+ @@ -514,6 +516,43 @@ ezcFeed-item-comments ` + +ezcFeed-item-content + + +A short description for the feed item. + +Optional (not recommended). Only `ATOM`_ feeds will have this element after +generating the feed. It will be ignored for the other feed types +(`RSS1`_, `RSS2`_). Can be substituted with |ezcFeed-item-description|_ +(recommended). + +Can appear only once. + +Has an optional attribute *type* with possible values ``text`` (default), +``html``, ``xhtml``, or other mime values, depending on the data it contains. + +Has an optional attribute *src* which specifies the URI where the full content +is located. + +Has an optional attribute *lang* which specifies the language of the text. A +list of allowed languages can be found here: +http://www.rssboard.org/rss-language-codes. + +If *src* is present, the *type* attribute, if present, is the media type of the +content. + +Otherwise, if the type attribute ends in ``+xml`` or ``/xml``, then an XML +document of this type is contained inline. + +Otherwise, if the type attribute starts with ``text``, then an escaped document +of this type is contained inline. + +Otherwise, a base64 encoded document of the indicated media type is contained +inline. + +Equivalents: `ezcFeed-item-content`_/`ezcFeed-item-description`_, +`ATOM-entry-content`_, RSS1-none, RSS2-none. ezcFeed-item-contributor @@ -1824,6 +1863,7 @@ .. |ezcFeed-item-author| replace:: author .. |ezcFeed-item-category| replace:: category .. |ezcFeed-item-comments| replace:: comments +.. |ezcFeed-item-content| replace:: content .. |ezcFeed-item-contributor| replace:: contributor .. |ezcFeed-item-copyright| replace:: copyright .. |ezcFeed-item-description| replace:: description -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7315 - /docs/roadmaps/roadmap-2008.1.txt
Author: as Date: Wed Feb 6 16:45:42 2008 New Revision: 7315 Log: - Fixed version for next release. Modified: docs/roadmaps/roadmap-2008.1.txt Modified: docs/roadmaps/roadmap-2008.1.txt == --- docs/roadmaps/roadmap-2008.1.txt [iso-8859-1] (original) +++ docs/roadmaps/roadmap-2008.1.txt [iso-8859-1] Wed Feb 6 16:45:42 2008 @@ -47,6 +47,6 @@ Tentative release dates are: -*2007.2 Alpha 1:* - May 5th, 2008 +*2008.1 Alpha 1:* - May 5th, 2008 -*2007.2 Beta 1:* - May 26th, 2008 +*2008.1 Beta 1:* - May 26th, 2008 -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7278 - in /trunk/Feed: ./ src/ src/processors/ tests/rss1/regression/generate/incomplete/ tests/rss1/regression/generate/item/ tests/rss1/regression/generate/optional/image/ tests/rss
Author: as Date: Mon Feb 4 11:22:43 2008 New Revision: 7278 Log: - The about RSS1 attribute is accessed as id through ezcFeed. Modified: trunk/Feed/ChangeLog trunk/Feed/src/feed.php trunk/Feed/src/processors/rss1.php trunk/Feed/tests/rss1/regression/generate/incomplete/title+link+description+item.in trunk/Feed/tests/rss1/regression/generate/incomplete/title+link+description.in trunk/Feed/tests/rss1/regression/generate/incomplete/title+link.in trunk/Feed/tests/rss1/regression/generate/incomplete/title.in trunk/Feed/tests/rss1/regression/generate/item/item_about+title+link.in trunk/Feed/tests/rss1/regression/generate/item/item_about+title.in trunk/Feed/tests/rss1/regression/generate/item/item_about.in trunk/Feed/tests/rss1/regression/generate/item/item_empty.in trunk/Feed/tests/rss1/regression/generate/item/item_multiple.in trunk/Feed/tests/rss1/regression/generate/optional/image/image_about+title+url+link.in trunk/Feed/tests/rss1/regression/generate/optional/image/image_about+title+url.in trunk/Feed/tests/rss1/regression/generate/optional/image/image_about+title.in trunk/Feed/tests/rss1/regression/generate/optional/image/image_about.in trunk/Feed/tests/rss1/regression/generate/optional/image/image_empty.in trunk/Feed/tests/rss1/regression/generate/optional/textinput/textinput_about+title+description+name+link.in trunk/Feed/tests/rss1/regression/generate/optional/textinput/textinput_about+title+description+name.in trunk/Feed/tests/rss1/regression/generate/optional/textinput/textinput_about+title+description.in trunk/Feed/tests/rss1/regression/generate/optional/textinput/textinput_about+title.in trunk/Feed/tests/rss1/regression/generate/optional/textinput/textinput_about.in trunk/Feed/tests/rss1/regression/generate/optional/textinput/textinput_empty.in trunk/Feed/tests/rss1/regression/parse/item/item_description.in trunk/Feed/tests/rss1/regression/parse/item/item_description.out trunk/Feed/tests/rss1/regression/parse/item/item_empty.in trunk/Feed/tests/rss1/regression/parse/item/item_empty.out trunk/Feed/tests/rss1/regression/parse/item/item_link.in trunk/Feed/tests/rss1/regression/parse/item/item_link.out trunk/Feed/tests/rss1/regression/parse/item/item_multiple.in trunk/Feed/tests/rss1/regression/parse/item/item_multiple.out trunk/Feed/tests/rss1/regression/parse/item/item_title+link+description.in trunk/Feed/tests/rss1/regression/parse/item/item_title+link+description.out trunk/Feed/tests/rss1/regression/parse/item/item_title+link.in trunk/Feed/tests/rss1/regression/parse/item/item_title+link.out trunk/Feed/tests/rss1/regression/parse/item/item_title.in trunk/Feed/tests/rss1/regression/parse/item/item_title.out trunk/Feed/tests/rss1/regression/parse/optional/image/image.in trunk/Feed/tests/rss1/regression/parse/optional/image/image.out trunk/Feed/tests/rss1/regression/parse/optional/image/image_complete.in trunk/Feed/tests/rss1/regression/parse/optional/image/image_complete.out trunk/Feed/tests/rss1/regression/parse/optional/image/image_empty.in trunk/Feed/tests/rss1/regression/parse/optional/image/image_empty.out trunk/Feed/tests/rss1/regression/parse/optional/textinput/textinput_about.out trunk/Feed/tests/rss1/regression/parse/optional/textinput/textinput_complete.out trunk/Feed/tests/rss1/regression/parse/optional/textinput/textinput_empty.out trunk/Feed/tests/rss1/regression/parse/simple/about+title+link+description.out trunk/Feed/tests/rss1/regression/parse/simple/about.out Modified: trunk/Feed/ChangeLog == --- trunk/Feed/ChangeLog [iso-8859-1] (original) +++ trunk/Feed/ChangeLog [iso-8859-1] Mon Feb 4 11:22:43 2008 @@ -15,6 +15,7 @@ - Completed support for creating and parsing ATOM feeds. - Added the getContentType() method in ezcFeed to return its Content-Type. - Added support for ATOM xml:lang attribute. +- The RSS1 about attribute is accessed as id through ezcFeed. 1.0beta1 - Monday 18 December 2006 Modified: trunk/Feed/src/feed.php == --- trunk/Feed/src/feed.php [iso-8859-1] (original) +++ trunk/Feed/src/feed.php [iso-8859-1] Mon Feb 4 11:22:43 2008 @@ -194,7 +194,7 @@ case 'updated': // lastBuildDate in RSS2, required in ATOM case 'generator': case 'ttl': -case 'id': // ATOM only, required in ATOM +case 'id': // required in ATOM, about in RSS1, ignored in RSS2 case 'image': // logo in ATOM case 'icon': // only in ATOM case 'docs': @@ -203,7 +203,6 @@ case 'rating': case 'textInput': case 'cloud': -case 'about': // required in RSS1 $this-feedProcessor-set(
[svn-components] 7279 - /trunk/Feed/src/feed.php
Author: as Date: Mon Feb 4 12:13:10 2008 New Revision: 7279 Log: - Removed left-over properties from ezcFeed. Modified: trunk/Feed/src/feed.php Modified: trunk/Feed/src/feed.php == --- trunk/Feed/src/feed.php [iso-8859-1] (original) +++ trunk/Feed/src/feed.php [iso-8859-1] Mon Feb 4 12:13:10 2008 @@ -181,9 +181,7 @@ { case 'title': // required in RSS1, RSS2, ATOM case 'category': -case 'categories': case 'link': // required in RSS2, rdf:about AND link in RSS1 -case 'links': // required in RSS2, rdf:about AND link in RSS1 case 'description': // required in RSS1, RSS2, subtitle in ATOM case 'language': case 'copyright': // rights in ATOM @@ -227,9 +225,7 @@ { case 'title': // required in RSS1, RSS2, ATOM case 'category': -case 'categories': case 'link': // required in RSS2, rdf:about AND link in RSS1 -case 'links': // required in RSS2, rdf:about AND link in RSS1 case 'description': // required in RSS1, RSS2, subtitle in ATOM case 'language': case 'copyright': // rights in ATOM -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7281 - /trunk/Feed/docs/specifications.txt
Author: as Date: Mon Feb 4 13:12:34 2008 New Revision: 7281 Log: - Added documentation for RSS2 pubDate element. Modified: trunk/Feed/docs/specifications.txt Modified: trunk/Feed/docs/specifications.txt == --- trunk/Feed/docs/specifications.txt [iso-8859-1] (original) +++ trunk/Feed/docs/specifications.txt [iso-8859-1] Mon Feb 4 13:12:34 2008 @@ -44,6 +44,8 @@ | |ezcFeed-skipDays|_ ? | x | x | |RSS2-skipDays|_ ?| ++-++---+ | |ezcFeed-rating|_ ?| x | x | |RSS2-rating|_ ? | +++-++---+ +| |ezcFeed-published|_ ? | x | x | |RSS2-pubDate|_ ? | ++-++---+ | |ezcFeed-cloud|_ ? | x | x | |RSS2-cloud|_ ? | ++-++---+ @@ -256,6 +258,33 @@ ezcFeed-link + + +ezcFeed-published +` + +The time the feed was published. + +Optional (not recommended). Only `RSS2`_ feeds will have this element after +generating the feed. It will be ignored for the other feed types +(`RSS1`_, `ATOM`_). + +Can appear only once. + +Must conform be a Unix timestamp. It will be converted to the datetime format +required by each feed type. + +Create example:: + + // $feed is an ezcFeed object + $feed-published = now(); + +Parse example:: + + // $feed is an ezcFeed object + $published = $feed-published; + +Equivalents: `ezcFeed-published`_, ATOM-none, RSS1-none, `RSS2-pubDate`_. ezcFeed-rating @@ -1459,6 +1488,20 @@ `RSS2-managingEditor`_. +RSS2-pubDate + + +The time the feed was published. + +Optional (not recommended). + +Can appear only once. + +Must conform to `RFC 822`_ (eg. ``Sat, 07 Sep 2002 09:42:31 GMT``). + +Equivalents: `ezcFeed-published`_, ATOM-none, RSS1-none, `RSS2-pubDate`_. + + RSS2-rating ``` @@ -1728,6 +1771,7 @@ .. |ezcFeed-item| replace:: item .. |ezcFeed-language| replace:: language .. |ezcFeed-link| replace:: link +.. |ezcFeed-published| replace:: published .. |ezcFeed-rating| replace:: rating .. |ezcFeed-skipDays| replace:: skipDays .. |ezcFeed-skipHours| replace:: skipHours @@ -1800,6 +1844,7 @@ .. |RSS2-lastBuildDate| replace:: lastBuildDate .. |RSS2-link| replace:: link .. |RSS2-managingEditor| replace:: managingEditor +.. |RSS2-pubDate| replace:: pubDate .. |RSS2-rating| replace:: rating .. |RSS2-skipDays| replace:: skipDays .. |RSS2-skipHours| replace:: skipHours -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7282 - /trunk/Feed/docs/specifications.txt
Author: as Date: Mon Feb 4 14:09:15 2008 New Revision: 7282 Log: - Added documentation for RSS2 docs element. Modified: trunk/Feed/docs/specifications.txt Modified: trunk/Feed/docs/specifications.txt == --- trunk/Feed/docs/specifications.txt [iso-8859-1] (original) +++ trunk/Feed/docs/specifications.txt [iso-8859-1] Mon Feb 4 14:09:15 2008 @@ -38,6 +38,8 @@ | |ezcFeed-generator|_ ? | |ATOM-generator|_ ? | x | |RSS2-generator|_ ? | ++-++---+ | |ezcFeed-ttl|_ ? | x | x | |RSS2-ttl|_ ? | +++-++---+ +| |ezcFeed-docs|_ ? | x | x | |RSS2-docs|_ ?| ++-++---+ | |ezcFeed-skipHours|_ ? | x | x | |RSS2-skipHours|_ ? | ++-++---+ @@ -205,6 +207,30 @@ Equivalents: `ezcFeed-description`_, `ATOM-subtitle`_, `RSS1-description`_, `RSS2-description`_. + + +ezcFeed-docs + + +An URL that points to the documentation for the format used in the feed file. + +Optional (not recommended). Only `RSS2`_ feeds will have this element after +generating the feed. It will be ignored for the other feed types +(`RSS1`_, `ATOM`_). + +Can appear only once. + +Create example:: + + // $feed is an ezcFeed object + $feed-docs = 'http://www.rssboard.org/rss-specification'; + +Parse example:: + + // $feed is an ezcFeed object + $docs = $feed-docs; + +Equivalents: `ezcFeed-docs`_, ATOM-none, RSS1-none, `RSS2-docs`_. ezcFeed-generator @@ -1386,6 +1412,19 @@ `RSS2-description`_. +RSS2-docs +` + +An URL that points to the documentation for the format used in the RSS file. It +is usually http://www.rssboard.org/rss-specification. + +Optional (not recommended). + +Can appear only once. + +Equivalents: `ezcFeed-docs`_, ATOM-none, RSS1-none, `RSS2-docs`_. + + RSS2-generator `` @@ -1764,6 +1803,7 @@ .. |ezcFeed-contributor| replace:: contributor .. |ezcFeed-copyright| replace:: copyright .. |ezcFeed-description| replace:: description +.. |ezcFeed-docs| replace:: docs .. |ezcFeed-generator| replace:: generator .. |ezcFeed-icon| replace:: icon .. |ezcFeed-id| replace:: id @@ -1837,6 +1877,7 @@ .. |RSS2-category| replace:: category .. |RSS2-copyright| replace:: copyright .. |RSS2-description| replace:: description +.. |RSS2-docs| replace:: docs .. |RSS2-generator| replace:: generator .. |RSS2-image| replace:: image .. |RSS2-item| replace:: item -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7283 - /trunk/Feed/src/feed.php
Author: as Date: Mon Feb 4 14:57:42 2008 New Revision: 7283 Log: - Better documentation for ezcFeed properties. Modified: trunk/Feed/src/feed.php Modified: trunk/Feed/src/feed.php == --- trunk/Feed/src/feed.php [iso-8859-1] (original) +++ trunk/Feed/src/feed.php [iso-8859-1] Mon Feb 4 14:57:42 2008 @@ -68,36 +68,171 @@ * $xml = $feed-generate(); * /code * + * @property string $author + * One author of the feed. + * ATOM-author (required, multiple), + * RSS1-none, + * RSS2-managingEditor (optional, recommended, single). + * @property string $authors + * Access to the multiple $author values. Example: + * code + * foreach ( $feed-authors as $author ) + * { + * //use the ezcFeedElement $author + * } + * /code + * @property string $category + * A category for the feed. + * ATOM-category (optional, multiple), + * RSS1-none, + * RSS2-category (optional, multiple). + * @property string $categories + * Access to the multiple $category values. Example: + * code + * foreach ( $feed-categories as $category ) + * { + * //use the ezcFeedElement $category + * } + * /code + * @property string $cloud + * Allows processes to register with a cloud to be notified of updates + * to the channel, implementing a lightweight publish-subscribe + * protocol for RSS feeds. + * ATOM-none, + * RSS1-none, + * RSS2-cloud (optional, not recommended, single). + * @property string $contributor + * One contributor for the feed. + * ATOM-contributor (optional, not recommended, multiple), + * RSS1-none, + * RSS2-none. + * @property string $contributors + * Access to the multiple $contributor values. Example: + * code + * foreach ( $feed-contributors as $contributor ) + * { + * //use the ezcFeedElement $contributor + * } + * /code + * @property string $copyright + * Copyright information for the feed. + * ATOM-rights (optional, single), + * RSS1-none, + * RSS2-copyright (optional, single). + * @property string $description + * A short description of the feed. + * ATOM-subtitle (required, single), + * RSS1-description (required, single), + * RSS2-description (required, single). + * @property string $docs + * An URL that points to the documentation for the format used in the + * feed file. + * ATOM-none, + * RSS1-none, + * RSS2-docs (optional, not recommended, single) - usual value is + * [EMAIL PROTECTED] http://www.rssboard.org/rss-specification}. + * @property string $generator + * Indicates the software used to generate the feed. + * ATOM-generator (optional, single), + * RSS1-none, + * RSS2-generator (optional, single). + * @property string $icon + * An icon for a feed, similar with favicon.ico for websites. + * ATOM-icon (optional, not recommended, single), + * RSS1-none, + * RSS2-none. + * @property string $id + * A universally unique and permanent identifier for a feed. For + * example, it can be an Internet domain name. + * ATOM-id (required, single), + * RSS1-about (required, single), + * RSS2-none. + * @property string $image + * An image associated with the feed + * ATOM-logo (optional, single), + * RSS1-image (optional, single), + * RSS2-image (optional, single). + * @property-read ezcFeedItem $item + * A feed item. + * ATOM-entry (optional, recommended, multiple), + * RSS1-item (required, multiple), + * RSS2-item (required, multiple). + * @property-read array(ezcFeedItem) $items + * The items contained in the feed. Example: + * code + * foreach ( $feed-items as $item ) + * { + * //use the ezcFeedItem $item + * } + * /code + * @property string $language + * The language for the feed. + * ATOM-xml:lang attribute for title, description, copyright, content, + * comments (optional, single) - accessed as language through ezcFeed, + * RSS1-none, + * RSS2-language (optional, single). + * @property string $link + * An URL to the HTML website corresponding to the channel. + * ATOM-link (required one link with rel='self', multiple), + * RSS1-link (required, single), + * RSS2-link (required, single). + * @property string $links + * Access
[svn-components] 7280 - /trunk/Feed/src/feed.php
Author: as Date: Mon Feb 4 12:49:32 2008 New Revision: 7280 Log: - These ezcFeed elements are still needed. Modified: trunk/Feed/src/feed.php Modified: trunk/Feed/src/feed.php == --- trunk/Feed/src/feed.php [iso-8859-1] (original) +++ trunk/Feed/src/feed.php [iso-8859-1] Mon Feb 4 12:49:32 2008 @@ -181,7 +181,9 @@ { case 'title': // required in RSS1, RSS2, ATOM case 'category': +case 'categories': case 'link': // required in RSS2, rdf:about AND link in RSS1 +case 'links': // required in RSS2, rdf:about AND link in RSS1 case 'description': // required in RSS1, RSS2, subtitle in ATOM case 'language': case 'copyright': // rights in ATOM @@ -225,7 +227,9 @@ { case 'title': // required in RSS1, RSS2, ATOM case 'category': +case 'categories': case 'link': // required in RSS2, rdf:about AND link in RSS1 +case 'links': // required in RSS2, rdf:about AND link in RSS1 case 'description': // required in RSS1, RSS2, subtitle in ATOM case 'language': case 'copyright': // rights in ATOM -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7284 - /trunk/Feed/src/feed.php
Author: as Date: Mon Feb 4 15:05:54 2008 New Revision: 7284 Log: - More information for the ezcFeed constructor parameter. Modified: trunk/Feed/src/feed.php Modified: trunk/Feed/src/feed.php == --- trunk/Feed/src/feed.php [iso-8859-1] (original) +++ trunk/Feed/src/feed.php [iso-8859-1] Mon Feb 4 15:05:54 2008 @@ -278,6 +278,8 @@ /** * Creates a new feed of type $type. * + * The $type value is one of [EMAIL PROTECTED] self::$supportedFeedTypes}. + * * Example: * code * // create an RSS2 feed @@ -287,7 +289,7 @@ * @throws ezcFeedUnsupportedTypeException * If the passed $type is an unsupported feed type. * - * @param string $type The feed type + * @param string $type The feed type. See [EMAIL PROTECTED] self::$supportedFeedTypes} for possible values */ public function __construct( $type ) { -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7252 - /trunk/Feed/docs/specifications.txt
Author: as Date: Tue Jan 29 11:22:36 2008 New Revision: 7252 Log: - Added equivalents links for feed elements. Modified: trunk/Feed/docs/specifications.txt Modified: trunk/Feed/docs/specifications.txt == --- trunk/Feed/docs/specifications.txt [iso-8859-1] (original) +++ trunk/Feed/docs/specifications.txt [iso-8859-1] Tue Jan 29 11:22:36 2008 @@ -94,7 +94,7 @@ +-+---+--+--+ | |ezcFeed-item-comments|_ ? | x | x | |RSS2-item-comments|_ ? | +-+---+--+--+ -| |ezcFeed-item-link|_ !* | |ATOM-entry-link|_ !* | x | |RSS2-item-enclosure|_ ? | +| |ezcFeed-item-enclosure|_ ? | |ATOM-entry-link|_ ?* | x | |RSS2-item-enclosure|_ ? | +-+---+--+--+ | ! = required @@ -130,6 +130,31 @@ ezcFeed/cloud ` +Allows processes to register with a cloud to be notified of updates to the +channel, implementing a lightweight publish-subscribe protocol for RSS feeds. + +Optional (not recommended). + +Can appear only once. + +Has the required attributes: *domain*, *port*, *path*, *registerProcedure*, +*protocol*. + +Example:: + + // $feed is an ezcFeed object + $feed-add( 'cloud' ); + $feed-domain = 'rpc.sys.com'; + $feed-port = 80; + $feed-path = '/RPC2'; + $feed-registerProcedure = 'myCloud.rssPleaseNotify'; + $feed-protocol = 'xml-rpc'; + +Only `RSS2`_ feeds will have the cloud element after generating the feed. It +will be ignored for the other feed types (`RSS1`_, `ATOM`_). + +Equivalents: `ezcFeed-cloud`_, ATOM-none, RSS1-none, `RSS2-cloud`_. + .. _ezcFeed-contributor: @@ -276,6 +301,12 @@ ezcFeed/item/description + + +.. _ezcFeed-item-enclosure: + +ezcFeed/item/enclosure +`` .. _ezcFeed-item-id: @@ -388,7 +419,8 @@ email[EMAIL PROTECTED]/email /author -Equivalents: `ATOM-author`_, RSS1-none, `RSS2-managingEditor`_. +Equivalents: `ezcFeed-author`_, `ATOM-author`_, RSS1-none, +`RSS2-managingEditor`_. .. _ATOM-category: @@ -406,7 +438,8 @@ Has 2 optional attributes: *scheme*, *label*. -Equivalents: `ATOM-category`_, RSS1-none, `RSS2-category`_. +Equivalents: `ezcFeed-category`_, `ATOM-category`_, RSS1-none, +`RSS2-category`_. .. _ATOM-contributor: @@ -430,7 +463,8 @@ email[EMAIL PROTECTED]/email /contributor -Equivalents: `ATOM-contributor`_, RSS1-none, RSS2-none. +Equivalents: `ezcFeed-contributor`_, `ATOM-contributor`_, RSS1-none, +RSS2-none. .. _ATOM-entry: @@ -444,7 +478,7 @@ Multiple entries can appear. -Equivalents: `ATOM-entry`_, `RSS1-item`_, `RSS2-item`_. +Equivalents: `ezcFeed-item`_, `ATOM-entry`_, `RSS1-item`_, `RSS2-item`_. .. _ATOM-generator: @@ -460,7 +494,8 @@ Has 2 optional attributes: *url*, *version*. -Equivalents: `ATOM-generator`_, RSS1-none, `RSS2-generator`_. +Equivalents: `ezcFeed-generator`_, `ATOM-generator`_, RSS1-none, +`RSS2-generator`_. .. _ATOM-icon: @@ -474,7 +509,7 @@ Can appear only once. -Equivalents: `ATOM-icon`_, RSS1-none, RSS2-none. +Equivalents: `ezcFeed-icon`_, `ATOM-icon`_, RSS1-none, RSS2-none. .. _ATOM-id: @@ -489,7 +524,7 @@ Can appear only once. -Equivalents: `ATOM-id`_, `RSS1-about`_, RSS2-none. +Equivalents: `ezcFeed-id`_, `ATOM-id`_, `RSS1-about`_, RSS2-none. .. _ATOM-link: @@ -510,7 +545,7 @@ A maximum of one link with ``rel=alternate`` can appear per *type* and *hreflang*. -Equivalents: `ATOM-link`_, `RSS1-link`_, `RSS2-link`_. +Equivalents: `ezcFeed-link`_, `ATOM-link`_, `RSS1-link`_, `RSS2-link`_. .. _ATOM-logo: @@ -524,7 +559,7 @@ Can appear only once. -Equivalents: `ATOM-logo`_, `RSS1-image`_, `RSS2-image`_. +Equivalents: `ezcFeed-image`_, `ATOM-logo`_, `RSS1-image`_, `RSS2-image`_. .. _ATOM-rights: @@ -545,7 +580,8 @@ list of allowed languages can be found here: http://www.rssboard.org/rss-language-codes. -Equivalents: `ATOM-rights`_, RSS1-none, `RSS2-copyright`_. +Equivalents: `ezcFeed-copyright`_, `ATOM-rights`_, RSS1-none, +`RSS2-copyright`_. .. _ATOM-subtitle: @@ -566,7 +602,8 @@ list of allowed languages can be found here: http://www.rssboard.org/rss-language-codes. -Equivalents: `ATOM-subtitle`_, `RSS1-description`_, `RSS2-description`_. +Equivalents: `ezcFeed-description`_, `ATOM-subtitle`_, `RSS1-description`_, +`RSS2-description`_. .. _ATOM-title: @@ -588,7 +625,7 @@ list of allowed languages can be found here: http://www.rssboard.org/rss-language-codes. -Equivalents: `ATOM-title`_,
[svn-components] 7254 - /trunk/Feed/docs/specifications.txt
Author: as Date: Tue Jan 29 13:51:01 2008 New Revision: 7254 Log: - Fixed an example and added item element information. Modified: trunk/Feed/docs/specifications.txt Modified: trunk/Feed/docs/specifications.txt == --- trunk/Feed/docs/specifications.txt [iso-8859-1] (original) +++ trunk/Feed/docs/specifications.txt [iso-8859-1] Tue Jan 29 13:51:01 2008 @@ -133,25 +133,34 @@ Allows processes to register with a cloud to be notified of updates to the channel, implementing a lightweight publish-subscribe protocol for RSS feeds. -Optional (not recommended). +Optional (not recommended). Only `RSS2`_ feeds will have the cloud element +after generating the feed. It will be ignored for the other feed types +(`RSS1`_, `ATOM`_). Can appear only once. Has the required attributes: *domain*, *port*, *path*, *registerProcedure*, *protocol*. -Example:: +Create example:: // $feed is an ezcFeed object - $feed-add( 'cloud' ); - $feed-domain = 'rpc.sys.com'; - $feed-port = 80; - $feed-path = '/RPC2'; - $feed-registerProcedure = 'myCloud.rssPleaseNotify'; - $feed-protocol = 'xml-rpc'; - -Only `RSS2`_ feeds will have the cloud element after generating the feed. It -will be ignored for the other feed types (`RSS1`_, `ATOM`_). + $cloud = $feed-add( 'cloud' ); + $cloud-domain = 'rpc.sys.com'; + $cloud-port = 80; + $cloud-path = '/RPC2'; + $cloud-registerProcedure = 'myCloud.rssPleaseNotify'; + $cloud-protocol = 'xml-rpc'; + +Parse example:: + + // $feed is an ezcFeed object + $cloud = $feed-cloud; + $domain = $cloud-domain; + $port = $cloud-port; + $path = $cloud-path; + $registerProcedure = $cloud-registerProcedure; + $protocol = $cloud-protocol; Equivalents: `ezcFeed-cloud`_, ATOM-none, RSS1-none, `RSS2-cloud`_. @@ -202,6 +211,31 @@ ezcFeed/item + +Feed entry. + +Optional (recommended) for ATOM. Required for RSS1 and RSS2. + +Multiple entries can appear. + +Create example:: + + // $feed is an ezcFeed object + $item = $feed-add( 'item' ); + + // set $item properties, for example: + $item-title = 'Item title'; + +Parse example:: + + // $feed is an ezcFeed object + foreach ( $feed-items as $item ) + { + // get $item properties, for example: + $title = $item-title; + } + +Equivalents: `ezcFeed-item`_, `ATOM-entry`_, `RSS1-item`_, `RSS2-item`_. .. _ezcFeed-language: -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7245 - /trunk/Feed/docs/specifications.txt
Author: as Date: Fri Jan 25 11:45:55 2008 New Revision: 7245 Log: - Added equivalence of feed elements to ezcFeed properties. # Descriptions for each property will follow soon. Modified: trunk/Feed/docs/specifications.txt Modified: trunk/Feed/docs/specifications.txt == --- trunk/Feed/docs/specifications.txt [iso-8859-1] (original) +++ trunk/Feed/docs/specifications.txt [iso-8859-1] Fri Jan 25 11:45:55 2008 @@ -14,51 +14,51 @@ Feed elements - -+-++---+ -| ATOM | RSS1 | RSS2 | -+=++===+ -| |ATOM-id|_ !| |RSS1-about|_ !| x | -+-++---+ -| |ATOM-title|_ ! | |RSS1-title|_ !| |RSS2-title|_ ! | -+-++---+ -| |ATOM-updated|_ ! | x | |RSS2-lastBuildDate|_ ? | -+-++---+ -| |ATOM-author|_ !* | x | |RSS2-managingEditor|_ ? | -+-++---+ -| |ATOM-subtitle|_ ? | |RSS1-description|_ ! | |RSS2-description|_ ! | -+-++---+ -| |ATOM-link|_ !* | |RSS1-link|_ ! | |RSS2-link|_ ! | -+-++---+ -| |ATOM-logo|_ ? | |RSS1-image|_ ?| |RSS2-image|_ ? | -+-++---+ -| |ATOM-category|_ ?* | x | |RSS2-category|_ ?* | -+-++---+ -| |ATOM-rights|_ ?| x | |RSS2-copyright|_ ? | -+-++---+ -| |ATOM-generator|_ ? | x | |RSS2-generator|_ ? | -+-++---+ -| x | x | |RSS2-ttl|_ ? | -+-++---+ -| x | x | |RSS2-skipHours|_ ? | -+-++---+ -| x | x | |RSS2-skipDays|_ ? | -+-++---+ -| x | x | |RSS2-rating|_ ? | -+-++---+ -| x | x | |RSS2-cloud|_ ? | -+-++---+ -| x | x | |RSS2-webMaster|_ ? | -+-++---+ -| x | x | |RSS2-language|_ ? | -+-++---+ -| x | |RSS1-textinput|_ ?| |RSS2-textInput|_ ? | -+-++---+ -| |ATOM-icon|_ ? | x | x | -+-++---+ -| |ATOM-contributor|_ ?* | x | x | -+-++---+ -| |ATOM-entry|_ ?*| |RSS1-item|_ !*| |RSS2-item|_ !* | -+-++---+ +++-++---+ +| ezcFeed| ATOM |RSS1 | RSS2| +++=++===+ +| |ezcFeed-id|_ !| |ATOM-id|_ !| |RSS1-about|_ ! | x |
[svn-components] 7236 [3/3] - in /trunk/Feed: ./ docs/ src/processors/ tests/atom/regression/generate/entry/content/ tests/atom/regression/generate/entry/rights/ tests/atom/regression/generate/entry/s
Added: trunk/Feed/tests/atom/regression/parse/entry/source/rights/rights_xhtml_lang.in == --- trunk/Feed/tests/atom/regression/parse/entry/source/rights/rights_xhtml_lang.in (added) +++ trunk/Feed/tests/atom/regression/parse/entry/source/rights/rights_xhtml_lang.in [iso-8859-1] Wed Jan 23 11:35:44 2008 @@ -1,0 +1,16 @@ +?xml version=1.0 encoding=utf-8? +feed xmlns=http://www.w3.org/2005/Atom; + idFeed id/id + title type=textFeed title/title + updatedFeed updated/updated + entry +idEntry id/id +titleEntry title/title +updated2007-11-14T16:23:40+01:00/updated +source + rights type=xhtml xmlns:xhtml=http://www.w3.org/1999/xhtml; lang=no +xhtml:divSource rights/xhtml:div + /rights +/source + /entry +/feed Added: trunk/Feed/tests/atom/regression/parse/entry/source/rights/rights_xhtml_lang.out == --- trunk/Feed/tests/atom/regression/parse/entry/source/rights/rights_xhtml_lang.out (added) +++ trunk/Feed/tests/atom/regression/parse/entry/source/rights/rights_xhtml_lang.out [iso-8859-1] Wed Jan 23 11:35:44 2008 @@ -1,0 +1,20 @@ +?php +$feed = new ezcFeed( 'atom' ); + +$feed-id = 'Feed id'; +$feed-title = 'Feed title'; +$feed-title-type = 'text'; +$feed-updated = 'Feed updated'; + +$entry = $feed-add( 'item' ); +$entry-id = 'Entry id'; +$entry-title = 'Entry title'; +$entry-updated = 1195053820; + +$source = $entry-add( 'source' ); +$source-copyright = 'Source rights'; +$source-copyright-type = 'xhtml'; +$source-copyright-language = 'no'; + +return $feed; +? Added: trunk/Feed/tests/atom/regression/parse/entry/source/subtitle/subtitle_html_lang.in == --- trunk/Feed/tests/atom/regression/parse/entry/source/subtitle/subtitle_html_lang.in (added) +++ trunk/Feed/tests/atom/regression/parse/entry/source/subtitle/subtitle_html_lang.in [iso-8859-1] Wed Jan 23 11:35:44 2008 @@ -1,0 +1,14 @@ +?xml version=1.0 encoding=utf-8? +feed xmlns=http://www.w3.org/2005/Atom; + idFeed id/id + title type=textFeed title/title + updatedFeed updated/updated + entry +idEntry id/id +titleEntry title/title +updated2007-11-14T16:23:40+01:00/updated +source + subtitle type=html lang=noSource subtitle/subtitle +/source + /entry +/feed Added: trunk/Feed/tests/atom/regression/parse/entry/source/subtitle/subtitle_html_lang.out == --- trunk/Feed/tests/atom/regression/parse/entry/source/subtitle/subtitle_html_lang.out (added) +++ trunk/Feed/tests/atom/regression/parse/entry/source/subtitle/subtitle_html_lang.out [iso-8859-1] Wed Jan 23 11:35:44 2008 @@ -1,0 +1,20 @@ +?php +$feed = new ezcFeed( 'atom' ); + +$feed-id = 'Feed id'; +$feed-title = 'Feed title'; +$feed-title-type = 'text'; +$feed-updated = 'Feed updated'; + +$entry = $feed-add( 'item' ); +$entry-id = 'Entry id'; +$entry-title = 'Entry title'; +$entry-updated = 1195053820; + +$source = $entry-add( 'source' ); +$source-description = 'Source subtitle'; +$source-description-type = 'html'; +$source-description-language = 'no'; + +return $feed; +? Added: trunk/Feed/tests/atom/regression/parse/entry/source/subtitle/subtitle_no_type_lang.in == --- trunk/Feed/tests/atom/regression/parse/entry/source/subtitle/subtitle_no_type_lang.in (added) +++ trunk/Feed/tests/atom/regression/parse/entry/source/subtitle/subtitle_no_type_lang.in [iso-8859-1] Wed Jan 23 11:35:44 2008 @@ -1,0 +1,14 @@ +?xml version=1.0 encoding=utf-8? +feed xmlns=http://www.w3.org/2005/Atom; + idFeed id/id + title type=textFeed title/title + updatedFeed updated/updated + entry +idEntry id/id +titleEntry title/title +updated2007-11-14T16:23:40+01:00/updated +source + subtitle lang=noSource subtitle/subtitle +/source + /entry +/feed Added: trunk/Feed/tests/atom/regression/parse/entry/source/subtitle/subtitle_no_type_lang.out == --- trunk/Feed/tests/atom/regression/parse/entry/source/subtitle/subtitle_no_type_lang.out (added) +++ trunk/Feed/tests/atom/regression/parse/entry/source/subtitle/subtitle_no_type_lang.out [iso-8859-1] Wed Jan 23 11:35:44 2008 @@ -1,0 +1,19 @@ +?php +$feed = new ezcFeed( 'atom' ); + +$feed-id = 'Feed id'; +$feed-title = 'Feed title'; +$feed-title-type = 'text'; +$feed-updated = 'Feed updated'; + +$entry = $feed-add( 'item' ); +$entry-id = 'Entry id'; +$entry-title = 'Entry title'; +$entry-updated = 1195053820; + +$source = $entry-add( 'source' ); +$source-description = 'Source subtitle'; +$source-description-language = 'no'; + +return $feed; +? Added:
[svn-components] 7237 - /trunk/Feed/docs/specifications.txt
Author: as Date: Wed Jan 23 14:32:25 2008 New Revision: 7237 Log: - Fixed RSS2 author element. Modified: trunk/Feed/docs/specifications.txt Modified: trunk/Feed/docs/specifications.txt == --- trunk/Feed/docs/specifications.txt [iso-8859-1] (original) +++ trunk/Feed/docs/specifications.txt [iso-8859-1] Wed Jan 23 14:32:25 2008 @@ -1251,7 +1251,7 @@ It is a good practice to include the name and email of the author, for example:: - authorJohn Doe ([EMAIL PROTECTED])/author + author[EMAIL PROTECTED] (John Doe)/author Equivalents: `ATOM-entry-author`_, RSS1-none, `RSS2-item-author`_. -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7238 - /trunk/Feed/docs/specifications.txt
Author: as Date: Wed Jan 23 14:36:54 2008 New Revision: 7238 Log: - More information added to author-type RSS2 elements. Modified: trunk/Feed/docs/specifications.txt Modified: trunk/Feed/docs/specifications.txt == --- trunk/Feed/docs/specifications.txt [iso-8859-1] (original) +++ trunk/Feed/docs/specifications.txt [iso-8859-1] Wed Jan 23 14:36:54 2008 @@ -1122,6 +1122,11 @@ Can appear only once. +It is a good practice to include the name and email of the managing editor, +for example:: + + managingEditor[EMAIL PROTECTED] (John Doe)/managingEditor + Equivalents: `ATOM-author`_, RSS1-none, `RSS2-managingEditor`_. @@ -1230,6 +1235,11 @@ Optional (not recommended). Can appear only once. + +It is a good practice to include the name and email of the webmaster, +for example:: + + webMaster[EMAIL PROTECTED] (John Doe)/webMaster Equivalents: ATOM-none, RSS1-none, `RSS2-webMaster`_. -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7194 - /trunk/Feed/docs/specifications.txt
Author: as Date: Mon Jan 21 10:11:11 2008 New Revision: 7194 Log: - Added RSS1 textinput. - Fixed some elements. Modified: trunk/Feed/docs/specifications.txt Modified: trunk/Feed/docs/specifications.txt == --- trunk/Feed/docs/specifications.txt [iso-8859-1] (original) +++ trunk/Feed/docs/specifications.txt [iso-8859-1] Mon Jan 21 10:11:11 2008 @@ -43,7 +43,7 @@ +---++---+ | x | x | |RSS2-cloud|_ ? | +---++---+ -| x | x | |RSS2-textInput|_ ? | +| x | |RSS1-textinput|_ ?| |RSS2-textInput|_ ? | +---++---+ | |ATOM-entry|_ ?* | |RSS1-item|_ !*| |RSS2-item|_ !* | +---++---+ @@ -568,18 +568,23 @@ Equivalents: `ATOM-link`_, `RSS1-link`_, `RSS2-link`_. -.. _RSS2-copyright: - -RSS2/copyright +.. _RSS1-textinput: + +RSS1/textinput `` -Copyright information for the feed. - -Optional. - -Can appear only once. - -Equivalents: `ATOM-rights`_, RSS1-none, `RSS2-copyright`_. +Specifies a text input box that can be displayed with the feed. + +Optional (not recommended). + +Can appear only once. + +Has the required attribute *about*, which should have the same value as the +*link* sub-element. + +Has four required sub-elements: *title*, *description*, *name*, *link*. + +Equivalents: ATOM-none, `RSS1-textinput`_, `RSS2-textInput`_. .. _RSS1-title: @@ -700,6 +705,20 @@ Equivalents: ATOM-none, RSS1-none, `RSS2-cloud`_. +.. _RSS2-copyright: + +RSS2/copyright +`` + +Copyright information for the feed. + +Optional. + +Can appear only once. + +Equivalents: `ATOM-rights`_, RSS1-none, `RSS2-copyright`_. + + .. _RSS2-description: RSS2/description @@ -852,7 +871,7 @@ Has four required sub-elements: *title*, *description*, *name*, *link*. -Equivalents: ATOM-none, RSS1-none, `RSS2-textInput`_. +Equivalents: ATOM-none, `RSS1-textinput`_, `RSS2-textInput`_. .. _RSS2-title: @@ -1041,6 +1060,7 @@ .. |RSS1-image| replace:: image .. |RSS1-item| replace:: item .. |RSS1-link| replace:: link +.. |RSS1-textinput| replace:: textinput .. |RSS1-title| replace:: title .. |RSS1-item-about| replace:: about -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7198 - /trunk/Feed/docs/specifications.txt
Author: as Date: Mon Jan 21 10:47:37 2008 New Revision: 7198 Log: - Added RSS2 enclosure element. Modified: trunk/Feed/docs/specifications.txt Modified: trunk/Feed/docs/specifications.txt == --- trunk/Feed/docs/specifications.txt [iso-8859-1] (original) +++ trunk/Feed/docs/specifications.txt [iso-8859-1] Mon Jan 21 10:47:37 2008 @@ -78,6 +78,8 @@ +---+--+--+ | x | x| |RSS2-item-comments|_ ? | +---+--+--+ +| |ATOM-entry-link|_ !* | x| |RSS2-item-enclosure|_ ? | ++---+--+--+ | ! = required | ? = optional @@ -385,7 +387,11 @@ A maximum of one link with ``rel=alternate`` can appear per *type* and *hreflang*. -Equivalents: `ATOM-link`_, `RSS1-link`_, `RSS2-link`_. +Recommended only one ``rel=enclosure`` link to keep compatibility with RSS2 +|RSS2-item-enclosure|_. + +Equivalents: `ATOM-entry-link`_, `RSS1-item-link`_, `RSS2-item-link`_/ +`RSS2-item-enclosure`_. .. _ATOM-entry-published: @@ -953,6 +959,22 @@ Equivalents: `ATOM-entry-summary`_, `RSS1-item-description`_, `RSS2-item-description`_. + + +.. _RSS2-item-enclosure: + +RSS2/item/enclosure +``` + +A link to a multimedia file attached to the feed item. + +Optional. + +Can appear only once. + +Has 3 required attributes: *url*, *length*, *type*. + +Equivalents: `ATOM-entry-link`_, RSS1-none, `RSS2-item-enclosure`_. .. _RSS2-item-guid: @@ -1086,6 +1108,7 @@ .. |RSS2-item-author| replace:: author .. |RSS2-item-comments| replace:: comments .. |RSS2-item-description| replace:: description +.. |RSS2-item-enclosure| replace:: enclosure .. |RSS2-item-guid| replace:: guid .. |RSS2-item-link| replace:: link .. |RSS2-item-pubDate| replace:: pubDate -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7199 - /trunk/Feed/docs/specifications.txt
Author: as Date: Mon Jan 21 11:28:36 2008 New Revision: 7199 Log: - Added the category elements. Modified: trunk/Feed/docs/specifications.txt Modified: trunk/Feed/docs/specifications.txt == --- trunk/Feed/docs/specifications.txt [iso-8859-1] (original) +++ trunk/Feed/docs/specifications.txt [iso-8859-1] Mon Jan 21 11:28:36 2008 @@ -30,6 +30,8 @@ | |ATOM-link|_ !* | |RSS1-link|_ ! | |RSS2-link|_ ! | +---++---+ | |ATOM-logo|_ ?| |RSS1-image|_ ?| |RSS2-image|_ ? | ++---++---+ +| |ATOM-category|_ ?* | x | |RSS2-category|_ ?* | +---++---+ | |ATOM-rights|_ ? | x | |RSS2-copyright|_ ? | +---++---+ @@ -74,6 +76,8 @@ +---+--+--+ | |ATOM-entry-published|_ ? | x| |RSS2-item-pubDate|_ ? | +---+--+--+ +| |ATOM-entry-category|_ ?* | x| |RSS2-item-category|_ ?* | ++---+--+--+ | |ATOM-entry-rights|_ ?| x| x | +---+--+--+ | x | x| |RSS2-item-comments|_ ? | @@ -167,6 +171,24 @@ Equivalents: `ATOM-author`_, RSS1-none, `RSS2-managingEditor`_. +.. _ATOM-category: + +ATOM/category +` + +A category for the feed. + +Optional. + +Multiple categories can appear. + +Has one required attribute: *term*. + +Has 2 optional attributes: *scheme*, *label*. + +Equivalents: `ATOM-category`_, RSS1-none, `RSS2-category`_. + + .. _ATOM-entry: ATOM/entry @@ -321,6 +343,24 @@ Equivalents: `ATOM-entry-author`_, RSS1-none, `RSS2-item-author`_. +.. _ATOM-entry-category: + +ATOM/entry/category +``` + +A category for the feed entry. + +Optional. + +Multiple categories can appear. + +Has one required attribute: *term*. + +Has 2 optional attributes: *scheme*, *label*. + +Equivalents: `ATOM-entry-category`_, RSS1-none, `RSS2-item-category`_. + + .. _ATOM-entry-content: ATOM/entry/content @@ -689,6 +729,24 @@ Feed elements - +.. _RSS2-category: + +RSS2/category +` + +A category for the feed. + +Optional. + +Multiple categories can appear. + +Has one optional attribute: *domain*. + +The value of the category element must be specified. + +Equivalents: `ATOM-category`_, RSS1-none, `RSS2-category`_. + + .. _RSS2-cloud: RSS2/cloud @@ -930,6 +988,24 @@ authorJohn Doe ([EMAIL PROTECTED])/author Equivalents: `ATOM-entry-author`_, RSS1-none, `RSS2-item-author`_. + + +.. _RSS2-item-category: + +RSS2/item/category +`` + +A category for the feed. + +Optional. + +Multiple categories can appear. + +Has one optional attribute: *domain*. + +The value of the category element must be specified. + +Equivalents: `ATOM-entry-category`_, RSS1-none, `RSS2-item-category`_. .. _RSS2-item-comments: @@ -1058,6 +1134,7 @@ .. |ATOM-author| replace:: author +.. |ATOM-category| replace:: category .. |ATOM-entry| replace:: entry .. |ATOM-id| replace:: id .. |ATOM-link| replace:: link @@ -1068,6 +1145,7 @@ .. |ATOM-updated| replace:: updated .. |ATOM-entry-author| replace:: author +.. |ATOM-entry-category| replace:: category .. |ATOM-entry-content| replace:: content .. |ATOM-entry-id| replace:: id .. |ATOM-entry-link| replace:: link @@ -1091,6 +1169,7 @@ .. |RSS1-item-title| replace:: title .. |RSS2-cloud| replace:: cloud +.. |RSS2-category| replace:: category .. |RSS2-copyright| replace:: copyright .. |RSS2-description| replace:: description .. |RSS2-image| replace:: image @@ -1106,6 +1185,7 @@ .. |RSS2-ttl| replace:: ttl .. |RSS2-item-author| replace:: author +.. |RSS2-item-category| replace:: category .. |RSS2-item-comments| replace:: comments .. |RSS2-item-description| replace:: description .. |RSS2-item-enclosure| replace:: enclosure -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7209 - /trunk/Feed/docs/specifications.txt
Author: as Date: Mon Jan 21 14:02:26 2008 New Revision: 7209 Log: - Added the webMaster RSS2 element. Modified: trunk/Feed/docs/specifications.txt Modified: trunk/Feed/docs/specifications.txt == --- trunk/Feed/docs/specifications.txt [iso-8859-1] (original) +++ trunk/Feed/docs/specifications.txt [iso-8859-1] Mon Jan 21 14:02:26 2008 @@ -44,6 +44,8 @@ | x | x | |RSS2-rating|_ ? | +---++---+ | x | x | |RSS2-cloud|_ ? | ++---++---+ +| x | x | |RSS2-webMaster|_ ? | +---++---+ | x | |RSS1-textinput|_ ?| |RSS2-textInput|_ ? | +---++---+ @@ -968,6 +970,20 @@ Equivalents: ATOM-none, RSS1-none, `RSS2-ttl`_. +.. _RSS2-webMaster: + +RSS2/webMaster +`` + +The email address of the webmaster responsible for the feed. + +Optional (not recommended). + +Can appear only once. + +Equivalents: ATOM-none, RSS1-none, `RSS2-webMaster`_. + + Item elements - @@ -1183,6 +1199,7 @@ .. |RSS2-textInput| replace:: textInput .. |RSS2-title| replace:: title .. |RSS2-ttl| replace:: ttl +.. |RSS2-webMaster| replace:: webMaster .. |RSS2-item-author| replace:: author .. |RSS2-item-category| replace:: category -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7211 - /trunk/Feed/docs/specifications.txt
Author: as Date: Mon Jan 21 14:44:20 2008 New Revision: 7211 Log: - Added icon ATOM element. Modified: trunk/Feed/docs/specifications.txt Modified: trunk/Feed/docs/specifications.txt == --- trunk/Feed/docs/specifications.txt [iso-8859-1] (original) +++ trunk/Feed/docs/specifications.txt [iso-8859-1] Mon Jan 21 14:44:20 2008 @@ -50,6 +50,8 @@ | x | x | |RSS2-webMaster|_ ? | +---++---+ | x | |RSS1-textinput|_ ?| |RSS2-textInput|_ ? | ++---++---+ +| |ATOM-icon|_ ?| x | x | +---++---+ | |ATOM-entry|_ ?* | |RSS1-item|_ !*| |RSS2-item|_ !* | +---++---+ @@ -223,6 +225,20 @@ Equivalents: `ATOM-generator`_, RSS1-none, `RSS2-generator`_. +.. _ATOM-icon: + +ATOM/icon +` + +An icon for a feed, similar with favicon.ico for websites. + +Optional. + +Can appear only once. + +Equivalents: `ATOM-icon`_, RSS1-none, RSS2-none. + + .. _ATOM-id: ATOM/id @@ -1185,6 +1201,7 @@ .. |ATOM-category| replace:: category .. |ATOM-entry| replace:: entry .. |ATOM-generator| replace:: generator +.. |ATOM-icon| replace:: icon .. |ATOM-id| replace:: id .. |ATOM-link| replace:: link .. |ATOM-logo| replace:: logo -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7212 - /trunk/Feed/docs/specifications.txt
Author: as Date: Mon Jan 21 14:59:14 2008 New Revision: 7212 Log: - Added the contributor ATOM element. Modified: trunk/Feed/docs/specifications.txt Modified: trunk/Feed/docs/specifications.txt == --- trunk/Feed/docs/specifications.txt [iso-8859-1] (original) +++ trunk/Feed/docs/specifications.txt [iso-8859-1] Mon Jan 21 14:59:14 2008 @@ -14,47 +14,49 @@ Feed elements - -+---++---+ -| ATOM| RSS1 | RSS2 | -+===++===+ -| |ATOM-id|_ ! | |RSS1-about|_ !| x | -+---++---+ -| |ATOM-title|_ ! | |RSS1-title|_ !| |RSS2-title|_ ! | -+---++---+ -| |ATOM-updated|_ ! | x | |RSS2-lastBuildDate|_ ? | -+---++---+ -| |ATOM-author|_ !* | x | |RSS2-managingEditor|_ ? | -+---++---+ -| |ATOM-subtitle|_ ?| |RSS1-description|_ ! | |RSS2-description|_ ! | -+---++---+ -| |ATOM-link|_ !* | |RSS1-link|_ ! | |RSS2-link|_ ! | -+---++---+ -| |ATOM-logo|_ ?| |RSS1-image|_ ?| |RSS2-image|_ ? | -+---++---+ -| |ATOM-category|_ ?* | x | |RSS2-category|_ ?* | -+---++---+ -| |ATOM-rights|_ ? | x | |RSS2-copyright|_ ? | -+---++---+ -| |ATOM-generator|_ ? | x | |RSS2-generator|_ ? | -+---++---+ -| x | x | |RSS2-ttl|_ ? | -+---++---+ -| x | x | |RSS2-skipHours|_ ? | -+---++---+ -| x | x | |RSS2-skipDays|_ ? | -+---++---+ -| x | x | |RSS2-rating|_ ? | -+---++---+ -| x | x | |RSS2-cloud|_ ? | -+---++---+ -| x | x | |RSS2-webMaster|_ ? | -+---++---+ -| x | |RSS1-textinput|_ ?| |RSS2-textInput|_ ? | -+---++---+ -| |ATOM-icon|_ ?| x | x | -+---++---+ -| |ATOM-entry|_ ?* | |RSS1-item|_ !*| |RSS2-item|_ !* | -+---++---+ ++-++---+ +| ATOM | RSS1 | RSS2 | ++=++===+ +| |ATOM-id|_ !| |RSS1-about|_ !| x | ++-++---+ +| |ATOM-title|_ ! | |RSS1-title|_ !| |RSS2-title|_ ! | ++-++---+ +| |ATOM-updated|_ ! | x | |RSS2-lastBuildDate|_ ? | ++-++---+ +| |ATOM-author|_ !* | x | |RSS2-managingEditor|_ ? | ++-++---+ +| |ATOM-subtitle|_ ? | |RSS1-description|_ ! | |RSS2-description|_ ! |
[svn-components] 7213 - /trunk/Feed/docs/specifications.txt
Author: as Date: Mon Jan 21 15:44:57 2008 New Revision: 7213 Log: - Added RSS2 language element. - Some display fixes. Modified: trunk/Feed/docs/specifications.txt Modified: trunk/Feed/docs/specifications.txt == --- trunk/Feed/docs/specifications.txt [iso-8859-1] (original) +++ trunk/Feed/docs/specifications.txt [iso-8859-1] Mon Jan 21 15:44:57 2008 @@ -48,6 +48,8 @@ | x | x | |RSS2-cloud|_ ? | +-++---+ | x | x | |RSS2-webMaster|_ ? | ++-++---+ +| x | x | |RSS2-language|_ ? | +-++---+ | x | |RSS1-textinput|_ ?| |RSS2-textInput|_ ? | +-++---+ @@ -113,7 +115,7 @@ Content type -All ATOM feeds should be identified with the *application/atom+xml* content +All ATOM feeds should be identified with the ``application/atom+xml`` content type. @@ -619,7 +621,7 @@ Content type -All RSS1 feeds should be identified with the *application/rss+xml* content +All RSS1 feeds should be identified with the ``application/rss+xml`` content type (not a standard yet). @@ -810,7 +812,7 @@ Content type -All RSS2 feeds should be identified with the *application/rss+xml* content +All RSS2 feeds should be identified with the ``application/rss+xml`` content type (not a standard yet). @@ -931,6 +933,23 @@ Equivalents: `ATOM-entry`_, `RSS1-item`_, `RSS2-item`_. +.. _RSS2-language: + +RSS2/language +` + +The language for the feed. + +Optional (recommended). + +Can appear only once. + +A list of allowed languages can be found here: +http://www.rssboard.org/rss-language-codes. + +Equivalents: ATOM-*xml:lang* for each element, RSS1-none, `RSS2-language`_. + + .. _RSS2-lastBuildDate: RSS2/lastBuildDate @@ -1018,7 +1037,7 @@ Can appear only once. -Can have up to 24 *hour* elements, each with an integer value from ``\0`` +Can have up to 24 *hour* elements, each with an integer value from `` 0`` (midnight) to ``23``. Equivalents: ATOM-none, RSS1-none, `RSS2-skipHours`_. @@ -1295,6 +1314,7 @@ .. |RSS2-generator| replace:: generator .. |RSS2-image| replace:: image .. |RSS2-item| replace:: item +.. |RSS2-language| replace:: language .. |RSS2-lastBuildDate| replace:: lastBuildDate .. |RSS2-link| replace:: link .. |RSS2-managingEditor| replace:: managingEditor -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7214 - /trunk/Feed/docs/specifications.txt
Author: as Date: Mon Jan 21 15:50:53 2008 New Revision: 7214 Log: - Added sample feeds. Modified: trunk/Feed/docs/specifications.txt Modified: trunk/Feed/docs/specifications.txt == --- trunk/Feed/docs/specifications.txt [iso-8859-1] (original) +++ trunk/Feed/docs/specifications.txt [iso-8859-1] Mon Jan 21 15:50:53 2008 @@ -625,6 +625,64 @@ type (not a standard yet). +Structure +- + +Sample RSS1 feed:: + + ?xml version=1.0? + + rdf:RDF + xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#; + xmlns=http://purl.org/rss/1.0/; + + channel rdf:about=http://www.xml.com/xml/news.rss; +titleXML.com/title +linkhttp://xml.com/pub/link +description + XML.com features a rich mix of information and services + for the XML community. +/description + +image rdf:resource=http://xml.com/universal/images/xml_tiny.gif; / + +items + rdf:Seq +rdf:li resource=http://xml.com/pub/2000/08/09/xslt/xslt.html; / +rdf:li resource=http://xml.com/pub/2000/08/09/rdfdb/index.html; / + /rdf:Seq +/items + + /channel + + image rdf:about=http://xml.com/universal/images/xml_tiny.gif; +titleXML.com/title +linkhttp://www.xml.com/link +urlhttp://xml.com/universal/images/xml_tiny.gif/url + /image + + item rdf:about=http://xml.com/pub/2000/08/09/xslt/xslt.html; +titleProcessing Inclusions with XSLT/title +linkhttp://xml.com/pub/2000/08/09/xslt/xslt.html/link +description + Processing document inclusions with general XML tools can be + problematic. This article proposes a way of preserving inclusion + information through SAX-based processing. +/description + /item + + item rdf:about=http://xml.com/pub/2000/08/09/rdfdb/index.html; +titlePutting RDF to Work/title +linkhttp://xml.com/pub/2000/08/09/rdfdb/index.html/link +description + Tool and API support for the Resource Description Framework + is slowly coming of age. Edd Dumbill takes a look at RDFDB, + one of the most exciting new RDF toolkits. +/description + /item + + /rdf:RDF + Feed elements - @@ -814,6 +872,42 @@ All RSS2 feeds should be identified with the ``application/rss+xml`` content type (not a standard yet). + + +Structure +- + +Sample RSS2 feed:: + + ?xml version=1.0? + rss version=2.0 + channel + titleLiftoff News/title + linkhttp://liftoff.msfc.nasa.gov//link + descriptionLiftoff to Space Exploration./description + languageen-us/language + pubDateTue, 10 Jun 2003 04:00:00 GMT/pubDate + lastBuildDateTue, 10 Jun 2003 09:41:01 GMT/lastBuildDate + docshttp://blogs.law.harvard.edu/tech/rss/docs + generatorWeblog Editor 2.0/generator + managingEditor[EMAIL PROTECTED]/managingEditor + webMaster[EMAIL PROTECTED]/webMaster + item + titleThe Engine That Does More/title + linkhttp://liftoff.msfc.nasa.gov/news/2003/news-VASIMR.asp/link + descriptionBefore man travels to Mars, NASA hopes to design new engines that will let us fly through the Solar System more quickly. The proposed VASIMR engine would do that./description + pubDateTue, 27 May 2003 08:37:32 GMT/pubDate + guidhttp://liftoff.msfc.nasa.gov/2003/05/27.html#item571/guid + /item + item + titleAstronauts' Dirty Laundry/title + linkhttp://liftoff.msfc.nasa.gov/news/2003/news-laundry.asp/link + descriptionCompared to earlier spacecraft, the International Space Station has many luxuries, but laundry facilities are not one of them. Instead, astronauts have other options./description + pubDateTue, 20 May 2003 08:56:02 GMT/pubDate + guidhttp://liftoff.msfc.nasa.gov/2003/05/20.html#item570/guid + /item + /channel + /rss Feed elements -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7174 - /trunk/Feed/docs/specifications.txt
Author: as Date: Fri Jan 18 10:21:18 2008 New Revision: 7174 Log: - Added a table of equivalence for feed elements. Modified: trunk/Feed/docs/specifications.txt Modified: trunk/Feed/docs/specifications.txt == --- trunk/Feed/docs/specifications.txt [iso-8859-1] (original) +++ trunk/Feed/docs/specifications.txt [iso-8859-1] Fri Jan 18 10:21:18 2008 @@ -8,6 +8,56 @@ .. contents:: Table of Contents +Feeds equivalence += + +Feed elements +- + ++-++-+ +| ATOM | RSS1 | RSS2 | ++=++=+ +| |ATOM-id|_ R| |RSS1-about|_ R| ? | ++-++-+ +| |ATOM-title|_ R | |RSS1-title|_ R| |RSS2-title|_ R | ++-++-+ +| |ATOM-updated|_ R | ? | |RSS2-lastBuildDate|_ | ++-++-+ +| |ATOM-author|_ R* | ? | |RSS2-managingEditor|_ | ++-++-+ +| |ATOM-subtitle|_| |RSS1-description|_ R | |RSS2-description|_ R | ++-++-+ +| |ATOM-link|_ R | |RSS1-link|_ R | |RSS2-link|_ R | ++-++-+ +| |ATOM-entry|_ | |RSS1-item|_ R | |RSS2-item|_ R | ++-++-+ + +| R = required +| * = special requirements +| ? = no equivalence + +.. |ATOM-id| replace:: id +.. |ATOM-title| replace:: title +.. |ATOM-updated| replace:: updated +.. |ATOM-author| replace:: author +.. |ATOM-subtitle| replace:: subtitle +.. |ATOM-link| replace:: link +.. |ATOM-entry| replace:: entry + +.. |RSS1-about| replace:: about +.. |RSS1-title| replace:: title +.. |RSS1-description| replace:: description +.. |RSS1-link| replace:: link +.. |RSS1-item| replace:: item + +.. |RSS2-title| replace:: title +.. |RSS2-lastBuildDate| replace:: lastBuildDate +.. |RSS2-managingEditor| replace:: managingEditor +.. |RSS2-description| replace:: description +.. |RSS2-link| replace:: link +.. |RSS2-item| replace:: item + + ATOM @@ -30,7 +80,7 @@ General information: - All elements must be in the http://www.w3.org/2005/Atom namespace - The top level element is called *feed* - - All timestamps must conform to `RFC 3339`_ (eg. 2003-12-13T18:30:02Z) + - All timestamps must conform to `RFC 3339`_ (eg. ``2003-12-13T18:30:02Z``) - Unless otherwise specified, all values must be plain text - *xml:lang* may be used to identify the language of text - *xml:base* may be used to control how relative URIs are resolved @@ -70,6 +120,8 @@ A universally unique and permanent URI for a feed. For example, it can be an Internet domain name. +Required. + Equivalents: `ATOM-id`_, `RSS1-about`_, RSS2-none. @@ -81,6 +133,8 @@ Human readable title for the feed. For example, it can be the same as the website title. +Required. + Equivalents: `ATOM-title`_, `RSS1-title`_, `RSS2-title`_. @@ -91,7 +145,9 @@ The last time the feed was updated. -Must conform to `RFC 3339`_ (eg. 2003-12-13T18:30:02Z). +Required. + +Must conform to `RFC 3339`_ (eg. ``2003-12-13T18:30:02Z``). Equivalents: `ATOM-updated`_, RSS1-none, `RSS2-lastBuildDate`_. @@ -103,9 +159,10 @@ One author of the feed. +Required: one author must be present unless all items contain at least one +author. + Multiple authors can appear. - -One author must be present unless all items contain at least one author. Required elements: *name*. Optional elements: *uri*, *email*. @@ -127,14 +184,14 @@ The URL to the HTML website corresponding to the channel. +Required: a link back to the feed itself must be present (with *rel=self*). + Multiple links can appear. Required attributes: *href*. Optional attributes: *rel* (possible values: *alternate*, *enclosure*, *related*, *self*, *via*), *type*, *hreflang*, *title*, *length*). -A link back to the feed itself must be present (with *rel=self*). - A maximum of one link with *rel=alternate* can appear per *type* and *hreflang*. @@ -187,6 +244,8 @@ A universally unique and permanent URI for a feed. For example, it can be an Internet domain name. +Required. + Equivalents: `ATOM-id`_, `RSS1-about`_, RSS2-none. @@ -198,6 +257,8 @@ Human readable title for the feed. For example, it can be the same as the website title. +Required. + Equivalents: `ATOM-title`_, `RSS1-title`_,
[svn-components] 7184 - /trunk/Feed/docs/specifications.txt
Author: as Date: Fri Jan 18 14:53:02 2008 New Revision: 7184 Log: - Use ATOM_published = RSS2_pubDate instead of ATOM_updated = RSS2_pubDate. Modified: trunk/Feed/docs/specifications.txt Modified: trunk/Feed/docs/specifications.txt == --- trunk/Feed/docs/specifications.txt [iso-8859-1] (original) +++ trunk/Feed/docs/specifications.txt [iso-8859-1] Fri Jan 18 14:53:02 2008 @@ -48,13 +48,15 @@ +---+--+--+ | |ATOM-entry-title|_ ! | |RSS1-item-title|_ ! | |RSS2-item-title|_ ! | +---+--+--+ -| |ATOM-entry-updated|_ ! | x| |RSS2-item-pubDate|_ ? | +| |ATOM-entry-updated|_ ! | x| x | +---+--+--+ | |ATOM-entry-author|_ !* | x| |RSS2-item-author|_ ?| +---+--+--+ | |ATOM-entry-link|_ !* | |RSS1-item-link|_ ! | |RSS2-item-link|_ ! | +---+--+--+ | |ATOM-entry-summary|_ ! | |RSS1-item-description|_ ! | |RSS2-item-description|_ ! | ++---+--+--+ +| |ATOM-entry-published|_ ? | x| |RSS2-item-pubDate|_ ? | +---+--+--+ | ! = required @@ -335,6 +337,22 @@ Equivalents: `ATOM-link`_, `RSS1-link`_, `RSS2-link`_. +.. _ATOM-entry-published: + +ATOM/entry/published + + +The time the feed item was published. + +Optional (recommended). + +Can appear only once. + +Must conform to `RFC 3339`_ (eg. ``2003-12-13T18:30:02Z``). + +Equivalents: `ATOM-entry-published`_, RSS1-none, `RSS2-item-pubDate`_. + + .. _ATOM-entry-summary: ATOM/entry/summary @@ -383,7 +401,7 @@ Must conform to `RFC 3339`_ (eg. ``2003-12-13T18:30:02Z``). -Equivalents: `ATOM-entry-updated`_, RSS1-none, `RSS2-item-pubDate`_. +Equivalents: `ATOM-entry-updated`_, RSS1-none, RSS2-none. RSS1 @@ -719,7 +737,7 @@ RSS2/item/pubDate ` -The last time the feed item was updated. +The time the feed item was published. Optional (recommended). @@ -727,7 +745,7 @@ Must conform to `RFC 822`_ (eg. ``Sat, 07 Sep 2002 09:42:31 GMT``). -Equivalents: `ATOM-entry-updated`_, RSS1-none, `RSS2-item-pubDate`_. +Equivalents: `ATOM-entry-published`_, RSS1-none, `RSS2-item-pubDate`_. .. _RSS2-item-title: @@ -761,47 +779,47 @@ .. _RFC 822: http://www.faqs.org/rfcs/rfc822.html - +.. |ATOM-author| replace:: author +.. |ATOM-entry| replace:: entry .. |ATOM-id| replace:: id +.. |ATOM-link| replace:: link +.. |ATOM-subtitle| replace:: subtitle .. |ATOM-title| replace:: title .. |ATOM-updated| replace:: updated -.. |ATOM-author| replace:: author -.. |ATOM-subtitle| replace:: subtitle -.. |ATOM-link| replace:: link -.. |ATOM-entry| replace:: entry - -.. |RSS1-about| replace:: about -.. |RSS1-title| replace:: title -.. |RSS1-description| replace:: description -.. |RSS1-link| replace:: link -.. |RSS1-item| replace:: item - -.. |RSS2-title| replace:: title -.. |RSS2-lastBuildDate| replace:: lastBuildDate -.. |RSS2-managingEditor| replace:: managingEditor -.. |RSS2-description| replace:: description -.. |RSS2-link| replace:: link -.. |RSS2-item| replace:: item - + +.. |ATOM-entry-author| replace:: author +.. |ATOM-entry-content| replace:: content .. |ATOM-entry-id| replace:: id +.. |ATOM-entry-link| replace:: link +.. |ATOM-entry-published| replace:: published +.. |ATOM-entry-summary| replace:: summary .. |ATOM-entry-title| replace:: title .. |ATOM-entry-updated| replace:: updated -.. |ATOM-entry-author| replace:: author -.. |ATOM-entry-link| replace:: link -.. |ATOM-entry-summary| replace:: summary -.. |ATOM-entry-content| replace:: content + +.. |RSS1-about| replace:: about +.. |RSS1-description| replace:: description +.. |RSS1-item| replace:: item +.. |RSS1-link| replace:: link +.. |RSS1-title| replace:: title .. |RSS1-item-about| replace:: about +.. |RSS1-item-description| replace:: description +.. |RSS1-item-link| replace:: link .. |RSS1-item-title| replace:: title -.. |RSS1-item-link| replace:: link -.. |RSS1-item-description| replace:: description - + +.. |RSS2-description| replace:: description +.. |RSS2-item| replace:: item +.. |RSS2-lastBuildDate| replace:: lastBuildDate +.. |RSS2-link| replace:: link +.. |RSS2-managingEditor| replace:: managingEditor +.. |RSS2-title| replace:: title + +.. |RSS2-item-author| replace:: author +..
[svn-components] 7188 - /trunk/Feed/docs/specifications.txt
Author: as Date: Fri Jan 18 16:27:40 2008 New Revision: 7188 Log: - Another sorting. Modified: trunk/Feed/docs/specifications.txt Modified: trunk/Feed/docs/specifications.txt == --- trunk/Feed/docs/specifications.txt [iso-8859-1] (original) +++ trunk/Feed/docs/specifications.txt [iso-8859-1] Fri Jan 18 16:27:40 2008 @@ -804,6 +804,23 @@ Equivalents: ATOM-none, RSS1-none, `RSS2-rating`_. +.. _RSS2-skipDays: + +RSS2/skipDays +` + +A hint for aggregators telling them which days they can skip when reading the +feed. + +Optional (not recommended). + +Can appear only once. + +Can have up to 7 *day* elements, each with a value from ``Monday`` to ``Sunday``. + +Equivalents: ATOM-none, RSS1-none, `RSS2-skipDays`_. + + .. _RSS2-skipHours: RSS2/skipHours @@ -820,23 +837,6 @@ (midnight) to ``23``. Equivalents: ATOM-none, RSS1-none, `RSS2-skipHours`_. - - -.. _RSS2-skipDays: - -RSS2/skipDays -` - -A hint for aggregators telling them which days they can skip when reading the -feed. - -Optional (not recommended). - -Can appear only once. - -Can have up to 7 *day* elements, each with a value from ``Monday`` to ``Sunday``. - -Equivalents: ATOM-none, RSS1-none, `RSS2-skipDays`_. .. _RSS2-textInput: @@ -1057,8 +1057,8 @@ .. |RSS2-link| replace:: link .. |RSS2-managingEditor| replace:: managingEditor .. |RSS2-rating| replace:: rating +.. |RSS2-skipDays| replace:: skipDays .. |RSS2-skipHours| replace:: skipHours -.. |RSS2-skipDays| replace:: skipDays .. |RSS2-textInput| replace:: textInput .. |RSS2-title| replace:: title .. |RSS2-ttl| replace:: ttl -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7187 - /trunk/Feed/docs/specifications.txt
Author: as Date: Fri Jan 18 16:24:29 2008 New Revision: 7187 Log: - Added information about the image element. Modified: trunk/Feed/docs/specifications.txt Modified: trunk/Feed/docs/specifications.txt == --- trunk/Feed/docs/specifications.txt [iso-8859-1] (original) +++ trunk/Feed/docs/specifications.txt [iso-8859-1] Fri Jan 18 16:24:29 2008 @@ -28,6 +28,8 @@ | |ATOM-subtitle|_ ?| |RSS1-description|_ ! | |RSS2-description|_ ! | +---++---+ | |ATOM-link|_ !* | |RSS1-link|_ ! | |RSS2-link|_ ! | ++---++---+ +| |ATOM-logo|_ ?| |RSS1-image|_ ?| |RSS2-image|_ ? | +---++---+ | |ATOM-rights|_ ? | x | |RSS2-copyright|_ ? | +---++---+ @@ -213,6 +215,20 @@ Equivalents: `ATOM-link`_, `RSS1-link`_, `RSS2-link`_. +.. _ATOM-logo: + +ATOM/logo +` + +An image associated with the feed. The value is an URL to an image. + +Optional. + +Can appear only once. + +Equivalents: `ATOM-logo`_, `RSS1-image`_, `RSS2-image`_. + + .. _ATOM-rights: ATOM/rights @@ -505,6 +521,25 @@ Equivalents: `ATOM-subtitle`_, `RSS1-description`_, `RSS2-description`_. +.. _RSS1-image: + +RSS1/image +`` + +An image associated with the feed. + +Optional. + +Can appear only once. + +Has the required attribute *about*, which should have the same value as the +*url* sub-element. + +Has 3 required sub-elements: *title*, *link*, *url*. + +Equivalents: `ATOM-logo`_, `RSS1-image`_, `RSS2-image`_. + + .. _RSS1-item: RSS1/item @@ -677,6 +712,24 @@ Can appear only once. Equivalents: `ATOM-subtitle`_, `RSS1-description`_, `RSS2-description`_. + + +.. _RSS2-image: + +RSS2/image +`` + +An image associated with the feed. + +Optional. + +Can appear only once. + +Has 3 required sub-elements: *title*, *link*, *url*. + +Has 3 optional sub-elements: *width*, *height*, *description*. + +Equivalents: `ATOM-logo`_, `RSS1-image`_, `RSS2-image`_. .. _RSS2-item: @@ -967,6 +1020,7 @@ .. |ATOM-entry| replace:: entry .. |ATOM-id| replace:: id .. |ATOM-link| replace:: link +.. |ATOM-logo| replace:: logo .. |ATOM-rights| replace:: rights .. |ATOM-subtitle| replace:: subtitle .. |ATOM-title| replace:: title @@ -984,6 +1038,7 @@ .. |RSS1-about| replace:: about .. |RSS1-description| replace:: description +.. |RSS1-image| replace:: image .. |RSS1-item| replace:: item .. |RSS1-link| replace:: link .. |RSS1-title| replace:: title @@ -996,6 +1051,7 @@ .. |RSS2-cloud| replace:: cloud .. |RSS2-copyright| replace:: copyright .. |RSS2-description| replace:: description +.. |RSS2-image| replace:: image .. |RSS2-item| replace:: item .. |RSS2-lastBuildDate| replace:: lastBuildDate .. |RSS2-link| replace:: link @@ -1007,7 +1063,6 @@ .. |RSS2-title| replace:: title .. |RSS2-ttl| replace:: ttl - .. |RSS2-item-author| replace:: author .. |RSS2-item-comments| replace:: comments .. |RSS2-item-description| replace:: description -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7186 - /trunk/Feed/docs/specifications.txt
Author: as Date: Fri Jan 18 15:37:58 2008 New Revision: 7186 Log: - Added information about some deprecated RSS2 elements. Modified: trunk/Feed/docs/specifications.txt Modified: trunk/Feed/docs/specifications.txt == --- trunk/Feed/docs/specifications.txt [iso-8859-1] (original) +++ trunk/Feed/docs/specifications.txt [iso-8859-1] Fri Jan 18 15:37:58 2008 @@ -30,6 +30,18 @@ | |ATOM-link|_ !* | |RSS1-link|_ ! | |RSS2-link|_ ! | +---++---+ | |ATOM-rights|_ ? | x | |RSS2-copyright|_ ? | ++---++---+ +| x | x | |RSS2-ttl|_ ? | ++---++---+ +| x | x | |RSS2-skipHours|_ ? | ++---++---+ +| x | x | |RSS2-skipDays|_ ? | ++---++---+ +| x | x | |RSS2-rating|_ ? | ++---++---+ +| x | x | |RSS2-cloud|_ ? | ++---++---+ +| x | x | |RSS2-textInput|_ ? | +---++---+ | |ATOM-entry|_ ?* | |RSS1-item|_ !*| |RSS2-item|_ !* | +---++---+ @@ -62,6 +74,8 @@ +---+--+--+ | |ATOM-entry-rights|_ ?| x| x | +---+--+--+ +| x | x| |RSS2-item-comments|_ ? | ++---+--+--+ | ! = required | ? = optional @@ -622,13 +636,35 @@ Content type -All RSS1 feeds should be identified with the *application/rss+xml* content +All RSS2 feeds should be identified with the *application/rss+xml* content type (not a standard yet). Feed elements - +.. _RSS2-cloud: + +RSS2/cloud +`` + +Allows processes to register with a cloud to be notified of updates to the +channel, implementing a lightweight publish-subscribe protocol for RSS feeds. + +Optional (not recommended). + +Can appear only once. + +Has the required attributes: *domain*, *port*, *path*, *registerProcedure*, +*protocol*. + +Example:: + + cloud domain=rpc.sys.com port=80 path=/RPC2 registerProcedure=myCloud.rssPleaseNotify protocol=xml-rpc / + +Equivalents: ATOM-none, RSS1-none, `RSS2-cloud`_. + + .. _RSS2-description: RSS2/description @@ -701,6 +737,71 @@ Equivalents: `ATOM-author`_, RSS1-none, `RSS2-managingEditor`_. +.. _RSS2-rating: + +RSS2/rating +``` + +The `PICS`_ rating for the channel. + +Optional (not recommended). + +Can appear only once. + +Equivalents: ATOM-none, RSS1-none, `RSS2-rating`_. + + +.. _RSS2-skipHours: + +RSS2/skipHours +`` + +A hint for aggregators telling them which hours they can skip when reading the +feed. + +Optional (not recommended). + +Can appear only once. + +Can have up to 24 *hour* elements, each with an integer value from ``\0`` +(midnight) to ``23``. + +Equivalents: ATOM-none, RSS1-none, `RSS2-skipHours`_. + + +.. _RSS2-skipDays: + +RSS2/skipDays +` + +A hint for aggregators telling them which days they can skip when reading the +feed. + +Optional (not recommended). + +Can appear only once. + +Can have up to 7 *day* elements, each with a value from ``Monday`` to ``Sunday``. + +Equivalents: ATOM-none, RSS1-none, `RSS2-skipDays`_. + + +.. _RSS2-textInput: + +RSS2/textInput +`` + +Specifies a text input box that can be displayed with the feed. + +Optional (not recommended). + +Can appear only once. + +Has four required sub-elements: *title*, *description*, *name*, *link*. + +Equivalents: ATOM-none, RSS1-none, `RSS2-textInput`_. + + .. _RSS2-title: RSS2/title @@ -716,6 +817,21 @@ Equivalents: `ATOM-title`_, `RSS1-title`_, `RSS2-title`_. +.. _RSS2-ttl: + +RSS2/ttl + + +Number of minutes that indicates how long a channel can be cached before +refreshing from the source. + +Optional (not recommended). + +Can appear only once. + +Equivalents: ATOM-none,
[svn-components] 7168 - /trunk/Feed/docs/specifications.txt
Author: as Date: Thu Jan 17 16:55:00 2008 New Revision: 7168 Log: - Updated the specifications for feed types. # Work in progress. Modified: trunk/Feed/docs/specifications.txt Modified: trunk/Feed/docs/specifications.txt == --- trunk/Feed/docs/specifications.txt [iso-8859-1] (original) +++ trunk/Feed/docs/specifications.txt [iso-8859-1] Thu Jan 17 16:55:00 2008 @@ -1,21 +1,334 @@ -Feed RFCs +Feed specifications +~~~ + +This document lists the various feed types supported by the Feed component, +general information about each feed type, and the related specifications +documents and RFCs. + +.. contents:: Table of Contents + + +ATOM + + +Specifications +-- + +`RFC 4287`_ + + +Content type + + +All ATOM feeds should be identified with the *application/atom+xml* content +type. + + +Structure - -This document lists the various feed types supported by the Feed component, -and the related specifications documents and RFCs. - - -Feed types -== - -1. `RSS 1.0`__ -2. `RSS 2.0`__ -3. `ATOM`__ (RFC 4287) - -__ http://web.resource.org/rss/1.0/spec -__ http://www.rssboard.org/rss-specification -__ http://atompub.org/rfc4287.html - +General information: + - All elements must be in the http://www.w3.org/2005/Atom namespace + - The top level element is called *feed* + - All timestamps must conform to `RFC 3339`_ (eg. 2003-12-13T18:30:02Z) + - Unless otherwise specified, all values must be plain text + - *xml:lang* may be used to identify the language of text + - *xml:base* may be used to control how relative URIs are resolved + +Sample ATOM feed:: + + ?xml version=1.0 encoding=utf-8? + feed xmlns=http://www.w3.org/2005/Atom; + +titleExample Feed/title +link href=http://example.org// +updated2003-12-13T18:30:02Z/updated +author + nameJohn Doe/name +/author +idurn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6/id + +entry + titleAtom-Powered Robots Run Amok/title + link href=http://example.org/2003/12/13/atom03/ + idurn:uuid:1225c695-cfb8-4ebb--80da344efa6a/id + updated2003-12-13T18:30:02Z/updated + summarySome text./summary +/entry + + /feed + + +Feed elements +- + +.. _ATOM-id: + +id +`` + +A universally unique and permanent URI for a feed. For example, it can be an +Internet domain name. + +Equivalents: `ATOM-id`_, `RSS1-about`_, RSS2-none. + + +.. _ATOM-title: + +title +` + +Human readable title for the feed. For example, it can be the same as the +website title. + +Equivalents: `ATOM-title`_, `RSS1-title`_, `RSS2-title`_. + + +.. _ATOM-updated: + +updated +``` + +The last time the feed was updated. + +Must conform to `RFC 3339`_ (eg. 2003-12-13T18:30:02Z). + +Equivalents: `ATOM-updated`_, RSS1-none, `RSS2-lastBuildDate`_. + + +.. _ATOM-author: + +author +`` + +One author of the feed. + +Multiple authors can appear. + +One author must be present unless all items contain at least one author. + +Required elements: *name*. Optional elements: *uri*, *email*. + +Example:: + + author +nameJohn Doe/name +urihttp://example.com/~johndoe/uri +email[EMAIL PROTECTED]/email + /author + +Equivalents: `ATOM-author`_, RSS1-none, `RSS2-managingEditor`_. + + +.. _ATOM-link: + +link + + +The URL to the HTML website corresponding to the channel. + +Multiple links can appear. + +Required attributes: *href*. Optional attributes: *rel* (possible values: +*alternate*, *enclosure*, *related*, *self*, *via*), *type*, *hreflang*, +*title*, *length*). + +A link back to the feed itself must be present (with *rel=self*). + +A maximum of one link with *rel=alternate* can appear per *type* and +*hreflang*. + +Equivalents: `ATOM-link`_, `RSS1-link`_, `RSS2-link`_. + + +.. _ATOM-entry: + +entry +` + +Feed entry. + +Multiple entries can appear. + +Equivalents: `ATOM-entry`_, `RSS1-item`_, `RSS2-item`_. + + +.. _ATOM-subtitle: + +subtitle + + +A short description of the feed. + +Equivalents: `ATOM-subtitle`_, `RSS1-description`_, `RSS2-description`_. + + +Item elements +- + + +RSS1 + + +Specifications +-- + +`RSS1`_ + + +Feed elements +- + +.. _RSS1-about: + +about +` + +A universally unique and permanent URI for a feed. For example, it can be an +Internet domain name. + +Equivalents: `ATOM-id`_, `RSS1-about`_, RSS2-none. + + +.. _RSS1-title: + +title +` + +Human readable title for the feed. For example, it can be the same as the +website title. + +Equivalents: `ATOM-title`_, `RSS1-title`_, `RSS2-title`_. + + +.. _RSS1-description: + +description +``` + +A short description of the feed. + +Equivalents: `ATOM-subtitle`_, `RSS1-description`_, `RSS2-description`_. + + +.. _RSS1-link: + +link + + +The URL to the HTML website corresponding to the channel. + +Equivalents: `ATOM-link`_, `RSS1-link`_, `RSS2-link`_. + + +.. _RSS1-item: + +item
[svn-components] 7153 - /trunk/Feed/src/interfaces/processor.php
Author: as Date: Wed Jan 16 12:53:21 2008 New Revision: 7153 Log: - Ingore some methods. Modified: trunk/Feed/src/interfaces/processor.php Modified: trunk/Feed/src/interfaces/processor.php == --- trunk/Feed/src/interfaces/processor.php [iso-8859-1] (original) +++ trunk/Feed/src/interfaces/processor.php [iso-8859-1] Wed Jan 16 12:53:21 2008 @@ -101,6 +101,7 @@ * @param DOMNode $root The root in which to create the node $element * @param string $element The name of the XML element * @param mixed|array(mixed) $value The value(s) for $element + * @ignore */ public function generateMetaData( DOMNode $root, $element, $value ) { @@ -123,6 +124,7 @@ * @param string $element The name of the XML element * @param mixed|array(mixed) $value The value(s) for $element * @param array(string=mixed) $attributes The attributes to add to the node + * @ignore */ public function generateMetaDataWithAttributes( DOMNode $root, $element, $value = false, array $attributes ) { @@ -228,7 +230,7 @@ * feed schema allows this (returns null if the schema does not allow it). * * @param string $name The element name - * @return ezcFeedelement|null + * @return ezcFeedElement|null */ public function add( $name ) { -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7155 - /trunk/Feed/src/feed.php
Author: as Date: Wed Jan 16 13:03:55 2008 New Revision: 7155 Log: - Added missing thrown exception in doc blocks. Modified: trunk/Feed/src/feed.php Modified: trunk/Feed/src/feed.php == --- trunk/Feed/src/feed.php [iso-8859-1] (original) +++ trunk/Feed/src/feed.php [iso-8859-1] Wed Jan 16 13:03:55 2008 @@ -300,6 +300,8 @@ * * @throws ezcBaseFileNotFoundException * If the XML file at $uri could not be found. + * @throws ezcFeedCanNotParseException + * If the content at $uri is not a valid XML document. * * @param string $uri An URI which stores an XML document * @return ezcFeed -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7101 - in /trunk/Template: ./ src/syntax_trees/tst/nodes/ tests/ tests/templates/
Author: as Date: Tue Jan 8 13:32:58 2008 New Revision: 7101 Log: - Fixed issue #11056: * {dynamic} is only allowed after {cache_template} or in {cache_block}. * corrected documentation in regard to TTL vs. ttl. Added: trunk/Template/tests/templates/cache_dynamic_after_cache_block.tpl (with props) trunk/Template/tests/templates/cache_dynamic_before_cache_block.tpl (with props) trunk/Template/tests/templates/cache_dynamic_in_block_after_cache_block.tpl (with props) trunk/Template/tests/templates/cache_dynamic_in_block_before_cache_block.tpl (with props) trunk/Template/tests/templates/cache_dynamic_in_include_after_cache_template.tpl (with props) trunk/Template/tests/templates/cache_dynamic_in_include_in_cache_block.tpl (with props) trunk/Template/tests/templates/cache_template_after_dynamic.tpl (with props) trunk/Template/tests/templates/cache_template_after_dynamic_in_block.tpl (with props) trunk/Template/tests/templates/dynamic_included.tpl (with props) Modified: trunk/Template/ChangeLog trunk/Template/src/syntax_trees/tst/nodes/dynamic_block.php trunk/Template/tests/cache_test.php Modified: trunk/Template/ChangeLog == --- trunk/Template/ChangeLog [iso-8859-1] (original) +++ trunk/Template/ChangeLog [iso-8859-1] Tue Jan 8 13:32:58 2008 @@ -10,6 +10,10 @@ defined. - Fixed issue #12323: Using {cache_template} inside a block will now throw an exception. +- Fixed issue #11056: + + * {dynamic} is only allowed after {cache_template} or in {cache_block}. + * corrected documentation in regard to TTL vs. ttl. 1.2 - Monday 02 July 2007 Modified: trunk/Template/src/syntax_trees/tst/nodes/dynamic_block.php == --- trunk/Template/src/syntax_trees/tst/nodes/dynamic_block.php [iso-8859-1] (original) +++ trunk/Template/src/syntax_trees/tst/nodes/dynamic_block.php [iso-8859-1] Tue Jan 8 13:32:58 2008 @@ -26,11 +26,50 @@ public function __construct( ezcTemplateSourceCode $source, /*ezcTemplateCursor*/ $start, /*ezcTemplateCursor*/ $end ) { parent::__construct( $source, $start, $end ); +$this-name = 'dynamic'; } public function getTreeProperties() { return array( ); } + +/** + * Checks if the given node can be attached to its parent. + * + * @throws ezcTemplateParserException if the node cannot be attached. + * @param ezcTemplateTstNode $parentElement + * @return void + */ +public function canAttachToParent( $parentElement ) +{ +// Must at least have one parent with cache_block, or be after cache_template + +$p = $parentElement; + +while ( !$p instanceof ezcTemplateProgramTstNode ) +{ +if ( $p instanceof ezcTemplateCacheBlockTstNode ) +{ +return; // Perfect, we are inside a cache_block +} + +$p = $p-parentBlock; +} + +if ( $p instanceof ezcTemplateProgramTstNode ) +{ +foreach ( $p-children as $node ) +{ +if ( $node instanceof ezcTemplateCacheTstNode ) +{ +return; // Perfect, we are after cache_template +} +} +} + +throw new ezcTemplateParserException( $this-source, $this-startCursor, $this-startCursor, +{ . $this-name . } can only be a child of {cache_template} or a {cache_block} block. ); +} } ? Modified: trunk/Template/tests/cache_test.php == --- trunk/Template/tests/cache_test.php [iso-8859-1] (original) +++ trunk/Template/tests/cache_test.php [iso-8859-1] Tue Jan 8 13:32:58 2008 @@ -462,6 +462,126 @@ catch ( Exception $e ) { $this-assertNotEquals( false, strpos( $e-getMessage(), '{cache_template} cannot be declared inside a template block' ) ); +} +} + +public function testCacheTemplateAfterDynamic() +{ +$t = new ezcTemplate(); + +try +{ +$out = $t-process( cache_template_after_dynamic.tpl); +$this-fail(Expected an exception); +} +catch ( ezcTemplateParserException $e ) +{ +$this-assertNotEquals( false, strpos( $e-getMessage(), '{dynamic} can only be a child of {cache_template} or a {cache_block} block' ) ); +} +} + +public function testCacheTemplateAfterDynamicInBlock() +{ +$t = new ezcTemplate(); + +try +{ +$out = $t-process( cache_template_after_dynamic_in_block.tpl); +$this-fail(Expected an exception); +} +catch ( ezcTemplateParserException $e ) +{ +$this-assertNotEquals( false, strpos(
[svn-components] 7106 - in /trunk/Template: ./ src/parsers/tst_to_ast/implementations/ tests/ tests/templates/subfolder/ tests/templates/subfolder/subsubfolder/
Author: as Date: Tue Jan 8 17:04:16 2008 New Revision: 7106 Log: - Fixed issue #11056: * fixed the cache file names in Windows (replace '\' with '-'). Added: trunk/Template/tests/templates/subfolder/ trunk/Template/tests/templates/subfolder/subsubfolder/ trunk/Template/tests/templates/subfolder/subsubfolder/cache_block_simple.tpl (with props) Modified: trunk/Template/ChangeLog trunk/Template/src/parsers/tst_to_ast/implementations/tst_to_ast_cached_transformer.php trunk/Template/tests/cache_test.php Modified: trunk/Template/ChangeLog == --- trunk/Template/ChangeLog [iso-8859-1] (original) +++ trunk/Template/ChangeLog [iso-8859-1] Tue Jan 8 17:04:16 2008 @@ -14,6 +14,7 @@ * {dynamic} is only allowed after {cache_template} or in {cache_block}. * corrected documentation in regard to TTL vs. ttl. + * fixed the cache file names in Windows (replace '\' with '-'). 1.2 - Monday 02 July 2007 Modified: trunk/Template/src/parsers/tst_to_ast/implementations/tst_to_ast_cached_transformer.php == --- trunk/Template/src/parsers/tst_to_ast/implementations/tst_to_ast_cached_transformer.php [iso-8859-1] (original) +++ trunk/Template/src/parsers/tst_to_ast/implementations/tst_to_ast_cached_transformer.php [iso-8859-1] Tue Jan 8 17:04:16 2008 @@ -202,7 +202,7 @@ $fileName = $rpStream; } -$this-cacheBaseName = $this-template-usedConfiguration-compilePath . DIRECTORY_SEPARATOR . $this-template-usedConfiguration-cachedTemplatesPath . DIRECTORY_SEPARATOR . str_replace( '/', -, $fileName ); +$this-cacheBaseName = $this-template-usedConfiguration-compilePath . DIRECTORY_SEPARATOR . $this-template-usedConfiguration-cachedTemplatesPath . DIRECTORY_SEPARATOR . str_replace( DIRECTORY_SEPARATOR, -, $fileName ); } return $this-cacheBaseName; Modified: trunk/Template/tests/cache_test.php == --- trunk/Template/tests/cache_test.php [iso-8859-1] (original) +++ trunk/Template/tests/cache_test.php [iso-8859-1] Tue Jan 8 17:04:16 2008 @@ -60,7 +60,24 @@ $this-fail( Expected the directory to exists: . $cacheDir ); } } - + +public function testCacheBlockFileCreation() +{ +$config = ezcTemplateConfiguration::getInstance(); + +$cacheDir = $config-compilePath . DIRECTORY_SEPARATOR . cached_templates; + +$t = new ezcTemplate(); +$t-send-user = new TestUser( Bernard, Black ); +$t-process( subfolder/subsubfolder/cache_block_simple.tpl); + +$this-assertEquals( true, file_exists( $config-compilePath . /cached_templates/-subfolder-subsubfolder-cache_block_simple.tpl[cb0] ) ); +if ( !file_exists( $config-compilePath . DIRECTORY_SEPARATOR . cached_templates ) ) +{ +$this-fail( Expected the directory to exists: . $cacheDir ); +} +} + // / // Cache blocks Added: trunk/Template/tests/templates/subfolder/subsubfolder/cache_block_simple.tpl == --- trunk/Template/tests/templates/subfolder/subsubfolder/cache_block_simple.tpl (added) +++ trunk/Template/tests/templates/subfolder/subsubfolder/cache_block_simple.tpl [iso-8859-1] Tue Jan 8 17:04:16 2008 @@ -1,0 +1,3 @@ +{cache_block} +[cached] +{/cache_block} Propchange: trunk/Template/tests/templates/subfolder/subsubfolder/cache_block_simple.tpl -- svn:eol-style = native -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7086 - in /trunk/Template: ChangeLog src/syntax_trees/tst/nodes/cache.php tests/cache_test.php tests/templates/cache_template_in_block.tpl
Author: as Date: Mon Jan 7 13:27:30 2008 New Revision: 7086 Log: - Fixed issue #12323: Using {cache_template} inside a block will now throw an exception. Added: trunk/Template/tests/templates/cache_template_in_block.tpl (with props) Modified: trunk/Template/ChangeLog trunk/Template/src/syntax_trees/tst/nodes/cache.php trunk/Template/tests/cache_test.php Modified: trunk/Template/ChangeLog == --- trunk/Template/ChangeLog [iso-8859-1] (original) +++ trunk/Template/ChangeLog [iso-8859-1] Mon Jan 7 13:27:30 2008 @@ -8,6 +8,8 @@ - Made named parameters work with PHP 5.1.6. - Fixed issue #12289: String function str_last_index documented, but not defined. +- Fixed issue #12323: Using {cache_template} inside a block will now throw an + exception. 1.2 - Monday 02 July 2007 Modified: trunk/Template/src/syntax_trees/tst/nodes/cache.php == --- trunk/Template/src/syntax_trees/tst/nodes/cache.php [iso-8859-1] (original) +++ trunk/Template/src/syntax_trees/tst/nodes/cache.php [iso-8859-1] Mon Jan 7 13:27:30 2008 @@ -45,5 +45,25 @@ { return array( 'templateCache' = $this-templateCache); } + +/** + * Checks if the given node can be attached to its parent. + * + * @throws ezcTemplateParserException if the node cannot be attached. + * @param ezcTemplateTstNode $parentElement + * @return void + */ +public function canAttachToParent( $parentElement ) +{ +// Must be TYPE_CACHE_TEMPLATE and in the root, not in a template block + +$p = $parentElement; + +if ( $this-type === self::TYPE_CACHE_TEMPLATE !$p instanceof ezcTemplateProgramTstNode ) +{ +throw new ezcTemplateParserException( $this-source, $this-startCursor, $this-startCursor, +{cache_template} cannot be declared inside a template block. ); +} +} } ? Modified: trunk/Template/tests/cache_test.php == --- trunk/Template/tests/cache_test.php [iso-8859-1] (original) +++ trunk/Template/tests/cache_test.php [iso-8859-1] Mon Jan 7 13:27:30 2008 @@ -446,6 +446,22 @@ } catch ( Exception $e) { +} +} + +public function testCacheTemplateInBlock() +{ +$t = new ezcTemplate( ); +$t-send-user = new TestUser( Bernard, Black ); + +try +{ +$out = $t-process( cache_template_in_block.tpl); +$this-fail(Expected an exception); +} +catch ( Exception $e ) +{ +$this-assertNotEquals( false, strpos( $e-getMessage(), '{cache_template} cannot be declared inside a template block' ) ); } } Added: trunk/Template/tests/templates/cache_template_in_block.tpl == --- trunk/Template/tests/templates/cache_template_in_block.tpl (added) +++ trunk/Template/tests/templates/cache_template_in_block.tpl [iso-8859-1] Mon Jan 7 13:27:30 2008 @@ -1,0 +1,7 @@ +{use $user} + +{if true} +{cache_template keys $user} +{/if} + +{$user-name} Propchange: trunk/Template/tests/templates/cache_template_in_block.tpl -- svn:eol-style = native -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
Re: [svn-components] 7074 - in /trunk/Graph: design/class_diagram.png src/graph_autoload.php
Tobias Schlitt wrote: Author: ts Date: Fri Jan 4 14:24:10 2008 New Revision: 7074 Log: - Regenerated autoload file. Modified: trunk/Graph/design/class_diagram.png trunk/Graph/src/graph_autoload.php Modified: trunk/Graph/design/class_diagram.png == Binary files - no diff available. Modified: trunk/Graph/src/graph_autoload.php == --- trunk/Graph/src/graph_autoload.php [iso-8859-1] (original) +++ trunk/Graph/src/graph_autoload.php [iso-8859-1] Fri Jan 4 14:24:10 2008 @@ -2,7 +2,7 @@ /** * Autoloader definition for the Graph component. * - * @copyright Copyright (C) 2005-2008 eZ systems as. All rights reserved. + * @copyright Copyright (C) 2005-2007 eZ systems as. All rights reserved. Still 2007? :) -- Alexandru Stanoi eZ Components System Developer eZ Systems | http://ez.no -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7051 - in /trunk/Mail: ChangeLog src/parser/parts/file_parser.php tests/parser/data/various/attachment_with_slash.mail tests/parser/parser_test.php
Author: as Date: Wed Jan 2 13:12:36 2008 New Revision: 7051 Log: - Fixed issue #12318: Unsafe characters are replaces by underscores in attachment file names during mail parsing. Added: trunk/Mail/tests/parser/data/various/attachment_with_slash.mail Modified: trunk/Mail/ChangeLog trunk/Mail/src/parser/parts/file_parser.php trunk/Mail/tests/parser/parser_test.php Modified: trunk/Mail/ChangeLog == --- trunk/Mail/ChangeLog [iso-8859-1] (original) +++ trunk/Mail/ChangeLog [iso-8859-1] Wed Jan 2 13:12:36 2008 @@ -1,3 +1,10 @@ +1.5alpha1 - [RELEASEDATE] +^^ + +- Fixed issue #12318: Unsafe characters are replaces by underscores in + attachment file names during mail parsing. + + 1.4 - Monday 17 December 2007 ^^ Modified: trunk/Mail/src/parser/parts/file_parser.php == --- trunk/Mail/src/parser/parts/file_parser.php [iso-8859-1] (original) +++ trunk/Mail/src/parser/parts/file_parser.php [iso-8859-1] Wed Jan 2 13:12:36 2008 @@ -103,6 +103,9 @@ $fileName = filename; } +// clean file name (replace unsafe characters with underscores) +$fileName = strtr( $fileName, /\\\0\|?*:;+[], '__' ); + $this-fp = $this-openFile( $fileName ); // propagate exception } Added: trunk/Mail/tests/parser/data/various/attachment_with_slash.mail == --- trunk/Mail/tests/parser/data/various/attachment_with_slash.mail (added) +++ trunk/Mail/tests/parser/data/various/attachment_with_slash.mail [iso-8859-1] Wed Jan 2 13:12:36 2008 @@ -1,0 +1,55 @@ +Return-Path: [EMAIL PROTECTED] +X-Original-To: [EMAIL PROTECTED] +Delivered-To: [EMAIL PROTECTED] +Received: from smtp.ez.no (blackboy.ez.no [194.248.150.22]) + by mta1.ez.no (Postfix) with ESMTP id 99508362508 + for [EMAIL PROTECTED]; Fri, 23 Nov 2007 13:29:23 +0100 (CET) +Received: from [10.0.2.184] (popeye.ez.no [85.19.74.66]) + by smtp.ez.no (Postfix) with ESMTP id D611AAB54C + for [EMAIL PROTECTED]; Fri, 23 Nov 2007 13:26:40 +0100 (CET) +Message-ID: [EMAIL PROTECTED] +Date: Fri, 23 Nov 2007 13:30:14 +0100 +From: Alexandru Stanoi [EMAIL PROTECTED] +User-Agent: Thunderbird 1.5.0.12 (X11/20070604) +MIME-Version: 1.0 +To: Alexandru Stanoi [EMAIL PROTECTED] +Subject: TEST: HTML attachment +Content-Type: multipart/mixed; + boundary=1234567890 + + +--1234567890 +Content-Type: text/html; charset=iso-8859-1 +Content-Transfer-Encoding: 7bit + +html +body marginwidth=0 marginheight=0 leftmargin=0 topmargin=0 +bgcolor=#FF +table border=0 width=640 cellspacing=0 cellpadding=0trtd +img src=cid:cam_data/photo067 alt=cam_data/photo067.jpgbrbr +/td/tr/table +/body/html + +--1234567890 +Content-Type: image/jpeg; name=cam_data/photo067.jpg +Content-Transfer-Encoding: base64 +Content-ID: cam_data/photo067 +Content-Disposition: attachment; filename=cam_data/photo067.jpg + +/9j/4AAQSkZJRgABAgEAkACQAAD/ +2wCEAAwICQoJBwwKCQoNDAwOER0TERAQESQZGxUdKiUsLCkl +KSgvNEM5LzE/ +MigpOk87P0VHS0xLLThSWFFJV0NJS0gBDA0NEQ8RIhMTIkgwKTBISEhISEhISEhI +SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISP/ +AABEIAPABQAMBIQACEQED +EQH/3QAEABT/ +xAGiAAABBQEBAQEBAQAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAAB +fQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5 +OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeo +qaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/ +j5+gEAAwEBAQEB +AQEBAQECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIy +gQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNk +ZWZnaG + +--1234567890-- Modified: trunk/Mail/tests/parser/parser_test.php == --- trunk/Mail/tests/parser/parser_test.php [iso-8859-1] (original) +++ trunk/Mail/tests/parser/parser_test.php [iso-8859-1] Wed Jan 2 13:12:36 2008 @@ -1511,5 +1511,16 @@ $this-assertNotNull( $mail-from ); $this-assertEquals( '[EMAIL PROTECTED]', $mail-from-email ); } + +public function testAttachmentWithSlash() +{ +$parser = new ezcMailParser(); +$set = new SingleFileSet( 'various/attachment_with_slash.mail' ); +$mail = $parser-parseMail( $set ); +$this-assertEquals( 1, count( $mail ) ); +$mail = $mail[0]; +$parts = $mail-body-getParts(); +$this-assertEquals( 'cam_data_photo067.jpg', basename( $parts[1]-fileName ) ); +} } ? -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 7052 - /trunk/Mail/ChangeLog
Author: as Date: Wed Jan 2 13:16:17 2008 New Revision: 7052 Log: - Changed the ChangeLog to specify the correct next Mail release (1.4.1). Modified: trunk/Mail/ChangeLog Modified: trunk/Mail/ChangeLog == --- trunk/Mail/ChangeLog [iso-8859-1] (original) +++ trunk/Mail/ChangeLog [iso-8859-1] Wed Jan 2 13:16:17 2008 @@ -1,4 +1,4 @@ -1.5alpha1 - [RELEASEDATE] +1.4.1 - [RELEASEDATE] ^^ - Fixed issue #12318: Unsafe characters are replaces by underscores in -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6969 - in /trunk/Feed: ChangeLog src/feed.php src/interfaces/processor.php src/processors/atom.php src/processors/rss1.php src/processors/rss2.php tests/feed_test.php
Author: as Date: Wed Dec 12 10:00:59 2007 New Revision: 6969 Log: - Added the getContentType() method in ezcFeed to return its Content-Type. Modified: trunk/Feed/ChangeLog trunk/Feed/src/feed.php trunk/Feed/src/interfaces/processor.php trunk/Feed/src/processors/atom.php trunk/Feed/src/processors/rss1.php trunk/Feed/src/processors/rss2.php trunk/Feed/tests/feed_test.php Modified: trunk/Feed/ChangeLog == --- trunk/Feed/ChangeLog [iso-8859-1] (original) +++ trunk/Feed/ChangeLog [iso-8859-1] Wed Dec 12 10:00:59 2007 @@ -13,6 +13,7 @@ - Completed support for creating and parsing RSS2 feeds. - Completed support for creating and parsing RSS1 feeds. - Completed support for creating and parsing ATOM feeds. +- Added the getContentType() method in ezcFeed to return its Content-Type. 1.0beta1 - Monday 18 December 2006 Modified: trunk/Feed/src/feed.php == --- trunk/Feed/src/feed.php [iso-8859-1] (original) +++ trunk/Feed/src/feed.php [iso-8859-1] Wed Dec 12 10:00:59 2007 @@ -125,12 +125,20 @@ protected $feedProcessor; /** - * Holds the feed type. + * Holds the feed type (eg. 'rss2'). * * @var string * @ignore */ protected $feedType; + +/** + * Holds the feed content type (eg. 'application/rss+xml'). + * + * @var string + * @ignore + */ +protected $contentType; /** * Creates a new feed of type $type. @@ -157,6 +165,7 @@ $this-feedType = $type; $this-feedProcessor = new self::$supportedFeedTypes[$type]; +$this-contentType = $this-feedProcessor-getContentType(); } /** @@ -390,5 +399,16 @@ { return $this-feedType; } + +/** + * Returns the feed content type of this feed object + * (eg. 'application/rss+xml'). + * + * @return string + */ +public function getContentType() +{ +return $this-contentType; +} } ? Modified: trunk/Feed/src/interfaces/processor.php == --- trunk/Feed/src/interfaces/processor.php [iso-8859-1] (original) +++ trunk/Feed/src/interfaces/processor.php [iso-8859-1] Wed Dec 12 10:00:59 2007 @@ -31,6 +31,14 @@ protected $feedType; /** + * Holds the feed content type (eg. 'application/rss+xml'). + * + * @var string + * @ignore + */ +protected $contentType; + +/** * Holds the feed schema for the current feed type. * * @var array(string=mixed) @@ -240,5 +248,16 @@ return $element; } } + +/** + * Returns the feed content type of this feed object + * (eg. 'application/rss+xml'). + * + * @return string + */ +public function getContentType() +{ +return $this-contentType; +} } ? 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] Wed Dec 12 10:00:59 2007 @@ -26,6 +26,11 @@ const FEED_TYPE = 'atom'; /** + * Defines the feed content type of this processor. + */ +const CONTENT_TYPE = 'application/atom+xml'; + +/** * Holds the definitions for the elements in ATOM. * * @var array(string=mixed) @@ -272,6 +277,7 @@ public function __construct() { $this-feedType = self::FEED_TYPE; +$this-contentType = self::CONTENT_TYPE; $this-schema = new ezcFeedSchema( self::$atomSchema ); } 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] Wed Dec 12 10:00:59 2007 @@ -26,6 +26,11 @@ const FEED_TYPE = 'rss1'; /** + * Defines the feed content type of this processor. + */ +const CONTENT_TYPE = 'application/rss+xml'; + +/** * Holds the definitions for the elements in RSS1. * * @var array(string=mixed) @@ -98,6 +103,7 @@ public function __construct() { $this-feedType = self::FEED_TYPE; +$this-contentType = self::CONTENT_TYPE; $this-schema = new ezcFeedSchema( self::$rss1Schema ); } 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] Wed Dec 12 10:00:59 2007 @@ -26,6 +26,11 @@ const FEED_TYPE = 'rss2'; /** + * Defines the feed content type of this processor. + */ +const CONTENT_TYPE = 'application/rss+xml';
[svn-components] 6971 - /trunk/Feed/docs/tutorial.txt
Author: as Date: Wed Dec 12 10:53:34 2007 New Revision: 6971 Log: - Added Content-Type information in the tutorial. Modified: trunk/Feed/docs/tutorial.txt Modified: trunk/Feed/docs/tutorial.txt == --- trunk/Feed/docs/tutorial.txt [iso-8859-1] (original) +++ trunk/Feed/docs/tutorial.txt [iso-8859-1] Wed Dec 12 10:53:34 2007 @@ -255,7 +255,8 @@ Media type `` -All ATOM feeds must be identified with the application/atom+xml media type. +All ATOM feeds must be identified with the *application/atom+xml* media type. +Use the getContentType() method of ezcFeed to get this string. Self link @@ -263,6 +264,28 @@ All ATOM feeds should have a *link* feed element with *rel=self* which points back to the feed itself (with the *href* attribute). + + +RSS1 + + +Media type +`` + +All RSS1 feeds should be identified with the *application/rss+xml* media type +(although it is not a standard yet). Use the getContentType() method of +ezcFeed to get this string. + + +RSS2 + + +Media type +`` + +All RSS2 feeds should be identified with the *application/rss+xml* media type +(although it is not a standard yet). Use the getContentType() method of +ezcFeed to get this string. Specifications and RFCs -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6972 - /trunk/Feed/docs/tutorial.txt
Author: as Date: Wed Dec 12 11:21:31 2007 New Revision: 6972 Log: - Added tutorial section about using feed links in HTML pages. Modified: trunk/Feed/docs/tutorial.txt Modified: trunk/Feed/docs/tutorial.txt == --- trunk/Feed/docs/tutorial.txt [iso-8859-1] (original) +++ trunk/Feed/docs/tutorial.txt [iso-8859-1] Wed Dec 12 11:21:31 2007 @@ -286,6 +286,67 @@ All RSS2 feeds should be identified with the *application/rss+xml* media type (although it is not a standard yet). Use the getContentType() method of ezcFeed to get this string. + + +Using feeds in applications +=== + +Provide access to feeds in a web application + + +There are some methods to let the user know that a web application provides a +web feed, so that the user can save the feed link in his feed aggregator. + + +Automatic feed discovery + + +In the HTML source of every page add this line for RSS (1, 2) feeds:: + +link rel=alternate type=application/rss+xml href=url to the feed xml +document title=A title for the feed / + +Or this line for ATOM feeds:: + +link rel=alternate type=application/atom+xml href=url to the feed +xml document title=A title for the feed / + +In modern browsers the user will be informed (usually via a small icon in one +corner of the browser or in the address bar) that the current page has a web +feed. If the user clicks on this icon his feed aggregator client will start +and save the link to the feed in its database (if the user's system has a feed +aggregator client and is configured to handle *application/rss+xml* and +*application/atom+xml* content with the aggregator). + +Multiple feeds can be added to the same page (for example you can provide ATOM +and RSS2 feeds). + +The *title* attribute of the *link* HTML tag can be used to differentiate +between multiple feeds (for example News, Latest offers, etc). + + +Link to the feed document +` + +In the HTML source of every page (usually in the header and/or footer) add +this line for RSS (1, 2) feeds:: + +a type=application/rss+xml href=url to the feed document +title=A title for the feedRSS feed/a + +Or this line for ATOM feeds:: + +a type=application/atom+xml href=url to the feed document +title=A title for the feedATOM feed/a + +The user can drag this link to his feed aggregator, where it will be added to +the aggregator's database. + +It is customary to add the feed icon next to a feed link, so that the user +finds the feed link easier on the page. See this Mozilla__ page for more +information about the feed icon. + +__ http://www.mozilla.org/foundation/feed-icon-guidelines/ Specifications and RFCs -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6973 - in /trunk/Feed/docs: tutorial.txt tutorial/images/ tutorial/images/feed-icon-14x14.png
Author: as Date: Wed Dec 12 11:34:29 2007 New Revision: 6973 Log: - Added the feed icon to the tutorial. Added: trunk/Feed/docs/tutorial/images/ trunk/Feed/docs/tutorial/images/feed-icon-14x14.png (with props) Modified: trunk/Feed/docs/tutorial.txt Modified: trunk/Feed/docs/tutorial.txt == --- trunk/Feed/docs/tutorial.txt [iso-8859-1] (original) +++ trunk/Feed/docs/tutorial.txt [iso-8859-1] Wed Dec 12 11:34:29 2007 @@ -311,12 +311,13 @@ link rel=alternate type=application/atom+xml href=url to the feed xml document title=A title for the feed / -In modern browsers the user will be informed (usually via a small icon in one -corner of the browser or in the address bar) that the current page has a web -feed. If the user clicks on this icon his feed aggregator client will start -and save the link to the feed in its database (if the user's system has a feed -aggregator client and is configured to handle *application/rss+xml* and -*application/atom+xml* content with the aggregator). +In modern browsers the user will be informed (usually via a small icon like +|feed icon| in one corner of the browser or in the address bar) that the +current page has a web feed. If the user clicks on this icon his feed +aggregator client will start and save the link to the feed in its database +(if the user's system has a feed aggregator client and is configured to +handle *application/rss+xml* and *application/atom+xml* content with the +aggregator). Multiple feeds can be added to the same page (for example you can provide ATOM and RSS2 feeds). @@ -342,11 +343,13 @@ The user can drag this link to his feed aggregator, where it will be added to the aggregator's database. -It is customary to add the feed icon next to a feed link, so that the user -finds the feed link easier on the page. See this Mozilla__ page for more -information about the feed icon. +It is customary to add the feed icon |feed icon| next to a feed link, so that +the user finds the feed link easier on the page. See this Mozilla__ page for +more information about the feed icon. __ http://www.mozilla.org/foundation/feed-icon-guidelines/ + +.. |feed icon| image:: images/feed-icon-14x14.png Specifications and RFCs Added: trunk/Feed/docs/tutorial/images/feed-icon-14x14.png == Binary file - no diff available. Propchange: trunk/Feed/docs/tutorial/images/feed-icon-14x14.png -- svn:mime-type = image/png -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6974 - in /trunk/Feed/docs: img/ img/feed-icon-14x14.png tutorial.txt tutorial/images/ tutorial/tutorial_autoload.php
Author: as Date: Wed Dec 12 11:45:33 2007 New Revision: 6974 Log: - Moved the feed icon file to the correct directory. Added: trunk/Feed/docs/img/ trunk/Feed/docs/img/feed-icon-14x14.png - copied unchanged from r6973, trunk/Feed/docs/tutorial/images/feed-icon-14x14.png trunk/Feed/docs/tutorial/tutorial_autoload.php Removed: trunk/Feed/docs/tutorial/images/ Modified: trunk/Feed/docs/tutorial.txt Modified: trunk/Feed/docs/tutorial.txt == --- trunk/Feed/docs/tutorial.txt [iso-8859-1] (original) +++ trunk/Feed/docs/tutorial.txt [iso-8859-1] Wed Dec 12 11:45:33 2007 @@ -349,7 +349,7 @@ __ http://www.mozilla.org/foundation/feed-icon-guidelines/ -.. |feed icon| image:: images/feed-icon-14x14.png +.. |feed icon| image:: img/feed-icon-14x14.png Specifications and RFCs Added: trunk/Feed/docs/tutorial/tutorial_autoload.php == --- trunk/Feed/docs/tutorial/tutorial_autoload.php (added) +++ trunk/Feed/docs/tutorial/tutorial_autoload.php [iso-8859-1] Wed Dec 12 11:45:33 2007 @@ -1,0 +1,20 @@ +?php +$dir = dirname( __FILE__ ); +$dirParts = explode( '/', $dir ); +switch ( $dirParts[count( $dirParts ) - 3] ) +{ +case 'doc': require_once 'ezc/Base/base.php'; break; // pear +case 'trunk': require_once $dir/../../../Base/src/base.php; break; // svn +default: require_once $dir/../../../Base/src/base.php; break; // bundle +} + +/** + * Autoload ezc classes + * + * @param string $className + */ +function __autoload( $className ) +{ +ezcBase::autoload( $className ); +} +? -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6975 - /trunk/Feed/docs/tutorial.txt
Author: as Date: Wed Dec 12 12:03:45 2007 New Revision: 6975 Log: - Added a note about using ATOM and RSS feeds together in HTML. Modified: trunk/Feed/docs/tutorial.txt Modified: trunk/Feed/docs/tutorial.txt == --- trunk/Feed/docs/tutorial.txt [iso-8859-1] (original) +++ trunk/Feed/docs/tutorial.txt [iso-8859-1] Wed Dec 12 12:03:45 2007 @@ -320,7 +320,8 @@ aggregator). Multiple feeds can be added to the same page (for example you can provide ATOM -and RSS2 feeds). +and RSS2 feeds). Note: some browsers might not recognize the non-standard +*application/rss+xml* type and select the ATOM feed by default. The *title* attribute of the *link* HTML tag can be used to differentiate between multiple feeds (for example News, Latest offers, etc). -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6968 - /trunk/Feed/src/processors/atom.php
Author: as Date: Tue Dec 11 17:18:38 2007 New Revision: 6968 Log: - Fixed a typo. 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] Tue Dec 11 17:18:38 2007 @@ -26,7 +26,7 @@ const FEED_TYPE = 'atom'; /** - * Holds the definitions for the elements in RSS1. + * Holds the definitions for the elements in ATOM. * * @var array(string=mixed) * @ignore -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6954 - /trunk/Feed/src/processors/atom.php
Author: as Date: Mon Dec 10 15:52:28 2007 New Revision: 6954 Log: - Use preg_match instead of substr_compare with negative offset. 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] Mon Dec 10 15:52:28 2007 @@ -573,8 +573,7 @@ break; default: -if ( substr_compare( $val, '+xml', -4, 4, true ) === 0 - || substr_compare( $val, '/xml', -4, 4, true ) === 0 ) +if ( preg_match( '@[+/]xml$@', $type ) !== 0 ) { // @todo: implement to assign the text in $dataNode as an XML node into $elementTag $this-addAttribute( $elementTag, 'type', $val ); @@ -829,8 +828,7 @@ $contentBase64 = true; if ( $contentPresent is_object( $content ) ( in_array( $content-type, array( 'text', 'html', 'xhtml', null ) ) - || substr_compare( $content-type, '+xml', -4, 4, true ) === 0 - || substr_compare( $content-type, '/xml', -4, 4, true ) === 0 + || preg_match( '@[+/[EMAIL PROTECTED]', $content-type ) !== 0 || substr_compare( $content-type, 'text/', 0, 5, true ) === 0 ) ) { $contentBase64 = false; @@ -1216,8 +1214,7 @@ break; default: -if ( substr_compare( $type, '+xml', -4, 4, true ) === 0 - || substr_compare( $type, '/xml', -4, 4, true ) === 0 ) +if ( preg_match( '@[+/[EMAIL PROTECTED]', $type ) !== 0 ) { foreach ( $itemChild-childNodes as $node ) { -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6928 - in /trunk/Template/tests: output_context_test.php template_mock_context.php
Author: as Date: Wed Dec 5 10:22:23 2007 New Revision: 6928 Log: - Separated classes into their own files. # Needed in order to run tests independently. Added: trunk/Template/tests/template_mock_context.php (with props) Modified: trunk/Template/tests/output_context_test.php Modified: trunk/Template/tests/output_context_test.php == --- trunk/Template/tests/output_context_test.php [iso-8859-1] (original) +++ trunk/Template/tests/output_context_test.php [iso-8859-1] Wed Dec 5 10:22:23 2007 @@ -7,6 +7,8 @@ * @package Template * @subpackage Tests */ + +require_once 'template_mock_context.php'; /** * @package Template @@ -28,36 +30,4 @@ } } -/** - * Sample implementation of an output context, this tests that there are no - * interface functions which are not implemented. - */ -class ezcTemplateMockContext implements ezcTemplateOutputContext -{ -public function cleanupWhitespace() -{ -return false; -} - -public function cleanupEol() -{ -return false; -} - -public function indent() -{ -return false; -} - -public function transformOutput( ezcTemplateAstNode $node ) -{ -return false; -} - -public function identifier() -{ -return 'mock'; -} -} - ? Added: trunk/Template/tests/template_mock_context.php == --- trunk/Template/tests/template_mock_context.php (added) +++ trunk/Template/tests/template_mock_context.php [iso-8859-1] Wed Dec 5 10:22:23 2007 @@ -1,0 +1,45 @@ +? +/** + * @copyright Copyright (C) 2005-2007 eZ systems as. All rights reserved. + * @license http://ez.no/licenses/new_bsd New BSD License + * @version //autogentag// + * @filesource + * @package Template + * @subpackage Tests + */ + +/** + * Sample implementation of an output context, this tests that there are no + * interface functions which are not implemented. + * + * @package Template + * @subpackage Tests + */ +class ezcTemplateMockContext implements ezcTemplateOutputContext +{ +public function cleanupWhitespace() +{ +return false; +} + +public function cleanupEol() +{ +return false; +} + +public function indent() +{ +return false; +} + +public function transformOutput( ezcTemplateAstNode $node ) +{ +return false; +} + +public function identifier() +{ +return 'mock'; +} +} +? Propchange: trunk/Template/tests/template_mock_context.php -- svn:eol-style = native -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6927 - in /trunk/Webdav/tests: property_supportedlock_lockentry_test.php suite.php
Author: as Date: Wed Dec 5 09:54:54 2007 New Revision: 6927 Log: - Fixed a test case in order to be run independently. - Removed some included files which were not needed. Modified: trunk/Webdav/tests/property_supportedlock_lockentry_test.php trunk/Webdav/tests/suite.php Modified: trunk/Webdav/tests/property_supportedlock_lockentry_test.php == --- trunk/Webdav/tests/property_supportedlock_lockentry_test.php [iso-8859-1] (original) +++ trunk/Webdav/tests/property_supportedlock_lockentry_test.php [iso-8859-1] Wed Dec 5 09:54:54 2007 @@ -1,6 +1,6 @@ ?php -require_once dirname( __FILE__ ) . '/property_test.php'; +require_once dirname( __FILE__ ) . '/webdav_property_test.php'; class ezcWebdavSupportedLockPropertyLockentryTest extends ezcWebdavWebdavPropertyTestCase { Modified: trunk/Webdav/tests/suite.php == --- trunk/Webdav/tests/suite.php [iso-8859-1] (original) +++ trunk/Webdav/tests/suite.php [iso-8859-1] Wed Dec 5 09:54:54 2007 @@ -8,14 +8,6 @@ * @copyright Copyright (C) 2005-2007 eZ systems as. All rights reserved. * @license http://ez.no/licenses/new_bsd New BSD License */ - -/** - * Reqiuire base test - */ -require_once 'test_case.php'; - -require_once 'client_test_suite.php'; -require_once 'client_test.php'; /** * Require test suites. -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6943 - /trunk/Mail/CREDITS
Author: as Date: Wed Dec 5 14:51:45 2007 New Revision: 6943 Log: - Fixed a name the CREDITS file. Modified: trunk/Mail/CREDITS Modified: trunk/Mail/CREDITS == --- trunk/Mail/CREDITS [iso-8859-1] (original) +++ trunk/Mail/CREDITS [iso-8859-1] Wed Dec 5 14:51:45 2007 @@ -27,6 +27,6 @@ * various IMAP transport enhancements * SSL support for IMAP and POP3 -- Christial Michel +- Christian Michel * SSL/TLS support for SMTP transport -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6945 - /docs/guidelines/implementation.txt
Author: as Date: Wed Dec 5 16:24:15 2007 New Revision: 6945 Log: - Whitespace fix. Modified: docs/guidelines/implementation.txt Modified: docs/guidelines/implementation.txt == --- docs/guidelines/implementation.txt [iso-8859-1] (original) +++ docs/guidelines/implementation.txt [iso-8859-1] Wed Dec 5 16:24:15 2007 @@ -1442,11 +1442,12 @@ - If the type is array, we must describe the requirements to the contents of the array. This is done by specifying the type for normal arrays or the - expected key's and corresponding value type if it is a hash array. Example - of normal array of integers:: + expected key's and corresponding value type if it is a hash array. + + Example of normal array of integers:: array(int) - + Example of a hash array:: array(string=valueType) -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6939 - in /trunk/EventLog/tests/writers: temp_implementation.php temp_implementation2.php writer_file_test.php
Author: as Date: Wed Dec 5 13:39:39 2007 New Revision: 6939 Log: - Separated classes into their own files. # Done in order to be able to run the tests independently. Added: trunk/EventLog/tests/writers/temp_implementation.php (with props) trunk/EventLog/tests/writers/temp_implementation2.php (with props) Modified: trunk/EventLog/tests/writers/writer_file_test.php Added: trunk/EventLog/tests/writers/temp_implementation.php == --- trunk/EventLog/tests/writers/temp_implementation.php (added) +++ trunk/EventLog/tests/writers/temp_implementation.php [iso-8859-1] Wed Dec 5 13:39:39 2007 @@ -1,0 +1,30 @@ +?php +/** + * @copyright Copyright (C) 2005-2007 eZ systems as. All rights reserved. + * @license http://ez.no/licenses/new_bsd New BSD License + * @version //autogentag// + * @filesource + * @package EventLog + * @subpackage Tests + */ + +/** + * Test file for ezcLogFileWriterTest. + * + * @package EventLog + * @subpackage Tests + */ +class TempImplementation extends ezcLogFileWriter +{ +public function __construct($dir, $file = null, $maxSize = 204800, $maxFiles = 3 ) +{ +parent::__construct($dir, $file, $maxSize, $maxFiles); +} + +public function writeLogMessage( $message, $type, $source, $category, $extraInfo = array() ) +{ +$res = print_r( array( message = $message, type = $type, source = $source, category = $category ), true ); +$this-write( $type, $source, $category, $res ); +} +} +? Propchange: trunk/EventLog/tests/writers/temp_implementation.php -- svn:eol-style = native Added: trunk/EventLog/tests/writers/temp_implementation2.php == --- trunk/EventLog/tests/writers/temp_implementation2.php (added) +++ trunk/EventLog/tests/writers/temp_implementation2.php [iso-8859-1] Wed Dec 5 13:39:39 2007 @@ -1,0 +1,35 @@ +?php +/** + * @copyright Copyright (C) 2005-2007 eZ systems as. All rights reserved. + * @license http://ez.no/licenses/new_bsd New BSD License + * @version //autogentag// + * @filesource + * @package EventLog + * @subpackage Tests + */ + +/** + * Test file for ezcLogFileWriterTest. + * + * @package EventLog + * @subpackage Tests + */ +class TempImplementation2 extends ezcLogFileWriter +{ +public function __construct($dir, $file = null, $maxSize = 1, $maxFiles = 1 ) +{ +parent::__construct($dir, $file, $maxSize, $maxFiles); +// close the open files in order to see if an exception is thrown +foreach ( $this-openFiles as $fh ) +{ +fclose( $fh ); +} +} + +public function writeLogMessage( $message, $type, $source, $category, $extraInfo = array() ) +{ +$res = print_r( array( message = $message, type = $type, source = $source, category = $category ), true ); +$this-write( $type, $source, $category, $res ); +} +} +? Propchange: trunk/EventLog/tests/writers/temp_implementation2.php -- svn:eol-style = native Modified: trunk/EventLog/tests/writers/writer_file_test.php == --- trunk/EventLog/tests/writers/writer_file_test.php [iso-8859-1] (original) +++ trunk/EventLog/tests/writers/writer_file_test.php [iso-8859-1] Wed Dec 5 13:39:39 2007 @@ -8,6 +8,9 @@ * @subpackage Tests */ +require_once 'temp_implementation.php'; +require_once 'temp_implementation2.php'; + /** * @package EventLog * @subpackage Tests @@ -223,39 +226,4 @@ return new PHPUnit_Framework_TestSuite(ezcLogFileWriterTest); } } - - -class TempImplementation extends ezcLogFileWriter -{ -public function __construct($dir, $file = null, $maxSize = 204800, $maxFiles = 3 ) -{ -parent::__construct($dir, $file, $maxSize, $maxFiles); -} - -public function writeLogMessage( $message, $type, $source, $category, $extraInfo = array() ) -{ -$res = print_r( array( message = $message, type = $type, source = $source, category = $category ), true ); -$this-write( $type, $source, $category, $res ); -} -} - -class TempImplementation2 extends ezcLogFileWriter -{ -public function __construct($dir, $file = null, $maxSize = 1, $maxFiles = 1 ) -{ -parent::__construct($dir, $file, $maxSize, $maxFiles); -// close the open files in order to see if an exception is thrown -foreach ( $this-openFiles as $fh ) -{ -fclose( $fh ); -} -} - -public function writeLogMessage( $message, $type, $source, $category, $extraInfo = array() ) -{ -$res = print_r( array( message = $message, type = $type, source = $source, category = $category ), true ); -$this-write( $type,
[svn-components] 6941 - /trunk/Mail/CREDITS
Author: as Date: Wed Dec 5 14:34:51 2007 New Revision: 6941 Log: - Fixed the CREDITS file to look better in html form. Modified: trunk/Mail/CREDITS Modified: trunk/Mail/CREDITS == --- trunk/Mail/CREDITS [iso-8859-1] (original) +++ trunk/Mail/CREDITS [iso-8859-1] Wed Dec 5 14:34:51 2007 @@ -19,7 +19,10 @@ - Mikko Koppanen + * various IMAP transport enhancements * SSL support for IMAP and POP3 + - Christial Michel + * SSL/TLS support for SMTP transport -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6944 - /trunk/EventLog/src/exceptions/writer_exception.php
Author: as Date: Wed Dec 5 15:10:37 2007 New Revision: 6944 Log: - Fixed a documentation block tag. Modified: trunk/EventLog/src/exceptions/writer_exception.php Modified: trunk/EventLog/src/exceptions/writer_exception.php == --- trunk/EventLog/src/exceptions/writer_exception.php [iso-8859-1] (original) +++ trunk/EventLog/src/exceptions/writer_exception.php [iso-8859-1] Wed Dec 5 15:10:37 2007 @@ -9,7 +9,7 @@ */ /** - * The ezcLogWriterException will be thrown when an [EMAIL PROTECTED] ezcLogWriter} or + * The ezcLogWriterException will be thrown when an [EMAIL PROTECTED] ezcLogWriter} or * a subclass encounters an exceptional state. * * This exception is a container, containing any kind of exception. -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6929 - in /trunk/Template/tests: cache_manager_test.php cache_test.php db_cache_manager.php fetch.php locale_test.php template_test.php
Author: as Date: Wed Dec 5 11:51:25 2007 New Revision: 6929 Log: - Fixed the tests to delete the temporary directories. - Fixed some whitespaces. # 2 tests are still failing in template_test.php, it has something to do with cache_test.php - need to see what. Modified: trunk/Template/tests/cache_manager_test.php trunk/Template/tests/cache_test.php trunk/Template/tests/db_cache_manager.php trunk/Template/tests/fetch.php trunk/Template/tests/locale_test.php trunk/Template/tests/template_test.php Modified: trunk/Template/tests/cache_manager_test.php == --- trunk/Template/tests/cache_manager_test.php [iso-8859-1] (original) +++ trunk/Template/tests/cache_manager_test.php [iso-8859-1] Wed Dec 5 11:51:25 2007 @@ -99,6 +99,7 @@ // Remove tables. $db = ezcDbInstance::get(); $db-exec( 'DROP TABLE user' ); +$this-removeTempDir(); } public function testRenewIncludedTemplates() Modified: trunk/Template/tests/cache_test.php == --- trunk/Template/tests/cache_test.php [iso-8859-1] (original) +++ trunk/Template/tests/cache_test.php [iso-8859-1] Wed Dec 5 11:51:25 2007 @@ -37,6 +37,7 @@ protected function tearDown() { +$this-removeTempDir(); } public function testCacheDirCreation() @@ -158,7 +159,7 @@ $out = $t-process( cache_block_in_dynamic.tpl); $this-fail(Expected an exception); } -catch( ezcTemplateParserException $e ) +catch ( ezcTemplateParserException $e ) { } } @@ -443,7 +444,7 @@ $out = $t-process( cache_template_wrong_order.tpl); $this-fail(Expected an exception); } -catch( Exception $e) +catch ( Exception $e) { } } Modified: trunk/Template/tests/db_cache_manager.php == --- trunk/Template/tests/db_cache_manager.php [iso-8859-1] (original) +++ trunk/Template/tests/db_cache_manager.php [iso-8859-1] Wed Dec 5 11:51:25 2007 @@ -17,9 +17,9 @@ $r = $q-fetchAll(); // Strange if there is more than one result. -if( sizeof( $r ) 0 ) +if ( sizeof( $r ) 0 ) { -foreach( $r as $x ) +foreach ( $r as $x ) { $id = $r[0][id]; @@ -68,7 +68,7 @@ $r = $q-fetchAll(); // Expect 0 or 1 result -if( count($r) == 0 || $r[0][expired] == 1 ) +if ( count($r) == 0 || $r[0][expired] == 1 ) { return false; } @@ -79,15 +79,15 @@ $q-execute(); $rows = $q-fetchAll(); -foreach( $rows as $r ) +foreach ( $rows as $r ) { -if( !file_exists( $r[value] ) ) +if ( !file_exists( $r[value] ) ) { print(The file . $r[value] . doesn't exist\n\n); } else { -if( filemtime( $r[value] ) filemtime( $cacheName ) ) +if ( filemtime( $r[value] ) filemtime( $cacheName ) ) { return false; } @@ -129,7 +129,7 @@ public function includeTemplate( $template, $template_path ) { -if( $this-depth = 0 ) +if ( $this-depth = 0 ) { $db = ezcDbInstance::get(); $id = $this-keys[ $this-depth ][template_id]; @@ -152,7 +152,7 @@ $q-execute(); $rows = $q-fetchAll(); -foreach($rows as $r) +foreach ($rows as $r) { unlink( $r[cache] ); } Modified: trunk/Template/tests/fetch.php == --- trunk/Template/tests/fetch.php [iso-8859-1] (original) +++ trunk/Template/tests/fetch.php [iso-8859-1] Wed Dec 5 11:51:25 2007 @@ -12,7 +12,7 @@ $this-properties[name] = $name; $this-properties[nickname] = $nickname; -if( !$this-useSignals ) +if ( !$this-useSignals ) { ezcTemplateConfiguration::getInstance()-cacheManager-read(user, $id ); } @@ -34,13 +34,13 @@ public function __get( $name ) { -switch( $name ) +switch ( $name ) { case id: case name: case nickname: -if( !$this-useSignals ) +if ( !$this-useSignals ) { ezcTemplateConfiguration::getInstance()-cacheManager-read(user, $this-properties[id] ); } @@ -56,7 +56,7 @@ public function __set( $name, $value ) { -switch( $name ) +switch ( $name ) { case id: case name: @@ -102,7 +102,7 @@
[svn-components] 6910 - /trunk/Mail/docs/tutorial.txt
Author: as Date: Tue Dec 4 10:19:54 2007 New Revision: 6910 Log: - Added troubleshooting information for IMAP connection errors. Modified: trunk/Mail/docs/tutorial.txt Modified: trunk/Mail/docs/tutorial.txt == --- trunk/Mail/docs/tutorial.txt [iso-8859-1] (original) +++ trunk/Mail/docs/tutorial.txt [iso-8859-1] Tue Dec 4 10:19:54 2007 @@ -432,6 +432,14 @@ this occurs and attempt authentication again (for example, for a preset number of times such as three). +IMAP: Could not read from the stream + + +While using the IMAP methods, it is possible that an ezcMailTransportException +is thrown, in which case the connection to the IMAP server is closed. The +application should catch this exception and decide how to handle this +situation (show an error, reconnect). + Parsing: iconv() notices -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6915 - in /trunk/Mail/src: parser/parser.php tools.php transports/pop3/pop3_transport.php
Author: as Date: Tue Dec 4 13:52:33 2007 New Revision: 6915 Log: - Fixed some errors in doc blocks. Modified: trunk/Mail/src/parser/parser.php trunk/Mail/src/tools.php trunk/Mail/src/transports/pop3/pop3_transport.php Modified: trunk/Mail/src/parser/parser.php == --- trunk/Mail/src/parser/parser.php [iso-8859-1] (original) +++ trunk/Mail/src/parser/parser.php [iso-8859-1] Tue Dec 4 13:52:33 2007 @@ -172,7 +172,7 @@ * if a neccessary temporary file could not be openened. * @param ezcMailParserSet $set * @param string $class Deprecated. Use $mailClass in ezcMailParserOptions class instead. - * @returns array(ezcMail) + * @return array(ezcMail) */ public function parseMail( ezcMailParserSet $set, $class = null ) { Modified: trunk/Mail/src/tools.php == --- trunk/Mail/src/tools.php [iso-8859-1] (original) +++ trunk/Mail/src/tools.php [iso-8859-1] Tue Dec 4 13:52:33 2007 @@ -320,7 +320,7 @@ * examples of correct and incorrect email addresses. * * @param string $address - * @param bool checkMxRecords + * @param bool $checkMxRecords * @return bool */ public static function validateEmailAddress( $address, $checkMxRecords = false ) Modified: trunk/Mail/src/transports/pop3/pop3_transport.php == --- trunk/Mail/src/transports/pop3/pop3_transport.php [iso-8859-1] (original) +++ trunk/Mail/src/transports/pop3/pop3_transport.php [iso-8859-1] Tue Dec 4 13:52:33 2007 @@ -338,7 +338,7 @@ * or if the provided username/password combination did not work * @param string $user * @param string $password - * @param int method + * @param int $method */ public function authenticate( $user, $password, $method = null ) { -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6916 - in /trunk/Mail/src/transports: imap/imap_transport.php transport_connection.php
Author: as Date: Tue Dec 4 14:29:17 2007 New Revision: 6916 Log: - A better fix for the IMAP connection drop problem. Modified: trunk/Mail/src/transports/imap/imap_transport.php trunk/Mail/src/transports/transport_connection.php Modified: trunk/Mail/src/transports/imap/imap_transport.php == --- trunk/Mail/src/transports/imap/imap_transport.php [iso-8859-1] (original) +++ trunk/Mail/src/transports/imap/imap_transport.php [iso-8859-1] Tue Dec 4 14:29:17 2007 @@ -357,7 +357,7 @@ } $this-connection = new ezcMailTransportConnection( $server, $port, $this-options ); // get the server greeting -$response = $this-getLine(); +$response = $this-connection-getLine(); if ( strpos( $response, * OK ) === false ) { throw new ezcMailTransportException( The connection to the IMAP server is ok, but a negative response from server was received. Try again later. ); @@ -447,7 +447,8 @@ */ public function disconnect() { -if ( $this-state != self::STATE_NOT_CONNECTED ) +if ( $this-state !== self::STATE_NOT_CONNECTED + $this-connection-isConnected() === true ) { $tag = $this-getNextTag(); $this-connection-sendData( {$tag} LOGOUT ); @@ -497,7 +498,7 @@ $tag = $this-getNextTag(); $this-connection-sendData( {$tag} LOGIN {$user} {$password} ); -$response = trim( $this-getLine() ); +$response = trim( $this-connection-getLine() ); if ( strpos( $response, '* OK' ) !== false ) { // the server is busy waiting for authentication process to @@ -566,7 +567,7 @@ $result = array(); $tag = $this-getNextTag(); $this-connection-sendData( {$tag} LIST \{$reference}\ \{$mailbox}\ ); -$response = trim( $this-getLine() ); +$response = trim( $this-connection-getLine() ); while ( strpos( $response, '* LIST (' ) !== false ) { // only consider the selectable mailboxes @@ -578,7 +579,7 @@ $result[] = $response; } -$response = $this-getLine(); +$response = $this-connection-getLine(); } $response = $this-getResponse( $tag, $response ); @@ -970,7 +971,7 @@ $line = substr( $line, 0, strlen( $line ) - 1 ); $messages[$currentMessage] = intval( $line ); $currentMessage = next( $messageList ); -$response = $this-getLine(); +$response = $this-connection-getLine(); } // skip the OK response ({$tag} OK Fetch completed.) $response = trim( $this-getResponse( $tag, $response ) ); @@ -1042,7 +1043,7 @@ $tag = $this-getNextTag(); $this-connection-sendData( {$tag} {$uid}FETCH {$ids} (RFC822.SIZE) ); -$response = trim( $this-getLine() ); +$response = trim( $this-connection-getLine() ); while ( strpos( $response, $tag ) === false ) { if ( strpos( $response, ' FETCH (' ) !== false ) @@ -1059,7 +1060,7 @@ } } -$response = trim( $this-getLine() ); +$response = trim( $this-connection-getLine() ); } if ( $this-responseType( $response ) != self::RESPONSE_OK ) @@ -1237,7 +1238,7 @@ if ( $this-options-uidReferencing ) { // special case (BUG?) where UID FETCH {$msgNum} returns nothing -$response = trim( $this-getLine() ); +$response = trim( $this-connection-getLine() ); if ( $this-responseType( $response ) === self::RESPONSE_OK ) { throw new ezcMailTransportException( The IMAP server could not fetch the message '{$msgNum}': {$response}. ); @@ -1254,14 +1255,14 @@ while ( strpos( $response, 'BODY[TEXT]' ) === false ) { $message .= $response; -$response = $this-getLine(); -} - -$response = $this-getLine(); +$response = $this-connection-getLine(); +} + +$response = $this-connection-getLine(); while ( strpos( $response, $tag ) === false ) { $message .= $response; -$response = $this-getLine(); +$response = $this-connection-getLine(); } } // skip the OK response ({$tag} OK Fetch completed.) @@ -1942,7 +1943,7 @@ $tag = $this-getNextTag(); $this-connection-sendData( {$tag} {$uid}FETCH {$ids} (FLAGS) ); -$response = trim( $this-getLine() ); +$response = trim( $this-connection-getLine() ); while ( strpos( $response, $tag ) === false ) { if ( strpos( $response, ' FETCH (' ) !== false ) @@
[svn-components] 6899 - /trunk/Authentication/tests/filters/openid/openid_test.php
Author: as Date: Mon Dec 3 11:11:03 2007 New Revision: 6899 Log: - Fixed a test which breaks without gmp or bcmath. Modified: trunk/Authentication/tests/filters/openid/openid_test.php Modified: trunk/Authentication/tests/filters/openid/openid_test.php == --- trunk/Authentication/tests/filters/openid/openid_test.php [iso-8859-1] (original) +++ trunk/Authentication/tests/filters/openid/openid_test.php [iso-8859-1] Mon Dec 3 11:11:03 2007 @@ -687,6 +687,12 @@ public function testOpenidMockImmediateCaseNullSmartModeFileStore() { +if ( !ezcBaseFeatures::hasExtensionSupport( 'bcmath' ) + !ezcBaseFeatures::hasExtensionSupport( 'gmp' ) ) +{ +$this-markTestSkipped( 'PHP must be compiled with --enable-bcmath or --with-gmp.' ); +} + $credentials = new ezcAuthenticationIdCredentials( self::$url ); $authentication = new ezcAuthentication( $credentials ); $options = new ezcAuthenticationOpenidOptions(); -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6896 - /trunk/Mail/src/transports/imap/imap_transport.php
Author: as Date: Fri Nov 30 14:41:31 2007 New Revision: 6896 Log: - Removed redundant code from getResponse(). Modified: trunk/Mail/src/transports/imap/imap_transport.php Modified: trunk/Mail/src/transports/imap/imap_transport.php == --- trunk/Mail/src/transports/imap/imap_transport.php [iso-8859-1] (original) +++ trunk/Mail/src/transports/imap/imap_transport.php [iso-8859-1] Fri Nov 30 14:41:31 2007 @@ -2594,26 +2594,18 @@ */ protected function getResponse( $tag, $response = null ) { -try -{ -if ( is_null( $response ) ) -{ -$response = $this-getLine(); -} -while ( strpos( $response, $tag ) === false ) -{ -if ( strpos( $response, ' BAD ' ) !== false || - strpos( $response, ' NO ' ) !== false ) -{ -break; -} -$response = $this-getLine(); -} -} -catch ( ezcMailTransportException $e ) -{ -$this-state = self::STATE_NOT_CONNECTED; -throw $e; +if ( is_null( $response ) ) +{ +$response = $this-getLine(); +} +while ( strpos( $response, $tag ) === false ) +{ +if ( strpos( $response, ' BAD ' ) !== false || + strpos( $response, ' NO ' ) !== false ) +{ +break; +} +$response = $this-getLine(); } return $response; } -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6895 - /trunk/Mail/src/transports/imap/imap_transport.php
Author: as Date: Fri Nov 30 14:36:27 2007 New Revision: 6895 Log: - Added the missing getLine() argument. # Although it is not used in IMAP. Modified: trunk/Mail/src/transports/imap/imap_transport.php Modified: trunk/Mail/src/transports/imap/imap_transport.php == --- trunk/Mail/src/transports/imap/imap_transport.php [iso-8859-1] (original) +++ trunk/Mail/src/transports/imap/imap_transport.php [iso-8859-1] Fri Nov 30 14:36:27 2007 @@ -2513,11 +2513,11 @@ * @param bool $trim * @return string */ -protected function getLine() +protected function getLine( $trim = false ) { try { -return $this-connection-getLine(); +return $this-connection-getLine( $trim ); } catch ( ezcMailTransportException $e ) { -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6893 - in /trunk/Tree/tests: suite.php tree_node_list_iterator.php visitor_xhtml.php visitor_yui.php
Author: as Date: Fri Nov 30 14:25:50 2007 New Revision: 6893 Log: - Added required files for tests. - Remove redundant include from the test suite. # Done in order to allow the tests to be run alone. Modified: trunk/Tree/tests/suite.php trunk/Tree/tests/tree_node_list_iterator.php trunk/Tree/tests/visitor_xhtml.php trunk/Tree/tests/visitor_yui.php Modified: trunk/Tree/tests/suite.php == --- trunk/Tree/tests/suite.php [iso-8859-1] (original) +++ trunk/Tree/tests/suite.php [iso-8859-1] Fri Nov 30 14:25:50 2007 @@ -11,7 +11,6 @@ /** * Require the tests */ -require_once 'tree.php'; require_once 'tree_node.php'; require_once 'tree_node_list.php'; require_once 'tree_node_list_iterator.php'; Modified: trunk/Tree/tests/tree_node_list_iterator.php == --- trunk/Tree/tests/tree_node_list_iterator.php [iso-8859-1] (original) +++ trunk/Tree/tests/tree_node_list_iterator.php [iso-8859-1] Fri Nov 30 14:25:50 2007 @@ -7,6 +7,8 @@ * @package Tree * @subpackage Tests */ + +require_once 'files/test_classes.php'; /** * @package Tree Modified: trunk/Tree/tests/visitor_xhtml.php == --- trunk/Tree/tests/visitor_xhtml.php [iso-8859-1] (original) +++ trunk/Tree/tests/visitor_xhtml.php [iso-8859-1] Fri Nov 30 14:25:50 2007 @@ -9,6 +9,7 @@ */ require_once 'tree.php'; +require_once 'visitor.php'; /** * @package Tree Modified: trunk/Tree/tests/visitor_yui.php == --- trunk/Tree/tests/visitor_yui.php [iso-8859-1] (original) +++ trunk/Tree/tests/visitor_yui.php [iso-8859-1] Fri Nov 30 14:25:50 2007 @@ -9,6 +9,7 @@ */ require_once 'tree.php'; +require_once 'visitor.php'; /** * @package Tree -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6892 - in /trunk/PersistentObject/tests: native_generator_test.php one_to_one_relation_test.php
Author: as Date: Fri Nov 30 10:54:10 2007 New Revision: 6892 Log: - Added required files for the tests. # This was causing problems when running the tests alone. Modified: trunk/PersistentObject/tests/native_generator_test.php trunk/PersistentObject/tests/one_to_one_relation_test.php Modified: trunk/PersistentObject/tests/native_generator_test.php == --- trunk/PersistentObject/tests/native_generator_test.php [iso-8859-1] (original) +++ trunk/PersistentObject/tests/native_generator_test.php [iso-8859-1] Fri Nov 30 10:54:10 2007 @@ -9,6 +9,7 @@ */ require_once data/native_generator_test.php; +require_once data/persistent_test_object.php; /** * Tests the code manager. Modified: trunk/PersistentObject/tests/one_to_one_relation_test.php == --- trunk/PersistentObject/tests/one_to_one_relation_test.php [iso-8859-1] (original) +++ trunk/PersistentObject/tests/one_to_one_relation_test.php [iso-8859-1] Fri Nov 30 10:54:10 2007 @@ -8,6 +8,7 @@ * @subpackage Tests */ +require_once dirname( __FILE__ ) . /data/relation_test_address.php; require_once dirname( __FILE__ ) . /data/relation_test_person.php; require_once dirname( __FILE__ ) . /data/relation_test_birthday.php; -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6884 - in /trunk/Base/tests: base_init_test.php init/ init/base_init_callback.php init/base_init_class.php
Author: as Date: Thu Nov 29 15:15:39 2007 New Revision: 6884 Log: - Moved test classes into separate files. # This was causing warnings when running ezcBaseInitTest separately and not through the suite. Added: trunk/Base/tests/init/ trunk/Base/tests/init/base_init_callback.php (with props) trunk/Base/tests/init/base_init_class.php (with props) Modified: trunk/Base/tests/base_init_test.php Modified: trunk/Base/tests/base_init_test.php == --- trunk/Base/tests/base_init_test.php [iso-8859-1] (original) +++ trunk/Base/tests/base_init_test.php [iso-8859-1] Thu Nov 29 15:15:39 2007 @@ -6,6 +6,10 @@ * @copyright Copyright (C) 2005-2007 eZ systems as. All rights reserved. * @license http://ez.no/licenses/new_bsd New BSD License */ + +require_once 'init/base_init_callback.php'; +require_once 'init/base_init_class.php'; + /** * @package Base * @subpackage Tests @@ -74,28 +78,4 @@ return new PHPUnit_Framework_TestSuite(ezcBaseInitTest); } } - -class testBaseInitCallback implements ezcBaseConfigurationInitializer -{ -static public function configureObject( $objectToConfigure ) -{ -$objectToConfigure-configured = true; -} -} - -class testBaseInitClass -{ -public $configured = false; -public static $instance; - -public static function getInstance() -{ -if ( is_null( self::$instance ) ) -{ -self::$instance = new testBaseInitClass(); -ezcBaseInit::fetchConfig( 'testBaseInit', self::$instance ); -} -return self::$instance; -} -} ? Added: trunk/Base/tests/init/base_init_callback.php == --- trunk/Base/tests/init/base_init_callback.php (added) +++ trunk/Base/tests/init/base_init_callback.php [iso-8859-1] Thu Nov 29 15:15:39 2007 @@ -1,0 +1,23 @@ +?php +/** + * @package Base + * @subpackage Tests + * @version //autogentag// + * @copyright Copyright (C) 2005-2007 eZ systems as. All rights reserved. + * @license http://ez.no/licenses/new_bsd New BSD License + */ + +/** + * Test class for ezcBaseInitTest. + * + * @package Base + * @subpackage Tests + */ +class testBaseInitCallback implements ezcBaseConfigurationInitializer +{ +static public function configureObject( $objectToConfigure ) +{ +$objectToConfigure-configured = true; +} +} +? Propchange: trunk/Base/tests/init/base_init_callback.php -- svn:eol-style = native Added: trunk/Base/tests/init/base_init_class.php == --- trunk/Base/tests/init/base_init_class.php (added) +++ trunk/Base/tests/init/base_init_class.php [iso-8859-1] Thu Nov 29 15:15:39 2007 @@ -1,0 +1,31 @@ +?php +/** + * @package Base + * @subpackage Tests + * @version //autogentag// + * @copyright Copyright (C) 2005-2007 eZ systems as. All rights reserved. + * @license http://ez.no/licenses/new_bsd New BSD License + */ + +/** + * Test class for ezcBaseInitTest. + * + * @package Base + * @subpackage Tests + */ +class testBaseInitClass +{ +public $configured = false; +public static $instance; + +public static function getInstance() +{ +if ( is_null( self::$instance ) ) +{ +self::$instance = new testBaseInitClass(); +ezcBaseInit::fetchConfig( 'testBaseInit', self::$instance ); +} +return self::$instance; +} +} +? Propchange: trunk/Base/tests/init/base_init_class.php -- svn:eol-style = native -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6885 - /trunk/Cache/tests/storage_file_options_test.php
Author: as Date: Thu Nov 29 15:21:56 2007 New Revision: 6885 Log: - Added missing required file in tests. # This was causing problems when running the test alone. Modified: trunk/Cache/tests/storage_file_options_test.php Modified: trunk/Cache/tests/storage_file_options_test.php == --- trunk/Cache/tests/storage_file_options_test.php [iso-8859-1] (original) +++ trunk/Cache/tests/storage_file_options_test.php [iso-8859-1] Thu Nov 29 15:21:56 2007 @@ -8,6 +8,8 @@ * @copyright Copyright (C) 2005-2007 eZ systems as. All rights reserved. * @license http://ez.no/licenses/new_bsd New BSD License */ + +require_once 'Cache/tests/test.php'; /** * Abstract base test class for ezcCacheStorageFileOptions tests. -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6889 - in /trunk/Debug/tests: ./ formatters/ wrappers/ writers/
Author: as Date: Thu Nov 29 16:19:27 2007 New Revision: 6889 Log: - Added docblocks for tests. - Moved classes into separate files. # This was causing problems with running the tests alone. Added: trunk/Debug/tests/formatters/html_formatter_data_structures.php (with props) trunk/Debug/tests/formatters/test_reporter.php (with props) trunk/Debug/tests/wrappers/ trunk/Debug/tests/wrappers/fake_wrapper.php (with props) Modified: trunk/Debug/tests/debug_test.php trunk/Debug/tests/debug_timer_test.php trunk/Debug/tests/formatters/html_formatter_test.php trunk/Debug/tests/suite.php trunk/Debug/tests/test_classes.php trunk/Debug/tests/writers/memory_writer_test.php Modified: trunk/Debug/tests/debug_test.php == --- trunk/Debug/tests/debug_test.php [iso-8859-1] (original) +++ trunk/Debug/tests/debug_test.php [iso-8859-1] Thu Nov 29 16:19:27 2007 @@ -1,5 +1,19 @@ ?php +/** + * @copyright Copyright (C) 2005-2007 eZ systems as. All rights reserved. + * @license http://ez.no/licenses/new_bsd New BSD License + * @version //autogentag// + * @filesource + * @package Debug + * @subpackage Tests + */ +require_once 'test_classes.php'; + +/** + * @package Debug + * @subpackage Tests + */ class ezcDebugTest extends ezcTestCase { private $dbg; @@ -158,23 +172,4 @@ return new PHPUnit_Framework_TestSuite(ezcDebugTest); } } - - -class TestReporter implements ezcDebugOutputFormatter -{ - public function generateOutput( array $timerData, array $writerData) - { -return array( $timerData, $writerData ); - } -} - -class MyFakeMapper implements ezcLogMapper -{ -public function get( $sev, $src, $cat ) -{ -return null; -} - -} - ? Modified: trunk/Debug/tests/debug_timer_test.php == --- trunk/Debug/tests/debug_timer_test.php [iso-8859-1] (original) +++ trunk/Debug/tests/debug_timer_test.php [iso-8859-1] Thu Nov 29 16:19:27 2007 @@ -1,9 +1,21 @@ ?php +/** + * @copyright Copyright (C) 2005-2007 eZ systems as. All rights reserved. + * @license http://ez.no/licenses/new_bsd New BSD License + * @version //autogentag// + * @filesource + * @package Debug + * @subpackage Tests + */ +require_once 'test_classes.php'; +/** + * @package Debug + * @subpackage Tests + */ class ezcDebugTimerTest extends ezcTestCase { - public function testStartStop() { $timer = new ezcDebugTimer(); Added: trunk/Debug/tests/formatters/html_formatter_data_structures.php == --- trunk/Debug/tests/formatters/html_formatter_data_structures.php (added) +++ trunk/Debug/tests/formatters/html_formatter_data_structures.php [iso-8859-1] Thu Nov 29 16:19:27 2007 @@ -1,0 +1,83 @@ +?php +/** + * @copyright Copyright (C) 2005-2007 eZ systems as. All rights reserved. + * @license http://ez.no/licenses/new_bsd New BSD License + * @version //autogentag// + * @filesource + * @package Debug + * @subpackage Tests + */ + +/** + * Class used in the test suite. + * + * @package Debug + * @subpackage Tests + */ +class HtmlReporterDataStructures +{ +public function getLogStructure() +{ +$log1 = new ezcDebugStructure(); + +$log1-message = SELECT contentobject_id, login, email, password_hash, password_hash_type\n FROM ezuser\n WHERE contentobject_id='10'; +$log1-source = content; +$log1-category = sql; +$log1-verbosity = 1; +$log1-datetime = Oct 05 2005 12:04:20; + +$log2 = new ezcDebugStructure(); +$log2-message = SELECT DISTINCT ezdiscountrule.id\n FROM ezdiscountrule,\n ezuser_discountrule\n WHERE ezuser_discountrule.contentobject_id = '10' AND\n. + ezuser_discountrule.discountrule_id = ezdiscountrule.id; +$log2-source = content; +$log2-category = sql; +$log2-verbosity = 2; +$log2-datetime = Oct 05 2005 12:04:25; + +return array( $log1, $log2 ); +} + +public function getTimeStructure() +{ +$time = new ezcDebugTimer(); +$time-startTimer(Script, html_reporter_test, script); + +if ( true != false ) $i_do_something = false; + +$time-startTimer(Timing module, content, module); + +if ( true != false ) $i_do_something = true; + +$this-mySQLFunction($time); +$this-mySQLFunction($time); +$this-mySQLFunction($time); + +$this-anotherMySQLFunction($time); +$this-anotherMySQLFunction($time); + +$time-stopTimer(Timing module); + +$time-stopTimer(Script); + +return $time-getTimeData(); +} + +protected function mySQLFunction($time) +{ +$time-startTimer(my query, html_reporter_test , query); + +// My query.. + +$time-stopTimer(my
[svn-components] 6858 - /trunk/Cache/tests/manager_test.php
Author: as Date: Wed Nov 28 10:47:41 2007 New Revision: 6858 Log: - Fixed a broken test. Modified: trunk/Cache/tests/manager_test.php Modified: trunk/Cache/tests/manager_test.php == --- trunk/Cache/tests/manager_test.php [iso-8859-1] (original) +++ trunk/Cache/tests/manager_test.php [iso-8859-1] Wed Nov 28 10:47:41 2007 @@ -25,13 +25,7 @@ * @var array * @access protected */ -protected $data = array( -'ezcCacheStorageFilePlain', -'ezcCacheStorageFileArray', -'ezcCacheStorageFileEvalArray', -'ezcCacheStorageApcPlain', -'ezcCacheStorageFileApcArray' -); +protected $data = array(); /** * Temp location for caches. @@ -51,20 +45,39 @@ return new PHPUnit_Framework_TestSuite( ezcCacheManagerTest ); } +public function __construct() +{ +$this-data = array( +'ezcCacheStorageFilePlain', +'ezcCacheStorageFileArray', +'ezcCacheStorageFileEvalArray', +'ezcCacheStorageApcPlain', +'ezcCacheStorageFileApcArray' +); +} + public function testManagerCreateCache_Success() { foreach ( $this-data as $id = $class ) { $location = $this-createTempDir($class); ezcCacheManager::createCache( $id, $location, $class ); -$realCache = ezcCacheManager::getCache( $id ); -$fakeCache = new $class( realpath( $location ) ); -$this-assertEquals( -$realCache, -$fakeCache, -'Invalid object created from ezcCacheManager. Expected ' . get_class( $realCache ) . ', found '. get_class( $fakeCache ) .'.' -); -unset( $realCache ); unset( $fakeCache ); + +try +{ +$realCache = ezcCacheManager::getCache( $id ); +$fakeCache = new $class( realpath( $location ) ); +$this-assertEquals( +$realCache, +$fakeCache, +'Invalid object created from ezcCacheManager. Expected ' . get_class( $realCache ) . ', found '. get_class( $fakeCache ) .'.' +); +unset( $realCache ); unset( $fakeCache ); +} +catch ( ezcBaseExtensionNotFoundException $e ) +{ +} + $this-removeTempDir($location); } $this-assertTrue( true ); -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6875 - /trunk/Cache/tests/storage_memcache_plain_test.php
Author: as Date: Wed Nov 28 11:12:35 2007 New Revision: 6875 Log: - Fixed a broken test. Modified: trunk/Cache/tests/storage_memcache_plain_test.php Modified: trunk/Cache/tests/storage_memcache_plain_test.php == --- trunk/Cache/tests/storage_memcache_plain_test.php [iso-8859-1] (original) +++ trunk/Cache/tests/storage_memcache_plain_test.php [iso-8859-1] Wed Nov 28 11:12:35 2007 @@ -28,12 +28,7 @@ * * @var array(string) */ -protected $data = array( -1 = Test 1 2 3 4 5 6 7 8, -2 = 'La la la 02064 lololo', -3 = 12345, -4 = 12.3746, -); +protected $data; protected function setUp() { @@ -50,6 +45,12 @@ // Class name == inheriting class - Test $storageClass = ( $this-storageClass = substr( get_class( $this ), 0, strlen( get_class( $this ) ) - 4 ) ); $this-storage = new $storageClass( $this-createTempDir( 'ezcCacheTest' ), array( 'host' = 'localhost', 'port' = 11211, 'ttl' = 10 ) ); +$this-data = array( +1 = Test 1 2 3 4 5 6 7 8, +2 = 'La la la 02064 lololo', +3 = 12345, +4 = 12.3746, +); } // Override test from parent class -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6880 - in /trunk/Url/tests: data/ data/delayed_init_configuration.php url_configuration_test.php
Author: as Date: Wed Nov 28 13:25:17 2007 New Revision: 6880 Log: - Put the test class into its own file. Added: trunk/Url/tests/data/ trunk/Url/tests/data/delayed_init_configuration.php (with props) Modified: trunk/Url/tests/url_configuration_test.php Added: trunk/Url/tests/data/delayed_init_configuration.php == --- trunk/Url/tests/data/delayed_init_configuration.php (added) +++ trunk/Url/tests/data/delayed_init_configuration.php [iso-8859-1] Wed Nov 28 13:25:17 2007 @@ -1,0 +1,25 @@ +?php +/** + * @copyright Copyright (C) 2005-2007 eZ systems as. All rights reserved. + * @license http://ez.no/licenses/new_bsd New BSD License + * @version //autogentag// + * @filesource + * @package Url + * @subpackage Tests + */ + +/** + * Test class for ezcUrlConfigurationTest. + * + * @package Url + * @subpackage Tests + */ +class testDelayedInitUrlConfiguration implements ezcBaseConfigurationInitializer +{ +static function configureObject( $object ) +{ +$object-addOrderedParameter( 'section' ); +$object-addUnorderedParameter( 'article' ); +} +} +? Propchange: trunk/Url/tests/data/delayed_init_configuration.php -- svn:eol-style = native Modified: trunk/Url/tests/url_configuration_test.php == --- trunk/Url/tests/url_configuration_test.php [iso-8859-1] (original) +++ trunk/Url/tests/url_configuration_test.php [iso-8859-1] Wed Nov 28 13:25:17 2007 @@ -7,6 +7,8 @@ * @package Url * @subpackage Tests */ + +include_once( 'data/delayed_init_configuration.php' ); /** * @package Url @@ -110,13 +112,4 @@ return new PHPUnit_Framework_TestSuite( ezcUrlConfigurationTest ); } } - -class testDelayedInitUrlConfiguration implements ezcBaseConfigurationInitializer -{ -static function configureObject( $object ) -{ -$object-addOrderedParameter( 'section' ); -$object-addUnorderedParameter( 'article' ); -} -} ? -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6823 - in /trunk/Mail: ./ src/parser/interfaces/ src/parser/parts/ src/transports/storage/ tests/parser/ tests/parser/data/various/
Author: as Date: Tue Nov 27 10:38:41 2007 New Revision: 6823 Log: - Fixed issue #12062: Mails with no space or tabs after the colon in headers are parsed correctly now. Added: trunk/Mail/tests/parser/data/various/test-header-no-space trunk/Mail/tests/parser/data/various/test-header-with-tab Modified: trunk/Mail/ChangeLog trunk/Mail/src/parser/interfaces/part_parser.php trunk/Mail/src/parser/parts/delivery_status_parser.php trunk/Mail/src/transports/storage/storage_set.php trunk/Mail/tests/parser/parser_test.php Modified: trunk/Mail/ChangeLog == --- trunk/Mail/ChangeLog [iso-8859-1] (original) +++ trunk/Mail/ChangeLog [iso-8859-1] Tue Nov 27 10:38:41 2007 @@ -3,6 +3,8 @@ - Fixed issue #11906: Only files inside an image tag are attached to the composed email. +- Fixed issue #12062: Mails with no space or tabs after the colon in headers + are parsed correctly now. 1.4alpha2 - Monday 29 October 2007 Modified: trunk/Mail/src/parser/interfaces/part_parser.php == --- trunk/Mail/src/parser/interfaces/part_parser.php [iso-8859-1] (original) +++ trunk/Mail/src/parser/interfaces/part_parser.php [iso-8859-1] Tue Nov 27 10:38:41 2007 @@ -172,7 +172,7 @@ protected function parseHeader( $line, ezcMailHeadersHolder $headers ) { $matches = array(); -preg_match_all( /^([\w-_]*): (.*)/, $line, $matches, PREG_SET_ORDER ); +preg_match_all( /^([\w-_]*):[\s]{0,1}(.*)/, $line, $matches, PREG_SET_ORDER ); if ( count( $matches ) 0 ) { $headers[$matches[0][1]] = str_replace( \t, , trim( $matches[0][2] ) ); Modified: trunk/Mail/src/parser/parts/delivery_status_parser.php == --- trunk/Mail/src/parser/parts/delivery_status_parser.php [iso-8859-1] (original) +++ trunk/Mail/src/parser/parts/delivery_status_parser.php [iso-8859-1] Tue Nov 27 10:38:41 2007 @@ -74,7 +74,7 @@ protected function parseHeader( $line, ezcMailHeadersHolder $headers ) { $matches = array(); -preg_match_all( /^([\w-_]*): (.*)/, $line, $matches, PREG_SET_ORDER ); +preg_match_all( /^([\w-_]*):[\s]{0,1}(.*)/, $line, $matches, PREG_SET_ORDER ); if ( count( $matches ) 0 ) { $this-lastParsedHeader = $matches[0][1]; Modified: trunk/Mail/src/transports/storage/storage_set.php == --- trunk/Mail/src/transports/storage/storage_set.php [iso-8859-1] (original) +++ trunk/Mail/src/transports/storage/storage_set.php [iso-8859-1] Tue Nov 27 10:38:41 2007 @@ -147,7 +147,7 @@ { // Temporary value in case the Message-ID cannot be extracted from $line $this-id = $this-file; -preg_match_all( /^([\w-_]*): (.*)/, $line, $matches, PREG_SET_ORDER ); +preg_match_all( /^([\w-_]*):[\s]{0,1}(.*)/, $line, $matches, PREG_SET_ORDER ); if ( count( $matches ) 0 ) { $this-id = trim( trim( $matches[0][2] ), '' ); Added: trunk/Mail/tests/parser/data/various/test-header-no-space == --- trunk/Mail/tests/parser/data/various/test-header-no-space (added) +++ trunk/Mail/tests/parser/data/various/test-header-no-space [iso-8859-1] Tue Nov 27 10:38:41 2007 @@ -1,0 +1,20 @@ +Return-Path: [EMAIL PROTECTED] +Delivered-To: [EMAIL PROTECTED] +Received: (qmail 15735 invoked from network); 14 Sep 2007 19:43:21 -0400 +Received: from smtp1.mo.bulk.sprintpcs.com (HELO +mx.messaging.sprintpcs.com) (10.1.1.1) + by mydomain.com with SMTP; 14 Sep 2007 19:43:21 -0400 +Received-SPF: none (mydomain.com: domain at messaging.sprintpcs.com +does not designate permitted sender hosts) +Received: from messaging.sprintpcs.com (lxnsmssf5- +vip.nmcc.sprintspectrum.com [10.1.1.1]) + by mx.messaging.sprintpcs.com (Postfix) with SMTP id DDEC3F83CC + for [EMAIL PROTECTED]; Fri, 14 Sep 2007 18:40:49 -0500 (CDT) +From:[EMAIL PROTECTED] +To: [EMAIL PROTECTED] +Subject: +X-OPWV-Extra-Message-Type: MO +Message-Id: [EMAIL PROTECTED] +Date: Fri, 14 Sep 2007 18:40:49 -0500 (CDT) + +Some message here Added: trunk/Mail/tests/parser/data/various/test-header-with-tab == --- trunk/Mail/tests/parser/data/various/test-header-with-tab (added) +++ trunk/Mail/tests/parser/data/various/test-header-with-tab [iso-8859-1] Tue Nov 27 10:38:41 2007 @@ -1,0 +1,20 @@ +Return-Path: [EMAIL PROTECTED] +Delivered-To: [EMAIL PROTECTED] +Received: (qmail 15735 invoked from network); 14 Sep 2007 19:43:21 -0400 +Received: from smtp1.mo.bulk.sprintpcs.com (HELO +mx.messaging.sprintpcs.com) (10.1.1.1) + by
[svn-components] 6833 - in /trunk/Mail: ChangeLog src/transports/transport_connection.php
Author: as Date: Tue Nov 27 14:43:14 2007 New Revision: 6833 Log: - Fixed issue #11965: Reading from a transport connection is stopped at CRLF or a problem in the connection, and not after a hard-coded number of loops. Modified: trunk/Mail/ChangeLog trunk/Mail/src/transports/transport_connection.php Modified: trunk/Mail/ChangeLog == --- trunk/Mail/ChangeLog [iso-8859-1] (original) +++ trunk/Mail/ChangeLog [iso-8859-1] Tue Nov 27 14:43:14 2007 @@ -5,6 +5,8 @@ composed email. - Fixed issue #12062: Mails with no space or tabs after the colon in headers are parsed correctly now. +- Fixed issue #11965: Reading from a transport connection is stopped at CRLF + or a problem in the connection, and not after a hard-coded number of loops. 1.4alpha2 - Monday 29 October 2007 Modified: trunk/Mail/src/transports/transport_connection.php == --- trunk/Mail/src/transports/transport_connection.php [iso-8859-1] (original) +++ trunk/Mail/src/transports/transport_connection.php [iso-8859-1] Tue Nov 27 14:43:14 2007 @@ -200,15 +200,15 @@ { $data = ''; $line = ''; -$loops = 0; - -if ( is_resource( $this-connection ) ) -{ -while ( ( strpos( $line, self::CRLF ) === false ) $loops 100 ) + +if ( is_resource( $this-connection ) ) +{ +// in case there is a problem with the connection fgets() returns false +while ( $line !== false + strpos( $line, self::CRLF ) === false ) { $line = fgets( $this-connection, 512 ); $data .= $line; -$loops++; } if ( $trim == false ) -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6840 - /trunk/Feed/ChangeLog
Author: as Date: Tue Nov 27 17:26:47 2007 New Revision: 6840 Log: - Cleaned the ChangeLog file. Modified: trunk/Feed/ChangeLog Modified: trunk/Feed/ChangeLog == --- trunk/Feed/ChangeLog [iso-8859-1] (original) +++ trunk/Feed/ChangeLog [iso-8859-1] Tue Nov 27 17:26:47 2007 @@ -1,20 +1,18 @@ 1.1alpha1 - [RELEASEDATE] ^^ +- Reorganized internal structure of classes. +- Added ezcFeedSchema to define different feed types. +- Added ezcFeedElement instead of ezcFeedItem. +- Added support for XML attributes for feeds. +- Added regression tests based on the ones from Template. - In RSS2 the title, link and description nodes of item nodes are not all required, but at least one of title or description nodes is required. -- The RSS2 image node is created and parsed correctly. -- The addModule() method in ezcFeed now accepts the name of a module instead - the name of a class. -- Reorganized internal structure of classes. -- Added support for XML attributes. -- Added some RSS1 and ATOM support. -- Added regression tests based on the ones from Template. -- Added ezcFeedSchema to define different feed types. -- Added ezcFeedElement instead of ezcFeedItem. - Added support for RSS2 enclosure and tutorial on how to use it for creating and parsing podcasts. -- Re-added support for RSS2 image. +- Completed support for creating and parsing RSS2 feeds. +- Completed support for creating and parsing RSS1 feeds. +- Completed support for creating and parsing ATOM feeds. 1.0beta1 - Monday 18 December 2006 -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6841 - /trunk/Feed/TODO
Author: as Date: Tue Nov 27 17:28:00 2007 New Revision: 6841 Log: - Updated TODO file. Modified: trunk/Feed/TODO Modified: trunk/Feed/TODO == --- trunk/Feed/TODO [iso-8859-1] (original) +++ trunk/Feed/TODO [iso-8859-1] Tue Nov 27 17:28:00 2007 @@ -1,2 +1,1 @@ -- Implement support for category domains in the category channel element. (RSS 0.92, RSS 2.0) -- Implement support for cloud item element (RSS 0.92, RSS 2.0) +- Implement support for feed modules (DublinCore, Content). -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6790 - /docs/guidelines/implementation.txt
Author: as Date: Thu Nov 22 09:20:26 2007 New Revision: 6790 Log: - Fixed some typos. Modified: docs/guidelines/implementation.txt Modified: docs/guidelines/implementation.txt == --- docs/guidelines/implementation.txt [iso-8859-1] (original) +++ docs/guidelines/implementation.txt [iso-8859-1] Thu Nov 22 09:20:26 2007 @@ -448,7 +448,7 @@ Modifying *required* configuration must always be done with custom methods. The -class and method must be documented so it is clear with methods performs this +class and method must be documented so it is clear which methods perform this modification :: -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6791 - /trunk/Mail/tests/tools/data/addresses_correct_mx.txt
Author: as Date: Thu Nov 22 13:04:16 2007 New Revision: 6791 Log: - Removed a (broken) test email address. # Need to find another one to replace it. Modified: trunk/Mail/tests/tools/data/addresses_correct_mx.txt Modified: trunk/Mail/tests/tools/data/addresses_correct_mx.txt == --- trunk/Mail/tests/tools/data/addresses_correct_mx.txt [iso-8859-1] (original) +++ trunk/Mail/tests/tools/data/addresses_correct_mx.txt [iso-8859-1] Thu Nov 22 13:04:16 2007 @@ -11,4 +11,3 @@ # an email address. [EMAIL PROTECTED] [EMAIL PROTECTED] -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6792 - in /trunk/Mail: ChangeLog src/composer.php tests/composer_test.php
Author: as Date: Thu Nov 22 13:24:01 2007 New Revision: 6792 Log: - Fixed issue #11906: Only files inside an image tag are attached to the composed email. Modified: trunk/Mail/ChangeLog trunk/Mail/src/composer.php trunk/Mail/tests/composer_test.php Modified: trunk/Mail/ChangeLog == --- trunk/Mail/ChangeLog [iso-8859-1] (original) +++ trunk/Mail/ChangeLog [iso-8859-1] Thu Nov 22 13:24:01 2007 @@ -1,3 +1,10 @@ +1.4beta1 - [RELEASEDATE] +^^ + +- Fixed issue #11906: Only files inside an image tag are attached to the + composed email. + + 1.4alpha2 - Monday 29 October 2007 ^^ Modified: trunk/Mail/src/composer.php == --- trunk/Mail/src/composer.php [iso-8859-1] (original) +++ trunk/Mail/src/composer.php [iso-8859-1] Thu Nov 22 13:24:01 2007 @@ -309,7 +309,7 @@ if ( $this-htmlText != '' ) { // recognize file:// and file:///, pick out the image, add it as a part and then..:) -preg_match_all( /file:\/\/([^ \'\]+)/i, $this-htmlText, $matches ); +preg_match_all( /img[\s\*\s]src=[\'\]file:\/\/([^ \'\]+)/i, $this-htmlText, $matches ); // pictures/files can be added multiple times. We only need them once. $matches = array_unique( $matches[1] ); Modified: trunk/Mail/tests/composer_test.php == --- trunk/Mail/tests/composer_test.php [iso-8859-1] (original) +++ trunk/Mail/tests/composer_test.php [iso-8859-1] Thu Nov 22 13:24:01 2007 @@ -262,6 +262,20 @@ $this-mail-addAttachment( dirname( __FILE__) . /parts/data/fly.jpg ); $this-mail-build(); // $transport = new ezcMailSmtpTransport( smtp.ez.no ); +} + +public function testMailHtmlWithImagesAndFilesOutsideImg() +{ +$this-mail-from = new ezcMailAddress( '[EMAIL PROTECTED]', 'Frederik Holljen' ); +$this-mail-addTo( new ezcMailAddress( '[EMAIL PROTECTED]', 'Frederik Holljen' ) ); +$this-mail-subject = HTML message with embeded files and images.; +$this-mail-htmlText = htmlSome text before the image: file:// . dirname( __FILE__ ) . /parts/data/fly.jpg /html; +$this-mail-build(); +$set = new ezcMailVariableSet( $this-mail-generate() ); +$parser = new ezcMailParser(); +$mail = $parser-parseMail( $set ); +$mail = $mail[0]; +$this-assertEquals( htmlSome text before the image: file:// . dirname( __FILE__ ) . /parts/data/fly.jpg /html, $mail-body-text ); } /** -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components
[svn-components] 6793 - /trunk/Graph/review.txt
Author: as Date: Thu Nov 22 14:06:14 2007 New Revision: 6793 Log: - Added a review document with some minor issues in Graph. Added: trunk/Graph/review.txt (with props) Added: trunk/Graph/review.txt == --- trunk/Graph/review.txt (added) +++ trunk/Graph/review.txt [iso-8859-1] Thu Nov 22 14:06:14 2007 @@ -1,0 +1,21 @@ +Some issues in Graph (Alexandru, 22-11-2007) + + +[ ] If using a 3D renderer with Radar and Odometer (usually nobody does this) +you get 2 different errors: + +Radar: ezcBaseValueException: The value 'O:18:ezcGraphRenderer3d:16:{s:19: + in /home/as/dev/ezcomponents/trunk/Graph/src/charts/radar.php on line 165 + +Odometer: Fatal error: Call to undefined method ezcGraphRenderer3d::drawOdometer() + in /home/as/dev/ezcomponents/trunk/Graph/src/charts/odometer.php on line 137 + +[ ] ezcGraphOdometerChart has no class doc-block - most likely will end up +in the NoPackageName section on http://ezcomponents.org/docs/api/trunk/elementindex.html +(same with some classes in Webdav). It should also be marked as @mainclass. + +[ ] Odometer chart linear gradient looks different in Flash and Svg (more green on +the left side in Svg and almost no green in Flash, using the default palette). + +[ ] Odometer chart does not do gradient colors in Gd (but probably this is documented). + Propchange: trunk/Graph/review.txt -- svn:eol-style = native -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components