]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/rssaction.php
Profile block base style
[quix0rs-gnu-social.git] / lib / rssaction.php
index ee37f3aa7fe19be60d1d2f400d39d79eabc0fade..f4b5b62d8204e8cf7f83ef9726e5da6bd640d7d7 100644 (file)
@@ -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');
@@ -117,32 +121,45 @@ class Rss10Action extends Action {
        function show_item($notice) {
                $profile = Profile::staticGet($notice->profile_id);
                $nurl = common_local_url('shownotice', array('notice' => $notice->id));
-               $user = User::staticGet($profile->id);
-               if ($user) {
-                       $creator_url = $user->uri;
-               } else {
-                       $creator_url = $profile->profile_url;
-               }
+               $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));
                common_element('dc:date', NULL, common_date_w3dtf($notice->created));
                common_element('dc:creator', NULL, ($profile->fullname) ? $profile->fullname : $profile->nickname);
-               common_element('sioc:has_creator', array('rdf:resource' => $creator_url));
+               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_url] = $profile;
+               $this->creators[$creator_uri] = $profile;
        }
 
        function show_creators() {
                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);
                        }
@@ -152,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();
@@ -165,16 +181,18 @@ 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' =>
                                                                                          'http://rdfs.org/sioc/ns#',
                                                      'xmlns:sioct' =>
                                                      'http://rdfs.org/sioc/types#',
+                                                     'xmlns:laconica' =>
+                                                     'http://laconi.ca/ont/',
                                                                                          'xmlns' => 'http://purl.org/rss/1.0/'));
-               
-               common_element_start('sioc:Site', array('rdf:about' =>
-                                                       'http://identi.ca/'));
+               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');
                common_element('sioc:Container', array('rdf:about' =>