1UniversalFeedCreator
2====================
3
4RSS and Atom feed generator by Kai Blankenhorn, slightly cleaned up and packaged for Composer.
5
6Supported formats: RSS0.91, RSS1.0, RSS2.0, PIE0.1 (deprecated), MBOX, OPML, ATOM, ATOM0.3,
7HTML, JS, PHP
8
9## General Usage
10
11```php
12require 'vendor/autoload.php';
13
14$rss = new UniversalFeedCreator();
15$rss->useCached(); // use cached version if age < 1 hour
16$rss->title = "PHP news";
17$rss->description = "daily news from the PHP scripting world";
18
19//optional
20$rss->descriptionTruncSize = 500;
21$rss->descriptionHtmlSyndicated = true;
22
23$rss->link = "http://www.dailyphp.net/news";
24$rss->syndicationURL = "http://www.dailyphp.net/" . $_SERVER["SCRIPT_NAME"];
25
26$image = new FeedImage();
27$image->title = "dailyphp.net logo";
28$image->url = "http://www.dailyphp.net/images/logo.gif";
29$image->link = "http://www.dailyphp.net";
30$image->description = "Feed provided by dailyphp.net. Click to visit.";
31
32//optional
33$image->descriptionTruncSize = 500;
34$image->descriptionHtmlSyndicated = true;
35
36$rss->image = $image;
37
38// get your news items from somewhere, e.g. your database:
39mysql_select_db($dbHost, $dbUser, $dbPass);
40$res = mysql_query("SELECT * FROM news ORDER BY newsdate DESC");
41while ($data = mysql_fetch_object($res)) {
42    $item = new FeedItem();
43    $item->title = $data->title;
44    $item->link = $data->url;
45    $item->description = $data->short;
46
47    //optional
48    $item->descriptionTruncSize = 500;
49    $item->descriptionHtmlSyndicated = true;
50
51    $item->date = $data->newsdate;
52    $item->source = "http://www.dailyphp.net";
53    $item->author = "John Doe";
54
55    $rss->addItem($item);
56}
57
58echo $rss->saveFeed("RSS1.0", "news/feed.xml");
59```
60
61## Changelog:
62
63```
64v1.8          12-03-13
65    packaged for Composer & cleaned up slightly
66
67v1.7.7(BH)    28-03-06
68    added GPX Feed (Barry Hunter)
69
70
71v1.7.6(BH)    20-02-06
72    added GeoRSS Feed (Barry Hunter)
73
74
75v1.7.5(BH)    16-11-05
76    added BASE Feed (Barry Hunter)
77
78v1.7.4(BH)    05-07-05
79    added KML Feed (Barry Hunter)
80
81v1.7.3(BH)    05-07-05
82    added PHP Feed (Barry Hunter)
83
84v1.7.2    10-11-04
85    license changed to LGPL
86
87v1.7.1
88    fixed a syntax bug
89    fixed left over debug code
90
91v1.7    07-18-04
92    added HTML and JavaScript feeds (configurable via CSS) (thanks to Pascal Van Hecke)
93    added HTML descriptions for all feed formats (thanks to Pascal Van Hecke)
94    added a switch to select an external stylesheet (thanks to Pascal Van Hecke)
95    changed default content-type to application/xml
96    added character encoding setting
97    fixed numerous smaller bugs (thanks to Sören Fuhrmann of golem.de)
98    improved changing ATOM versions handling (thanks to August Trometer)
99    improved the UniversalFeedCreator's useCached method (thanks to Sören Fuhrmann of golem.de)
100    added charset output in HTTP headers (thanks to Sören Fuhrmann of golem.de)
101    added Slashdot namespace to RSS 1.0 (thanks to Sören Fuhrmann of golem.de)
102
103v1.6    05-10-04
104    added stylesheet to RSS 1.0 feeds
105    fixed generator comment (thanks Kevin L. Papendick and Tanguy Pruvot)
106    fixed RFC822 date bug (thanks Tanguy Pruvot)
107    added TimeZone customization for RFC8601 (thanks Tanguy Pruvot)
108    fixed Content-type could be empty (thanks Tanguy Pruvot)
109    fixed author/creator in RSS1.0 (thanks Tanguy Pruvot)
110
111v1.6 beta    02-28-04
112    added Atom 0.3 support (not all features, though)
113    improved OPML 1.0 support (hopefully - added more elements)
114    added support for arbitrary additional elements (use with caution)
115    code beautification :-)
116    considered beta due to some internal changes
117
118v1.5.1    01-27-04
119    fixed some RSS 1.0 glitches (thanks to Stéphane Vanpoperynghe)
120    fixed some inconsistencies between documentation and code (thanks to Timothy Martin)
121
122v1.5    01-06-04
123    added support for OPML 1.0
124    added more documentation
125
126v1.4    11-11-03
127    optional feed saving and caching
128    improved documentation
129    minor improvements
130
131v1.3    10-02-03
132    renamed to FeedCreator, as it not only creates RSS anymore
133    added support for mbox
134    tentative support for echo/necho/atom/pie/???
135
136v1.2    07-20-03
137    intelligent auto-truncating of RSS 0.91 attributes
138    don't create some attributes when they're not set
139    documentation improved
140    fixed a real and a possible bug with date conversions
141    code cleanup
142
143v1.1    06-29-03
144    added images to feeds
145    now includes most RSS 0.91 attributes
146    added RSS 2.0 feeds
147
148v1.0    06-24-03
149    initial release
150```
151
152## Credits
153```
154originally (c) Kai Blankenhorn
155www.bitfolge.de
156kaib@bitfolge.de
157v1.3 work by Scott Reynen (scott@randomchaos.com) and Kai Blankenhorn
158v1.5 OPML support by Dirk Clemens
159```
160