function onAuthenticate($credentials, $options, &$response) { if (defined('_JOOMLAFACEBOOK')) { if ($credentials['username'] == 'FACEBOOK' || $credentials['username'] == 'FACEBOOKSESSION') { $facebook = JoomlaFacebook::getRestClient(); $fbsession = array(); if ($credentials['username'] == 'FACEBOOK') { $fbsession = $facebook->auth_getSession($credentials['password']); } if ($credentials['username'] == 'FACEBOOKSESSION' && $credentials['password'] != '') { $facebook->session_key = $credentials['password']; $fbsession['uid'] = $facebook->users_getLoggedInUser(); } if ($fbsession['uid'] != '') { $query = 'SELECT first_name,last_name,sex,current_location.zip,current_location.country,timezone FROM user WHERE uid=' . $fbsession['uid']; $fbuserprofile = $facebook->fql_query($query); $response->status = JAUTHENTICATE_STATUS_SUCCESS; @($response->username = '******' . $fbsession['uid']); @($response->email = $fbsession['uid'] . '@facebook.com'); @($response->fullname = $fbuserprofile[0]['first_name'] . ' ' . $fbuserprofile[0]['last_name']); @($response->gender = strtoupper(substr($fbuserprofile[0]['sex'], 0, 1))); @($response->postcode = $fbuserprofile[0]['current_location']['zip']); @($response->country = $fbuserprofile[0]['current_location']['country']); @($response->timezone = $fbuserprofile[0]['timezone']); return; } } } $response->status = JAUTHENTICATE_STATUS_FAILURE; }