]> git.mxchange.org Git - friendica-addons.git/commitdiff
Facebook: The system now tries to get the full resolution of an imported post. Additi...
authorMichael Vogel <icarus@dabo.de>
Tue, 14 Oct 2014 17:32:31 +0000 (19:32 +0200)
committerMichael Vogel <icarus@dabo.de>
Tue, 14 Oct 2014 17:32:31 +0000 (19:32 +0200)
fbpost/fbpost.php
fbsync/fbsync.php

index 2ac558ea8def501329e32c1b58dafceffebadb4f..38fe192039d8dee3b51996e73590ee2b24ff96d8 100644 (file)
@@ -967,8 +967,21 @@ function fbpost_cron($a,$b) {
        set_config('facebook','last_poll', time());
 }
 
+function fbpost_cleanpicture($url) {
+       require_once("include/Photo.php");
+
+       $urldata = parse_url($url);
+       if (isset($urldata["query"])) {
+               parse_str($urldata["query"], $querydata);
+               if (isset($querydata["url"]) AND (get_photo_info($querydata["url"])))
+                       return($querydata["url"]);
+       }
+       return($url);
+}
+
 function fbpost_fetchwall($a, $uid) {
        require_once("include/oembed.php");
+       require_once("include/network.php");
        require_once('mod/item.php');
 
        $access_token = get_pconfig($uid,'facebook','access_token');
@@ -1029,6 +1042,7 @@ function fbpost_fetchwall($a, $uid) {
                $type = "";
 
                if(isset($item->name) and isset($item->link)) {
+                       $item->link = original_url($item->link);
                        $oembed_data = oembed_fetch_url($item->link);
                        $type = $oembed_data->type;
                        $content = "[bookmark=".$item->link."]".$item->name."[/bookmark]";
@@ -1071,9 +1085,12 @@ function fbpost_fetchwall($a, $uid) {
                                }
                        }
 
-                       if(($picture != "") && isset($item->link))
+                       $picture = fbpost_cleanpicture($picture);
+
+                       if(($picture != "") && isset($item->link)) {
+                               $item->link = original_url($item->link);
                                $content .= "\n".'[url='.$item->link.'][img]'.$picture.'[/img][/url]';
-                       else {
+                       else {
                                if ($picture != "")
                                        $content .= "\n".'[img]'.$picture.'[/img]';
                                // if just a link, it may be a wall photo - check
index 51d2747f93d8640570032d8eda81f575c796b412..64f6fe2a34190aa1a5f4de7735a3d305b8ebde0c 100644 (file)
@@ -216,6 +216,7 @@ function fbsync_createpost($a, $uid, $self, $contacts, $applications, $post, $cr
        $access_token = get_pconfig($uid,'facebook','access_token');
 
        require_once("include/oembed.php");
+       require_once("include/network.php");
 
        // check if it was already imported
        $r = q("SELECT * FROM `item` WHERE `uid` = %d AND `uri` = '%s' LIMIT 1",
@@ -339,6 +340,7 @@ function fbsync_createpost($a, $uid, $self, $contacts, $applications, $post, $cr
        $type = "";
 
        if (isset($post->attachment->name) and isset($post->attachment->href)) {
+               $post->attachment->href = original_url($post->attachment->href);
                $oembed_data = oembed_fetch_url($post->attachment->href);
                $type = $oembed_data->type;
                if ($type == "rich")
@@ -391,6 +393,8 @@ function fbsync_createpost($a, $uid, $self, $contacts, $applications, $post, $cr
                                }
                        }
 
+                       $preview = fbpost_cleanpicture($preview);
+
                        if (isset($media->href) AND ($preview != "") AND ($media->href != ""))
                                $content .= "\n".'[url='.$media->href.'][img]'.$preview.'[/img][/url]';
                        else {