From e1b1012db1326c3be9b9f10727df1a4c6c5a3e96 Mon Sep 17 00:00:00 2001 From: Adnan Khabbaz Date: Fri, 6 Mar 2015 20:45:29 +0200 Subject: [PATCH] fixed: situation when facebook user doesn't have a primary email --- facebook/OSCFacebook.php | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/facebook/OSCFacebook.php b/facebook/OSCFacebook.php index 0d97c4c..d588826 100755 --- a/facebook/OSCFacebook.php +++ b/facebook/OSCFacebook.php @@ -92,10 +92,37 @@ public function init() { } } - if( !isset(self::$user_profile['email']) ) { - osc_add_flash_error_message( __('Some error occured trying to connect with Facebook.', 'facebook') ); - header( 'Location: ' . self::$logoutUrl ); + if(is_null(self::$user_profile)) { + if (isset($_SERVER['HTTP_COOKIE'])) { + $cookies = explode(';', $_SERVER['HTTP_COOKIE']); + foreach ($cookies as $cookie) { + $parts = explode('=', $cookie); + $name = trim($parts[0]); + setcookie($name, '', time() - 1000); + setcookie($name, '', time() - 1000, '/'); + } + } + + osc_add_flash_error_message(__('Some error occured trying to connect with Facebook.', 'facebook')); + header( 'Location: ' . osc_register_account_url_notify() ); exit(); + } else{ + if( !isset(self::$user_profile['email']) ) { + + if (isset($_SERVER['HTTP_COOKIE'])) { + $cookies = explode(';', $_SERVER['HTTP_COOKIE']); + foreach ($cookies as $cookie) { + $parts = explode('=', $cookie); + $name = trim($parts[0]); + setcookie($name, '', time() - 1000); + setcookie($name, '', time() - 1000, '/'); + } + } + + osc_add_flash_error_message(__('Some error occured trying to connect with Facebook.', 'facebook')); + header( 'Location: ' . osc_register_account_url_notify() ); + exit(); + } } $manager = User::newInstance(); @@ -235,4 +262,4 @@ public function resetCookies() } /* file end: ./oc-content/plugins/facebook/OSCFacebook.php */ -?> \ No newline at end of file +?>