forked from friendica/friendica-addons
Facebook: The system now tries to get the full resolution of an imported post. Additionally URLs are cleaned from tracking variables.
This commit is contained in:
parent
ccbcd2ab16
commit
76a8623053
|
@ -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
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Reference in a new issue