]> git.mxchange.org Git - friendica-addons.git/blobdiff - fbpost/fbpost.php
Making sure that really only public postings are relayed.
[friendica-addons.git] / fbpost / fbpost.php
index 7c10d7c3b333511d4765db3db29082eda56d25d4..9092c7d125424e3269612adfcadc2c83e8b921b5 100644 (file)
@@ -987,14 +987,19 @@ function fbpost_fetchwall($a, $uid) {
        require_once("include/network.php");
        require_once("include/items.php");
        require_once("mod/item.php");
+       require_once("include/bbcode.php");
 
        $access_token = get_pconfig($uid,'facebook','access_token');
        $post_to_page = get_pconfig($uid,'facebook','post_to_page');
+       $mirror_page = get_pconfig($uid,'facebook','mirror_page');
        $lastcreated = get_pconfig($uid,'facebook','last_created');
 
        if ((int)$post_to_page == 0)
                $post_to_page = "me";
 
+       if ((int)$mirror_page != 0)
+               $post_to_page = $mirror_page;
+
        $url = "https://graph.facebook.com/".$post_to_page."/feed?access_token=".$access_token;
 
        $first_time = ($lastcreated == "");
@@ -1020,7 +1025,8 @@ function fbpost_fetchwall($a, $uid) {
                if ($item->application->id == get_config('facebook','appid'))
                        continue;
 
-               if(isset($item->privacy) && ($item->privacy->value !== 'EVERYONE') && ($item->privacy->value !== ''))
+               //if(isset($item->privacy) && ($item->privacy->value !== 'EVERYONE') && ($item->privacy->value !== ''))
+               if((isset($item->privacy) && ($item->privacy->value !== 'EVERYONE')) OR !isset($item->privacy))
                        continue;
 
                if (($post_to_page != $item->from->id) AND ((int)$post_to_page != 0))
@@ -1090,7 +1096,13 @@ function fbpost_fetchwall($a, $uid) {
                                $data = json_decode($feed);
                                if (isset($data->images)) {
                                        $pagedata["images"][0]["src"] = $data->images[0]->source;
-                                       logger('fbpost_fetchwall: got fbid image '.$preview, LOGGER_DEBUG);
+                                       logger('got fbid image from images for '.$item->object_id, LOGGER_DEBUG);
+                               } elseif (isset($data->source)) {
+                                       $pagedata["images"][0]["src"] = $data->source;
+                                       logger('got fbid image from source for '.$item->object_id, LOGGER_DEBUG);
+                               } elseif (isset($data->picture)) {
+                                       $pagedata["images"][0]["src"] = $data->picture;
+                                       logger('got fbid image from picture for '.$item->object_id, LOGGER_DEBUG);
                                }
                        }
 
@@ -1156,6 +1168,12 @@ function fbpost_fetchwall($a, $uid) {
                        continue;
                }
 
+               if(trim(strip_tags(bbcode($_REQUEST["body"], false, false))) == '') {
+                       logger('facebook: empty body 4 '.$item->id.' '.print_r($item, true));
+                       continue;
+               }
+
+
                //print_r($_REQUEST);
                logger('facebook: posting for user '.$uid);
                item_post($a);