<?php

/**
 *  @file
 *  This file contains the basic functions for views integration of
 *  chado/tripal_contact tables. Supplementary functions can be found in
 *  ./views/
 *
 *  Documentation on views integration can be found at
 *  http://views2.logrus.com/doc/html/index.html.
 */

/*************************************************************************
 * Implements hook_views_data()
 * Purpose: Describe chado/tripal tables & fields to views
 *
 * @return: a data array which follows the structure outlined in the
 *   views2 documentation for this hook. Essentially, it's an array of table
 *   definitions keyed by chado/tripal table name. Each table definition
 *   includes basic details about the table, fields in that table and
 *   relationships between that table and others (joins)
 *
 * @ingroup tripal_contact
 */
function tripal_contact_views_data()  {
  $data = array();

  if (module_exists('tripal_views')) {

    // Base Table: contact
    $table_name = 'contact';
    if (!tripal_views_is_integrated($tablename, 10)) {
      $table_integration_array = tripal_views_get_integration_array_for_chado_table($tablename, TRUE);
      tripal_views_integration_add_entry($table_integration_array);
    }

    // Additional tables
    $tables = array(
      'contact_relationship',
    );
    foreach ($tables as $tablename) {
      if (!tripal_views_is_integrated($tablename, 10)) {
        $table_integration_array = tripal_views_get_integration_array_for_chado_table($tablename, FALSE);
        tripal_views_integration_add_entry($table_integration_array);
      }
    }
  }

  return $data;
}

/*************************************************************************
 * Implements hook_views_handlers()
 * Purpose: Register all custom handlers with views
 *   where a handler describes either "the type of field",
 *   "how a field should be filtered", "how a field should be sorted"
 *
 * @return: An array of handler definitions
 *
 * @ingroup tripal_contact
 */
function tripal_contact_views_handlers() {
  return array(
   'info' => array(
     'path' => drupal_get_path('module', 'tripal_contact') . '/views/handlers',
  ),
   'handlers' => array(

  ),
  );
}