forked from GNUsocial/gnu-social
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)
|
function asActivity($cur = null, $source = false)
|
||||||
{
|
{
|
||||||
|
$act = self::cacheGet('notice:as-activity:'.$this->id);
|
||||||
|
|
||||||
|
if (!empty($act)) {
|
||||||
|
return $act;
|
||||||
|
}
|
||||||
|
|
||||||
$act = new Activity();
|
$act = new Activity();
|
||||||
|
|
||||||
if (Event::handle('StartNoticeAsActivity', array($this, &$act))) {
|
if (Event::handle('StartNoticeAsActivity', array($this, &$act))) {
|
||||||
|
|
||||||
$profile = $this->getProfile();
|
$profile = $this->getProfile();
|
||||||
|
|
||||||
$act->actor = ActivityObject::fromProfile($profile);
|
$act->actor = ActivityObject::fromProfile($profile);
|
||||||
@ -1400,6 +1406,8 @@ class Notice extends Memcached_DataObject
|
|||||||
Event::handle('EndNoticeAsActivity', array($this, &$act));
|
Event::handle('EndNoticeAsActivity', array($this, &$act));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
self::cacheSet('notice:as-activity:'.$this->id, $act);
|
||||||
|
|
||||||
return $act;
|
return $act;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -329,6 +329,14 @@ class Activity
|
|||||||
|
|
||||||
function asString($namespace=false, $author=true)
|
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);
|
$xs = new XMLStringer(true);
|
||||||
|
|
||||||
if ($namespace) {
|
if ($namespace) {
|
||||||
@ -549,7 +557,11 @@ class Activity
|
|||||||
|
|
||||||
$xs->elementEnd('entry');
|
$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)
|
private function _child($element, $tag, $namespace=self::SPEC)
|
||||||
|
Loading…
Reference in New Issue
Block a user