]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
groups in backup output
authorEvan Prodromou <evan@status.net>
Wed, 15 Sep 2010 11:12:23 +0000 (07:12 -0400)
committerEvan Prodromou <evan@status.net>
Wed, 15 Sep 2010 11:12:23 +0000 (07:12 -0400)
scripts/exportactivitystream.php

index 85001f7b42007c75f750f790a2bb29afa6732ac6..ef1008eb3b25c3f02172f75deb980d06de8a1b28 100644 (file)
@@ -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()