]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/OStatus/OStatusPlugin.php
Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing
[quix0rs-gnu-social.git] / plugins / OStatus / OStatusPlugin.php
index 98e048c14c0c2d2c3e106621b03c636eafaca285..5081c4d983fc1340ad60de7894ff61d8323273a4 100644 (file)
@@ -358,59 +358,38 @@ class OStatusPlugin extends Plugin
         return true;
     }
 
-    function onEndFavor($profile, $notice)
+    /**
+     * Notify remote users when their notices get favorited.
+     *
+     * @param Profile or User $profile of local user doing the faving
+     * @param Notice $notice being favored
+     * @return hook return value
+     */
+    function onEndFavorNotice($profile, Notice $notice)
     {
-        // is the favorer a local user?
-
-        $user = User::staticGet('id', $profile->id);
-
-        if (empty($user)) {
-            return true;
+        if ($profile instanceof User) {
+            // @fixme upstream function should clarify its parameters
+            $profile = $profile->getProfile();
         }
-
-        // is the author an OStatus remote user?
-
         $oprofile = Ostatus_profile::staticGet('profile_id', $notice->profile_id);
-
-        if (empty($oprofile)) {
-            return true;
+        if ($oprofile) {
+            $oprofile->notify($profile, ActivityVerb::FAVORITE, $notice);
         }
-
-        // Local user faved an Ostatus profile's notice; notify them!
-
-        $obj = ActivityObject::fromNotice($notice);
-
-        $oprofile->notify($profile,
-                          ActivityVerb::FAVORITE,
-                          $obj->asString());
-        return true;
     }
 
-    function onEndDisfavor($profile, $notice)
+    /**
+     * Notify remote users when their notices get de-favorited.
+     *
+     * @param Profile or User $profile of local user doing the de-faving
+     * @param Notice $notice being favored
+     * @return hook return value
+     */
+    function onEndDisfavorNotice(Profile $profile, Notice $notice)
     {
-        // is the favorer a local user?
-
-        $user = User::staticGet('id', $profile->id);
-
-        if (empty($user)) {
-            return true;
-        }
-
-        // is the author an OStatus remote user?
-
         $oprofile = Ostatus_profile::staticGet('profile_id', $notice->profile_id);
-
-        if (empty($oprofile)) {
-            return true;
+        if ($oprofile) {
+            $oprofile->notify($profile, ActivityVerb::UNFAVORITE, $notice);
         }
-
-        // Local user faved an Ostatus profile's notice; notify them!
-
-        $obj = ActivityObject::fromNotice($notice);
-
-        $oprofile->notify($profile,
-                          ActivityVerb::UNFAVORITE,
-                          $obj->asString());
-        return true;
     }
+
 }