]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
move code for making activities from OStatus plugin to Subscription and Fave classes
authorEvan Prodromou <evan@status.net>
Wed, 4 Aug 2010 19:07:49 +0000 (12:07 -0700)
committerEvan Prodromou <evan@status.net>
Mon, 13 Sep 2010 15:44:20 +0000 (11:44 -0400)
classes/Fave.php
classes/Subscription.php
plugins/OStatus/OStatusPlugin.php

index ed4f56aeef0405b957534495aea326875bca4d9f..9d0b0aa029912dd77a037729308afc19483f65c8 100644 (file)
@@ -129,4 +129,29 @@ class Fave extends Memcached_DataObject
 
         return $ids;
     }
+
+    function asActivity()
+    {
+        $notice  = Notice::staticGet('id', $this->notice_id);
+        $profile = Profile::staticGet('id', $this->user_id);
+
+        $act = new Activity();
+
+        $act->verb = ActivityVerb::FAVORITE;
+        $act->id   = TagURI::mint('favor:%d:%d:%s',
+                                  $profile->id,
+                                  $notice->id,
+                                  common_date_iso8601($this->created));
+
+        $act->time    = $this->created;
+        $act->title   = _("Favor");
+        $act->content = sprintf(_("%s marked notice %s as a favorite."),
+                               $profile->getBestName(),
+                               $notice->uri);
+
+        $act->actor   = ActivityObject::fromProfile($profile);
+        $act->object  = ActivityObject::fromNotice($notice);
+
+        return $act;
+    }
 }
index 0225ed4df97b9282bc8b5efd6d2175f8e216e8f2..0044699a360ce96301019058957a77519c0c1507 100644 (file)
@@ -235,4 +235,30 @@ class Subscription extends Memcached_DataObject
                                            'subscribed' => $other->id));
         return (empty($sub)) ? false : true;
     }
+
+    function asActivity()
+    {
+        $subscriber = Profile::staticGet('id', $this->subscriber);
+        $subscribed = Profile::staticGet('id', $this->subscribed);
+
+        $act = new Activity();
+
+        $act->verb = ActivityVerb::FOLLOW;
+
+        $act->id   = TagURI::mint('follow:%d:%d:%s',
+                                  $subscriber->id,
+                                  $subscribed->id,
+                                  common_date_iso8601($this->created));
+
+        $act->time    = strtotime($this->created);
+        $act->title   = _("Follow");
+        $act->content = sprintf(_("%s is now following %s."),
+                               $subscriber->getBestName(),
+                               $subscribed->getBestName());
+
+        $act->actor   = ActivityObject::fromProfile($subscriber);
+        $act->object  = ActivityObject::fromProfile($subscribed);
+
+        return $act;
+    }
 }
index 77bc9872b401827057bc6b5c92fc118ead2b4fb1..b182438dc347a487a7642ce04a946fe69e035cd3 100644 (file)
@@ -553,25 +553,10 @@ class OStatusPlugin extends Plugin
             return true;
         }
 
-        $act = new Activity();
-
-        $act->verb = ActivityVerb::FOLLOW;
+        $sub = Subscription::pkeyGet(array('subscriber' => $subscriber->id,
+                                           'subscribed' => $other->id));
 
-        $act->id   = TagURI::mint('follow:%d:%d:%s',
-                                  $subscriber->id,
-                                  $other->id,
-                                  common_date_iso8601(time()));
-
-        $act->time    = time();
-        $act->title   = _("Follow");
-        // TRANS: Success message for subscribe to user attempt through OStatus.
-        // TRANS: %1$s is the subscriber name, %2$s is the subscribed user's name.
-        $act->content = sprintf(_("%1$s is now following %2$s."),
-                               $subscriber->getBestName(),
-                               $other->getBestName());
-
-        $act->actor   = ActivityObject::fromProfile($subscriber);
-        $act->object  = ActivityObject::fromProfile($other);
+        $act = $sub->asActivity();
 
         $oprofile->notifyActivity($act, $subscriber);
 
@@ -744,24 +729,15 @@ class OStatusPlugin extends Plugin
             return true;
         }
 
-        $act = new Activity();
+        $fav = Fave::pkeyGet(array('user_id' => $user->id,
+                                   'notice_id' => $notice->id));
 
-        $act->verb = ActivityVerb::FAVORITE;
-        $act->id   = TagURI::mint('favor:%d:%d:%s',
-                                  $profile->id,
-                                  $notice->id,
-                                  common_date_iso8601(time()));
-
-        $act->time    = time();
-        $act->title   = _("Favor");
-        // TRANS: Success message for adding a favorite notice through OStatus.
-        // TRANS: %1$s is the favoring user's name, %2$s is URI to the favored notice.
-        $act->content = sprintf(_("%1$s marked notice %2$s as a favorite."),
-                               $profile->getBestName(),
-                               $notice->uri);
+        if (empty($fav)) {
+            // That's weird.
+            return true;
+        }
 
-        $act->actor   = ActivityObject::fromProfile($profile);
-        $act->object  = ActivityObject::fromNotice($notice);
+        $act = $fav->asActivity();
 
         $oprofile->notifyActivity($act, $profile);