You are here

function facebook_client_session in Facebook Connect 7.2

Get the Facebook client object for easy access.

Return value

Facebook\FacebookSession Facebook Session object.

12 calls to facebook_client_session()
FbconnectTestCase::setUp in tests/fbconnect.test
Implements setUp().
fbconnect_fbapp_settings in ./fbconnect.admin.inc
fbconnect_fbapp_settings_submit in ./fbconnect.admin.inc
fbconnect_get_connected_friends in fbconnect_invite/fbconnect_invite.module
Get facebook friend who has_added_app.
fbconnect_get_fbuid in ./fbconnect.module
Check Facebook session.

... See full list

File

./fbconnect.module, line 108
Facebook Connect API module.

Code

function facebook_client_session() {
  static $fb_session = NULL;
  drupal_session_start();
  if (is_null($fb_session)) {
    $conf = fbconnect_get_config();
    if ($conf && _facebook_client_load_include()) {
      $fb_api = $conf['app_id'];
      $fb_skey = $conf['secret_api_key'];
      FacebookSession::setDefaultApplication($fb_api, $fb_skey);
      $token = facebook_get_access_token();
      if (empty($token)) {
        $fb_session = NULL;
        return $fb_session;
      }
      try {
        $fb_session = new FacebookSession($token);
        $response = (new FacebookRequest($fb_session, 'GET', '/me'))
          ->execute();
        $_SESSION['fbconnect_token'] = $token;
      } catch (Exception $e) {
        $fb_session = NULL;
        unset($_SESSION['fbconnect_token']);
        unset($_COOKIE['fbconnect_token_' . $fb_api]);
        setcookie('fbconnect_token_' . $fb_api, '');
      }
    }
  }
  return $fb_session;
}