Plaintext: If a picture link went directly to a picture, this wasn't recognized. Additionally there was a situation when a post could be empty.

This commit is contained in:
Michael Vogel 2014-05-03 23:34:53 +02:00
parent 4b0cc51ae4
commit 04ba988f75

View file

@ -58,6 +58,7 @@ function plaintext($a, $b, $limit = 0, $includedlinks = false) {
if (count($pictures) == 1) { if (count($pictures) == 1) {
// Checking, if the link goes to a picture // Checking, if the link goes to a picture
$data = parseurl_getsiteinfo($pictures[0][1], true); $data = parseurl_getsiteinfo($pictures[0][1], true);
if ($data["type"] == "photo") { if ($data["type"] == "photo") {
$post["type"] = "photo"; $post["type"] = "photo";
if (isset($data["images"][0])) if (isset($data["images"][0]))
@ -67,6 +68,19 @@ function plaintext($a, $b, $limit = 0, $includedlinks = false) {
$post["preview"] = $pictures[0][2]; $post["preview"] = $pictures[0][2];
$post["text"] = str_replace($pictures[0][0], "", $body); $post["text"] = str_replace($pictures[0][0], "", $body);
} else {
$img_str = fetch_url($pictures[0][1]);
$tempfile = tempnam(get_config("system","temppath"), "cache");
file_put_contents($tempfile, $img_str);
$mime = image_type_to_mime_type(exif_imagetype($tempfile));
unlink($tempfile);
if (substr($mime, 0, 6) == "image/") {
$post["type"] = "photo";
$post["image"] = $pictures[0][1];
$post["preview"] = $pictures[0][2];
$post["text"] = str_replace($pictures[0][0], "", $body);
}
} }
} elseif (count($pictures) > 1) { } elseif (count($pictures) > 1) {
$post["type"] = "link"; $post["type"] = "link";
@ -85,7 +99,8 @@ function plaintext($a, $b, $limit = 0, $includedlinks = false) {
$post["image"] = $pictures[0][1]; $post["image"] = $pictures[0][1];
$post["text"] = $body; $post["text"] = $body;
} }
} else { }
if (!isset($post["type"])) {
$post["type"] = "text"; $post["type"] = "text";
$post["text"] = trim($body); $post["text"] = trim($body);
} }