Handling of empty messages improved. They weren't posted.

pull/34/head
Michael Vogel 2012-04-01 13:44:39 +02:00
parent 97bbcad0f5
commit 79f5e9d083
1 changed files with 19 additions and 4 deletions

View File

@ -883,9 +883,12 @@ function facebook_post_hook(&$a,&$b) {
} }
$link = ''; $link = '';
$linkname = '';
// look for bookmark-bbcode and handle it with priority // look for bookmark-bbcode and handle it with priority
if(preg_match("/\[bookmark\=([^\]]*)\](.*?)\[\/bookmark\]/is",$b['body'],$matches)) if(preg_match("/\[bookmark\=([^\]]*)\](.*?)\[\/bookmark\]/is",$b['body'],$matches)) {
$link = $matches[1]; $link = $matches[1];
$linkname = $matches[2];
}
// If there is no bookmark element then take the first link // If there is no bookmark element then take the first link
if ($link == '') { if ($link == '') {
@ -893,11 +896,12 @@ function facebook_post_hook(&$a,&$b) {
if (sizeof($links) > 0) { if (sizeof($links) > 0) {
reset($links); reset($links);
$link = current($links); $link = current($links);
/*if (strlen($msg."\n".$link) <= FACEBOOK_MAXPOSTLEN)
$msg .= "\n".$link;*/
} }
} }
// Remove trailing and leading spaces
$msg = trim($msg);
// Since facebook increased the maxpostlen massively this never should happen again :) // Since facebook increased the maxpostlen massively this never should happen again :)
if (strlen($msg) > FACEBOOK_MAXPOSTLEN) { if (strlen($msg) > FACEBOOK_MAXPOSTLEN) {
$shortlink = ""; $shortlink = "";
@ -917,7 +921,18 @@ function facebook_post_hook(&$a,&$b) {
$msg .= '... ' . $shortlink; $msg .= '... ' . $shortlink;
} }
if(!strlen($msg) and !strlen($link) and !strlen($image)) // Fallback - if message is empty
if(!strlen($msg))
$msg = $linkname;
if(!strlen($msg))
$msg = $link;
if(!strlen($msg))
$msg = $image;
// If there is nothing to post then exit
if(!strlen($msg))
return; return;
logger('Facebook post: msg=' . $msg, LOGGER_DATA); logger('Facebook post: msg=' . $msg, LOGGER_DATA);