function tripal_mview_report

2.x tripal_core.mviews.inc tripal_mview_report($mview_id)
3.x tripal_chado.mviews.inc tripal_mview_report($mview_id)
1.x mviews.inc tripal_mview_report($mview_id)

A template function which returns markup to display details for the current materialized view

Parameters

$mview_id: The unique ID of the materialized view to render

Related topics

1 string reference to 'tripal_mview_report'
tripal_core_menu in tripal_core/tripal_core.module
Implements hook_menu(). Defines all menu items needed by Tripal Core

File

tripal_core/includes/mviews.inc, line 17
Contains functions for viewing and editing of Materialized Views on a Tripal website.

Code

function tripal_mview_report($mview_id) {

  // get this mview details
  $sql = "SELECT * FROM {tripal_mviews} WHERE mview_id = %d";
  $mview = db_fetch_object(db_query($sql, $mview_id));

  $rows = array();

  // create a table with each row containig stats for
  // an individual job in the results set.
  $return_url = url("admin/tripal/mviews/");
  $output .= "<p><a href=\"$return_url\">Return to table of materialized views.</a></p>";
  $output .= "<p>Details for <b>$mview->name</b>:</p>";

  // build the URLs using the url function so we can handle installations where
  // clean URLs are or are not used
  $update_url = url("admin/tripal/mviews/action/update/$mview->mview_id");
  $delete_url = url("admin/tripal/mviews/action/delete/$mview->mview_id");
  $edit_url = url("admin/tripal/mviews/edit/$mview->mview_id");
  $rows[] = array('Actions', "<a href='$update_url'>Populate</a>, <a href='$edit_url'>Edit</a>,  <a href='$delete_url'>Delete</a>");

  if ($mview->last_update > 0) {
    $update = format_date($mview->last_update);
  }
  else {
    $update = 'Not yet populated';
  }
  $rows[] = array('Last Update', $update);
  if ($mview->name) {
    $rows[] = array('View Name', $mview->name);
  }
  if ($mview->modulename) {
    $rows[] = array('Module Name', $mview->modulename);
  }
  if ($mview->mv_table) {
    $rows[] = array('Table Name', $mview->mv_table);
  }
  if ($mview->mv_specs) {
    $rows[] = array('Table Field Definitions', $mview->mv_specs);
  }
  if ($mview->query) {
    $rows[] = array('Query', "<pre>" . $mview->query . "</pre>");
  }
  if ($mview->indexed) {
    $rows[] = array('Indexed Fields', $mview->indexed);
  }
  if ($mview->special_index) {
    $rows[] = array('Special Indexed Fields', $mview->special_index);
  }
  if ($mview->mv_schema) {
    $rows[] = array('Drupal Schema API Definition', "<pre>" . $mview->mv_schema . "</pre>");
  }

  $table = theme_table(array(), $rows);
  $output .= $table;

  return $output;
}