tripal_pub.views.inc 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. /**
  3. * @file
  4. * This file contains the basic functions for views integration of
  5. * chado/tripal_pub tables. Supplementary functions can be found in
  6. * ./views/
  7. *
  8. * Documentation on views integration can be found at
  9. * http://views2.logrus.com/doc/html/index.html.
  10. */
  11. /*************************************************************************
  12. * Implements hook_views_data()
  13. * Purpose: Describe chado/tripal tables & fields to views
  14. *
  15. * @return: a data array which follows the structure outlined in the
  16. * views2 documentation for this hook. Essentially, it's an array of table
  17. * definitions keyed by chado/tripal table name. Each table definition
  18. * includes basic details about the table, fields in that table and
  19. * relationships between that table and others (joins)
  20. */
  21. function tripal_pub_views_data() {
  22. $data = array();
  23. if (module_exists('tripal_views')) {
  24. $tables = array(
  25. 'pub'
  26. );
  27. foreach ($tables as $tablename) {
  28. if (!tripal_views_is_integrated($tablename, 10)) {
  29. $table_integration_array = tripal_views_get_integration_array_for_chado_table($tablename, TRUE);
  30. tripal_views_integration_add_entry($table_integration_array);
  31. }
  32. }
  33. $tables = array(
  34. 'pub_dbxref',
  35. 'pub_relationship',
  36. 'pubauthor',
  37. 'pubprop'
  38. );
  39. foreach ($tables as $tablename) {
  40. if (!tripal_views_is_integrated($tablename, 10)) {
  41. $table_integration_array = tripal_views_get_integration_array_for_chado_table($tablename, FALSE);
  42. tripal_views_integration_add_entry($table_integration_array);
  43. }
  44. }
  45. }
  46. return $data;
  47. }
  48. /*************************************************************************
  49. * Implements hook_views_handlers()
  50. * Purpose: Register all custom handlers with views
  51. * where a handler describes either "the type of field",
  52. * "how a field should be filtered", "how a field should be sorted"
  53. *
  54. * @return: An array of handler definitions
  55. */
  56. function tripal_pub_views_handlers() {
  57. return array(
  58. 'info' => array(
  59. 'path' => drupal_get_path('module', 'tripal_pub') . '/views/handlers',
  60. ),
  61. 'handlers' => array(
  62. ),
  63. );
  64. }