summaryrefslogtreecommitdiff
path: root/lib/rssaction.php
diff options
context:
space:
mode:
authorToby Inkster <mail@tobyinkster.co.uk>2009-07-13 15:16:10 +0100
committerToby Inkster <mail@tobyinkster.co.uk>2009-07-13 15:16:10 +0100
commita68773df63aa925d860d555d621d5180798f83db (patch)
tree4d3be1559243904a6605d25bcf6f3375186eec91 /lib/rssaction.php
parent55415652382d1f3ae77123d197e01d95da83041e (diff)
Improve output for files/attachments.
Diffstat (limited to 'lib/rssaction.php')
-rw-r--r--lib/rssaction.php27
1 files changed, 24 insertions, 3 deletions
diff --git a/lib/rssaction.php b/lib/rssaction.php
index fe3fd6f4a..abc83fe3a 100644
--- a/lib/rssaction.php
+++ b/lib/rssaction.php
@@ -219,7 +219,30 @@ class Rss10Action extends Action
$attachments = $notice->attachments();
if($attachments){
foreach($attachments as $attachment){
- $this->element('enc:enclosure', array('rdf:resource'=>$attachment->url,'enc:type'=>$attachment->mimetype,'enc:length'=>$attachment->size), null);
+ if (isset($attachment->filename)) {
+ // DO NOT move xmlns declaration to root element. Making it
+ // the default namespace here improves compatibility with
+ // real-world feed readers.
+ $attribs = array(
+ 'rdf:resource' => $attachment->url,
+ 'url' => $attachment->url,
+ 'xmlns' => 'http://purl.oclc.org/net/rss_2.0/enc#'
+ );
+ if ($attachment->title) {
+ $attribs['dc:title'] = $attachment->title;
+ }
+ if ($attachment->modified) {
+ $attribs['dc:date'] = common_date_w3dtf($attachment->modified);
+ }
+ if ($attachment->size) {
+ $attribs['length'] = $attachment->size;
+ }
+ if ($attachment->mimetype) {
+ $attribs['type'] = $attachment->mimetype;
+ }
+ $this->element('enclosure', $attribs);
+ }
+ $this->element('sioc:links_to', array('rdf:resource'=>$attachment->url));
}
}
@@ -258,8 +281,6 @@ class Rss10Action extends Action
'http://creativecommons.org/ns#',
'xmlns:content' =>
'http://purl.org/rss/1.0/modules/content/',
- 'xmlns:enc' =>
- 'http://purl.oclc.org/net/rss_2.0/enc#',
'xmlns:foaf' =>
'http://xmlns.com/foaf/0.1/',
'xmlns:sioc' =>