HEX
Server: Apache
System: Linux msm5694.mjhst.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: camjab_ssh (1000)
PHP: 5.3.29
Disabled: NONE
Upload Files
File: /home/httpd/html/baretube.com.new/includes/facebook/sdk/FacebookAdapter.class.php
<?php
class FacebookAdapter {
	
	/**
	 * @var Facebook
	 */
	protected static $_core = null;
	
	/**
	 * Access Token
	 * @var string
	 */
	protected $_access_token = '';
	

	/**
	 * @param string $access_token
	 */
	public function __construct()
	{
		if (isset($_SESSION['fb_access_token'])) {
			$this->_access_token = $_SESSION['fb_access_token'];
		}
	}
	
	/**
	 * Tworzy obiekty wymanage do komunikacji z FB
	 */
	protected static function _loadCore()
	{
		if (is_null(self::$_core)) {
			self::$_core = new Facebook(array(
				'appId'		=> $fb_appid,
				'secret'	=> $fb_appsecret,
				'cookie'	=> true,
				'fileUpload'=> true
			));
		}
	}
	
	public static function setAccessToken($access_token)
	{
		self::_loadCore();
		
		$token_data = explode("&", $access_token);
		$original_access_token = $access_token;
		$access_token = "";
		$expires = time();
  		foreach ($token_data as $data) {
  			$data = explode("=", $data);
  			if ($data[0] == "access_token") {
    			$access_token = $data[1];
  			} else if ($data[0] == "expires") {
    			$expires += $data[1];
  			}
  		}
		
		$_SESSION['fb_access_token'] = $access_token;
		setcookie('fb_access_token', $original_access_token, $expires, '/', $_SERVER['HTTP_HOST']);
	}
	
	/**
	 * Zwraca tablicę z danymi zalogowanego użytkownika
	 * 
	 * @return array|null
	 */
	public function getLoggedUser()
	{
		self::_loadCore();
		try {
			return self::$_core->api('/me', 'get', array(
				'access_token'	=> $this->_access_token
			));
		} catch (FacebookApiException $e) {
			return null;
		}
	}
	
	/**
	 * OVERRIDE
	 * 
	 * @return array
	 */
	public function getSignedRequest()
	{
		self::_loadCore();
		
		if (!isset($_REQUEST['signed_request'])) {
			return null;
		}
		
		if (count(explode(".", $_REQUEST['signed_request'])) < 2) {
			return null;
		}
		
		return self::$_core->getSignedRequest();
	}
	
}