summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrion Vibber <brion@pobox.com>2010-04-14 11:11:02 +0200
committerBrion Vibber <brion@pobox.com>2010-04-14 11:11:02 +0200
commita21a17263956808e074fb62551300c5d6297387b (patch)
tree0fee5607dc0f3f1fc8823aac2b95f82a95d61f0f
parentd445b977fc63a4a97b91dd7fc047029115ffaf18 (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.
-rw-r--r--classes/Notice.php14
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 {