You are here

function jquery_social_stream_facebook_callback in jQuery social stream 7.2

Facebook callback for social stream.

2 string references to 'jquery_social_stream_facebook_callback'
jquery_social_stream_js in ./jquery_social_stream.module
Implements hook_js().
jquery_social_stream_menu in ./jquery_social_stream.module
Implements hook_menu().

File

./jquery_social_stream.js.inc, line 76
JS callbacks.

Code

function jquery_social_stream_facebook_callback() {
  $keys = _jquery_social_stream_vars_get(array(
    'jquery_social_stream_facebook_app_id',
    'jquery_social_stream_facebook_app_secret',
  ));
  $app_id = $keys['jquery_social_stream_facebook_app_id'];
  $app_secret = $keys['jquery_social_stream_facebook_app_secret'];

  // DO NOT EDIT BELOW THIS LINE
  ini_set('display_errors', '0');
  error_reporting(E_ALL | E_STRICT);
  $app_access_token = $app_id . '|' . $app_secret;
  $page_id = isset($_GET['id']) ? $_GET['id'] : '';
  $limit = isset($_GET['limit']) ? $_GET['limit'] : 20;
  $feed = isset($_GET['feed']) ? $_GET['feed'] : 'feed';
  $fields = "id,message,picture,link,name,description,type,icon,created_time,from,object_id,likes,comments";
  $graphUrl = 'https://graph.facebook.com/v2.3/' . $page_id . '/' . $feed . '?key=value&access_token=' . $app_access_token . '&fields=' . $fields;
  $pageUrl = 'https://graph.facebook.com/v2.3/' . $page_id . '?key=value&access_token=' . $app_access_token;

  // get page details
  $pageObject = file_get_contents($pageUrl);
  if ($pageObject === FALSE) {
    $pageObject = jquery_social_stream_curl_get_contents($pageUrl);
  }
  $pageDetails = json_decode($pageObject);
  $pageLink = isset($pageDetails->link) ? $pageDetails->link : '';
  $pageName = isset($pageDetails->name) ? $pageDetails->name : '';

  // get page feed
  $graphObject = file_get_contents($graphUrl);
  if ($graphObject === FALSE) {
    $graphObject = jquery_social_stream_curl_get_contents($graphUrl);
  }
  $parsedJson = json_decode($graphObject);
  $pagefeed = $parsedJson->data;
  $count = 0;
  $link_url = '';
  $json_decoded = array();
  $json_decoded['responseData']['feed']['link'] = "";
  if (is_array($pagefeed)) {
    foreach ($pagefeed as $data) {
      if (isset($data->message)) {
        $message = $data->message;
      }
      else {
        if (isset($data->story)) {
          $message = $data->story;
        }
        else {
          $message = '';
        }
      }
      if (isset($data->description)) {
        $message .= ' ' . $data->description;
      }
      $link = isset($data->link) ? $data->link : '';
      $image = isset($data->picture) ? $data->picture : NULL;
      $type = isset($data->type) ? $data->type : '';
      if ($link_url == $link) {

        //  continue;
      }
      $link_url = $link;
      if ($message == '' || $link == '') {

        //  continue;
      }
      if ($type == 'status' && isset($data->story)) {
        continue;
      }

      //  if($type == 'event') {
      //    $link = 'https://facebook.com' . $link;
      //  }
      if (!isset($data->object_id) && $type != 'video') {
        $pic_id = explode("_", $image);
        if (isset($pic_id[1])) {
          $data->object_id = $pic_id[1];
        }
      }
      if (isset($data->object_id)) {
        if (strpos($image, 'safe_image.php') === FALSE && is_numeric($data->object_id)) {
          $image = 'http://graph.facebook.com/' . $data->object_id . '/picture?type=normal';
        }
      }
      $json_decoded['responseData']['feed']['entries'][$count]['pageLink'] = $pageLink;
      $json_decoded['responseData']['feed']['entries'][$count]['pageName'] = $pageName;
      $json_decoded['responseData']['feed']['entries'][$count]['link'] = $link;
      $json_decoded['responseData']['feed']['entries'][$count]['content'] = $message;
      $json_decoded['responseData']['feed']['entries'][$count]['thumb'] = $image;
      $json_decoded['responseData']['feed']['entries'][$count]['publishedDate'] = date("D, d M Y H:i:s O", strtotime($data->created_time));
      $count++;
    }
  }
  header("Content-Type: application/json; charset=UTF-8");
  print drupal_json_encode($json_decoded);
  drupal_exit();
}