$fields = ['id', 'uri-id', 'mention', 'parent', 'parent-uri-id', 'title', 'body',
'author-link', 'author-name', 'author-avatar', 'author-id',
'guid', 'parent-uri', 'uri', 'contact-id', 'network'];
- $condition = ['id' => $itemid, 'gravity' => [GRAVITY_PARENT, GRAVITY_COMMENT], 'deleted' => false];
+ $condition = ['id' => $itemid, 'deleted' => false];
$item = Item::selectFirstForUser($uid, $fields, $condition);
if (!DBA::isResult($item)) {
return false;
use Friendica\DI;
use Friendica\Util\Strings;
use Friendica\Model\Tag;
+use Friendica\Protocol\Activity;
class UserItem
{
*/
public static function setNotification(int $iid)
{
- $fields = ['id', 'uri-id', 'uid', 'body', 'parent', 'gravity', 'tag', 'contact-id', 'thr-parent', 'parent-uri', 'author-id'];
+ $fields = ['id', 'uri-id', 'uid', 'body', 'parent', 'gravity', 'tag',
+ 'contact-id', 'thr-parent', 'parent-uri', 'author-id', 'verb'];
$item = Item::selectFirst($fields, ['id' => $iid, 'origin' => false]);
if (!DBA::isResult($item)) {
return;
*/
private static function checkShared(array $item, int $uid)
{
- if ($item['gravity'] != GRAVITY_PARENT) {
+ if (($item['gravity'] != GRAVITY_PARENT) && ($item['verb'] != Activity::ANNOUNCE)) {
return false;
}
return true;
}
+ if ($item['gravity'] != GRAVITY_PARENT) {
+ return false;
+ }
+
// Or the contact is a mentioned forum
$tags = DBA::select('tag-view', ['url'], ['uri-id' => $item['uri-id'], 'type' => [Tag::MENTION, Tag::EXCLUSIVE_MENTION]]);
while ($tag = DBA::fetch($tags)) {