Fixed: Issue #2796841: Can't recognize "type" of post


diff --git a/socialfeed.module b/socialfeed.module
index e2a210b..e456a9d 100644
--- a/socialfeed.module
+++ b/socialfeed.module
@@ -167,17 +167,19 @@
       $post_type_filter = $next_post_type_filter = array();
       $json_response = drupal_json_decode($request->data);
 
-      foreach ($json_response['data'] as $facebook_value) {
-        // If specific post type is selected.
-        if ($display_all_posts == 0 && $facebook_value['type'] == $selected_type_value) {
-          $post_type_filter[$facebook_value['type']][] = $facebook_value;
-        }
-        // If all post type selected.
-        elseif ($display_all_posts == 1) {
-          $message_feed[] = socialfeed_facebook_data($i, $facebook_value, $display_all_posts, $display_time, $display_pic, $display_video, $teaser_text, $facebook_hash_tag);
-          $i++;
-          if ($i == variable_get('socialfeed_facebook_no_feeds')) {
-            break;
+      if (isset($json_response['data']) && !empty($json_response['data'])) {
+        foreach ($json_response['data'] as $facebook_value) {
+          // If specific post type is selected.
+          if ($display_all_posts == 0 && $facebook_value['type'] == $selected_type_value) {
+            $post_type_filter[$facebook_value['type']][] = $facebook_value;
+          }
+          // If all post type selected.
+          elseif ($display_all_posts == 1) {
+            $message_feed[] = socialfeed_facebook_data($i, $facebook_value, $display_all_posts, $display_time, $display_pic, $display_video, $teaser_text, $facebook_hash_tag);
+            $i++;
+            if ($i == variable_get('socialfeed_facebook_no_feeds')) {
+              break;
+            }
           }
         }
       }
@@ -241,14 +243,16 @@
 function socialfeed_facebook_data($i, $facebook_entry, $display_all_posts, $display_time, $display_pic, $display_video, $teaser_text, $facebook_hash_tag) {
   $trim_length = variable_get('socialfeed_facebook_trim_length');
   if (array_key_exists('message', $facebook_entry)) {
-    if ($facebook_entry['type'] == 'photo' || $display_all_posts == 0) {
-      if ($display_pic == 1) {
-        $message_feed['picture'] = $facebook_entry['picture'];
+    if (isset($facebook_entry['type']) && !empty($facebook_entry['type'])) {
+      if ($facebook_entry['type'] == 'photo' || $display_all_posts == 0) {
+        if ($display_pic == 1) {
+          $message_feed['picture'] = $facebook_entry['picture'];
+        }
       }
-    }
-    if ($facebook_entry['type'] == 'video' || $display_all_posts == 0) {
-      if ($display_video == 1) {
-        $message_feed['video'] = $facebook_entry['source'];
+      if ($facebook_entry['type'] == 'video' || $display_all_posts == 0) {
+        if ($display_video == 1) {
+          $message_feed['video'] = $facebook_entry['source'];
+        }
       }
     }
     if (isset($facebook_entry['message'])) {
@@ -288,16 +292,19 @@
     }
   }
   else {
-    if ($facebook_entry['type'] == 'photo' || $display_all_posts == 0) {
-      if ($display_pic == 1) {
-        $message_feed['picture'] = $facebook_entry['picture'];
+    if (isset($facebook_entry['type']) && !empty($facebook_entry['type'])) {
+      if ($facebook_entry['type'] == 'photo' || $display_all_posts == 0) {
+        if ($display_pic == 1) {
+          $message_feed['picture'] = $facebook_entry['picture'];
+        }
+      }
+      if ($facebook_entry['type'] == 'video' || $display_all_posts == 0) {
+        if ($display_video == 1) {
+          $message_feed['video'] = $facebook_entry['source'];
+        }
       }
     }
-    if ($facebook_entry['type'] == 'video' || $display_all_posts == 0) {
-      if ($display_video == 1) {
-        $message_feed['video'] = $facebook_entry['source'];
-      }
-    }
+
     if (isset($facebook_entry['message']) && !empty($facebook_entry['message'])) {
       $message_feed['message'] = substr($facebook_entry['message'], 0, variable_get('socialfeed_facebook_trim_length'));
     }
