]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Provisional fix for ticket #3108: Facebook bridge sends "likes" as the notice's origi...
authorBrion Vibber <brion@pobox.com>
Thu, 31 Mar 2011 00:01:06 +0000 (17:01 -0700)
committerZach Copley <zach@status.net>
Thu, 31 Mar 2011 00:31:24 +0000 (00:31 +0000)
Adds optional $profile parameter for Facebookclient constructor and uses that for the foreign_link lookup if provided instead of the notice's poster.

plugins/FacebookBridge/FacebookBridgePlugin.php
plugins/FacebookBridge/lib/facebookclient.php

index 37b931e23ec98a4d238c9792a8c140716f1b4954..5d2442d579afbc5ccf508a8a5b2ec4fdd48735fb 100644 (file)
@@ -526,7 +526,7 @@ ENDOFSCRIPT;
      */
     function onEndFavorNotice(Profile $profile, Notice $notice)
     {
-        $client = new Facebookclient($notice);
+        $client = new Facebookclient($notice, $profile);
         $client->like();
 
         return true;
@@ -542,7 +542,7 @@ ENDOFSCRIPT;
      */
     function onEndDisfavorNotice(Profile $profile, Notice $notice)
     {
-        $client = new Facebookclient($notice);
+        $client = new Facebookclient($notice, $profile);
         $client->unLike();
 
         return true;
index 516f252d98d7cdc185fc41a07665459d9677016d..37d6a0a7a01487ef5443607ed7454f09921d1cbc 100644 (file)
@@ -48,7 +48,12 @@ class Facebookclient
     protected $notice        = null; // The user's notice
     protected $user          = null; // Sender of the notice
 
-    function __construct($notice)
+    /**
+     *
+     * @param Notice $notice the notice to manipulate
+     * @param Profile $profile local user to act as; if left empty, the notice's poster will be used.
+     */
+    function __construct($notice, $profile=null)
     {
         $this->facebook = self::getFacebook();
 
@@ -60,8 +65,9 @@ class Facebookclient
 
         $this->notice = $notice;
 
+        $profile_id = $profile ? $profile->id : $notice->profile_id;
         $this->flink = Foreign_link::getByUserID(
-            $notice->profile_id,
+            $profile_id,
             FACEBOOK_SERVICE
         );