X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Frssaction.php;h=f4b5b62d8204e8cf7f83ef9726e5da6bd640d7d7;hb=2abe10b8ea4b5d69fc7f6513bf465541454ca2cf;hp=e8a3aca70bd3ea500ce9ba1b76feded45dfce064;hpb=e5f26f8b2e83aef1c30ec0f2e6ebf70aff9eb233;p=quix0rs-gnu-social.git diff --git a/lib/rssaction.php b/lib/rssaction.php index e8a3aca70b..f4b5b62d82 100644 --- a/lib/rssaction.php +++ b/lib/rssaction.php @@ -25,7 +25,11 @@ class Rss10Action extends Action { # This will contain the details of each feed item's author and be used to generate SIOC data. var $creators = array(); - + + function is_readonly() { + return true; + } + function handle($args) { parent::handle($args); $limit = (int) $this->trimmed('limit'); @@ -119,7 +123,7 @@ class Rss10Action extends Action { $nurl = common_local_url('shownotice', array('notice' => $notice->id)); $creator_uri = common_profile_uri($profile); common_element_start('item', array('rdf:about' => $notice->uri)); - $title = $profile->nickname . ': ' . $notice->content; + $title = $profile->nickname . ': ' . common_xml_safe_str($notice->content); common_element('title', NULL, $title); common_element('link', NULL, $nurl); common_element('description', NULL, $profile->nickname."'s status on ".common_exact_date($notice->created)); @@ -128,6 +132,24 @@ class Rss10Action extends Action { common_element('sioc:has_creator', array('rdf:resource' => $creator_uri)); common_element('laconica:postIcon', array('rdf:resource' => common_profile_avatar_url($profile))); common_element('cc:licence', array('rdf:resource' => common_config('license', 'url'))); + common_element_start('content:items'); + common_element_start('rdf:Bag'); + common_element_start('rdf:li'); + common_element_start('content:item'); + common_element('content:format', array('rdf:resource' => + 'http://www.w3.org/1999/xhtml')); + common_text($notice->rendered); + common_element_end('content:item'); + common_element_end('rdf:li'); + common_element_start('rdf:li'); + common_element_start('content:item'); + common_element('content:format', array('rdf:resource' => + 'http://www.isi.edu/in-notes/iana/assignments/media-types/text/plain')); + common_text(common_xml_safe_str($notice->content)); + common_element_end('content:item'); + common_element_end('rdf:li'); + common_element_end('rdf:Bag'); + common_element_end('content:items'); common_element_end('item'); $this->creators[$creator_uri] = $profile; } @@ -136,9 +158,8 @@ class Rss10Action extends Action { foreach ($this->creators as $uri => $profile) { $id = $profile->id; $nickname = $profile->nickname; - common_element_start('sioc:User', array('rdf:about' => $uri)); - common_element('foaf:nick', NULL, $nickname); + common_element('foaf:nick', NULL, $nickname); if ($profile->fullname) { common_element('foaf:name', NULL, $profile->fullname); } @@ -148,10 +169,9 @@ class Rss10Action extends Action { common_element_end('sioc:User'); } } - + function init_rss() { $channel = $this->get_channel(); - header('Content-Type: application/rdf+xml'); common_start_xml(); @@ -161,6 +181,8 @@ class Rss10Action extends Action { 'http://purl.org/dc/elements/1.1/', 'xmlns:cc' => 'http://web.resource.org/cc/', + 'xmlns:content' => + 'http://purl.org/rss/1.0/modules/content/', 'xmlns:foaf' => 'http://xmlns.com/foaf/0.1/', 'xmlns:sioc' => @@ -170,7 +192,6 @@ class Rss10Action extends Action { 'xmlns:laconica' => 'http://laconi.ca/ont/', 'xmlns' => 'http://purl.org/rss/1.0/')); - common_element_start('sioc:Site', array('rdf:about' => common_root_url())); common_element('sioc:name', NULL, common_config('site', 'name')); common_element_start('sioc:container_of');