quocvuongdn

#php: #CodeIgniter import Facebook SDK

May 1st, 2015
275
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.56 KB | None | 0 0
  1. //libraries/Facebook.php
  2.  
  3. <?php
  4.  
  5. define('FACEBOOK_SDK_DIR', 'facebook-php-sdk/src/Facebook/');
  6.  
  7. class Facebook{
  8.     function __construct(){
  9.         require __DIR__ . '/facebook-php-sdk/autoload.php';
  10.     }
  11. }
  12.  
  13. //controllers/Welcome.php
  14.  
  15. <?php
  16. defined('BASEPATH') OR exit('No direct script access allowed');
  17.  
  18. use Facebook\FacebookSession;
  19. use Facebook\FacebookRequest;
  20. use Facebook\GraphUser;
  21. use Facebook\FacebookRequestException;
  22. use Facebook\FacebookRedirectLoginHelper;
  23.  
  24. class Welcome extends CI_Controller {
  25.     public $user = "";
  26.    
  27.     public function __construct() {
  28.         parent::__construct();
  29.         session_start();
  30.         $this->load->library('facebook');
  31.         FacebookSession::setDefaultApplication('___', '_______________');
  32.     }
  33.  
  34.     public function oauth_login() {
  35.         try {
  36.             $session = $this->_get_session(base_url('welcome/oauth_login'));
  37.             if($session){
  38.                 $me = (new FacebookRequest($session, 'GET', '/me'))->execute()->getGraphObject(GraphUser::className());
  39.                 echo $me->getName();
  40.             }
  41.         }
  42.         catch(FacebookRequestException $e) {
  43.             echo $e->getMessage();
  44.         }
  45.         catch(\Exception $e) {
  46.             echo $e->getMessage();
  47.         }
  48.     }
  49.    
  50.     private function _get_session($url) {
  51.         $helper = new FacebookRedirectLoginHelper($url);
  52.         try {
  53.             $session = $helper->getSessionFromRedirect();
  54.         }
  55.         catch(FacebookRequestException $e) {
  56.             echo $e->getMessage();
  57.         }
  58.         catch(\Exception $e) {
  59.             echo $e->getMessage();
  60.         }
  61.  
  62.         if(isset($session)){
  63.             return $session;
  64.         } else{
  65.             echo '<a href="', $helper->getLoginUrl(), '">Login Facebook</a>';
  66.             return false;
  67.         }
  68.     }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment