<?php |
<?php |
|
|
// Agency X updated Y, new files, diff of plain text/link text, |
// Agency X updated Y, new files, diff of plain text/link text, |
// feed for just one agency or all |
// feed for just one agency or all |
// This is a minimum example of using the Universal Feed Generator Class |
// This is a minimum example of using the Universal Feed Generator Class |
include("lib/FeedWriter.php"); |
include("../lib/FeedWriter/FeedTypes.php"); |
|
include_once('../include/common.inc.php'); |
//Creating an instance of FeedWriter class. |
//Creating an instance of FeedWriter class. |
$TestFeed = new FeedWriter(RSS2); |
$TestFeed = new RSS2FeedWriter(); |
//Setting the channel elements |
//Setting the channel elements |
|
////Retriving informations from database |
|
$idtoname = Array(); |
|
$agenciesdb = $server->get_db('disclosr-agencies'); |
|
foreach ($agenciesdb->get_view("app", "byCanonicalName")->rows as $row) { |
|
$idtoname[$row->id] = trim($row->value->name); |
|
} |
|
$foidocsdb = $server->get_db('disclosr-foidocuments'); |
|
if (isset($_REQUEST['id'])) { |
|
$rows = $foidocsdb->get_view("app", "byAgencyID", $_REQUEST['id'], false, false, false)->rows; |
|
$title = $idtoname[$_REQUEST['id']]; |
|
} else { |
|
$rows = $foidocsdb->get_view("app", "byDate", Array('9999-99-99', '0000-00-00', 50), true)->rows; |
|
$title = 'All Agencies'; |
|
} |
//Use wrapper functions for common channelelements |
//Use wrapper functions for common channelelements |
$TestFeed->setTitle('Last Modified - All'); |
$TestFeed->setTitle('disclosurelo.gs Newest Entries - ' . $title); |
$TestFeed->setLink('http://disclosr.lambdacomplex.org/rss.xml.php'); |
$TestFeed->setLink('http://disclosurelo.gs/rss.xml.php' . (isset($_REQUEST['id']) ? '?id=' . $_REQUEST['id'] : '')); |
$TestFeed->setDescription('This is test of creating a RSS 2.0 feed Universal Feed Writer'); |
$TestFeed->setDescription('disclosurelo.gs Newest Entries - ' . $title); |
//Retriving informations from database |
$TestFeed->setChannelElement('language', 'en-us'); |
$rows = $db->get_view("app", "byLastModified")->rows; |
$TestFeed->setChannelElement('pubDate', date(DATE_RSS, time())); |
|
|
|
|
//print_r($rows); |
//print_r($rows); |
|
$i =0; |
foreach ($rows as $row) { |
foreach ($rows as $row) { |
//Create an empty FeedItem |
//Create an empty FeedItem |
$newItem = $TestFeed->createNewItem(); |
$newItem = $TestFeed->createNewItem(); |
//Add elements to the feed item |
//Add elements to the feed item |
$newItem->setTitle($row['name']); |
$newItem->setTitle(preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $row->value->title)); |
$newItem->setLink($row['id']); |
$newItem->setLink("http://disclosurelo.gs/view.php?id=" . $row->value->_id); |
$newItem->setDate(date("c", $row['metadata']['lastModified'])); |
$newItem->setDate(strtotime($row->value->date)); |
$newItem->setDescription($row['name']); |
$newItem->setDescription(displayLogEntry($row, $idtoname)); |
|
$newItem->setAuthor($idtoname[$row->value->agencyID]); |
|
$newItem->addElement('guid', "http://disclosurelo.gs/view.php?id=" . $row->value->_id, array('isPermaLink' => 'true')); |
//Now add the feed item |
//Now add the feed item |
$TestFeed->addItem($newItem); |
$TestFeed->addItem($newItem); |
|
$i++; |
|
if ($i > 50) break; |
} |
} |
//OK. Everything is done. Now genarate the feed. |
//OK. Everything is done. Now genarate the feed. |
$TestFeed->genarateFeed(); |
$TestFeed->generateFeed(); |
?> |
?> |
|
|