function chado_organism_add_image

2.x tripal_organism.chado_node.inc chado_organism_add_image($node)
3.x tripal_organism.chado_node.inc chado_organism_add_image($node)
1.x tripal_organism.module chado_organism_add_image($node)

Adds the image to the organism node and cleans up any old images.

Parameters

$node: The node object.

2 calls to chado_organism_add_image()
chado_organism_insert in tripal_organism/includes/tripal_organism.chado_node.inc
Implements hook_insert().
chado_organism_update in tripal_organism/includes/tripal_organism.chado_node.inc
Implements hook_update().

File

tripal_organism/includes/tripal_organism.chado_node.inc, line 544
Implements the organims node content type

Code

function chado_organism_add_image($node) {

  // If there is already an organism image, then remove it it if
  // no other modules are using it
  $fid = db_select('file_usage', 'fu')
    ->fields('fu', array('fid'))
    ->condition('module', 'tripal_organism')
    ->condition('type', 'organism_image')
    ->condition('id', $node->nid)
    ->execute()
    ->fetchField();
  if ($fid) {
    $file = file_load($fid);
    file_usage_delete($file, 'tripal_organism', 'organism_image', $node->nid);
    file_delete($file);
  }

  // Save the uploaded file
  $file = file_load($node->organism_image);
  if ($file) {
    $file->status = FILE_STATUS_PERMANENT;
    file_save($file);
    file_usage_add($file, 'tripal_organism', 'organism_image', $node->nid);
  }
}