Merge pull request #2146 from annando/1512-ostatus-picture-posts
Enhancements to picture posts to OStatus
This commit is contained in:
commit
a8ab1bc947
|
@ -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<a href="$2" target="_blank">$2</a>', $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);
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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];
|
||||
|
|
Loading…
Reference in a new issue