diff --git a/src/Model/Item.php b/src/Model/Item.php index a95bc184f1..87ea80005e 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -752,7 +752,9 @@ class Item extends BaseObject if (!empty($item['plink'])) { $content_fields['plink'] = $item['plink']; } - if (self::updateActivity($content_fields, ['uri' => $item['uri']])) { + if ((self::activityToIndex($item['verb']) >= 0) || !empty($item['iaid'])) { + self::updateActivity($content_fields, ['uri' => $item['uri']]); + if (empty($item['iaid'])) { $item_activity = dba::selectFirst('item-activity', ['id'], ['uri' => $item['uri']]); if (DBM::is_result($item_activity)) { diff --git a/src/Protocol/Diaspora.php b/src/Protocol/Diaspora.php index 7b55fc6820..87f798427c 100644 --- a/src/Protocol/Diaspora.php +++ b/src/Protocol/Diaspora.php @@ -2709,10 +2709,11 @@ class Diaspora // When we receive a public retraction, we delete every item that we find. if ($importer['uid'] == 0) { - $condition = ["`guid` = ? AND NOT `file` LIKE '%%[%%' AND NOT `deleted`", $target_guid]; + $condition = ['guid' => $target_guid, 'deleted' => false]; } else { - $condition = ["`guid` = ? AND `uid` = ? AND NOT `file` LIKE '%%[%%' AND NOT `deleted`", $target_guid, $importer['uid']]; + $condition = ['guid' => $target_guid, 'deleted' => false, 'uid' => $importer['uid']]; } + $r = Item::select($fields, $condition); if (!DBM::is_result($r)) { logger("Target guid ".$target_guid." was not found on this system for user ".$importer['uid'].".");