Steffen
Well-known member
- Affected version
- 2.3.4
The method XF\Entity\Trophy::_postDelete checks the "xf_user_alert" column "extra_data" (which is empty!) although it seems like it should check the "content_id" column because that's where the trophy_id is stored.
Diff:
--- a/src/XF/Entity/Trophy.php
+++ b/src/XF/Entity/Trophy.php
@@ -92,7 +92,8 @@ class Trophy extends Entity
$this->db()->delete(
'xf_user_alert',
- "content_type = 'trophy' AND action = 'award' AND extra_data LIKE '%i:" . intval($this->trophy_id) . ";%'"
+ "content_type = 'trophy' AND content_id = ? AND action = 'award'",
+ [$this->trophy_id]
);
}