From a21a17263956808e074fb62551300c5d6297387b Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Wed, 14 Apr 2010 11:11:02 +0200 Subject: [PATCH] Fix for "#foo !foo" in same notice failing during save, causing failout before distribution. Move saveGroups after saveTags when saving notices; groups may save additional tags, so need to be moved after so the check for duplicates actually works. --- classes/Notice.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/classes/Notice.php b/classes/Notice.php index b0ead3c420..a8147e4c4d 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -373,18 +373,20 @@ class Notice extends Memcached_DataObject $notice->saveReplies(); } - if (isset($groups)) { - $notice->saveKnownGroups($groups); - } else { - $notice->saveGroups(); - } - if (isset($tags)) { $notice->saveKnownTags($tags); } else { $notice->saveTags(); } + // Note: groups may save tags, so must be run after tags are saved + // to avoid errors on duplicates. + if (isset($groups)) { + $notice->saveKnownGroups($groups); + } else { + $notice->saveGroups(); + } + if (isset($urls)) { $notice->saveKnownUrls($urls); } else {