<?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/FeedTypes.php"); |
include("../lib/FeedWriter/FeedTypes.php"); |
include_once('../include/common.inc.php'); |
include_once('../include/common.inc.php'); |
//Creating an instance of FeedWriter class. |
//Creating an instance of FeedWriter class. |
$TestFeed = new RSS2FeedWriter(); |
$TestFeed = new RSS2FeedWriter(); |
//Setting the channel elements |
//Setting the channel elements |
////Retriving informations from database |
////Retriving informations from database |
$idtoname = Array(); |
$idtoname = Array(); |
$agenciesdb = $server->get_db('disclosr-agencies'); |
$agenciesdb = $server->get_db('disclosr-agencies'); |
foreach ($agenciesdb->get_view("app", "byCanonicalName")->rows as $row) { |
foreach ($agenciesdb->get_view("app", "byCanonicalName")->rows as $row) { |
$idtoname[$row->id] = trim($row->value->name); |
$idtoname[$row->id] = trim($row->value->name); |
} |
} |
$foidocsdb = $server->get_db('disclosr-foidocuments'); |
$foidocsdb = $server->get_db('disclosr-foidocuments'); |
if (isset($_REQUEST['id'])) { |
if (isset($_REQUEST['id'])) { |
$rows = $foidocsdb->get_view("app", "byAgencyID", $_REQUEST['id'], false, false, false)->rows; |
$rows = $foidocsdb->get_view("app", "byAgencyID", $_REQUEST['id'], false, false, false)->rows; |
$title = $idtoname[$_REQUEST['id']]; |
$title = $idtoname[$_REQUEST['id']]; |
} else { |
} else { |
$rows = $foidocsdb->get_view("app", "byDate", Array('9999-99-99', '0000-00-00', 50), true)->rows; |
$rows = $foidocsdb->get_view("app", "byDate", Array('9999-99-99', '0000-00-00', 50), true)->rows; |
$title = 'All Agencies'; |
$title = 'All Agencies'; |
} |
} |
//Use wrapper functions for common channelelements |
//Use wrapper functions for common channelelements |
$TestFeed->setTitle('disclosurelo.gs Newest Entries - ' . $title); |
$TestFeed->setTitle('disclosurelo.gs Newest Entries - ' . $title); |
$TestFeed->setLink('http://disclosurelo.gs/rss.xml.php' . (isset($_REQUEST['id']) ? '?id=' . $_REQUEST['id'] : '')); |
$TestFeed->setLink('http://disclosurelo.gs/rss.xml.php' . (isset($_REQUEST['id']) ? '?id=' . $_REQUEST['id'] : '')); |
$TestFeed->setDescription('disclosurelo.gs Newest Entries - ' . $title); |
$TestFeed->setDescription('disclosurelo.gs Newest Entries - ' . $title); |
$TestFeed->setChannelElement('language', 'en-us'); |
$TestFeed->setChannelElement('language', 'en-us'); |
$TestFeed->setChannelElement('pubDate', date(DATE_RSS, time())); |
$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->value->title); |
$newItem->setTitle(preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $row->value->title)); |
$newItem->setLink("http://disclosurelo.gs/view.php?id=" . $row->value->_id); |
$newItem->setLink("http://disclosurelo.gs/view.php?id=" . $row->value->_id); |
$newItem->setDate(strtotime($row->value->date)); |
$newItem->setDate(strtotime($row->value->date)); |
$newItem->setDescription(displayLogEntry($row, $idtoname)); |
$newItem->setDescription(displayLogEntry($row, $idtoname)); |
$newItem->setAuthor($idtoname[$row->value->agencyID]); |
$newItem->setAuthor($idtoname[$row->value->agencyID]); |
$newItem->addElement('guid', "http://disclosurelo.gs/view.php?id=" . $row->value->_id, array('isPermaLink' => 'true')); |
$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->generateFeed(); |
$TestFeed->generateFeed(); |
?> |
?> |
|
|