Tripal v1.0 (6.x-1.0)
chado_linking.TMP.inc File Reference

Go to the source code of this file.

Functions

 tripal_views_TEMPORARY_chado_linking_data ($data)

Detailed Description

This is a temporary function holding all the old-style views integration needed to link the base tables to their node. This will remain to keep things working until it has been best determined how to do this via the new tripal_views integration

It's called att the bottom of tripal_views_views_data()

Definition in file chado_linking.TMP.inc.


Function Documentation

tripal_views_TEMPORARY_chado_linking_data ( data)

Definition at line 11 of file chado_linking.TMP.inc.

                                                          {
  global $db_url;

  // if the chado database is not local to the drupal database
  // then we need to set the database name.  This should always
  // be 'chado'.
  if (is_array($db_url) and array_key_exists('chado', $db_url)) {
    // return empty data array b/c if chado is external then no join to the nodetable can be made
    return $data;
  }

  // FEATURE ====================================
  if (module_exists('tripal_feature')) {
    // Basic table definition
    $data['chado_feature']['table'] = array(
      'field' => 'nid',
      'group' => 'Chado Feature'
    );

    $data['chado_feature']['nid'] = array(
      'title' => t('Feature Node ID'),
      'help' => t('The node ID for this feature'),
      'field' => array(
        'handler' => 'views_handler_field_numeric',
        'click sortable' => TRUE,
      ),
      'filter' => array(
        'handler' => 'views_handler_filter_numeric',
      ),
      'sort' => array(
        'handler' => 'views_handler_sort',
      ),
    );

    // Note: No joins need to be made from $data['feature']['table']

    // Join the chado feature table to feature
    $data['chado_feature']['table']['join']['feature'] = array(
      'left_field' => 'feature_id',
      'field' => 'feature_id',
    );

    // Join the node table to chado feature
    $data['node']['table']['join']['chado_feature'] = array(
      'left_field' => 'nid',
      'field' => 'nid',
    );

    // Join the node table to feature
    $data['node']['table']['join']['feature'] = array(
      'left_table' => 'chado_feature',
      'left_field' => 'nid',
      'field' => 'nid',
    );

    // Add relationship between chado_feature and feature
    $data['chado_feature']['feature_nid'] = array(
      'group' => 'Feature',
      'title' => 'Feature Node',
      'help' => 'Links Chado Feature Fields/Data to the Nodes in the current View.',
      'real field' => 'feature_id',
      'relationship' => array(
        'handler' => 'views_handler_relationship',
        'title' => t('Chado => Feature'),
        'label' => t('Chado => Feature'),
        'real field' => 'feature_id',
        'base' => 'feature',
        'base field' => 'feature_id'
      ),
    );

    // Add node relationship to feature
    $data['chado_feature']['feature_chado_nid'] = array(
      'group' => 'Feature',
      'title' => 'Feature Node',
      'help' => 'Links Chado Feature Fields/Data to the Nodes in the current View.',
      'real field' => 'nid',
      'relationship' => array(
        'handler' => 'views_handler_relationship',
        'title' => t('Chado => Node'),
        'label' => t('Chado => Node'),
        'real field' => 'nid',
        'base' => 'node',
        'base field' => 'nid'
      ),
    );
  }

  // ANALYSIS ===================================
  if (module_exists('tripal_analysis')) {
    // Basic table definition
    $data['chado_analysis']['table'] = array(
      'field' => 'nid',
      'group' => 'Chado Analysis'
    );

    $data['chado_analysis']['nid'] = array(
      'title' => t('Analysis Node ID'),
      'help' => t('The node ID for this analysis'),
      'field' => array(
        'handler' => 'views_handler_field_numeric',
        'click sortable' => TRUE,
      ),
      'filter' => array(
        'handler' => 'views_handler_filter_numeric',
      ),
      'sort' => array(
        'handler' => 'views_handler_sort',
      ),
    );

    // Note: No joins need to be made from $data['analysis']['table']

    // Join the chado analysis table to analysis
    $data['chado_analysis']['table']['join']['analysis'] = array(
      'left_field' => 'analysis_id',
      'field' => 'analysis_id',
    );

    // Join the node table to chado analysis
    $data['node']['table']['join']['chado_analysis'] = array(
      'left_field' => 'nid',
      'field' => 'nid',
    );

    // Join the node table to analysis
    $data['node']['table']['join']['analysis'] = array(
      'left_table' => 'chado_analysis',
      'left_field' => 'nid',
      'field' => 'nid',
    );

    // Add relationship between chado_analysis and analysis
    $data['chado_analysis']['analysis_nid'] = array(
      'group' => 'Analysis',
      'title' => 'Analysis Node',
      'help' => 'Links Chado Analysis Fields/Data to the Nodes in the current View.',
      'real field' => 'analysis_id',
      'relationship' => array(
        'handler' => 'views_handler_relationship',
        'title' => t('Chado => Analysis'),
        'label' => t('Chado => Analysis'),
        'real field' => 'analysis_id',
        'base' => 'analysis',
        'base field' => 'analysis_id'
      ),
    );

    // Add node relationship to analysis
    $data['chado_analysis']['analysis_chado_nid'] = array(
      'group' => 'Analysis',
      'title' => 'Analysis Node',
      'help' => 'Links Chado Analysis Fields/Data to the Nodes in the current View.',
      'real field' => 'nid',
      'relationship' => array(
        'handler' => 'views_handler_relationship',
        'title' => t('Chado => Node'),
        'label' => t('Chado => Node'),
        'real field' => 'nid',
        'base' => 'node',
        'base field' => 'nid'
      ),
    );
  }

  // ORGANISM ===================================
  if (module_exists('tripal_organism')) {
    // Basic table definition
    $data['chado_organism']['table'] = array(
      'field' => 'nid',
      'group' => 'Chado Organism'
    );

    $data['chado_organism']['nid'] = array(
      'title' => t('Organism Node ID'),
      'help' => t('The node ID for this organism'),
      'field' => array(
        'handler' => 'views_handler_field_numeric',
        'click sortable' => TRUE,
      ),
      'filter' => array(
        'handler' => 'views_handler_filter_numeric',
      ),
      'sort' => array(
        'handler' => 'views_handler_sort',
      ),
    );

    // Note: No joins need to be made from $data['organism']['table']

    // Join the chado organism table to organism
    $data['chado_organism']['table']['join']['organism'] = array(
      'left_field' => 'organism_id',
      'field' => 'organism_id',
    );

    // Join the node table to chado organism
    $data['node']['table']['join']['chado_organism'] = array(
      'left_field' => 'nid',
      'field' => 'nid',
    );

    // Join the node table to organism
    $data['node']['table']['join']['organism'] = array(
      'left_table' => 'chado_organism',
      'left_field' => 'nid',
      'field' => 'nid',
    );

    // Add relationship between chado_organism and organism
    $data['chado_organism']['organism_id'] = array(
      'group' => 'Organism',
      'title' => 'Organism Node',
      'help' => 'Links Chado Organism Fields/Data to the Nodes in the current View.',
      'real field' => 'organism_id',
      'relationship' => array(
        'handler' => 'views_handler_relationship',
        'title' => t('Chado => Organism'),
        'label' => t('Chado => Organism'),
        'real field' => 'organism_id',
        'base' => 'organism',
        'base field' => 'organism_id'
      ),
    );
  /*
    // Add node relationship to organism
    $data['chado_organism']['nid'] = array(
      'group' => 'Organism',
      'title' => 'Organism Node',
      'help' => 'Links Chado Organism Fields/Data to the Nodes in the current View.',
      'real field' => 'nid',
      'relationship' => array(
        'handler' => 'views_handler_relationship',
        'title' => t('Chado => Node'),
        'label' => t('Chado => Node'),
        'real field' => 'nid',
        'base' => 'node',
        'base field' => 'nid'
      ),
    );
  */
  }

  // LIBRARY ====================================
  if (module_exists('tripal_library')) {
    // Basic table definition
    $data['chado_library']['table'] = array(
      'field' => 'nid',
      'group' => 'Chado Library'
    );

    $data['chado_library']['nid'] = array(
      'title' => t('Library Node ID'),
      'help' => t('The node ID for this library'),
      'field' => array(
        'handler' => 'views_handler_field_numeric',
        'click sortable' => TRUE,
      ),
      'filter' => array(
        'handler' => 'views_handler_filter_numeric',
      ),
      'sort' => array(
        'handler' => 'views_handler_sort',
      ),
    );

    // Note: No joins need to be made from $data['library']['table']

    // Join the chado library table to library
    $data['chado_library']['table']['join']['library'] = array(
      'left_field' => 'library_id',
      'field' => 'library_id',
    );

    // Join the node table to chado library
    $data['node']['table']['join']['chado_library'] = array(
      'left_field' => 'nid',
      'field' => 'nid',
    );

    // Join the node table to library
    $data['node']['table']['join']['library'] = array(
      'left_table' => 'chado_library',
      'left_field' => 'nid',
      'field' => 'nid',
    );

    // Add relationship between chado_library and library
    $data['chado_library']['library_nid'] = array(
      'group' => 'Library',
      'title' => 'Library Node',
      'help' => 'Links Chado Library Fields/Data to the Nodes in the current View.',
      'real field' => 'library_id',
      'relationship' => array(
        'handler' => 'views_handler_relationship',
        'title' => t('Chado => Library'),
        'label' => t('Chado => Library'),
        'real field' => 'library_id',
        'base' => 'library',
        'base field' => 'library_id'
      ),
    );

    // Add node relationship to library
    $data['chado_library']['library_chado_nid'] = array(
      'group' => 'Library',
      'title' => 'Library Node',
      'help' => 'Links Chado Library Fields/Data to the Nodes in the current View.',
      'real field' => 'nid',
      'relationship' => array(
        'handler' => 'views_handler_relationship',
        'title' => t('Chado => Node'),
        'label' => t('Chado => Node'),
        'real field' => 'nid',
        'base' => 'node',
        'base field' => 'nid'
      ),
    );
  }

  // STOCK ======================================
  if (module_exists('tripal_stock')) {
    // Basic table definition
    $data['chado_stock']['table'] = array(
      'field' => 'stock_id',
      'group' => 'Chado Stock',
    );

    $data['chado_stock']['nid'] = array(
      'title' => t('Stock Node ID'),
      'help' => t('The node ID for this analysis'),
      'field' => array(
        'handler' => 'views_handler_field_numeric',
        'click sortable' => TRUE,
      ),
      'filter' => array(
        'handler' => 'views_handler_filter_numeric',
      ),
      'sort' => array(
        'handler' => 'views_handler_sort',
      ),
    );

    // Note: No joins need to be made from $data['stock']['table']

    // Join the chado stock table to stock
    $data['chado_stock']['table']['join']['stock'] = array(
      'left_field' => 'stock_id',
      'field' => 'stock_id',
    );

    // Join the node table to chado stock
    $data['node']['table']['join']['chado_stock'] = array(
      'left_field' => 'nid',
      'field' => 'nid',
    );

    // Join the node table to stock
    $data['node']['table']['join']['stock'] = array(
      'left_table' => 'chado_stock',
      'left_field' => 'nid',
      'field' => 'nid',
    );

    // Add relationship between chado_stock and stock
    $data['chado_stock']['stock_nid'] = array(
      'group' => 'Stock',
      'title' => 'Stock Node',
      'help' => 'Links Chado Stock Fields/Data to the Nodes in the current View.',
      'real field' => 'stock_id',
      'relationship' => array(
        'handler' => 'views_handler_relationship',
        'title' => t('Chado => Stock'),
        'label' => t('Chado => Stock'),
        'real field' => 'stock_id',
        'base' => 'stock',
        'base field' => 'stock_id'
      ),
    );

    // Add node relationship to stock
    $data['chado_stock']['stock_chado_nid'] = array(
      'group' => 'Stock',
      'title' => 'Stock Node',
      'help' => 'Links Chado Stock Fields/Data to the Nodes in the current View.',
      'real field' => 'nid',
      'relationship' => array(
        'handler' => 'views_handler_relationship',
        'title' => t('Chado => Node'),
        'label' => t('Chado => Node'),
        'real field' => 'nid',
        'base' => 'node',
        'base field' => 'nid'
      ),
    );
  }

  return $data;
}
 All Classes Files Functions Variables