예제 #1
0
 /**
  * getFbExtend.
  *
  * @return	void
  */
 public function getFbExtend()
 {
     @ob_end_clean();
     header('Content-type: text/plain');
     $this->_loadFbParams();
     JLoader::register('FbAppHelper', JPATH_AUTOTWEET_HELPERS . '/channels/fbapp.php');
     $status = false;
     $error_message = 'Unknown';
     $extended_token = null;
     $user = null;
     $result = null;
     $tokenInfo = null;
     try {
         $fbAppHelper = new FbAppHelper($this->_app_id, $this->_secret, $this->_access_token);
         if ($fbAppHelper->login()) {
             $extended_token = $fbAppHelper->getExtendedAccessToken();
             if ($extended_token) {
                 $this->_access_token = $extended_token;
                 $fbAppHelper = new FbAppHelper($this->_app_id, $this->_secret, $this->_access_token);
                 if ($fbAppHelper->login()) {
                     $tokenInfo = $fbAppHelper->getDebugToken();
                     $user = $fbAppHelper->getUser();
                     $status = true;
                     $error_message = 'Ok';
                 } else {
                     $error_message = 'Facebook Login (extended) Failed!';
                 }
             } else {
                 $error_message = 'Unable to extend the token';
             }
         } else {
             $error_message = 'Facebook Login Failed!';
         }
     } catch (Exception $e) {
         $error_message = $e->getMessage();
     }
     $message = json_encode(array('status' => $status, 'error_message' => $error_message, 'extended_token' => $extended_token, 'user' => $user, 'tokenInfo' => $tokenInfo));
     echo EJSON_START . $message . EJSON_END;
     flush();
     JFactory::getApplication()->close();
 }