RSS 1.0 actions were reading the stream from the database twice. Inefficient, but more importantly made notice search RSS fail with a DB error due to double search on a DB_DataObject instance
This commit is contained in:
parent
8ba43f18cd
commit
c4072ef7c9
|
@ -94,11 +94,11 @@ class Rss10Action extends Action
|
||||||
|
|
||||||
function handle($args)
|
function handle($args)
|
||||||
{
|
{
|
||||||
// Get the list of notices
|
|
||||||
$this->notices = $this->getNotices();
|
|
||||||
// Parent handling, including cache check
|
// Parent handling, including cache check
|
||||||
parent::handle($args);
|
parent::handle($args);
|
||||||
$this->showRss($this->limit);
|
// Get the list of notices
|
||||||
|
$this->notices = $this->getNotices($this->limit);
|
||||||
|
$this->showRss();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -132,15 +132,13 @@ class Rss10Action extends Action
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
function showRss($limit=0)
|
function showRss()
|
||||||
{
|
{
|
||||||
$notices = $this->getNotices($limit);
|
|
||||||
|
|
||||||
$this->initRss();
|
$this->initRss();
|
||||||
$this->showChannel($notices);
|
$this->showChannel();
|
||||||
$this->showImage();
|
$this->showImage();
|
||||||
|
|
||||||
foreach ($notices as $n) {
|
foreach ($this->notices as $n) {
|
||||||
$this->showItem($n);
|
$this->showItem($n);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -148,7 +146,7 @@ class Rss10Action extends Action
|
||||||
$this->endRss();
|
$this->endRss();
|
||||||
}
|
}
|
||||||
|
|
||||||
function showChannel($notices)
|
function showChannel()
|
||||||
{
|
{
|
||||||
|
|
||||||
$channel = $this->getChannel();
|
$channel = $this->getChannel();
|
||||||
|
@ -167,7 +165,7 @@ class Rss10Action extends Action
|
||||||
$this->elementStart('items');
|
$this->elementStart('items');
|
||||||
$this->elementStart('rdf:Seq');
|
$this->elementStart('rdf:Seq');
|
||||||
|
|
||||||
foreach ($notices as $notice) {
|
foreach ($this->notices as $notice) {
|
||||||
$this->element('sioct:MicroblogPost', array('rdf:resource' => $notice->uri));
|
$this->element('sioct:MicroblogPost', array('rdf:resource' => $notice->uri));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user