Path : /var/www/html/main/
File Upload :
Current File : /var/www/html/main/fb-callback.php

<?php
/*!
 * Copyright Anucha Puangpaka
 * Contacts anucha.ppk@icloud.com 062-479-9836
 */

session_start();

error_reporting(E_ALL);
ini_set("display_errors", 0);

include('config.php');

$sql = "select * from ap_settings";
$query = mysqli_query($conn,$sql);
$rows = mysqli_fetch_array($query);

require_once __DIR__ . '/Facebook-SDK/autoload.php';

$fb = new Facebook\Facebook([
  'app_id' => "$rows[facebook_app_id]", // Replace {app-id} with your app id
  'app_secret' => "$rows[facebook_app_secret]",
  'default_graph_version' => 'v2.2',
  ]);

$helper = $fb->getRedirectLoginHelper();

if(empty($_SESSION['accessToken'])){

  try {
    $accessToken = $helper->getAccessToken();
    $response = $fb->get('/me?fields=id,first_name,last_name,email,gender,birthday,location,picture', $accessToken);
  } catch(Facebook\Exceptions\FacebookResponseException $e) {
    // When Graph returns an error
    echo 'Graph returned an error: ' . $e->getMessage();
    exit;
  } catch(Facebook\Exceptions\FacebookSDKException $e) {
    // When validation fails or other local issues
    /*echo 'Facebook SDK returned an error: ' . $e->getMessage();*/
    
    $permissions = ['email']; // Optional permissions
    $loginUrl = $helper->getLoginUrl("$ap_site$ap_folder"."fb-callback.php", $permissions);
    echo '<a href="' . htmlspecialchars($loginUrl) . '">Log in with Facebook!</a>';

    exit;
  }

}else{
  $accessToken = $_SESSION['accessToken'];
  $response = $fb->get('/me?fields=id,first_name,last_name,email,gender,birthday,picture', $accessToken);
}

if (! isset($accessToken)) {
  if ($helper->getError()) {
    header('HTTP/1.0 401 Unauthorized');
    echo "Error: " . $helper->getError() . "\n";
    echo "Error Code: " . $helper->getErrorCode() . "\n";
    echo "Error Reason: " . $helper->getErrorReason() . "\n";
    echo "Error Description: " . $helper->getErrorDescription() . "\n";
  } else {
    header('HTTP/1.0 400 Bad Request');
    echo 'Bad request';
  }
  exit;
}

$user = $response->getGraphUser();

$_SESSION['accessToken'] = (string)$accessToken;
$_SESSION['fb_id'] = $user['id'];
$_SESSION['fb_first_name'] = $user['first_name'];
$_SESSION['fb_last_name'] = $user['last_name'];
$_SESSION['fb_email'] = $user['email'];
$_SESSION['fb_gender'] = $user['gender'];
$_SESSION['fb_birthday'] = $user['birthday'];
$_SESSION['fb_picture'] = "//graph.facebook.com/$user[id]/picture?type=large";

echo "<p>".$_SESSION['accessToken']."</p>";
echo "<p>".$_SESSION['fb_id']."</p>";
echo "<p>".$_SESSION['fb_first_name']."</p>";
echo "<p>".$_SESSION['fb_last_name']."</p>";
echo "<p>".$_SESSION['fb_email']."</p>";
echo "<p>".$_SESSION['fb_gender']."</p>";
echo "<p>".$_SESSION['fb_birthday']."</p>";
echo "<p><img src='$_SESSION[fb_picture]'></p>";

include('logs.php');

mysqli_close($conn);
?>