diff -r -N -u ../type_local_nids.orig/type_local_nids.module ./type_local_nids.module --- ../type_local_nids.orig/type_local_nids.module 2009-09-21 13:03:05.000000000 -0500 +++ ./type_local_nids.module 2009-09-21 13:24:00.000000000 -0500 @@ -134,3 +134,9 @@ } } +/** +* Implementation of hook_views_api(). +*/ +function type_local_nids_views_api() { + return array('api' => 2.0); +} diff -r -N -u ../type_local_nids.orig/type_local_nids.views.inc ./type_local_nids.views.inc --- ../type_local_nids.orig/type_local_nids.views.inc 1969-12-31 18:00:00.000000000 -0600 +++ ./type_local_nids.views.inc 2009-09-21 13:24:56.000000000 -0500 @@ -0,0 +1,324 @@ + array( + 'left_field' => 'type', + 'field' => 'type', + ), + 'node' => array( + 'left_field' => 'type', + 'field' => 'type', + 'type' => 'INNER', + ), + ); + + // tables + fields that can be used for SQL Joins to the node_lnid table + // Joins described for a join to the node table. + $data['node_lnid']['table']['join'] = array( + 'node' => array( + 'left_field' => 'nid', + 'field' => 'nid', + ), + ); + + // tables + fields that can be used for SQL Joins to the node_type table + // Joins described for a join to the node table. + $data['node_type']['table']['join'] = array( + 'node' => array( + 'left_field' => 'type', + 'field' => 'type', + 'type' => 'INNER', + ), + 'node_lnid_next' => array( + 'left_field' => 'type', + 'field' => 'type', + ), + ); + + // next_lnid field from the node_lnid_next table + $data['node_lnid_next']['next_lnid'] = array( + 'title' => t('Next lnid'), + 'help' => t('Next lnid that will be assigned. i.e. Number of lnids assigned for type plus 1'), + 'field' => array( + 'handler' => 'views_handler_field_numeric', + 'click sortable' => TRUE, + ), + 'filter' => array( + 'handler' => 'views_handler_filter_numeric', + ), + 'sort' => array( + 'handler' => 'views_handler_sort', + ), + ); + + // lnid field from the node_lnid table + $data['node_lnid']['lnid'] = array( + 'title' => t('lnid'), + 'help' => t('lnid for this node.'), + + 'field' => array( + 'handler' => 'views_handler_field', + 'click sortable' => TRUE, + ), + 'filter' => array( + 'handler' => 'views_handler_filter_string', + ), + 'argument' => array( + 'handler' => 'views_handler_argument_string', + ), + 'sort' => array( + 'handler' => 'views_handler_sort', + ), + ); + + // Type field from the node_type table + $data['node_type']['type'] = array( + 'title' => t('Type'), + 'help' => t('Node type.'), + 'field' => array( + 'handler' => 'views_handler_field', + 'click sortable' => TRUE, + ), + 'filter' => array( + 'handler' => 'views_handler_filter_string', + ), + 'argument' => array( + 'handler' => 'views_handler_argument_string', + ), + 'sort' => array( + 'handler' => 'views_handler_sort', + ), + ); + +// Name field from the node_type table + $data['node_type']['name'] = array( + 'title' => t('Name'), + 'help' => t('Name of Node Type.'), + 'field' => array( + 'handler' => 'views_handler_field', + 'click sortable' => TRUE, + ), + 'filter' => array( + 'handler' => 'views_handler_filter_string', + ), + 'argument' => array( + 'handler' => 'views_handler_argument_string', + ), + 'sort' => array( + 'handler' => 'views_handler_sort', + ), + ); + + // Module field from the node_type table + $data['node_type']['module'] = array( + 'title' => t('Module'), + 'help' => t('Node Types Module.'), + 'field' => array( + 'handler' => 'views_handler_field', + 'click sortable' => TRUE, + ), + 'filter' => array( + 'handler' => 'views_handler_filter_string', + ), + 'argument' => array( + 'handler' => 'views_handler_argument_string', + ), + 'sort' => array( + 'handler' => 'views_handler_sort', + ), + ); + + // Description field from the node_type table + $data['node_type']['description'] = array( + 'title' => t('Description'), + 'help' => t('Description of Node Type.'), + 'field' => array( + 'handler' => 'views_handler_field', + 'click sortable' => TRUE, + ), + 'filter' => array( + 'handler' => 'views_handler_filter_string', + ), + 'argument' => array( + 'handler' => 'views_handler_argument_string', + ), + 'sort' => array( + 'handler' => 'views_handler_sort', + ), + ); + + // Help field from the node_type table + $data['node_type']['help'] = array( + 'title' => t('Help'), + 'help' => t('Help for Node Type.'), + 'field' => array( + 'handler' => 'views_handler_field', + 'click sortable' => TRUE, + ), + 'filter' => array( + 'handler' => 'views_handler_filter_string', + ), + 'argument' => array( + 'handler' => 'views_handler_argument_string', + ), + 'sort' => array( + 'handler' => 'views_handler_sort', + ), + ); + + // has_title field from the node_type table + $data['node_type']['has_title'] = array( + 'title' => t('Has title'), + 'help' => t('Indicator of whether this node type has a title.'), + 'field' => array( + 'handler' => 'views_handler_field_boolean', + 'click sortable' => TRUE, + ), + 'filter' => array( + 'handler' => 'views_handler_filter_numeric', + ), + 'sort' => array( + 'handler' => 'views_handler_sort', + ), + ); + + + // Title_label field from the node_type table + $data['node_type']['title_label'] = array( + 'title' => t('Title label'), + 'help' => t('Title label for Node Type.'), + 'field' => array( + 'handler' => 'views_handler_field', + 'click sortable' => TRUE, + ), + 'filter' => array( + 'handler' => 'views_handler_filter_string', + ), + 'argument' => array( + 'handler' => 'views_handler_argument_string', + ), + 'sort' => array( + 'handler' => 'views_handler_sort', + ), + ); + + // has_body field from the node_type table + $data['node_type']['has_body'] = array( + 'title' => t('Has body'), + 'help' => t('Indicator of whether this node type has a body.'), + 'field' => array( + 'handler' => 'views_handler_field_boolean', + 'click sortable' => TRUE, + ), + 'filter' => array( + 'handler' => 'views_handler_filter_numeric', + ), + 'sort' => array( + 'handler' => 'views_handler_sort', + ), + ); + + // Body_label field from the node_type table + $data['node_type']['body_label'] = array( + 'title' => t('Body label'), + 'help' => t('Body label for Node Type.'), + 'field' => array( + 'handler' => 'views_handler_field', + 'click sortable' => TRUE, + ), + 'filter' => array( + 'handler' => 'views_handler_filter_string', + ), + 'argument' => array( + 'handler' => 'views_handler_argument_string', + ), + 'sort' => array( + 'handler' => 'views_handler_sort', + ), + ); + + // min_word_count field from the node_type table + $data['node_type']['min_word_count'] = array( + 'title' => t('Min word count'), + 'help' => t('Minimum word count for the body of this node type.'), + 'field' => array( + 'handler' => 'views_handler_field_numeric', + 'click sortable' => TRUE, + ), + 'filter' => array( + 'handler' => 'views_handler_filter_numeric', + ), + 'sort' => array( + 'handler' => 'views_handler_sort', + ), + ); + + // Use node_type as a new base table + // by creating a new views type called 'Node type' + // This allows it to be selected as the 'view type' + // when you initially add a new view. + $data['node_type']['table']['base'] = array( + 'field' => 'type', + 'title' => t('Node type'), + 'help' => t("Information relating to each defined node type."), + 'weight' => 9, + ); + +// Note: No relationships to other tables have been added. +// Whenever a relationship was added, Views would refuse to show Node type: type +// as a field that could be added to a view ???? +// If a relationship to the node or other tables is required then views should be started +// using the Views Node type rather than the above Views Node type type. + + return $data; +} +?>