diff options
author | Evan Prodromou <evan@status.net> | 2010-02-20 20:27:04 -0500 |
---|---|---|
committer | Evan Prodromou <evan@status.net> | 2010-02-20 20:27:04 -0500 |
commit | 5565216b42fc97d84c9602864b2095e557769717 (patch) | |
tree | 321515410535f2bc3826fdbfce39d8f888556ab4 /classes/Notice.php | |
parent | 96c6019638f6407b38fbc5a45485a3797af47adb (diff) | |
parent | 145a19954f6f993714cb8b65aaf9d54996503664 (diff) |
Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing
Conflicts:
plugins/OStatus/OStatusPlugin.php
Diffstat (limited to 'classes/Notice.php')
-rw-r--r-- | classes/Notice.php | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/classes/Notice.php b/classes/Notice.php index a52cfed70..8b8f90474 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -1104,6 +1104,38 @@ class Notice extends Memcached_DataObject return $xs->getString(); } + /** + * Returns an XML string fragment with a reference to a notice as an + * Activity Streams noun object with the given element type. + * + * Assumes that 'activity' namespace has been previously defined. + * + * @param string $element one of 'subject', 'object', 'target' + * @return string + */ + function asActivityNoun($element) + { + $xs = new XMLStringer(true); + + $xs->elementStart('activity:' . $element); + $xs->element('activity:object-type', + null, + 'http://activitystrea.ms/schema/1.0/note'); + $xs->element('id', + null, + $this->uri); + $xs->element('content', + array('type' => 'text/html'), + $this->rendered); + $xs->element('link', + array('type' => 'text/html', + 'rel' => 'permalink', + 'href' => $this->bestUrl())); + $xs->elementEnd('activity:' . $element); + + return $xs->getString(); + } + function bestUrl() { if (!empty($this->url)) { |