",
"";
}
/**
* close_feed
*/
public function close_feed()
{
echo "";
}
/**
* channel
*/
public function channel($Title, $Description, $Section = '')
{
$ENV = ENV::go();
$Site = site_url();
# echo commas because <<$Title $ENV->SEP $ENV->SITE_NAME",
"$Site$Section",
"$Description",
"en-us",
"".date('r')."",
"http://blogs.law.harvard.edu/tech/rss",
"Gazelle Feed Class";
}
/**
* item
*/
public function item($Title, $Description, $Page, $Creator, $Comments = '', $Category = '', $Date = '')
{
$Site = site_url();
if ($Date === '') {
$Date = date('r');
} else {
$Date = date('r', strtotime($Date));
}
// Escape with CDATA, otherwise the feed breaks.
$Item = "- ";
$Item .= "";
$Item .= "";
$Item .= "$Date";
$Item .= "$Site$Page";
$Item .= "$Site$Page";
if ($Comments !== '') {
$Item .= "$Site$Comments";
}
if ($Category !== '') {
$Item .= "";
}
$Item .= "$Creator
";
return $Item;
}
/**
* retrieve
*/
public function retrieve($CacheKey, $AuthKey, $PassKey)
{
global $Cache;
$Entries = $Cache->get_value($CacheKey);
if (!$Entries) {
$Entries = [];
} else {
foreach ($Entries as $Item) {
echo str_replace(
array('[[PASSKEY]]', '[[AUTHKEY]]'),
array(display_str($PassKey), display_str($AuthKey)),
$Item
);
}
}
}
/**
* populate
*/
public function populate($CacheKey, $Item)
{
global $Cache;
$Entries = $Cache->get_value($CacheKey, true);
if (!$Entries) {
$Entries = [];
} else {
if (count($Entries) >= 50) {
array_pop($Entries);
}
}
array_unshift($Entries, $Item);
$Cache->cache_value($CacheKey, $Entries, 0); // inf cache
}
}