cache generated activity info
This commit is contained in:
parent
da8b268e06
commit
8564fc51c5
@ -1236,10 +1236,16 @@ class Notice extends Memcached_DataObject
|
||||
|
||||
function asActivity($cur = null, $source = false)
|
||||
{
|
||||
$act = self::cacheGet('notice:as-activity:'.$this->id);
|
||||
|
||||
if (!empty($act)) {
|
||||
return $act;
|
||||
}
|
||||
|
||||
$act = new Activity();
|
||||
|
||||
if (Event::handle('StartNoticeAsActivity', array($this, &$act))) {
|
||||
|
||||
|
||||
$profile = $this->getProfile();
|
||||
|
||||
$act->actor = ActivityObject::fromProfile($profile);
|
||||
@ -1400,6 +1406,8 @@ class Notice extends Memcached_DataObject
|
||||
Event::handle('EndNoticeAsActivity', array($this, &$act));
|
||||
}
|
||||
|
||||
self::cacheSet('notice:as-activity:'.$this->id, $act);
|
||||
|
||||
return $act;
|
||||
}
|
||||
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user