diff options
Diffstat (limited to 'web/html/rss.php')
-rw-r--r-- | web/html/rss.php | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/web/html/rss.php b/web/html/rss.php new file mode 100644 index 00000000..659ee15d --- /dev/null +++ b/web/html/rss.php @@ -0,0 +1,48 @@ +<?php + +set_include_path(get_include_path() . PATH_SEPARATOR . '../lib' . PATH_SEPARATOR . '../lang'); +include_once("aur.inc"); +include_once("feedcreator.class.php"); + +#detect prefix +$protocol = $_SERVER["HTTPS"]=='on' ? "https" : "http"; +$host = $_SERVER['HTTP_HOST']; + +#If there's a cached version <1hr old, won't regenerate now +$rss = new UniversalFeedCreator(); +$rss->useCached("RSS2.0", "/tmp/aur-newestpkg.xml", 1800); + +#All the general RSS setup +$rss->title = "AUR Newest Packages"; +$rss->description = "The latest and greatest packages in the AUR"; +$rss->link = "${protocol}://{$host}"; +$rss->syndicationURL = "{$protocol}://{$host}/rss2.php"; +$image = new FeedImage(); +$image->title = "AUR"; +$image->url = "{$protocol}://{$host}/images/AUR-logo-80.png"; +$image->link = $rss->link; +$image->description = "AUR Newest Packages Feed"; +$rss->image = $image; + +#Get the latest packages and add items for them +$dbh = db_connect(); +$q = "SELECT * FROM Packages "; +$q.= "WHERE DummyPkg != 1 "; +$q.= "ORDER BY SubmittedTS DESC "; +$q.= "LIMIT 0 , 20"; +$result = db_query($q, $dbh); + +while ($row = mysql_fetch_assoc($result)) { + $item = new FeedItem(); + $item->title = $row["Name"]; + $item->link = "{$protocol}://{$host}/packages.php?ID={$row["ID"]}"; + $item->description = $row["Description"]; + $item->date = intval($row["SubmittedTS"]); + $item->source = "{$protocol}://{$host}"; + $item->author = username_from_id($row["MaintainerUID"]); + $rss->addItem($item); +} + +#save it so that useCached() can find it +$rss->saveFeed("RSS2.0","/tmp/aur-newestpkg.xml",true); + |