function aggregator_views_data

Implements hook_views_data().

File

modules/aggregator.views.inc, line 13

Code

function aggregator_views_data() {
    // ----------------------------------------------------------------------
    // Main Aggregator Item base table.
    // Define the base group of this table. Fields that don't have a group
    // defined will go into this field by default.
    $data['aggregator_item']['table']['group'] = t('Aggregator');
    // Advertise this table as a possible base table.
    $data['aggregator_item']['table']['base'] = array(
        'field' => 'iid',
        'title' => t('Aggregator item'),
        'help' => t("Aggregator items are imported from external RSS and Atom news feeds."),
    );
    // ----------------------------------------------------------------
    // Fields
    // Item ID / 'iid'.
    $data['aggregator_item']['iid'] = array(
        // The item it appears as on the UI.
'title' => t('Item ID'),
        // The help that appears on the UI.
'help' => t('The unique ID of the aggregator item.'),
        // Information for displaying the iid.
'field' => array(
            'handler' => 'views_handler_field_numeric',
            'click sortable' => TRUE,
        ),
        // Information for accepting a iid as an argument.
'argument' => array(
            'handler' => 'views_handler_argument_aggregator_iid',
            'name field' => 'title',
            // The field to display in the summary.
'numeric' => TRUE,
        ),
        // Information for accepting a nid as a filter.
'filter' => array(
            'handler' => 'views_handler_filter_numeric',
        ),
        // Information for sorting on a nid.
'sort' => array(
            'handler' => 'views_handler_sort',
        ),
    );
    // Title.
    $data['aggregator_item']['title'] = array(
        // The item it appears as on the UI.
'title' => t('Title'),
        'help' => t('The title of the aggregator item.'),
        // Information for displaying a title as a field.
'field' => array(
            'handler' => 'views_handler_field_aggregator_title_link',
            'extra' => array(
                'link',
            ),
            'click sortable' => TRUE,
        ),
        'sort' => array(
            'handler' => 'views_handler_sort',
        ),
        // Information for accepting a title as a filter.
'filter' => array(
            'handler' => 'views_handler_filter_string',
        ),
    );
    // Link.
    $data['aggregator_item']['link'] = array(
        // The item it appears as on the UI.
'title' => t('Link'),
        'help' => t('The link to the original source URL of the item.'),
        'field' => array(
            'handler' => 'views_handler_field_url',
            'click sortable' => TRUE,
        ),
        'sort' => array(
            'handler' => 'views_handler_sort',
        ),
        // Information for accepting a title as a filter.
'filter' => array(
            'handler' => 'views_handler_filter_string',
        ),
    );
    // Author.
    $data['aggregator_item']['author'] = array(
        // The item it appears as on the UI.
'title' => t('Author'),
        'help' => t('The author of the original imported item.'),
        // Information for displaying a title as a field.
'field' => array(
            'handler' => 'views_handler_field_aggregator_xss',
            'click sortable' => TRUE,
        ),
        'sort' => array(
            'handler' => 'views_handler_sort',
        ),
        // Information for accepting a title as a filter.
'filter' => array(
            'handler' => 'views_handler_filter_string',
        ),
        'argument' => array(
            'handler' => 'views_handler_argument_string',
        ),
    );
    // 'guid'.
    $data['aggregator_item']['guid'] = array(
        // The item it appears as on the UI.
'title' => t('GUID'),
        'help' => t('The guid of the original imported item.'),
        // Information for displaying a title as a field.
'field' => array(
            'handler' => 'views_handler_field_xss',
            'click sortable' => TRUE,
        ),
        'sort' => array(
            'handler' => 'views_handler_sort',
        ),
        // Information for accepting a title as a filter.
'filter' => array(
            'handler' => 'views_handler_filter_string',
        ),
        'argument' => array(
            'handler' => 'views_handler_argument_string',
        ),
    );
    // Feed body.
    $data['aggregator_item']['description'] = array(
        // The item it appears as on the UI.
'title' => t('Body'),
        'help' => t('The actual content of the imported item.'),
        // Information for displaying a title as a field.
'field' => array(
            'handler' => 'views_handler_field_aggregator_xss',
            'click sortable' => FALSE,
        ),
        // Information for accepting a title as a filter.
'filter' => array(
            'handler' => 'views_handler_filter_string',
        ),
    );
    // Item timestamp.
    $data['aggregator_item']['timestamp'] = array(
        // The item it appears as on the UI.
'title' => t('Timestamp'),
        'help' => t('The date the original feed item was posted. (With some feeds, this will be the date it was imported.)'),
        // Information for displaying a title as a field.
'field' => array(
            'handler' => 'views_handler_field_date',
            'click sortable' => TRUE,
        ),
        'sort' => array(
            'handler' => 'views_handler_sort_date',
        ),
        // Information for accepting a title as a filter.
'filter' => array(
            'handler' => 'views_handler_filter_date',
        ),
        'argument' => array(
            'handler' => 'views_handler_argument_date',
        ),
    );
    // ----------------------------------------------------------------------
    // Aggregator feed table.
    $data['aggregator_feed']['table']['group'] = t('Aggregator feed');
    // Explain how this table joins to others.
    $data['aggregator_feed']['table']['join'] = array(
        'aggregator_item' => array(
            'left_field' => 'fid',
            'field' => 'fid',
        ),
    );
    // Feed ID / 'fid'.
    $data['aggregator_feed']['fid'] = array(
        // The item it appears as on the UI.
'title' => t('Feed ID'),
        // The help that appears on the UI.
'help' => t('The unique ID of the aggregator feed.'),
        // Information for displaying the fid.
'field' => array(
            'handler' => 'views_handler_field_numeric',
            'click sortable' => TRUE,
        ),
        // Information for accepting a fid as an argument.
'argument' => array(
            'handler' => 'views_handler_argument_aggregator_fid',
            'name field' => 'title',
            // The field to display in the summary.
'numeric' => TRUE,
        ),
        // Information for accepting a nid as a filter.
'filter' => array(
            'handler' => 'views_handler_filter_numeric',
        ),
        // Information for sorting on a fid.
'sort' => array(
            'handler' => 'views_handler_sort',
        ),
    );
    // Title.
    $data['aggregator_feed']['title'] = array(
        // The item it appears as on the UI.
'title' => t('Title'),
        // The help that appears on the UI.
'help' => t('The title of the aggregator feed.'),
        // Information for displaying a title as a field.
'field' => array(
            'handler' => 'views_handler_field_aggregator_title_link',
            'extra' => array(
                'link',
            ),
            'click sortable' => TRUE,
        ),
        'sort' => array(
            'handler' => 'views_handler_sort',
        ),
        // Information for accepting a title as a filter.
'filter' => array(
            'handler' => 'views_handler_filter_string',
        ),
        'argument' => array(
            'handler' => 'views_handler_argument_string',
        ),
    );
    // Link.
    $data['aggregator_feed']['link'] = array(
        // The item it appears as on the UI.
'title' => t('Link'),
        'help' => t('The link to the source URL of the feed.'),
        // Information for displaying a title as a field.
'field' => array(
            'handler' => 'views_handler_field_url',
            'click sortable' => TRUE,
        ),
        'sort' => array(
            'handler' => 'views_handler_sort',
        ),
        'filter' => array(
            'handler' => 'views_handler_filter_string',
        ),
    );
    // Feed last updated.
    $data['aggregator_feed']['checked'] = array(
        // The item it appears as on the UI.
'title' => t('Last checked'),
        'help' => t('The date the feed was last checked for new content.'),
        // Information for displaying a title as a field.
'field' => array(
            'handler' => 'views_handler_field_date',
            'click sortable' => TRUE,
        ),
        'sort' => array(
            'handler' => 'views_handler_sort_date',
        ),
        'filter' => array(
            'handler' => 'views_handler_filter_date',
        ),
        'argument' => array(
            'handler' => 'views_handler_argument_date',
        ),
    );
    // Feed description.
    $data['aggregator_feed']['description'] = array(
        // The item it appears as on the UI.
'title' => t('Description'),
        'help' => t('The description of the aggregator feed.'),
        // Information for displaying a title as a field.
'field' => array(
            'handler' => 'views_handler_field_xss',
            'click sortable' => FALSE,
        ),
        'filter' => array(
            'handler' => 'views_handler_filter_string',
        ),
    );
    // Feed last updated.
    $data['aggregator_feed']['modified'] = array(
        // The item it appears as on the UI.
'title' => t('Last modified'),
        'help' => t('The date of the most recent new content on the feed.'),
        // Information for displaying a title as a field.
'field' => array(
            'handler' => 'views_handler_field_date',
            'click sortable' => TRUE,
        ),
        'sort' => array(
            'handler' => 'views_handler_sort_date',
        ),
        // Information for accepting a title as a filter.
'filter' => array(
            'handler' => 'views_handler_filter_date',
        ),
        'argument' => array(
            'handler' => 'views_handler_argument_date',
        ),
    );
    // ----------------------------------------------------------------------
    // Aggregator category feed table.
    $data['aggregator_category_feed']['table']['join'] = array(
        'aggregator_item' => array(
            'left_field' => 'fid',
            'field' => 'fid',
        ),
    );
    // ----------------------------------------------------------------------
    // Aggregator category table.
    $data['aggregator_category']['table']['group'] = t('Aggregator category');
    $data['aggregator_category']['table']['join'] = array(
        'aggregator_item' => array(
            'left_table' => 'aggregator_category_feed',
            'left_field' => 'cid',
            'field' => 'cid',
        ),
    );
    // Category ID / 'cid'.
    $data['aggregator_category']['cid'] = array(
        'title' => t('Category ID'),
        'help' => t('The unique ID of the aggregator category.'),
        'field' => array(
            'handler' => 'views_handler_field_numeric',
            'click sortable' => TRUE,
        ),
        'argument' => array(
            'handler' => 'views_handler_argument_aggregator_category_cid',
            'name field' => 'title',
            'numeric' => TRUE,
        ),
        'filter' => array(
            'handler' => 'views_handler_filter_aggregator_category_cid',
        ),
        'sort' => array(
            'handler' => 'views_handler_sort',
        ),
    );
    // Title.
    $data['aggregator_category']['title'] = array(
        'title' => t('Category'),
        'help' => t('The title of the aggregator category.'),
        'field' => array(
            'handler' => 'views_handler_field_aggregator_category',
            'click sortable' => TRUE,
        ),
        'sort' => array(
            'handler' => 'views_handler_sort',
        ),
        'filter' => array(
            'handler' => 'views_handler_filter_string',
        ),
    );
    return $data;
}