function tripal_get_organism_image_url

2.x tripal_get_organism_image_url($organism)

Return the path for the organism image.


$organism: An organism table record

Return value

If the type parameter is 'url' (the default) then the fully qualified url to the image is returend. If no image is present then NULL is returned

3 calls to tripal_get_organism_image_url()


tripal_organism/api/, line 183
Provides an application programming interface (API) to manage organisms


function tripal_get_organism_image_url($organism) {
  $url = '';

  if (!is_object($organism)) {
    return NULL;

  // Get the organism's node
  $nid = chado_get_nid_from_id('organism', $organism->organism_id);

  // Look in the file_usage table of Drupal for the image file. This
  // is the current way for handling uploaded images. It allows the file to
  // keep it's proper name and extension.
  $fid = db_select('file_usage', 'fu')
    ->fields('fu', array('fid'))
    ->condition('module', 'tripal_organism')
    ->condition('type', 'organism_image')
    ->condition('id', $nid)
  if ($fid) {
    $file = file_load($fid);
    return file_create_url($file->uri);

  // First look for an image with the genus/species name.  This is old-style tripal
  // and we keep it for backwards compatibility.
  $base_path = realpath('.');
  $image_dir = tripal_get_files_dir('tripal_organism') . "/images";
  $image_name = $organism->genus . "_" . $organism->species . ".jpg";
  $image_path = "$base_path/$image_dir/$image_name";

  if (file_exists($image_path)) {
    $url = file_create_url("$image_dir/$image_name");
    return $url;

  // If we don't find the file using the genus ans species then look for the
  // image with the node ID in the name. This method was used for Tripal 1.1
  // and 2.x-alpha version.
  $image_name = $nid . ".jpg";
  $image_path = "$base_path/$image_dir/$image_name";
  if (file_exists($image_path)) {
    $url = file_create_url("$image_dir/$image_name");
    return $url;

  return NULL;