summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Prodromou <evan@status.net>2010-09-15 07:12:23 -0400
committerEvan Prodromou <evan@status.net>2010-09-15 07:12:23 -0400
commit960ddd9704319356651440f602b63080e8f3a12a (patch)
treebfa64389e7d4309275432d5f924475753fcef179
parent0a5aa9574650d597fd34de6d37226b1bbc81dc80 (diff)
groups in backup output
-rw-r--r--scripts/exportactivitystream.php33
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()