]> git.mxchange.org Git - friendica.git/commitdiff
Improved handling of images with links
authorMichael <heluecht@pirati.ca>
Wed, 15 Mar 2023 21:15:10 +0000 (21:15 +0000)
committerMichael <heluecht@pirati.ca>
Wed, 15 Mar 2023 21:15:10 +0000 (21:15 +0000)
src/Model/Post/Media.php

index 3396b642f837f8897dac9b2675cc1ca903912e8a..221a11a7003c27d3d67c1d1401b06bb61f27e620 100644 (file)
@@ -470,10 +470,12 @@ class Media
         * Add media links and remove them from the body
         *
         * @param integer $uriid
-        * @param string $body
+        * @param string  $body
+        * @param bool    $endmatch
+        * @param bool    $removepicturelinks
         * @return string Body without media links
         */
-       public static function insertFromBody(int $uriid, string $body, bool $endmatch = false): string
+       public static function insertFromBody(int $uriid, string $body, bool $endmatch = false, bool $removepicturelinks = false): string
        {
                $endmatchpattern = $endmatch ? '\z' : '';
                // Simplify image codes
@@ -489,7 +491,7 @@ class Media
                                                'uri-id' => $uriid, 'type' => self::IMAGE, 'url' => $image,
                                                'preview' => $picture[2], 'description' => $picture[3]
                                        ];
-                               } else {
+                               } elseif ($removepicturelinks) {
                                        $body = str_replace($picture[0], '', $body);
                                        $attachments[$picture[1]] = [
                                                'uri-id' => $uriid, 'type' => self::UNKNOWN, 'url' => $picture[1],
@@ -515,7 +517,7 @@ class Media
                                                'uri-id' => $uriid, 'type' => self::IMAGE, 'url' => $image,
                                                'preview' => $picture[2], 'description' => null
                                        ];
-                               } else {
+                               } elseif ($removepicturelinks) {
                                        $body = str_replace($picture[0], '', $body);
                                        $attachments[$picture[1]] = [
                                                'uri-id' => $uriid, 'type' => self::UNKNOWN, 'url' => $picture[1],
@@ -587,7 +589,7 @@ class Media
        {
                do {
                        $prebody = $body;
-                       $body = self::insertFromBody(0, $body);
+                       $body = self::insertFromBody(0, $body, false, true);
                } while ($prebody != $body);
                return $body;
        }