Browse Source

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.

pull/956/head
Michael Vogel 7 years ago
parent
commit
04ba988f75
  1. 17
      include/plaintext.php

17
include/plaintext.php

@ -58,6 +58,7 @@ function plaintext($a, $b, $limit = 0, $includedlinks = false) {
if (count($pictures) == 1) {
// Checking, if the link goes to a picture
$data = parseurl_getsiteinfo($pictures[0][1], true);
if ($data["type"] == "photo") {
$post["type"] = "photo";
if (isset($data["images"][0]))
@ -67,6 +68,19 @@ function plaintext($a, $b, $limit = 0, $includedlinks = false) {
$post["preview"] = $pictures[0][2];
$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) {
$post["type"] = "link";
@ -85,7 +99,8 @@ function plaintext($a, $b, $limit = 0, $includedlinks = false) {
$post["image"] = $pictures[0][1];
$post["text"] = $body;
}
} else {
}
if (!isset($post["type"])) {
$post["type"] = "text";
$post["text"] = trim($body);
}

Loading…
Cancel
Save