? .svn
? feedapi_node_views_extra_fields.patch
? po/.svn
Index: feedapi_node_views.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feedapi/feedapi_node_views/Attic/feedapi_node_views.module,v
retrieving revision 1.1.2.5
diff -u -r1.1.2.5 feedapi_node_views.module
--- feedapi_node_views.module	11 Apr 2008 19:46:33 -0000	1.1.2.5
+++ feedapi_node_views.module	12 Aug 2008 20:12:08 -0000
@@ -21,9 +21,24 @@
         'field' => 'nid'
       )
     ),
+    'fields' => array(
+      'url' => array(
+        'name' => t('FeedAPI node: Original url'),
+        'handler' => 'feedapi_node_views_handler_field_url',
+           'help' => t('The original url for a feed item'),
+           'option' => array(
+             '#type' => 'select',
+             '#options' => array(
+               'title_link' => t('Item\'s Title with link'),
+               'link' => t('With link'),
+               'nolink' => t('Without link'),
+             ),
+           ),
+        ),
+      ),
     'sorts' => array(
       'timestamp' => array(
-        'name' => t('FeedAPI Item: Time of the news item'),
+        'name' => t('FeedAPI node: Time of the news item'),
         'handler' => 'views_handler_sort_data',
         'option' => views_handler_sort_date_options(),
         'help' => t('Sort by the arrival date for a feed item.')
@@ -43,13 +58,14 @@
     ),
     'fields' => array(
       'feed_nid' => array(
-        'name' => t('Parent feed'),
+        'name' => t('FeedAPI node: Parent feed'),
         'handler' => 'feedapi_node_views_handler_field_feed_nid',
         'option' => array(
           '#type' => 'select',
           '#options' => array(
             'link' => 'As link',
             'nolink_to_feeds' => 'As link to feeds',
+            'link_to_site' => 'As link to site',
             'nolink' => 'Without link',
           ),
         ),
@@ -57,7 +73,7 @@
     ),
     'filters' => array(
       'feed_nid' => array(
-        'name' => t('FeedAPI Item: Parent Feed'),
+        'name' => t('FeedAPI node: Parent Feed'),
         'option' => 'integer',
         'operator' => views_handler_operator_gtlt(),
         'help' => t('This allows you to filter feed items based on parent feed. You should supply the feed\'s nid.'),
@@ -80,9 +96,29 @@
   elseif ($fielddata['options'] == 'nolink_to_feeds') {
     return l($node->title, "feed-item/$node->nid");
   }
+  elseif ($fielddata['options'] == 'link_to_site') {
+   return l($node->title, $node->feed->link);
+  }
   return l($node->title, "node/$node->nid");
 }
 
+/** 
+ * Feed item node URL handler.
+ */
+function feedapi_node_views_handler_field_url($fieldinfo, $fielddata, $value, $data) {
+  $url = $data->feedapi_node_item_url;
+  if( $fielddata['options'] == 'title_link' ) {
+    if( ($node = node_load($data->nid)) ) {
+       return l($node->title, $url);
+     }
+     return l(t('n/a'), $url);
+  }
+  elseif( $fielddata['options'] == 'link' ) {
+    return l($url, $url);
+  }
+  return check_plain($url);
+}
+
 /**
  * Implementation of hook_views_arguments().
  */
