diff options
author | Evan Prodromou <evan@status.net> | 2010-09-15 07:12:23 -0400 |
---|---|---|
committer | Evan Prodromou <evan@status.net> | 2010-09-15 07:12:23 -0400 |
commit | 960ddd9704319356651440f602b63080e8f3a12a (patch) | |
tree | bfa64389e7d4309275432d5f924475753fcef179 /scripts | |
parent | 0a5aa9574650d597fd34de6d37226b1bbc81dc80 (diff) |
groups in backup output
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/exportactivitystream.php | 33 |
1 files changed, 31 insertions, 2 deletions
diff --git a/scripts/exportactivitystream.php b/scripts/exportactivitystream.php index 85001f7b4..ef1008eb3 100644 --- a/scripts/exportactivitystream.php +++ b/scripts/exportactivitystream.php @@ -34,6 +34,15 @@ END_OF_EXPORTACTIVITYSTREAM_HELP; require_once INSTALLDIR.'/scripts/commandline.inc'; +/** + * Class for activity streams + * + * Includes faves, notices, and subscriptions. + * + * We extend atomusernoticefeed since it does some nice setup for us. + * + */ + class UserActivityStream extends AtomUserNoticeFeed { function __construct($user, $indent = true) @@ -42,10 +51,11 @@ class UserActivityStream extends AtomUserNoticeFeed $subscriptions = $this->getSubscriptions(); $subscribers = $this->getSubscribers(); + $groups = $this->getGroups(); $faves = $this->getFaves(); $notices = $this->getNotices(); - $objs = array_merge($subscriptions, $subscribers, $faves, $notices); + $objs = array_merge($subscriptions, $subscribers, $groups, $faves, $notices); // Sort by create date @@ -53,7 +63,9 @@ class UserActivityStream extends AtomUserNoticeFeed foreach ($objs as $obj) { $act = $obj->asActivity(); - $this->addEntryRaw($act->asString(false)); + // Only show the author sub-element if it's different from default user + $str = $act->asString(false, ($act->actor->id != $this->user->uri)); + $this->addEntryRaw($str); } } @@ -136,6 +148,23 @@ class UserActivityStream extends AtomUserNoticeFeed return $notices; } + + function getGroups() + { + $groups = array(); + + $gm = new Group_member(); + + $gm->profile_id = $this->user->id; + + if ($gm->find()) { + while ($gm->fetch()) { + $groups[] = clone($gm); + } + } + + return $groups; + } } function getUser() |