summaryrefslogtreecommitdiff
path: root/lib/activity.php
diff options
context:
space:
mode:
authorEvan Prodromou <evan@status.net>2010-12-06 16:38:02 -0500
committerEvan Prodromou <evan@status.net>2010-12-06 16:38:02 -0500
commit8564fc51c53de7a0670720eec437000a6b972688 (patch)
tree8cc61941093d094a6175b73d87de5845e4931afe /lib/activity.php
parentda8b268e06f4a6217c2bbb4918888001f8e7e4cd (diff)
cache generated activity info
Diffstat (limited to 'lib/activity.php')
-rw-r--r--lib/activity.php14
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/activity.php b/lib/activity.php
index e29bc1a25..712800817 100644
--- a/lib/activity.php
+++ b/lib/activity.php
@@ -329,6 +329,14 @@ class Activity
function asString($namespace=false, $author=true)
{
+ $c = Cache::instance();
+
+ $str = $c->get('activity:as-string:'.Cache::keyize($this->id));
+
+ if (!empty($str)) {
+ return $str;
+ }
+
$xs = new XMLStringer(true);
if ($namespace) {
@@ -549,7 +557,11 @@ class Activity
$xs->elementEnd('entry');
- return $xs->getString();
+ $str = $xs->getString();
+
+ $c->set('activity:as-string:'.Cache::keyize($this->id), $str);
+
+ return $str;
}
private function _child($element, $tag, $namespace=self::SPEC)