diff options
author | Brion Vibber <brion@pobox.com> | 2010-04-23 06:55:46 -0700 |
---|---|---|
committer | Brion Vibber <brion@pobox.com> | 2010-04-23 06:55:46 -0700 |
commit | 7bdea95ccbf31cf9c9191a93c44dedb22f1fd3df (patch) | |
tree | 8404166f5472daf677424f2304bda983b4e5a421 /classes | |
parent | fd9d520aeb52f7f3a3fe7c242fbe16078de1bc6e (diff) |
Fix to make blowing of replies stream cache more consistent when receiving replies. (Was being done at mail notify time instead of at save time for local replies; now moved to reply save time internally so it can't get forgotten)
Diffstat (limited to 'classes')
-rw-r--r-- | classes/Notice.php | 4 | ||||
-rw-r--r-- | classes/Reply.php | 14 |
2 files changed, 15 insertions, 3 deletions
diff --git a/classes/Notice.php b/classes/Notice.php index 4cf12fc6f..c4a316888 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -985,8 +985,6 @@ class Notice extends Memcached_DataObject $reply->profile_id = $user->id; $id = $reply->insert(); - - self::blow('reply:stream:%d', $user->id); } } @@ -1052,6 +1050,7 @@ class Notice extends Memcached_DataObject throw new ServerException("Couldn't save reply for {$this->id}, {$mentioned->id}"); } else { $replied[$mentioned->id] = 1; + self::blow('reply:stream:%d', $mentioned->id); } } } @@ -1107,7 +1106,6 @@ class Notice extends Memcached_DataObject foreach ($recipientIds as $recipientId) { $user = User::staticGet('id', $recipientId); if (!empty($user)) { - self::blow('reply:stream:%d', $recipientId); mail_notify_attn($user, $this); } } diff --git a/classes/Reply.php b/classes/Reply.php index 659e04c92..dc6296bda 100644 --- a/classes/Reply.php +++ b/classes/Reply.php @@ -22,6 +22,20 @@ class Reply extends Memcached_DataObject /* the code above is auto generated do not remove the tag below */ ###END_AUTOCODE + /** + * Wrapper for record insertion to update related caches + */ + function insert() + { + $result = parent::insert(); + + if ($result) { + self::blow('reply:stream:%d', $this->profile_id); + } + + return $result; + } + function stream($user_id, $offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $max_id=0) { $ids = Notice::stream(array('Reply', '_streamDirect'), |