function chado_feature_delete

2.x tripal_feature.chado_node.inc chado_feature_delete($node)
3.x tripal_feature.chado_node.inc chado_feature_delete($node)
1.x tripal_feature.module chado_feature_delete($node)

Related topics

File

tripal_feature/tripal_feature.module, line 585
@todo Add file header description

Code

function chado_feature_delete($node) {

  $feature_id = chado_get_id_for_node('feature', $node);

  // if we don't have a library id for this node then this isn't a node of
  // type chado_library or the entry in the chado_library table was lost.
  if (!$feature_id) {
    return;
  }

  // remove the drupal content
  $sql_del = "DELETE FROM {chado_feature} " .
    "WHERE nid = %d " .
    "AND vid = %d";
  db_query($sql_del, $node->nid, $node->vid);
  $sql_del = "DELETE FROM {node} " .
    "WHERE nid = %d " .
    "AND vid = %d";
  db_query($sql_del, $node->nid, $node->vid);
  $sql_del = "DELETE FROM {node_revisions} " .
    "WHERE nid = %d " .
    "AND vid = %d";
  db_query($sql_del, $node->nid, $node->vid);


  // Remove data from feature tables of chado database.  This will
  // cause a cascade delete and remove all data in referencing tables
  // for this feature
  chado_query("DELETE FROM {feature} WHERE feature_id = %d", $feature_id);

  drupal_set_message(t("The feature and all associated data were removed from") .
    "chado");

}