Add missing checks for 3rdParty login data
authorTim Düsterhus <duesterhus@woltlab.com>
Mon, 26 Aug 2013 13:51:54 +0000 (15:51 +0200)
committerTim Düsterhus <duesterhus@woltlab.com>
Mon, 26 Aug 2013 13:51:54 +0000 (15:51 +0200)
see:  http://beta.woltlab.com/index.php/Thread/3315-Facebook-Register-Fehler/

wcfsetup/install/files/lib/action/FacebookAuthAction.class.php
wcfsetup/install/files/lib/form/RegisterForm.class.php

index aae1f7956e07ae8795daec3b0b265bf0e2c5bc11..33bab4601ce2fc7c9006e23fad844a861850a080 100644 (file)
@@ -108,7 +108,7 @@ class FacebookAuthAction extends AbstractAction {
                                // save data and redirect to registration
                                else {
                                        WCF::getSession()->register('__username', $userData['name']);
-                                       WCF::getSession()->register('__email', $userData['email']);
+                                       if (isset($userData['email'])) WCF::getSession()->register('__email', $userData['email']);
                                        WCF::getSession()->register('__facebookData', $userData);
                                        
                                        // we assume that bots won't register on facebook first
index c4cb444f9f3d48b9c3e5a39cfaa74c13950fc57a..84e85ba9fb6ee88c5b6fba89a9c9ab2565e8eca5 100644 (file)
@@ -333,11 +333,11 @@ class RegisterForm extends UserAddForm {
                                                
                                                WCF::getSession()->unregister('__facebookData');
                                                
-                                               if ($facebookData['email'] == $this->email) {
+                                               if (isset($facebookData['email']) && $facebookData['email'] == $this->email) {
                                                        $registerVia3rdParty = true;
                                                }
                                                
-                                               $saveOptions[User::getUserOptionID('gender')] = ($facebookData['gender'] == 'male' ? UserProfile::GENDER_MALE : UserProfile::GENDER_FEMALE);
+                                               if (isset($facebookData['gender'])) $saveOptions[User::getUserOptionID('gender')] = ($facebookData['gender'] == 'male' ? UserProfile::GENDER_MALE : UserProfile::GENDER_FEMALE);
                                                
                                                if (isset($facebookData['birthday'])) {
                                                        list($month, $day, $year) = explode('/', $facebookData['birthday']);