forked from GNUsocial/gnu-social
Pass auth user into Atom feed generators (needed for outputting favorited status in statusnet:notice_info tag)
This commit is contained in:
parent
3e9b356777
commit
c5b61078e1
@ -150,7 +150,7 @@ class ApiTimelineFavoritesAction extends ApiBareAuthAction
|
||||
|
||||
header('Content-Type: application/atom+xml; charset=utf-8');
|
||||
|
||||
$atom = new AtomNoticeFeed();
|
||||
$atom = new AtomNoticeFeed($this->auth_user);
|
||||
|
||||
$atom->setId($id);
|
||||
$atom->setTitle($title);
|
||||
|
@ -152,7 +152,7 @@ class ApiTimelineFriendsAction extends ApiBareAuthAction
|
||||
|
||||
header('Content-Type: application/atom+xml; charset=utf-8');
|
||||
|
||||
$atom = new AtomNoticeFeed();
|
||||
$atom = new AtomNoticeFeed($this->auth_user);
|
||||
|
||||
$atom->setId($id);
|
||||
$atom->setTitle($title);
|
||||
|
@ -105,7 +105,7 @@ class ApiTimelineGroupAction extends ApiPrivateAuthAction
|
||||
function showTimeline()
|
||||
{
|
||||
// We'll pull common formatting out of this for other formats
|
||||
$atom = new AtomGroupNoticeFeed($this->group);
|
||||
$atom = new AtomGroupNoticeFeed($this->group, $this->auth_user);
|
||||
|
||||
$self = $this->getSelfUri();
|
||||
|
||||
|
@ -151,7 +151,7 @@ class ApiTimelineHomeAction extends ApiBareAuthAction
|
||||
|
||||
header('Content-Type: application/atom+xml; charset=utf-8');
|
||||
|
||||
$atom = new AtomNoticeFeed();
|
||||
$atom = new AtomNoticeFeed($this->auth_user);
|
||||
|
||||
$atom->setId($id);
|
||||
$atom->setTitle($title);
|
||||
|
@ -151,7 +151,7 @@ class ApiTimelineMentionsAction extends ApiBareAuthAction
|
||||
|
||||
header('Content-Type: application/atom+xml; charset=utf-8');
|
||||
|
||||
$atom = new AtomNoticeFeed();
|
||||
$atom = new AtomNoticeFeed($this->auth_user);
|
||||
|
||||
$atom->setId($id);
|
||||
$atom->setTitle($title);
|
||||
|
@ -130,7 +130,7 @@ class ApiTimelinePublicAction extends ApiPrivateAuthAction
|
||||
|
||||
header('Content-Type: application/atom+xml; charset=utf-8');
|
||||
|
||||
$atom = new AtomNoticeFeed();
|
||||
$atom = new AtomNoticeFeed($this->auth_user);
|
||||
|
||||
$atom->setId($id);
|
||||
$atom->setTitle($title);
|
||||
|
@ -117,7 +117,7 @@ class ApiTimelineRetweetsOfMeAction extends ApiAuthAction
|
||||
|
||||
header('Content-Type: application/atom+xml; charset=utf-8');
|
||||
|
||||
$atom = new AtomNoticeFeed();
|
||||
$atom = new AtomNoticeFeed($this->auth_user);
|
||||
|
||||
$atom->setId($id);
|
||||
$atom->setTitle($title);
|
||||
|
@ -138,7 +138,7 @@ class ApiTimelineTagAction extends ApiPrivateAuthAction
|
||||
|
||||
header('Content-Type: application/atom+xml; charset=utf-8');
|
||||
|
||||
$atom = new AtomNoticeFeed();
|
||||
$atom = new AtomNoticeFeed($this->auth_user);
|
||||
|
||||
$atom->setId($id);
|
||||
$atom->setTitle($title);
|
||||
|
@ -115,7 +115,7 @@ class ApiTimelineUserAction extends ApiBareAuthAction
|
||||
|
||||
// We'll use the shared params from the Atom stub
|
||||
// for other feed types.
|
||||
$atom = new AtomUserNoticeFeed($this->user);
|
||||
$atom = new AtomUserNoticeFeed($this->user, $this->auth_user);
|
||||
|
||||
$link = common_local_url(
|
||||
'showstream',
|
||||
|
@ -50,12 +50,13 @@ class AtomGroupNoticeFeed extends AtomNoticeFeed
|
||||
* Constructor
|
||||
*
|
||||
* @param Group $group the group for the feed
|
||||
* @param User $cur the current authenticated user, if any
|
||||
* @param boolean $indent flag to turn indenting on or off
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function __construct($group, $indent = true) {
|
||||
parent::__construct($indent);
|
||||
function __construct($group, $cur = null, $indent = true) {
|
||||
parent::__construct($cur, $indent);
|
||||
$this->group = $group;
|
||||
|
||||
$title = sprintf(_("%s timeline"), $group->nickname);
|
||||
|
@ -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(
|
||||
@ -115,7 +128,7 @@ class AtomNoticeFeed extends Atom10Feed
|
||||
$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));
|
||||
}
|
||||
|
@ -50,13 +50,14 @@ class AtomUserNoticeFeed extends AtomNoticeFeed
|
||||
* Constructor
|
||||
*
|
||||
* @param User $user the user for the feed
|
||||
* @param User $cur the current authenticated user, if any
|
||||
* @param boolean $indent flag to turn indenting on or off
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function __construct($user, $indent = true) {
|
||||
parent::__construct($indent);
|
||||
function __construct($user, $cur = null, $indent = true) {
|
||||
parent::__construct($cur, $indent);
|
||||
$this->user = $user;
|
||||
if (!empty($user)) {
|
||||
$profile = $user->getProfile();
|
||||
|
Loading…
Reference in New Issue
Block a user