Index: server/views/pifr_server.views.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/project_issue_file_review/server/views/pifr_server.views.inc,v
retrieving revision 1.19
diff -u -r1.19 pifr_server.views.inc
--- server/views/pifr_server.views.inc	19 Dec 2009 01:30:53 -0000	1.19
+++ server/views/pifr_server.views.inc	22 Dec 2009 21:21:37 -0000
@@ -849,3 +849,24 @@
     ),
   );
 }
+
+/**
+ * Implementation of hook_views_plugins
+ */
+function pifr_server_views_plugins() {
+  return array(
+    'module' => 'pifr_server',
+    'row' => array(
+      'node_rss' => array(
+        'title' => t('PIFR log'),
+        'help' => t('Includes standard PIFR log fields.'),
+        'handler' => 'views_plugin_row_pifr_log_rss',
+        'path' => drupal_get_path('module', 'pifr_server') . '/views/plugins',
+        'theme' => 'views_view_row_rss',
+        'base' => array('pifr_log'),
+        'uses options' => FALSE,
+        'type' => 'feed',
+      ),
+    ),
+  );
+}
Index: server/views/plugins/views_handler_row_pifr_log_rss.inc
===================================================================
RCS file: server/views/plugins/views_handler_row_pifr_log_rss.inc
diff -N server/views/plugins/views_handler_row_pifr_log_rss.inc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ server/views/plugins/views_handler_row_pifr_log_rss.inc	1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,68 @@
+<?php
+// $Id$
+
+/**
+ * @file
+ * Contains the PIFR log RSS row style plugin.
+ *
+ * @author Jimmy Berry ("boombatower", http://drupal.org/user/214218)
+ */
+
+/**
+ * Contains the PIFR log RSS row style plugin.
+ */
+class views_plugin_row_pifr_log_rss extends views_plugin_row {
+  // Basic properties that let the row style follow relationships.
+  var $base_table = 'node';
+  var $base_field = 'nid';
+
+  function render($row) {
+    return 'YEA!';
+
+    $item = new stdClass();
+    $item->title = $node->title;
+    $item->link = url("node/$row->nid", array('absolute' => TRUE));
+
+    // Allow modules to add additional item fields and/or modify $item
+    $extra = node_invoke_nodeapi($node, 'rss item');
+    $item->elements = array_merge($extra,
+      array(
+        array('key' => 'pubDate', 'value' => gmdate('r', $node->created)),
+        array(
+          'key' => 'dc:creator',
+          'value' => $node->name,
+          'namespace' => array('xmlns:dc' => 'http://purl.org/dc/elements/1.1/'),
+        ),
+        array(
+          'key' => 'guid',
+          'value' => $node->nid . ' at ' . $base_url,
+          'attributes' => array('isPermaLink' => 'false')
+        ),
+      )
+    );
+
+    foreach ($item->elements as $element) {
+      if (isset($element['namespace'])) {
+        $this->view->style_plugin->namespaces = array_merge($this->view->style_plugin->namespaces, $element['namespace']);
+      }
+    }
+
+    // Prepare the item description
+    switch ($item_length) {
+      case 'fulltext':
+        $item->description = $node->body;
+        break;
+      case 'teaser':
+        $item->description = $node->teaser;
+        if (!empty($item->readmore)) {
+          $item->description .= '<p>' . l(t('read more'), 'node/' . $item->nid, array('absolute' => TRUE, 'attributes' => array('target' => '_blank'))) . '</p>';
+        }
+        break;
+      case 'title':
+        $item->description = '';
+        break;
+    }
+
+    return theme($this->theme_functions(), $this->view, $this->options, $item);
+  }
+}
