]> git.mxchange.org Git - friendica.git/commitdiff
Plaintext: If a picture link went directly to a picture, this wasn't recognized....
authorMichael Vogel <icarus@dabo.de>
Sat, 3 May 2014 21:34:53 +0000 (23:34 +0200)
committerMichael Vogel <icarus@dabo.de>
Sat, 3 May 2014 21:34:53 +0000 (23:34 +0200)
include/plaintext.php

index caba68d8aff03ee813cd61f8869f44a8e20c0bab..65b0b347d3ed704dc142daffb82d1e09022b0dfd 100644 (file)
@@ -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);
                }