diff --git a/include/bbcode.php b/include/bbcode.php index acf6979d84..100c3b9306 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -959,14 +959,14 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal $Text = preg_replace_callback("&\[url=/posts/([^\[\]]*)\](.*)\[\/url\]&Usi", 'bb_DiasporaLinks', $Text); // if the HTML is used to generate plain text, then don't do this search, but replace all URL of that kind to text - if ($simplehtml != 7) { +// if ($simplehtml != 7) { if (!$forplaintext) $Text = preg_replace("/([^\]\='".'"'."]|^)(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)/ism", '$1$2', $Text); else { $Text = preg_replace("(\[url\]([$URLSearchString]*)\[\/url\])ism"," $1 ",$Text); $Text = preg_replace_callback("&\[url=([^\[\]]*)\]\[img\](.*)\[\/img\]\[\/url\]&Usi", 'bb_RemovePictureLinks', $Text); } - } +// } if ($tryoembed) $Text = preg_replace_callback("/\[url\]([$URLSearchString]*)\[\/url\]/ism",'tryoembed',$Text); diff --git a/include/ostatus.php b/include/ostatus.php index 07eaec85d5..932fc1fa9a 100644 --- a/include/ostatus.php +++ b/include/ostatus.php @@ -9,6 +9,7 @@ require_once("include/socgraph.php"); require_once("include/Photo.php"); require_once("include/Scrape.php"); require_once("include/follow.php"); +require_once("mod/proxy.php"); define('OSTATUS_DEFAULT_POLL_INTERVAL', 30); // given in minutes define('OSTATUS_DEFAULT_POLL_TIMEFRAME', 1440); // given in minutes @@ -1089,6 +1090,33 @@ function xml_add_element($doc, $parent, $element, $value = "", $attributes = arr $parent->appendChild($element); } +function ostatus_format_picture_post($body) { + $siteinfo = get_attached_data($body); + + if (($siteinfo["type"] == "photo")) { + if (isset($siteinfo["preview"])) + $preview = $siteinfo["preview"]; + else + $preview = $siteinfo["image"]; + + // Is it a remote picture? Then make a smaller preview here + $preview = proxy_url($preview, false, PROXY_SIZE_SMALL); + + // Is it a local picture? Then make it smaller here + $preview = str_replace(array("-0.jpg", "-0.png"), array("-2.jpg", "-2.png"), $preview); + $preview = str_replace(array("-1.jpg", "-1.png"), array("-2.jpg", "-2.png"), $preview); + + if (isset($siteinfo["url"])) + $url = $siteinfo["url"]; + else + $url = $siteinfo["image"]; + + $body = trim($siteinfo["text"])." [url]".$url."[/url]\n[img]".$preview."[/img]"; + } + + return $body; +} + function ostatus_add_header($doc, $owner) { $a = get_app(); @@ -1340,6 +1368,8 @@ function ostatus_entry($doc, $item, $owner, $toplevel = false) { else $body = $item['body']; + $body = ostatus_format_picture_post($body); + if ($item['title'] != "") $body = "[b]".$item['title']."[/b]\n\n".$body; diff --git a/include/plaintext.php b/include/plaintext.php index 4f435fc6a2..204feb137f 100644 --- a/include/plaintext.php +++ b/include/plaintext.php @@ -55,9 +55,10 @@ function get_attached_data($body) { $data = parseurl_getsiteinfo_cached($pictures[0][1], true); if ($data["type"] == "photo") { $post["type"] = "photo"; - if (isset($data["images"][0])) + if (isset($data["images"][0])) { $post["image"] = $data["images"][0]["src"]; - else + $post["url"] = $data["url"]; + } else $post["image"] = $data["url"]; $post["preview"] = $pictures[0][2];