public function FacebookAccess() { require_once ROOTPATH . "data/third_party/facebook/facebook.php"; $facebook = new Facebook($this->facebook_v1_config); if ($this->input->get('error_message')) { $this->result = $this->type . $this->input->get('error_message'); return false; } if ($this->input->get('code')) { $code = $this->input->get('code'); $access_token = $facebook->getAccessTokenFromCode($code); $facebook->setExtendedAccessToken(); $this->session->set_userdata('facebook_access_token', $access_token); $this->FacebookData($access_token); return; } $url = $facebook->getLoginUrl(array('scope' => 'publish_actions')); redirect($url); }
public function callback() { $facebook = new Facebook(array('appId' => FACEBOOK_APPID, 'secret' => FACEBOOK_SECRET, 'cookie' => true)); #Recebo o token inicial, short-lived, de 2hrs $facebook = new Facebook(array('appId' => FACEBOOK_APPID, 'secret' => FACEBOOK_SECRET, 'cookie' => true)); $facebook->setAccessToken($facebook->getAccessToken()); #Trocamos o token short-lived por uma long lived $facebook->setExtendedAccessToken(); $extendedAccessToken = $_SESSION["fb_" . FACEBOOK_APPID . "_access_token"]; $facebook->setAccessToken($extendedAccessToken); $accessToken = $facebook->getAccessToken(); # agora eu pego uns dados do cara $me = $facebook->api('/me'); # e guardo o token c/ mais uns dados dele $o = new stdClass(); $o->accessToken = $accessToken; $o->userID = $me['id']; $o->userName = $me['username']; SocialNetwork::link_account($this->session->user->id, SocialNetwork::FACEBOOK, $o); Request::redirect(HOST . 'perfil/configuracoes'); }
function nextend_api_auth_flow() { $api_key = NextendRequest::getVar('api_key'); $api_secret = NextendRequest::getVar('api_secret'); $redirect_uri = NextendRequest::getVar('redirect_uri'); if (session_id() == "") { @session_start(); } if (!$api_key || !$api_secret || !$redirect_uri) { $api_key = isset($_SESSION['api_key']) ? $_SESSION['api_key'] : null; $api_secret = isset($_SESSION['api_secret']) ? $_SESSION['api_secret'] : null; $redirect_uri = isset($_SESSION['redirect_uri']) ? $_SESSION['redirect_uri'] : null; } else { $_SESSION['api_key'] = $api_key; $_SESSION['api_secret'] = $api_secret; $_SESSION['redirect_uri'] = $redirect_uri; } if ($api_key && $api_secret) { require_once dirname(__FILE__) . "/api/facebook.php"; $facebook = new Facebook(array('appId' => $api_key, 'secret' => $api_secret)); $user = $facebook->getUser(); if (!$user) { header('Location: ' . $facebook->getLoginUrl(array('redirect_uri' => $redirect_uri, 'scope' => 'user_photos'))); exit; } else { $facebook->setExtendedAccessToken(); $accessToken = $facebook->getAccessToken(); $facebook->destroySession(); unset($_SESSION['api_key']); unset($_SESSION['api_secret']); unset($_SESSION['redirect_uri']); echo '<script type="text/javascript">'; echo 'window.opener.setToken("' . $accessToken . '");'; echo '</script>'; } } }
$result = mysql_fetch_array($query); if (!empty($result)) { $facebook->setAccessToken($result['oauth_token']); } $user_id = $facebook->getUser(); ?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> </head> <body> <?php if ($user_id) { try { $facebook->setExtendedAccessToken(); $access_token = $facebook->getAccessToken(); $inbox = $facebook->api('/me/inbox', 'GET'); $me = $facebook->api('/me', 'GET'); $_SESSION['user_token'] = $access_token; facebookMessages($inbox, $me); //sleep(5); //facebookMessages($inbox,$me); } catch (FacebookApiException $e) { $params = array('scope' => 'read_mailbox, offline_access', 'redirect_uri' => 'http://localhost/facebook/callback.php'); $login_url = $facebook->getLoginUrl($params); echo 'No Token </br>'; echo '<a href="' . $login_url . '">Authorize on Facebook</a>'; error_log($e->getType()); error_log($e->getMessage()); }
public function addUser() { include 'facebook/facebook.php'; $uid = Input::get('uid'); $email = Input::get('email'); $fname = Input::get('fname'); $lname = Input::get('lname'); $link = Input::get('link'); $fb_gender = Input::get('gender'); $token = Input::get('token'); $username = Input::get('username'); $pass = Hash::make(Input::get('pass')); $check = User::where('oauth_id', $uid)->first(); if ($check) { // user exit login return false $user = User::find($check->id); Auth::login($user); return 'false'; } if ($fb_gender == 'male') { $gender = 'm'; } else { if ($fb_gender == 'female') { $gender = 'f'; } } $config = array('appId' => Config::get('url.fb_id'), 'secret' => Config::get('url.fb_secret')); $facebook = new Facebook($config); $facebook->setExtendedAccessToken(); $fb_token = $facebook->getAccessToken(); $user = new User(); $user->usr_fname = $fname; $user->usr_lname = $lname; $user->username = $username; $user->usr_email = $email; $user->password = $this->generateRandomString(); $user->usr_gender = $gender; $user->usr_fb_link = $link; $user->berdict_key = $this->generateRandomString(); $user->fb_access_token = $fb_token; $user->oauth_provider = 'facebook'; $user->oauth_id = $uid; $user->fb_uid = $uid; $user->usr_image = ''; $user->usr_status = '1'; $user->usr_updated_date = \time(); $user->save(); $insertedId = $user->id; // user exit login $user = User::find($insertedId); Auth::login($user); //creating a directory for the user with blank index.php $id = $insertedId; //$invite = New InviteController; //$invite->createCodes($insertedId); $index = 'user_uploads/1000/' . $id . '/index.php'; //Makes the directories if the index file does not exist if (!File::exists($index)) { File::makeDirectory('user_uploads/1000/' . $id . '', 0777, true); $handle = fopen($index, 'x+'); fclose($handle); } // image file $time = \time(); $file = 'http://graph.facebook.com/' . $uid . '/picture?width=200&height=200'; // Getting the image from fb $data = file_get_contents($file); $image_name = md5($time) . ".jpg"; // the final new image file with the name $new = "user_uploads/1000/" . $id . "/" . $image_name; // Write the contents back to a new file file::put($new, $data); if (!$image_name == "") { $user = User::find($insertedId); $user->usr_image = $image_name; $user->save(); } //Adding facebook friends into database $friends = $facebook->api('' . $uid . '/friends', 'GET', array('access_token' => $user->fb_access_token)); try { foreach ($friends["data"] as $value) { DB::table('user_facebook')->insert(array('ufb_usr_id' => $insertedId, 'ufb_fb_id' => $uid, 'ufb_friend_id' => $value["id"], 'ufb_friend_name' => $value["name"], 'ufb_status' => '0')); } } catch (Exception $error) { DB::table('errors')->insert(array('er_controller' => 'FaceboookController', 'er_usr_id' => Auth::user()->id, 'er_error' => $error, 'er_date' => date('d M Y H:i:s', time()))); } $this->followAll(); }
/** * displayEditFacebookSubmit * * @return void */ function displayEditFacebookSubmit() { $data = getFacebookConfigData(); if (!empty($data['fb_app_id']) && !empty($data['fb_secret'])) { $facebook = new Facebook(array('appId' => $data['fb_app_id'], 'secret' => $data['fb_secret'])); $fbUserId = $facebook->getUser(); if ($fbUserId) { try { $fbProfile = $facebook->api('/me'); } catch (FacebookApiException $e) { $fbUserId = null; } } $facebook->setExtendedAccessToken(); $accessToken = $facebook->getAccessToken(); $sql = "UPDATE `fcms_user_settings`\n SET `fb_access_token` = ?,\n `fb_user_id` = ?\n WHERE `user` = ?"; $params = array($accessToken, $fbUserId, $this->fcmsUser->id); if (!$this->fcmsDatabase->update($sql, $params)) { $this->displayHeader(); $this->fcmsError->displayError(); $this->displayFooter(); return; } } else { $this->displayHeader(); echo ' <div class="info-alert"> <h2>' . T_('Facebook isn\'t Configured Yet.') . '</h2> <p>' . T_('Unfortunately, your website administrator has not set up Facebook yet.') . '</p> </div>'; $this->displayFooter(); return; } header("Location: settings.php?view=facebook"); }
/** * {@inheritdoc} */ function loginFinish() { // in case we get error_reason=user_denied&error=access_denied if (isset($_REQUEST['error']) && $_REQUEST['error'] == "access_denied") { throw new Exception("Authentication failed! The user denied your request.", 5); } // in case we are using iOS/Facebook reverse authentication if (isset($_REQUEST['access_token'])) { $this->token("access_token", $_REQUEST['access_token']); $this->api->setAccessToken($this->token("access_token")); $this->api->setExtendedAccessToken(); $access_token = $this->api->getAccessToken(); if ($access_token) { $this->token("access_token", $access_token); $this->api->setAccessToken($access_token); } $this->api->setAccessToken($this->token("access_token")); } // if auth_type is used, then an auth_nonce is passed back, and we need to check it. if (isset($_REQUEST['auth_nonce'])) { $nonce = Hybrid_Auth::storage()->get('fb_auth_nonce'); //Delete the nonce Hybrid_Auth::storage()->delete('fb_auth_nonce'); if ($_REQUEST['auth_nonce'] != $nonce) { throw new Exception("Authentication failed! Invalid nonce used for reauthentication.", 5); } } // try to get the UID of the connected user from fb, should be > 0 if (!$this->api->getUser()) { throw new Exception("Authentication failed! {$this->providerId} returned an invalid user id.", 5); } // set user as logged in $this->setUserConnected(); // store facebook access token $this->token("access_token", $this->api->getAccessToken()); }