diff options
author | Brenda Wallace <shiny@cpan.org> | 2010-08-16 02:52:23 +0000 |
---|---|---|
committer | Brenda Wallace <shiny@cpan.org> | 2010-08-16 02:52:23 +0000 |
commit | 640e7e7c43fa8e9b1a8516b486e560df84bd9887 (patch) | |
tree | 26f895ccbdbc4510d377e283a47bf66c52d5d5a7 /lib/atomnoticefeed.php | |
parent | af4fd327429fcc01769b33ece458a77a37b2463f (diff) | |
parent | c1cab9bfb83496d941f9a4da918d1e9221f3a08a (diff) |
Merge commit 'origin/0.9.x' into 0.9.x
Diffstat (limited to 'lib/atomnoticefeed.php')
-rw-r--r-- | lib/atomnoticefeed.php | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/lib/atomnoticefeed.php b/lib/atomnoticefeed.php index 35a45118c..b88217291 100644 --- a/lib/atomnoticefeed.php +++ b/lib/atomnoticefeed.php @@ -44,9 +44,22 @@ if (!defined('STATUSNET')) */ class AtomNoticeFeed extends Atom10Feed { - function __construct($indent = true) { + var $cur; + + /** + * Constructor - adds a bunch of XML namespaces we need in our + * notice-specific Atom feeds, and allows setting the current + * authenticated user (useful for API methods). + * + * @param User $cur the current authenticated user (optional) + * @param boolean $indent Whether to indent XML output + * + */ + function __construct($cur = null, $indent = true) { parent::__construct($indent); + $this->cur = $cur; + // Feeds containing notice info use these namespaces $this->addNamespace( @@ -82,7 +95,7 @@ class AtomNoticeFeed extends Atom10Feed $this->addNamespace( 'statusnet', - 'http://status.net/ont/' + 'http://status.net/schema/api/1/' ); } @@ -112,12 +125,17 @@ class AtomNoticeFeed extends Atom10Feed */ function addEntryFromNotice($notice) { - $source = $this->showSource(); - $author = $this->showAuthor(); + try { + $source = $this->showSource(); + $author = $this->showAuthor(); - $cur = common_current_user(); + $cur = empty($this->cur) ? common_current_user() : $this->cur; - $this->addEntryRaw($notice->asAtomEntry(false, $source, $author, $cur)); + $this->addEntryRaw($notice->asAtomEntry(false, $source, $author, $cur)); + } catch (Exception $e) { + common_log(LOG_ERR, $e->getMessage()); + // we continue on exceptions + } } function showSource() |