]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - classes/User_group.php
Initial upgraded Atom output for group timelines
[quix0rs-gnu-social.git] / classes / User_group.php
index c86eadf8fa7fff1e21ca9cb2f496d4aa4ce9acb4..379e6b7219fb6d84eed97b069d3e6c410c12ba36 100644 (file)
@@ -49,12 +49,12 @@ class User_group extends Memcached_DataObject
                                 array('id' => $this->id));
     }
 
-    function getNotices($offset, $limit)
+    function getNotices($offset, $limit, $since_id=null, $max_id=null)
     {
         $ids = Notice::stream(array($this, '_streamDirect'),
                               array(),
                               'user_group:notice_ids:' . $this->id,
-                              $offset, $limit);
+                              $offset, $limit, $since_id, $max_id);
 
         return Notice::getStreamByIds($ids);
     }
@@ -355,6 +355,39 @@ class User_group extends Memcached_DataObject
         return $xs->getString();
     }
 
+    function asAtomAuthor()
+    {
+        $xs = new XMLStringer(true);
+
+        $xs->elementStart('author');
+        $xs->element('name', null, $this->nickname);
+        $xs->element('uri', null, $this->permalink());
+        $xs->elementEnd('author');
+
+        return $xs->getString();
+    }
+
+    function asActivitySubject()
+    {
+        $xs = new XMLStringer(true);
+
+        $xs->elementStart('activity:subject');
+        $xs->element('activity:object', null, 'http://activitystrea.ms/schema/1.0/group');
+        $xs->element('id', null, $this->permalink());
+        $xs->element('title', null, $this->getBestName());
+        $xs->element(
+            'link', array(
+                'rel'  => 'avatar',
+                'href' =>  empty($this->homepage_logo)
+                    ? User_group::defaultLogo(AVATAR_PROFILE_SIZE)
+                    : $this->homepage_logo
+            )
+        );
+        $xs->elementEnd('activity:subject');
+
+        return $xs->getString();
+    }
+
     static function register($fields) {
 
         // MAGICALLY put fields into current scope