Facebook: Posts that only contain images without links are now posted as images

Statusnet: Trying to post images - but it doesn't work right now
This commit is contained in:
Michael Vogel 2012-11-22 15:29:20 +01:00
parent 50c33d8dc2
commit de8a7f88ce
2 changed files with 22 additions and 7 deletions

View file

@ -209,7 +209,7 @@ function fbpost_content(&$a) {
$o .= '<div id="fbpost-enable-wrapper">'; $o .= '<div id="fbpost-enable-wrapper">';
$o .= '<a href="https://www.facebook.com/dialog/oauth?client_id=' . $appid . '&redirect_uri=' $o .= '<a href="https://www.facebook.com/dialog/oauth?client_id=' . $appid . '&redirect_uri='
. $a->get_baseurl() . '/fbpost/' . $a->user['nickname'] . '&scope=publish_stream,manage_pages,user_groups,friends_groups,offline_access">' . t('Install Facebook Post connector for this account.') . '</a>'; . $a->get_baseurl() . '/fbpost/' . $a->user['nickname'] . '&scope=publish_stream,manage_pages,photo_upload,user_groups,offline_access">' . t('Install Facebook Post connector for this account.') . '</a>';
$o .= '</div>'; $o .= '</div>';
} }
@ -221,7 +221,7 @@ function fbpost_content(&$a) {
$o .= '<div id="fbpost-enable-wrapper">'; $o .= '<div id="fbpost-enable-wrapper">';
$o .= '<a href="https://www.facebook.com/dialog/oauth?client_id=' . $appid . '&redirect_uri=' $o .= '<a href="https://www.facebook.com/dialog/oauth?client_id=' . $appid . '&redirect_uri='
. $a->get_baseurl() . '/fbpost/' . $a->user['nickname'] . '&scope=publish_stream,manage_pages,user_groups,friends_groups,offline_access">' . t('Re-authenticate [This is necessary whenever your Facebook password is changed.]') . '</a>'; . $a->get_baseurl() . '/fbpost/' . $a->user['nickname'] . '&scope=publish_stream,manage_pages,photo_upload,user_groups,offline_access">' . t('Re-authenticate [This is necessary whenever your Facebook password is changed.]') . '</a>';
$o .= '</div>'; $o .= '</div>';
$o .= '<div id="fbpost-post-default-form">'; $o .= '<div id="fbpost-post-default-form">';
@ -658,6 +658,16 @@ function fbpost_post_hook(&$a,&$b) {
if($reply) { if($reply) {
$url = 'https://graph.facebook.com/' . $reply . '/' . (($likes) ? 'likes' : 'comments'); $url = 'https://graph.facebook.com/' . $reply . '/' . (($likes) ? 'likes' : 'comments');
} else if (($link == "") and ($image != "")) {
// If it is only an image without a page link then post this image as a photo
$postvars = array(
'access_token' => $fb_token,
'url' => $image,
);
if ($msg != $image)
$postvars['message'] = $msg;
$url = 'https://graph.facebook.com/'.$target.'/photos';
} else if (($link != "") or ($image != "") or ($b['title'] == '') or (strlen($msg) < 500) or ($target != "me")) { } else if (($link != "") or ($image != "") or ($b['title'] == '') or (strlen($msg) < 500) or ($target != "me")) {
$url = 'https://graph.facebook.com/'.$target.'/feed'; $url = 'https://graph.facebook.com/'.$target.'/feed';
if (!get_pconfig($b['uid'],'facebook','suppress_view_on_friendica') and $b['plink']) if (!get_pconfig($b['uid'],'facebook','suppress_view_on_friendica') and $b['plink'])

View file

@ -538,6 +538,7 @@ function statusnet_post_hook(&$a,&$b) {
// information during shortening of potential links but do not // information during shortening of potential links but do not
// shorten all the links in a 200000 character long essay. // shorten all the links in a 200000 character long essay.
$tempfile = "";
$intelligent_shortening = get_config('statusnet','intelligent_shortening'); $intelligent_shortening = get_config('statusnet','intelligent_shortening');
if (!$intelligent_shortening) { if (!$intelligent_shortening) {
if (! $b['title']=='') { if (! $b['title']=='') {
@ -619,7 +620,9 @@ function statusnet_post_hook(&$a,&$b) {
$image = $msgarr["image"]; $image = $msgarr["image"];
if ($image != "") { if ($image != "") {
$imagedata = file_get_contents($image); $imagedata = file_get_contents($image);
$postdata = array("status"=>$msg, "media"=>$imagedata); $tempfile = tempnam("", "upload");
file_put_contents($tempfile, $imagedata);
$postdata = array("status"=>$msg, "media"=>"@".$tempfile);
} else } else
$postdata = array("status"=>$msg); $postdata = array("status"=>$msg);
} }
@ -634,6 +637,8 @@ function statusnet_post_hook(&$a,&$b) {
logger('Send to StatusNet failed: "' . $result->error . '"'); logger('Send to StatusNet failed: "' . $result->error . '"');
} }
} }
if ($tempfile != "")
unlink($tempfile);
} }
} }