function tripal_views_integration_setup_list
2.x tripal_views_integration_UI.inc | tripal_views_integration_setup_list() |
1.x tripal_views_integration.inc | tripal_views_integration_setup_list() |
Purpose: Generates a themable table containing the list of integrated tables The look-and-feel of the table can be altered by overriding the theme for tables.
Return value
a themed HTML table
Related topics
File
- tripal_views/
includes/ tripal_views_integration_UI.inc, line 17 - Functions related to the UI for integrating tables with views
Code
function tripal_views_integration_setup_list() {
$output = '';
// TODO: change the following to use theme_item_list()
$output .= '<ul class="action-links">';
$output .= '<li>' . l(t('Add a New Entry'), "admin/tripal/views-integration/new") . '</li>';
$output .= '<li style="float: right;">' . l(t('Delete ALL Entries'), "admin/tripal/views-integration/delete-all/confirm") . '</li>';
$output .= '</ul>';
$output .= '<p>' . t('The following tables are available for integration with Drupal Views. If '
. 'a table is integrated more than once, then the setup with the lightest '
. 'priority will be used. For example, if you have created a custom setup with a priority of -5 then '
. 'that will be used instead of the default setup with priority 10. '
. 'Priorities range from -10 to +10 where a setup with -10 has '
. 'greater precedent than any other and +10 has the least.') . '</p>';
// Start with materialized views
$output .= '<br /><h3>Legacy Materialized Views</h3>';
$header = array('', 'Drupal Views Type Name', 'Table Name', 'Is Legacy?', 'Priority', 'Comment');
$rows = array();
// get the list of materialized views
$tviews = db_query('SELECT tv.setup_id, tv.name, tv.table_name, tc.table_id, tv.priority, tv.comment '
. 'FROM {tripal_views} tv '
. 'LEFT JOIN {tripal_custom_tables} tc ON tc.table_name=tv.table_name '
. 'WHERE tv.mview_id IS NOT NULL '
. 'ORDER BY tv.table_name ASC, tv.priority ASC');
foreach ($tviews as $tview) {
$rows[] = array(
l(t('Edit'), "admin/tripal/views-integration/edit/" . $tview->setup_id) . "<br />"
. l(t('Export'), "admin/tripal/views-integration/export/" . $tview->setup_id) . "<br />"
. l(t('Delete'), "admin/tripal/views-integration/delete/" . $tview->setup_id),
$tview->name,
$tview->table_name,
($tview->table_id) ? 'No' : 'Yes',
$tview->priority,
$tview->comment,
);
}
if ($rows) {
$output .= theme('table', array('header' => $header, 'rows' => $rows));
}
else {
$output .= '<p>There are currently no Materialized Views defined. ';
}
// Now list non-mview custom tables
$output .= '<br /><h3>Custom Tables & Non-Legacy Materialized Views</h3>';
$header = array('', 'Drupal Views Type Name', 'Table Name', 'Priority', 'Comment');
$rows = array();
// get the list of chado tables
$tviews = db_query('SELECT tv.setup_id, tv.name, tv.table_name, tv.priority, tv.comment '
. 'FROM {tripal_views} tv '
. 'LEFT JOIN {tripal_custom_tables} tc ON tc.table_name=tv.table_name '
. 'WHERE mview_id IS NULL AND tc.table_id IS NOT NULL '
. 'ORDER BY table_name ASC, priority ASC');
foreach ($tviews as $tview) {
$rows[] = array(
l(t('Edit'), "admin/tripal/views-integration/edit/" . $tview->setup_id) . "<br />"
. l(t('Export'), "admin/tripal/views-integration/export/" . $tview->setup_id) . "<br />"
. l(t('Delete'), "admin/tripal/views-integration/delete/" . $tview->setup_id),
$tview->name,
$tview->table_name,
$tview->priority,
$tview->comment,
);
}
if ($rows) {
$output .= theme('table', array('header' => $header, 'rows' => $rows));
}
else {
$output .= '<p>There are currently no non-Materialized View Custom Tables defined.</p>';
}
// Now list chado tables
$output .= '<br /><h3>Chado Tables</h3>';
$header = array('', 'Drupal Views Type Name', 'Table Name', 'Priority', 'Comment');
$rows = array();
// get the list of chado tables
$tviews = db_query('SELECT tv.setup_id, tv.name, tv.table_name, tv.priority, tv.comment '
. 'FROM {tripal_views} tv '
. 'LEFT JOIN {tripal_custom_tables} tc ON tc.table_name=tv.table_name '
. 'WHERE mview_id IS NULL AND tc.table_id IS NULL '
. 'ORDER BY table_name ASC, priority ASC');
foreach ($tviews as $tview) {
$rows[] = array(
l(t('Edit'), "admin/tripal/views-integration/edit/" . $tview->setup_id) . "<br />"
. l(t('Export'), "admin/tripal/views-integration/export/" . $tview->setup_id) . "<br />"
. l(t('Delete'), "admin/tripal/views-integration/delete/" . $tview->setup_id),
$tview->name,
$tview->table_name,
$tview->priority,
$tview->comment,
);
}
$output .= theme('table', array('header' => $header, 'rows' => $rows));
return $output;
}