diff options
-rw-r--r-- | addon/facebook/facebook.php | 26 | ||||
-rw-r--r-- | boot.php | 2 | ||||
-rw-r--r-- | include/conversation.php | 2 |
3 files changed, 23 insertions, 7 deletions
diff --git a/addon/facebook/facebook.php b/addon/facebook/facebook.php index c7821b272..f6f830435 100644 --- a/addon/facebook/facebook.php +++ b/addon/facebook/facebook.php @@ -442,10 +442,22 @@ function facebook_post_hook(&$a,&$b) { // make links readable before we strip the code + if(preg_match("/\[url=(.+?)\](.+?)\[\/url\]/is",$msg,$matches)) { + + $link = $matches[1]; + if(substr($matches[2],0,5) != '[img]' ) + $linkname = $matches[2]; + } + $msg = preg_replace("/\[url=(.+?)\](.+?)\[\/url\]/is",'$2 $1',$msg); + if(preg_match("/\[img\](.+?)\[\/img\]/is",$msg,$matches)) + $image = $matches[1]; + $msg = preg_replace("/\[img\](.+?)\[\/img\]/is", t('Image: ') . '$1', $msg); + + $msg = trim(strip_tags(bbcode($msg))); $msg = html_entity_decode($msg,ENT_QUOTES,'UTF-8'); @@ -478,6 +490,12 @@ function facebook_post_hook(&$a,&$b) { 'access_token' => $fb_token, 'message' => $msg ); + if(isset($image)) + $postvars['picture'] = $image; + if(isset($link)) + $postvars['link'] = $link; + if(isset($linkname)) + $postvars['name'] = $linkname; } if(($b['private']) && (! $b['parent'])) { @@ -490,17 +508,15 @@ function facebook_post_hook(&$a,&$b) { } - if(! $reply) { - if($b['plink']) - $postvars['actions'] = '{"name": "' . t('View on Friendika') . '", "link": "' . $b['plink'] . '"}'; - } - if($reply) { $url = 'https://graph.facebook.com/' . $reply . '/' . (($likes) ? 'likes' : 'comments'); } else { $url = 'https://graph.facebook.com/me/feed'; + if($b['plink']) + $postvars['actions'] = '{"name": "' . t('View on Friendika') . '", "link": "' . $b['plink'] . '"}'; } + logger('facebook: post to ' . $url); logger('facebook: postvars: ' . print_r($postvars,true)); @@ -2,7 +2,7 @@ set_time_limit(0); -define ( 'FRIENDIKA_VERSION', '2.1.962' ); +define ( 'FRIENDIKA_VERSION', '2.1.963' ); define ( 'DFRN_PROTOCOL_VERSION', '2.21' ); define ( 'DB_UPDATE_VERSION', 1054 ); diff --git a/include/conversation.php b/include/conversation.php index b3e424e52..38816a7d7 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -745,7 +745,7 @@ function status_editor($a,$x) { '$content' => '', '$post_id' => '', '$baseurl' => $a->get_baseurl(), - '$defloc' => $x['default-location'], + '$defloc' => $x['default_location'], '$visitor' => $x['visitor'], '$emailcc' => t('CC: email addresses'), '$jotnets' => $jotnets, |