]> git.mxchange.org Git - friendica.git/blobdiff - src/Model/UserItem.php
Merge pull request #8629 from annando/item-insert
[friendica.git] / src / Model / UserItem.php
index 5e9096f41a9863760b4ce3e95b306d0602636777..89dbafed82ecb54df5f7b39851c814cf9d534f39 100644 (file)
@@ -27,7 +27,6 @@ use Friendica\Database\DBA;
 use Friendica\DI;
 use Friendica\Util\Strings;
 use Friendica\Model\Tag;
-use Friendica\Model\Term;
 
 class UserItem
 {
@@ -228,9 +227,10 @@ class UserItem
         */
        private static function checkImplicitMention(array $item, array $profiles)
        {
-               foreach ($profiles AS $profile) {
-                       if (strpos($item['tag'], '=' . $profile.']') || strpos($item['body'], '=' . $profile . ']')) {
-                               if (strpos($item['body'], $profile) === false) {
+               $mentions = Tag::getByURIId($item['uri-id'], [Tag::IMPLICIT_MENTION]);
+               foreach ($mentions as $mention) {
+                       foreach ($profiles as $profile) {
+                               if (Strings::compareLink($profile, $mention['url'])) {
                                        return true;
                                }
                        }
@@ -247,9 +247,10 @@ class UserItem
         */
        private static function checkExplicitMention(array $item, array $profiles)
        {
-               foreach ($profiles AS $profile) {
-                       if (strpos($item['tag'], '=' . $profile.']') || strpos($item['body'], '=' . $profile . ']')) {
-                               if (!(strpos($item['body'], $profile) === false)) {
+               $mentions = Tag::getByURIId($item['uri-id'], [Tag::MENTION, Tag::EXCLUSIVE_MENTION]);
+               foreach ($mentions as $mention) {
+                       foreach ($profiles as $profile) {
+                               if (Strings::compareLink($profile, $mention['url'])) {
                                        return true;
                                }
                        }