Facebook timeline feed

Hi, found this great facebook feed PHP script, besides paid smashlabs version I did not find any better as yet…

However, its not perfect.

  1. If I click on any of the images loaded, it returns a blank page and doesnt open facebook. This is because mine is displayed in a frame.
    if loaded in regular page it does work. How can I fix this to work in frame. (IE open clicked photolink in new window?)

  2. How do I set the size of the thumbnails loaded, if I want say bigger thumbnails?

Thanks for helping and hope you like this script or maybe know a free better one.



<?php

//replace the Page ID with your own
$url = "http://www.facebook.com/feeds/page.php?id=YOURFACEBOOKIDNUMBERGOESHERE&format=json";



// disguises the curl using fake headers and a fake user agent.
function disguise_curl($url)
{
  $curl = curl_init();

  // Setup headers - the same headers from Firefox version 2.0.0.6
  // below was split up because the line was too long.
  $header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
  $header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
  $header[] = "Cache-Control: max-age=0";
  $header[] = "Connection: keep-alive";
  $header[] = "Keep-Alive: 300";
  $header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
  $header[] = "Accept-Language: en-us,en;q=0.5";
  $header[] = "Pragma: "; // browsers keep this blank.

  curl_setopt($curl, CURLOPT_URL, $url);
  curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla');
  curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
  curl_setopt($curl, CURLOPT_REFERER, '');
  curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
  curl_setopt($curl, CURLOPT_AUTOREFERER, true);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($curl, CURLOPT_TIMEOUT, 10);

  $html = curl_exec($curl); // execute the curl command
  curl_close($curl); // close the connection

  return $html; // and finally, return $html
}

// uses the function and displays the text off the website
$text = disguise_curl($url);

$json_feed_object = json_decode($text);

foreach ( $json_feed_object->entries as $entry )
{
        echo "<h2>{$entry->title}</h2>";
    $published = date("g:i A F j, Y", strtotime($entry->published));
    echo "<small>{$published}</small>";
    echo "<p>{$entry->content}</p>";
    echo "<hr />";
}

/* * * * * * * * * * * * * * * * * *
 * Below is the XML version        *
 * assuming you used the XML       *
 * format in the Facebook feed URL *
 * You'll need to uncomment to use *
 * * * * * * * * * * * * * * * * * */
//$xml = new SimpleXMLElement($text);
//foreach ( $feed->item as $entry )
//{
//    echo "<h2>" . (string) $entry->title . "</h2>";
//    $published = date("g:i A F j, Y", strtotime($entry->pubDate));
//    echo "<small>{$published}</small>";
//    echo "<p>" . (string) $entry->description . "</p>";
//    echo "<hr />";
//}

?>


Nevermind the link open in new window, figured that out.

Only question left, how do I set the size of the thumbnails.

Since the smashballoon.com is a php script anyway, anyone has a better free version of above with likes, comments etc like the one in http://http://www.smashballoon.com/?

cant see an edit button… link is http://www.smashballoon.com

nobody knows answer to my above question regarding tumb sizes?

I can’t see anything in your code that creates an <img> tag so I have to assume it is within $entry->content. If that is the case you probably need to iterate within that to the appropriate level to find the images if you want to control the way that images are generated.

It would be useful if you could post a typical example of HTML stored within $entry->content. No, in fact, show us the whole of what is in each $entry. Alternatively you could just resize the thumbnails with some CSS. To be fair that’ll be a lot simpler. I’m assuming you don’t mind the problems associated with resizing images on the client

Appreciate your reply.

Hi, the images come from facebook and resizing thumbs is not an option, as that will reduce quality I guess.
If smashballoon can pull thumbs, midsize and fullsize images, they must be doing something different.

This is a live example of above code, I want the thumbs to load as bigger images.

http://www.lhaca.com/testpage/frameinside/facebookfeed.php

Ah, well then I guess you need to look at Facebook’s documentation on how you are supposed to request that from their servers or do some digging of exactly what comes from that feed. I don’t have any experience with Facebook I’m afraid