Skip to content

Instantly share code, notes, and snippets.

@gurkanoluc
Created January 7, 2011 19:51
Show Gist options
  • Save gurkanoluc/769992 to your computer and use it in GitHub Desktop.
Save gurkanoluc/769992 to your computer and use it in GitHub Desktop.
<?php
ob_start();
// Dirty hack for IE Iframe Cookie Problem
header('P3P: CP="ALL DSP LAW CUR DEVi PSAa CONi OUR IND PHY ONL UNI PUR COM CNT"');
include_once APPPATH .'libraries/facebook-php-sdk/src/facebook.php';
class Facebook_Client
{
/**
*
* Facebook Client
* @var Object
*/
public $facebook;
/**
* Access token of user
* @var string
*/
private $_accessToken;
/**
* Facebook user id of user
* @var integer
*/
private $_uid;
/**
* CodeIgniter Base Object
* @var object
*/
private $_CI;
/**
* Configurations for Facebook Application
* @var array
*/
private $_config;
public function __construct() {
$this->_CI =& get_instance();
// Load CodeIgniter Configuration File
$this->_CI->load->config('facebook', TRUE);
$this->_config = $this->_CI->config->item('facebook');
// Initialize facebook client
$this->facebook = new Facebook($this->_config['application']);
}
/**
* Gets authentication url for application
* @param array $options
* @return string
*/
public function getLoginUrl($options = array())
{
$this->_config['auth']['fbconnect'] = 0;
$this->_config['auth']['display'] = 'page';
$this->_config['auth']['canvas'] = 1;
$options = array_merge($this->_config['auth'], $options);
return $this->facebook->getLoginUrl($options);
}
/**
* Gets active facebook user's uid, access token information
* @return array | bool
*/
public function getSession()
{
$session = $this->facebook->getSession();
if($session)
{
/**
* TODO : Use setters in here
*/
$this->_accessToken = $session['access_token'];
$this->_uid = $session['uid'];
return $session;
}
return false;
}
/**
* Redirection to Facebook login page
* @param string $loginUrl
* @param bool $notDie
* @return void | string
*/
public function redirect($loginUrl = '')
{
if(empty($loginUrl))
$loginUrl = $this->getLoginUrl();
$output = sprintf("
<script type=\"text/javascript\">
top.location.href = '%s';
</script>", $loginUrl);
return $output;
}
/**
* Gets Facebook UID
* @return integer
*/
public function getUid()
{
return $this->_uid;
}
/**
* Gets access token
* @return string
*/
public function getAccessToken()
{
return $this->_accessToken;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment