X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fatom10feed.php;h=8d4b66d8b89211d977c9b36d89c11edbb1193f33;hb=1d29ba83150bdd7a23e497ca9a743ac2b6158b6f;hp=8842840d568ef862d387ecac72b9c8cfcbf2553b;hpb=35be39e30eacda1b0425a2ae9f8e58cd0867d157;p=quix0rs-gnu-social.git diff --git a/lib/atom10feed.php b/lib/atom10feed.php index 8842840d56..8d4b66d8b8 100644 --- a/lib/atom10feed.php +++ b/lib/atom10feed.php @@ -49,6 +49,8 @@ class Atom10FeedException extends Exception class Atom10Feed extends XMLStringer { public $xw; + + // @fixme most of these should probably be read-only properties private $namespaces; private $authors; private $subject; @@ -57,10 +59,12 @@ class Atom10Feed extends XMLStringer private $generator; private $icon; private $links; - private $logo; + private $selfLink; + private $selfLinkType; + public $logo; private $rights; - private $subtitle; - private $title; + public $subtitle; + public $title; private $published; private $updated; private $entries; @@ -104,8 +108,9 @@ class Atom10Feed extends XMLStringer if (!empty($name)) { $xs->element('name', null, $name); } else { + // TRANS: Atom feed exception thrown when an author element does not contain a name element. throw new Atom10FeedException( - 'author element must contain a name element.' + _('Author element must contain a name element.') ); } @@ -142,15 +147,17 @@ class Atom10Feed extends XMLStringer } /** - * Add a activity feed subject via raw XML string + * Deprecated ; ignored * * @param string $xmlSubject An XML string representation of the subject * * @return void */ + function setActivitySubject($xmlSubject) { - $this->subject = $xmlSubject; + // TRANS: Server exception thrown when using the method setActivitySubject() in the class Atom10Feed. + throw new ServerException(_('Do not use this method!')); } function getNamespaces() @@ -172,6 +179,14 @@ class Atom10Feed extends XMLStringer } $this->elementStart('feed', $commonAttrs); + $this->element( + 'generator', array( + 'uri' => 'http://status.net', + 'version' => STATUSNET_VERSION + ), + 'StatusNet' + ); + $this->element('id', null, $this->id); $this->element('title', null, $this->title); $this->element('subtitle', null, $this->subtitle); @@ -184,6 +199,10 @@ class Atom10Feed extends XMLStringer $this->renderAuthors(); + if ($this->selfLink) { + $this->addLink($this->selfLink, array('rel' => 'self', + 'type' => $this->selfLinkType)); + } $this->renderLinks(); } @@ -253,6 +272,12 @@ class Atom10Feed extends XMLStringer $this->id = $id; } + function setSelfLink($url, $type='application/atom+xml') + { + $this->selfLink = $url; + $this->selfLinkType = $type; + } + function setTitle($title) { $this->title = $title; @@ -301,5 +326,4 @@ class Atom10Feed extends XMLStringer array_push($this->links, $attrs); } - }