tripal_organism.api.inc 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. /*************************************************************************
  3. * Purpose: Create an options array to be used in a form element
  4. * which provides a list of all chado organisms
  5. *
  6. * @return an array(organism_id => common_name)
  7. * for each organism in the chado organism table
  8. */
  9. function tripal_organism_get_organism_options() {
  10. $previous_db = tripal_db_set_active('chado');
  11. $result = db_query(
  12. "SELECT organism_id, common_name FROM organism"
  13. );
  14. tripal_db_set_active($previous_db);
  15. $options = array();
  16. while ( $r = db_fetch_object($result) ) {
  17. $options[$r->organism_id] = $r->common_name;
  18. }
  19. return $options;
  20. }
  21. /*************************************************************************
  22. * Purpose: Return a given organism object using the nid or organism id
  23. *
  24. * @return organism object created by node load
  25. */
  26. function tripal_organism_get_organism($nid=0, $organism_id=0) {
  27. if (!empty($nid)) {
  28. return node_load($nid);
  29. } else {
  30. if (!empty($organism_id)) {
  31. $sql = "SELECT nid FROM {chado_organism} WHERE organism_id=%d";
  32. $r = db_fetch_object(db_query($sql, $organism_id));
  33. if (!empty($r->nid)) {
  34. return node_load($r->nid);
  35. } else {
  36. drupal_set_message("Function: tripal_organism_get_organism() -no organism with that organism id sync'd with drupal", 'error');
  37. }
  38. } else {
  39. drupal_set_message("Function: tripal_organism_get_organism() -need to supply at least one of node ID or Organism ID",'error');
  40. }
  41. }
  42. return 0;
  43. }