diff U7 C:/Documents and Settings/The Hammer/Local Settings/Temp/TCV34395.tmp/feedapi_node_views.1.1.2.7.module C:/Documents and Settings/The Hammer/Desktop/contributions/modules/feedapi/feedapi_node_views/feedapi_node_views.module --- C:/Documents and Settings/The Hammer/Local Settings/Temp/TCV34395.tmp/feedapi_node_views.1.1.2.7.module Thu Aug 21 10:14:25 2008 +++ C:/Documents and Settings/The Hammer/Desktop/contributions/modules/feedapi/feedapi_node_views/feedapi_node_views.module Sat Sep 20 11:15:09 2008 @@ -69,19 +69,28 @@ 'nolink' => 'Without link', ), ), ), ), 'filters' => array( 'feed_nid' => array( - 'name' => t('FeedAPI node: Parent Feed'), + 'name' => t('FeedAPI node: Parent Feed ID'), '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.'), - ) + ), + 'feed_nid_title' => array( + 'name' => t('FeedAPI Item: Parent Feed Title'), + 'field' => 'feed_nid', + 'list' => 'feedapi_views_handler_filter_feed_title', + 'list-type' => 'list', + 'operator' => 'views_handler_operator_or', + 'value-type' => 'array', + 'help' => t('This allows you to filter feed items based on parent feed title.'), + ), ) ); return $tables; } /** * feed_nid handler @@ -236,8 +245,20 @@ 'title' => t('Feed items'), 'href' => 'feed-item/'. $node->nid ); } } return $links; } +} + +/** + * Handler for filtering by parent feed title. Lists available parent feeds. + */ +function feedapi_views_handler_filter_feed_title() { + $result = db_query("SELECT * FROM {node} n INNER JOIN {feedapi} f ON n.nid = f.nid"); + $nodes = array(); + while ($node = db_fetch_object($result)) { + $nodes[$node->nid] = $node->title; + } + return $nodes; }