tripal_jbrowse_page.page.inc 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. /**
  3. * @file
  4. * Builds the Tripal JBrowse page.
  5. */
  6. /**
  7. * Redirect to the JBrowse Instance.
  8. */
  9. function tripal_jbrowse_page_page($scientific_name, $instance_id = NULL) {
  10. if($instance_id){
  11. $instance = tripal_jbrowse_mgmt_get_instance($instance_id);
  12. }
  13. else{
  14. list($genus, $species) = explode('-', $scientific_name);
  15. $instance = tripal_jbrowse_page_get_instance_id([
  16. 'genus' => $genus,
  17. 'species' => $species
  18. ],
  19. ['load_instance' => TRUE]);
  20. }
  21. // Determine Query paramters.
  22. $query_params = tripal_jbrowse_mgmt_build_http_query($instance);
  23. $page_q = drupal_get_query_parameters();
  24. foreach ($page_q as $qkey => $qvalue) {
  25. $query_params[$qkey] = $qvalue;
  26. }
  27. // Build the URL.
  28. $settings = tripal_jbrowse_mgmt_get_settings();
  29. $url = url($settings['link'],['query' => $query_params]);
  30. if (variable_get('trpjbrowse_page_embed', 1)) {
  31. drupal_add_css(drupal_get_path('module', 'tripal_jbrowse_page') . '/theme/tripal_jbrowse_page.css');
  32. return theme('jbrowse_instance_embedded_page', ['url' => $url]);
  33. }
  34. else {
  35. drupal_goto($url, array('external' => TRUE));
  36. }
  37. }