]> git.mxchange.org Git - friendica.git/blobdiff - src/Model/Tag.php
Add tests for Network\Probe::getFeedLink
[friendica.git] / src / Model / Tag.php
index 5a62aae91b5fd0b37989f33c78d05a73caedd011..d8c252ca2b7344f6bf59b68b033094c1466d47af 100644 (file)
@@ -333,6 +333,10 @@ class Tag
         */
        public static function createImplicitMentions(int $uri_id, int $parent_uri_id)
        {
+               // Always mention the direct parent author
+               $parent = Item::selectFirst(['author-link', 'author-name'], ['uri-id' => $parent_uri_id]);
+               self::store($uri_id, self::IMPLICIT_MENTION, $parent['author-name'], $parent['author-link']);
+
                if (DI::config()->get('system', 'disable_implicit_mentions')) {
                        return;
                }
@@ -341,9 +345,7 @@ class Tag
                while ($tag = DBA::fetch($tags)) {
                        self::store($uri_id, self::IMPLICIT_MENTION, $tag['name'], $tag['url']);
                }
-
-               $parent = Item::selectFirst(['author-link', 'author-name'], ['uri-id' => $parent_uri_id]);
-               self::store($uri_id, self::IMPLICIT_MENTION, $parent['author-name'], $parent['author-link']);
+               DBA::close($tags);
        }
 
        /**
@@ -364,12 +366,14 @@ class Tag
         * Return a string with all tags and mentions
         *
         * @param integer $uri_id
+        * @param array   $type
         * @return string tags and mentions
+        * @throws \Exception
         */
-       public static function getCSVByURIId(int $uri_id)
+       public static function getCSVByURIId(int $uri_id, array $type = [self::HASHTAG, self::MENTION, self::IMPLICIT_MENTION, self::EXCLUSIVE_MENTION])
        {
                $tag_list = [];
-               $tags = self::getByURIId($uri_id);
+               $tags = self::getByURIId($uri_id, $type);
                foreach ($tags as $tag) {
                        $tag_list[] = self::TAG_CHARACTER[$tag['type']] . '[url=' . $tag['url'] . ']' . $tag['name'] . '[/url]';
                }
@@ -531,6 +535,6 @@ class Tag
                        }
                }
 
-               return Strings::startsWith($tag, $tag_chars);
+               return Strings::startsWithChars($tag, $tag_chars);
        }       
 }