/** * Get an instance of the Facebook object for API calls * * @return Facebook */ public static function getFacebookPlatform() { if (self::$_facebookPlatform === null) { // using different facebook sdk self::$_facebookPlatform = new Facebook(array('appId' => self::getApiKey(), 'secret' => self::getAppSecret(), 'cookie' => true)); } return self::$_facebookPlatform; }
/** * Gets information about the user * * @param array $fields * @return array */ public function getFacebookInfo() { $facebookUid = $this->getCurrentFacebookUid(); $userInfo = null; if ($facebookUid) { try { $userInfo = sfFacebookGraph::getCurrentUserInfo(); } catch (Exception $e) { } } return $userInfo; }
/** * Executes the filter chain. * * @param sfFilterChain $filterChain */ public function execute($filterChain) { $facebookUid = sfFacebookGraph::getCurrentUser(); $user = $this->context->getUser(); // check for logged in user if ($facebookUid && !$user->isFacebookConnected()) { sfFacebookGraphUserProfile::getCurrentFacebookUser($user); } // check for logged out if ($user->isFacebookAuthenticated() && !$user->isFacebookConnected()) { $user->signOut(); } $filterChain->execute(); }
/** * Get Facebook logout url for user * * @return string */ public function getFacebookLogoutUrl() { return sfFacebookGraph::getFacebookPlatform()->getLogoutUrl(); }
/** * Get Facebook logout url for user * * @param string $redirect * * @return string */ public function getFacebookLogoutUrl($redirect = '') { $params = array(); if ($redirect) { $params['next'] = $redirect; } return sfFacebookGraph::getFacebookPlatform()->getLogoutUrl($params); }