123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224 |
- <?php
- function tripal_make_view_compatible_with_external($view) {
- $remove_table = array();
-
-
- $schema = chado_get_schema($view->base_table);
- if (!$schema) {
- return $view;
- }
-
- if (!chado_is_local()) {
-
- foreach ($view->display as $display_name => $display) {
- $display_options = $display->handler->display->display_options;
- $sections = array('fields', 'filters', 'sorts', 'relationships');
- foreach ($sections as $section) {
- $display_options[$section] = (isset($display_options[$section])) ? $display_options[$section] : array();
- foreach ($display_options[$section] as $key => $defn) {
-
- if (!isset($remove_table[ $defn['table'] ])) {
-
- if ($defn['table'] == 'views') {
- $remove_table[ $defn['table'] ] = FALSE;
- }
-
-
- $schema = chado_get_schema($defn['table']);
-
- if ($schema) {
- $remove_table[ $defn['table'] ] = FALSE;
- }
- else {
- $remove_table[ $defn['table'] ] = TRUE;
- }
- }
-
- if ($remove_table[ $defn['table'] ]) {
- unset($view->display[$display_name]->handler->display->display_options[$section][$key]);
- }
- }
- }
- }
- }
- return $view;
- }
- function tripal_disable_view($view_name, $redirect_link = FALSE) {
- $status = variable_get('views_defaults', array());
- if (isset($status[$view_name])) {
- $status[$view_name] = TRUE;
- variable_set('views_defaults', $status);
- drupal_set_message("Disabled $view_name");
- }
- else {
- drupal_set_message("Unable to find a view by the name of '$view_name'. Unable to disable this view.",'error');
- }
- if ($redirect_link) {
- drupal_goto($redirect_link);
- }
- }
- function tripal_enable_view($view_name, $redirect_link = FALSE) {
- $status = variable_get('views_defaults', array());
- if (isset($status[$view_name])) {
- $status[$view_name] = FALSE;
- variable_set('views_defaults', $status);
- drupal_set_message("Successfully Enabled $view_name");
- }
- else {
- drupal_set_message("Unable to find a view by the name of '$view_name'. Unable to enable this view.",'error');
- }
- if ($redirect_link) {
- drupal_goto($redirect_link);
- }
- }
|