123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- <?php
- /**
- * WebFinger resource for Notice objects
- *
- * @package GNUsocial
- * @author Mikael Nordfeldth
- * @copyright 2013 Free Software Foundation, Inc.
- * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
- * @link http://status.net/
- */
- class WebFingerResource_Notice extends WebFingerResource
- {
- public function __construct(Notice $object)
- {
- // The type argument above verifies that it's our class
- parent::__construct($object);
- }
- public function updateXRD(XML_XRD $xrd)
- {
- if (Event::handle('StartWebFingerNoticeLinks', array($xrd, $this->object))) {
- if ($this->object->isLocal()) {
- $xrd->links[] = new XML_XRD_Element_Link('alternate',
- common_local_url('ApiStatusesShow',
- array('id'=>$this->object->id,
- 'format'=>'atom')),
- 'application/atom+xml');
- $xrd->links[] = new XML_XRD_Element_Link('alternate',
- common_local_url('ApiStatusesShow',
- array('id'=>$this->object->id,
- 'format'=>'json')),
- 'application/json');
- } else {
- try {
- $xrd->links[] = new XML_XRD_Element_Link('alternate',
- $this->object->getUrl(),
- 'text/html');
- } catch (InvalidUrlException $e) {
- // don't do a fallback in webfinger
- }
- }
- Event::handle('EndWebFingerNoticeLinks', array($xrd, $this->object));
- }
- }
- }
|