diff -up feedapi_node_views.5.x/feedapi_node_views.info feedapi_node_views/feedapi_node_views.info --- feedapi_node_views.5.x/feedapi_node_views.info 2008-04-15 06:00:22.000000000 +1000 +++ feedapi_node_views/feedapi_node_views.info 2008-07-26 11:18:34.000000000 +1000 @@ -1,11 +1,14 @@ ; $Id: feedapi_node_views.info,v 1.1.2.4 2008/04/11 19:46:33 aronnovak Exp $ name = "FeedAPI Node Views" description = "Integrates Views module with FeedAPI Node. Allows you to use views to create your own listings of feed items. In development." -package = FeedAPI Add On -dependencies = feedapi feedapi_node views +package = "FeedAPI Add On" +dependencies[] = feedapi +dependencies[] = feedapi_node +dependencies[] = views ; Information added by drupal.org packaging script on 2008-04-14 -version = "5.x-1.2" +version = "6.x-1.2" +core = "6.x" project = "feedapi" datestamp = "1208203222" diff -up feedapi_node_views.5.x/feedapi_node_views.module feedapi_node_views/feedapi_node_views.module --- feedapi_node_views.5.x/feedapi_node_views.module 2008-04-12 05:46:33.000000000 +1000 +++ feedapi_node_views/feedapi_node_views.module 2008-08-16 06:57:38.000000000 +1000 @@ -2,193 +2,13 @@ // $Id: feedapi_node_views.module,v 1.1.2.5 2008/04/11 19:46:33 aronnovak Exp $ /** + * @file * Add views functionality to FeedAPI Node + * * Offer feed-related arguments */ /** - * Implementation of hook_views_tables(). - */ -function feedapi_node_views_views_tables() { - $tables['feedapi_node_item'] = array( - 'name' => 'feedapi_node_item', - 'join' => array( - 'left' => array( - 'table' => 'node', - 'field' => 'nid' - ), - 'right' => array( - 'field' => 'nid' - ) - ), - 'sorts' => array( - 'timestamp' => array( - 'name' => t('FeedAPI Item: 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.') - ) - ) - ); - $tables['feedapi_node_item_feed'] = array( - 'name' => 'feedapi_node_item_feed', - 'join' => array( - 'left' => array( - 'table' => 'node', - 'field' => 'nid', - ), - 'right' => array( - 'field' => 'feed_item_nid' - ) - ), - 'fields' => array( - 'feed_nid' => array( - 'name' => t('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', - 'nolink' => 'Without link', - ), - ), - ), - ), - 'filters' => array( - 'feed_nid' => array( - 'name' => t('FeedAPI Item: 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.'), - ) - ) - ); - return $tables; -} - -/** - * feed_nid handler - */ -function feedapi_node_views_handler_field_feed_nid($fieldinfo, $fielddata, $value, $data) { - if (!$node = node_load($value)) { - return; - } - if ($fielddata['options'] == 'nolink') { - return check_plain($node->title); - } - elseif ($fielddata['options'] == 'nolink_to_feeds') { - return l($node->title, "feed-item/$node->nid"); - } - return l($node->title, "node/$node->nid"); -} - -/** - * Implementation of hook_views_arguments(). - */ -function feedapi_node_views_views_arguments() { - $arguments = array( - 'feed_nid' => array( - 'name' => t('FeedAPI Item: Parent Feed'), - 'handler' => 'views_handler_arg_feed_nid', - 'help' => t('This argument will find all feed items for the specified feed node id.'), - ), - ); - return $arguments; -} - -/** - * Pass in a URL argument to find all feed items for a specific feed node id. - */ -function views_handler_arg_feed_nid($op, &$query, $a1, $a2 = '') { - switch ($op) { - case 'summary': - $query->ensure_table('feedapi_node_item'); - $query->add_field('feed_nid', 'feedapi_node_item'); - $query->add_field('title', 'node'); - $query->add_where('feedapi.nid IS NOT NULL'); - $fieldinfo['field'] = 'node.nid'; - return $fieldinfo; - case 'sort': - $query->add_orderby('feedapi_node_item', 'timestamp', $a1); - break; - case 'filter': - $join = array(); - $join['left']['table'] = 'node'; - $join['left']['field'] = 'nid'; - $join['right']['table'] = 'feedapi_node_item_feed'; - $join['right']['field'] = 'feed_item_nid'; - $query->add_table('feedapi_node_item_feed', TRUE, 1, $join); - $query->add_field('feed_item_nid', 'feedapi_node_item_feed'); - $query->add_where('feedapi_node_item_feed.feed_nid = %d', $a2); - break; - case 'link': - $query->num_nodes .= format_plural($query->num_nodes, ' item', ' items'); - return l($query->title, "$a2/$query->fpnid"); - case 'title': - if ($query) { - $title = db_result(db_query('SELECT title FROM {node} WHERE nid = %d', $query)); - return check_plain($title); - } - } -} - -/* - * Format a field as a link to the book parent node - */ -function views_handler_field_feed_parent_title($fieldinfo, $fielddata, $value, $data) { - return l($value, "node/$data->feed_parent_node_nid"); -} - -function views_handler_field_feed_parent_title_nl($fieldinfo, $fielddata, $value, $data) { - return check_plain($value); -} - -/** - * Implementation of hook_views_default_views(). - */ -function feedapi_node_views_views_default_views() { - // feeds overview page - $view = new stdClass(); - $view->name = 'feeds'; - $view->description = t('Show a listing of all feed items for a feed'); - $view->access = array(); - $view->view_args_php = ''; - $view->page = TRUE; - $view->page_title = t('Feed items'); - $view->page_header = ''; - $view->page_header_format = '1'; - $view->page_footer = ''; - $view->page_footer_format = '1'; - $view->page_empty = t('No feed items found.'); - $view->page_empty_format = '1'; - $view->page_type = 'teaser'; - $view->url = 'feed-item'; - $view->use_pager = TRUE; - $view->nodes_per_page = '10'; - $view->sort = array( - array( - 'tablename' => 'node', - 'field' => 'created', - 'sortorder' => 'DESC', - 'options' => 'normal', - ), - ); - $view->argument = array( - array( - 'type' => 'feed_nid', - 'argdefault' => -1, - 'title' => '%1', - 'options' => '', - 'wildcard' => '', - 'wildcard_substitution' => '', - ), - ); - $views[$view->name] = $view; - return $views; -} - -/** * Implementation of hook_link(). * Provide link for feedapi_node processor's feed to get instant access to default view */ Only in feedapi_node_views: feedapi_node_views.views_default.inc Only in feedapi_node_views: feedapi_node_views.views.inc Only in feedapi_node_views.5.x: po Only in feedapi_node_views: translations