private function parsePost($entry) { $post = new FacebookPost(); $post->setID($entry['id']); $post->setAuthor($entry['from']['id']); $post->setCreated(new DateTime($entry['created_time'])); if (!empty($entry['message'])) { $post->setBody($entry['message']); } if (isset($entry['likes'])) { $post->setLikeCount($entry['likes']['count']); } switch ($entry['type']) { case 'photo': if (isset($entry['source'])) { $post->addImage($entry['source']); } elseif (preg_match("/^(.*)_s\\.jpg\$/", $entry['picture'], $bits)) { $post->addImage($bits[1] . '_n.jpg'); } else { $post->addImage($entry['picture']); } break; case 'link': case 'video': case 'status': break; default: throw new KurogoDataException("Unhandled facebook type " . $entry['type']); } return $post; }