summaryrefslogtreecommitdiff
path: root/classes/Notice.php
diff options
context:
space:
mode:
authorBrion Vibber <brion@pobox.com>2010-03-15 14:19:22 -0700
committerBrion Vibber <brion@pobox.com>2010-03-15 14:19:22 -0700
commitcb471e0c96143c780c14e0864d70879a6308206e (patch)
treecb6ce9b50ab553c4232ace999ad820e2772fd0d3 /classes/Notice.php
parentdfac4bfd095684daf935544ed3ae8b9e4eb9c08e (diff)
Blow more timeline caches on notice delete. Fixes paging on public and profile timelines after deleting something from the first page.
Diffstat (limited to 'classes/Notice.php')
-rw-r--r--classes/Notice.php16
1 files changed, 15 insertions, 1 deletions
diff --git a/classes/Notice.php b/classes/Notice.php
index a704053a0..f7194e339 100644
--- a/classes/Notice.php
+++ b/classes/Notice.php
@@ -119,6 +119,9 @@ class Notice extends Memcached_DataObject
// NOTE: we don't clear queue items
$result = parent::delete();
+
+ $this->blowOnDelete();
+ return $result;
}
/**
@@ -421,6 +424,18 @@ class Notice extends Memcached_DataObject
$profile->blowNoticeCount();
}
+ /**
+ * Clear cache entries related to this notice at delete time.
+ * Necessary to avoid breaking paging on public, profile timelines.
+ */
+ function blowOnDelete()
+ {
+ $this->blowOnInsert();
+
+ self::blow('profile:notice_ids:%d;last', $this->profile_id);
+ self::blow('public;last');
+ }
+
/** save all urls in the notice to the db
*
* follow redirects and save all available file information
@@ -589,7 +604,6 @@ class Notice extends Memcached_DataObject
array(),
'public',
$offset, $limit, $since_id, $max_id);
-
return Notice::getStreamByIds($ids);
}