]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/FacebookBridge/actions/facebookfinishlogin.php
Merge remote-tracking branch 'upstream/master' into social-master
[quix0rs-gnu-social.git] / plugins / FacebookBridge / actions / facebookfinishlogin.php
index 03bcf6cfcd3002acbfdce31426618dda43e91f8c..4a9e09b53dfe1c27fe1f9a0ce2b7987c8d0e8a98 100644 (file)
@@ -37,7 +37,7 @@ class FacebookfinishloginAction extends Action
     private $fbuser      = null; // Facebook user object (JSON)
     private $accessToken = null; // Access token provided by Facebook JS API
 
-    function prepare($args) {
+    function prepare(array $args=array()) {
         parent::prepare($args);
 
         // Check cookie for a valid access_token
@@ -79,7 +79,7 @@ class FacebookfinishloginAction extends Action
         return true;
     }
 
-    function handle($args)
+    function handle(array $args=array())
     {
         parent::handle($args);
 
@@ -436,8 +436,14 @@ class FacebookfinishloginAction extends Action
                 } else {
                     // save it as an avatar
 
-                    $file = new ImageFile(null, Avatar::path($tmpname));
-                    $filename = $file->resize(180); // size of the biggest img we get from Facebook
+                    $imagefile = new ImageFile(null, Avatar::path($tmpname));
+                    $filename = Avatar::filename($user->id, image_type_to_extension($imagefile->preferredType()),
+                                                 180, common_timestamp());
+                    // Previous docs said 180 is the "biggest img we get from Facebook"
+                    $imagefile->resizeTo(Avatar::path($filename, array('width'=>180, 'height'=>180)));
+
+                    // No need to keep the temporary file around...
+                    @unlink(Avatar::path($tmpname));
 
                     $profile   = $user->getProfile();
 
@@ -457,7 +463,6 @@ class FacebookfinishloginAction extends Action
                         );
 
                         // clean up tmp file
-                        @unlink(Avatar::path($tmpname));
                     }
 
                 }
@@ -514,34 +519,30 @@ class FacebookfinishloginAction extends Action
 
     function tryLogin()
     {
-        $flink = Foreign_link::getByForeignID($this->fbuid, FACEBOOK_SERVICE);
-
-        if (!empty($flink)) {
+        try {
+            $flink = Foreign_link::getByForeignID($this->fbuid, FACEBOOK_SERVICE);
             $user = $flink->getUser();
 
-            if (!empty($user)) {
-
-                common_log(
-                    LOG_INFO,
-                    sprintf(
-                        'Logged in Facebook user %s as user %d (%s)',
-                        $this->fbuid,
-                        $user->nickname,
-                        $user->id
-                    ),
-                    __FILE__
-                );
+            common_log(
+                LOG_INFO,
+                sprintf(
+                    'Logged in Facebook user %s as user %d (%s)',
+                    $this->fbuid,
+                    $user->nickname,
+                    $user->id
+                ),
+                __FILE__
+            );
 
-                common_set_user($user);
-                common_real_login(true);
+            common_set_user($user);
+            common_real_login(true);
 
-                // clear out the stupid cookie
-                setcookie('fb_access_token', '', time() - 3600); // one hour ago
+            // clear out the stupid cookie
+            setcookie('fb_access_token', '', time() - 3600); // one hour ago
 
-                $this->goHome($user->nickname);
-            }
+            $this->goHome($user->nickname);
 
-        } else {
+        } catch (NoResultException $e) {
             $this->showForm(null, $this->bestNewNickname());
         }
     }