From 64c68ac97815a516d36fa0f6c0b4734adf0f621c Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Tue, 24 Apr 2012 01:42:20 +0200 Subject: [PATCH] tumblr: Now videos are detected as well. --- tumblr/tumblr.php | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/tumblr/tumblr.php b/tumblr/tumblr.php index 95755e39..42518c05 100755 --- a/tumblr/tumblr.php +++ b/tumblr/tumblr.php @@ -169,11 +169,26 @@ function tumblr_send(&$a,&$b) { $tags = implode(',',$tag_arr); $link = ""; - if ($b['title'] == '') { - // Take the description from the bookmark - if(preg_match("/\[bookmark\=([^\]]*)\](.*?)\[\/bookmark\]/is",$b['body'],$matches)) - $link = $matches[1]; + $video = false; + + // Checking for a bookmark + if(preg_match("/\[bookmark\=([^\]]*)\](.*?)\[\/bookmark\]/is",$b['body'],$matches)) { + $link = $matches[1]; + if ($b['title'] == '') $b['title'] = html_entity_decode($matches[2],ENT_QUOTES,'UTF-8'); + + $body = $b['body']; + // splitting the text in two parts: + // before and after the bookmark + $pos = strpos($body, "[bookmark"); + $body1 = substr($body, 0, $pos); + $body2 = substr($body, $pos); + + // Removing the bookmark + $body2 = preg_replace("/\[bookmark\=([^\]]*)\](.*?)\[\/bookmark\]/ism",'',$body2); + $body = $body1.$body2; + + $video = ((stristr($link,'youtube')) || (stristr($link,'youtu.be')) || (stristr($mtch[1],'vimeo'))); } $params = array( @@ -183,11 +198,15 @@ function tumblr_send(&$a,&$b) { 'generator' => 'Friendica', 'tags' => $tags); - if ($link != '') { + if (($link != '') and $video) { + $params['type'] = "video"; + $params['embed'] = $link; + $params['caption'] = bbcode($body); + } else if (($link != '') and !$video) { $params['type'] = "link"; $params['name'] = $b['title']; $params['url'] = $link; - $params['description'] = bbcode($b['body']); + $params['description'] = bbcode($body); } else { $params['type'] = "regular"; $params['title'] = $b['title'];