diff options
author | Brion Vibber <brion@pobox.com> | 2010-04-14 11:11:02 +0200 |
---|---|---|
committer | Brion Vibber <brion@pobox.com> | 2010-04-14 11:11:02 +0200 |
commit | a21a17263956808e074fb62551300c5d6297387b (patch) | |
tree | 0fee5607dc0f3f1fc8823aac2b95f82a95d61f0f /classes | |
parent | d445b977fc63a4a97b91dd7fc047029115ffaf18 (diff) |
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.
Diffstat (limited to 'classes')
-rw-r--r-- | classes/Notice.php | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/classes/Notice.php b/classes/Notice.php index b0ead3c42..a8147e4c4 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 { |