*/
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;
}
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);
}
/**
* 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]';
}
}
}
- return Strings::startsWith($tag, $tag_chars);
+ return Strings::startsWithChars($tag, $tag_chars);
}
}