use Friendica\DI;
use Friendica\Util\Strings;
use Friendica\Model\Tag;
-use Friendica\Model\Term;
class UserItem
{
private static function setNotificationForUser(array $item, int $uid)
{
$thread = Item::selectFirstThreadForUser($uid, ['ignored'], ['iid' => $item['parent'], 'deleted' => false]);
- if ($thread['ignored']) {
+ if (!empty($thread['ignored'])) {
return;
}
*/
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;
}
}
*/
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;
}
}