|
@@ -0,0 +1,547 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+/**
|
|
|
+ * Inserts/Updates a tripal bulk loading job constant
|
|
|
+ *
|
|
|
+ * @param $nid
|
|
|
+ * The node ID of the the tripal bulk loading job the constant is associated with
|
|
|
+ * @param $table
|
|
|
+ * The chado table the constant is associated with
|
|
|
+ * @param $field
|
|
|
+ * The chado field the constant is associated with
|
|
|
+ * @param $record_id
|
|
|
+ * The index in the template array for this record
|
|
|
+ * @param $field_id
|
|
|
+ * The index in the template array for this field
|
|
|
+ *
|
|
|
+ * NOTE: $template_array[$record_id]['table'] = $table and $template_array[$record_id]['fields'][$field_id]['field'] = $field
|
|
|
+ * both are included as a means of double-checking the constant still is still in thesame place in the template array.
|
|
|
+ * For example, that the template was not edited and the records moved around after the job was submitted but before it was run.
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ * On success it returns the object (with primary key if inserted);
|
|
|
+ * on failure it returns FALSE
|
|
|
+ */
|
|
|
+function tripal_bulk_loader_update_constant ($nid, $group_id, $table, $field, $record_id, $field_id, $value) {
|
|
|
+
|
|
|
+ $record = array(
|
|
|
+ 'nid'=>$nid,
|
|
|
+ 'group_id' => $group_id,
|
|
|
+ 'chado_table'=>$table,
|
|
|
+ 'chado_field'=>$field,
|
|
|
+ 'record_id'=>$record_id,
|
|
|
+ 'field_id'=>$field_id,
|
|
|
+ 'value'=>$value
|
|
|
+ );
|
|
|
+
|
|
|
+ // Check to see if already exists
|
|
|
+ $exists = db_fetch_object(db_query(
|
|
|
+ "SELECT constant_id FROM {tripal_bulk_loader_constants} WHERE nid=%d AND record_id=%d AND field_id=%d AND group_id=%d",
|
|
|
+ $record['nid'],
|
|
|
+ $record['record_id'],
|
|
|
+ $record['field_id'],
|
|
|
+ $record['group_id']
|
|
|
+ ));
|
|
|
+ if ($exists->constant_id) {
|
|
|
+ $record['constant_id'] = $exists->constant_id;
|
|
|
+ $status = drupal_write_record('tripal_bulk_loader_constants',$record,'constant_id');
|
|
|
+ if ($status) {
|
|
|
+ return $record;
|
|
|
+ } else {
|
|
|
+ return FALSE;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ $status = drupal_write_record('tripal_bulk_loader_constants',$record);
|
|
|
+ if ($status) {
|
|
|
+ return $record;
|
|
|
+ } else {
|
|
|
+ return FALSE;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+function tripal_bulk_loader_has_exposed_fields ($node) {
|
|
|
+
|
|
|
+ // exposed fields isn't set
|
|
|
+ if (!isset($node->exposed_fields)) {
|
|
|
+ return FALSE;
|
|
|
+ }
|
|
|
+
|
|
|
+ // exposed fields has at least one element
|
|
|
+ if (sizeof($node->exposed_fields) == 1) {
|
|
|
+ // need to check if single element is an empty array
|
|
|
+ $element = reset($node->exposed_fields);
|
|
|
+ if ($element) {
|
|
|
+ return TRUE;
|
|
|
+ } else {
|
|
|
+ return FALSE;
|
|
|
+ }
|
|
|
+ } elseif (sizeof($node->exposed_fields) > 1) {
|
|
|
+ return TRUE;
|
|
|
+ } else {
|
|
|
+ return FALSE;
|
|
|
+ }
|
|
|
+
|
|
|
+ return FALSE;
|
|
|
+}
|
|
|
+
|
|
|
+///////////////////////////////////////////////////////////
|
|
|
+// Set Constants Form (on Bulk Loader Node)
|
|
|
+///////////////////////////////////////////////////////////
|
|
|
+
|
|
|
+/**
|
|
|
+ * Set constants (exposed fields in template)
|
|
|
+ *
|
|
|
+ * @param $form_state
|
|
|
+ * The current state of the form
|
|
|
+ * @param $node
|
|
|
+ * The node to set constants for
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ * A form array to be rendered by drupal_get_form()
|
|
|
+ */
|
|
|
+function tripal_bulk_loader_set_constants_form ($form_state, $node) {
|
|
|
+ $form = array();
|
|
|
+
|
|
|
+ $form['nid'] = array(
|
|
|
+ '#type' => 'hidden',
|
|
|
+ '#value' => $node->nid
|
|
|
+ );
|
|
|
+
|
|
|
+ if (!tripal_bulk_loader_has_exposed_fields($node)) {
|
|
|
+ return $form;
|
|
|
+ }
|
|
|
+
|
|
|
+ $form['exposed_array'] = array(
|
|
|
+ '#type' => 'hidden',
|
|
|
+ '#value' => serialize($node->exposed_fields),
|
|
|
+ );
|
|
|
+
|
|
|
+ $form['exposed_fields'] = array(
|
|
|
+ '#type' => 'fieldset',
|
|
|
+ '#title' => t('Constant Values'),
|
|
|
+ '#collapsible' => TRUE,
|
|
|
+ '#collapsed' => ($node->template_id) ? FALSE : TRUE,
|
|
|
+ '#prefix' => '<div id="set-constants">',
|
|
|
+ '#suffix' => '</div>',
|
|
|
+ );
|
|
|
+
|
|
|
+ // Display table of already added constant sets with the ability to re-arrange and delete
|
|
|
+ if (sizeof($node->constants) > 0) {
|
|
|
+ $form['exposed_fields']['explanation-1'] = array(
|
|
|
+ '#type' => 'item',
|
|
|
+ '#value' => t('You have already added constants to this bulk loading job. Each '
|
|
|
+ .'row in the following table represents a set of constants. Each set will be used '
|
|
|
+ .'to load your spreadsheet with the specified template resulting in the each record '
|
|
|
+ .'in the template to be loaded x number of times where there are x sets of '
|
|
|
+ .'constants (rows in the following table).')
|
|
|
+ );
|
|
|
+
|
|
|
+ $form['exposed_fields']['existing'] = array(
|
|
|
+ '#tree' => TRUE,
|
|
|
+ );
|
|
|
+
|
|
|
+ foreach ($node->constants as $set) {
|
|
|
+
|
|
|
+ foreach ($set as $record) {
|
|
|
+ foreach ($record as $field) {
|
|
|
+ $index = $field['record_id'].'-'.$field['field_id'];
|
|
|
+ $group = $field['group_id'];
|
|
|
+ $form['exposed_fields']['existing'][$group][$index] = array(
|
|
|
+ '#type' => 'markup',
|
|
|
+ '#value' => $field['value'],
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $form['exposed_fields']['existing'][$group]['delete'] = array(
|
|
|
+ '#type' => 'markup',
|
|
|
+ '#value' => l('Edit', 'node/'. $node->nid . '/constants/'.$group.'/edit') .'<br />'.
|
|
|
+ l('Delete', 'node/'. $node->nid . '/constants/'.$group.'/delete'),
|
|
|
+ );
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $form['exposed_fields']['new'] = array(
|
|
|
+ '#type' => 'fieldset',
|
|
|
+ '#title' => t('New set of Constants'),
|
|
|
+ );
|
|
|
+
|
|
|
+ $form['exposed_fields']['new']['explanation-2'] = array(
|
|
|
+ '#type' => 'item',
|
|
|
+ '#value' => t('The following fields are constants in the selected template that you need to set values for.')
|
|
|
+ );
|
|
|
+
|
|
|
+ // Add textifelds for exposed fields of the current template
|
|
|
+ $exposed_fields = FALSE;
|
|
|
+ $indexes = array();
|
|
|
+ if (tripal_bulk_loader_has_exposed_fields($node)) {
|
|
|
+ foreach ($node->exposed_fields as $exposed_index) {
|
|
|
+
|
|
|
+ $record_id = $exposed_index['record_id'];
|
|
|
+ $field_id = $exposed_index['field_id'];
|
|
|
+ $field = $node->template->template_array[$record_id]['fields'][$field_id];
|
|
|
+
|
|
|
+ if ($field['exposed']) {
|
|
|
+ $exposed_fields = TRUE;
|
|
|
+ $indexes[$record_id][] = $field_id;
|
|
|
+
|
|
|
+ switch($field['type']) {
|
|
|
+ case 'table field':
|
|
|
+ $form['exposed_fields']['new'][$record_id.'-'.$field_id] = array(
|
|
|
+ '#type' => 'textfield',
|
|
|
+ '#title' => t($field['title']),
|
|
|
+ '#description' => t($field['exposed_description']),
|
|
|
+ '#default_value' => (isset($node->constants[$record_id][$field_id]['value'])) ? $node->constants[$record_id][$field_id]['value'] : $field['constant value'],
|
|
|
+ );
|
|
|
+ break;
|
|
|
+ case 'constant':
|
|
|
+ $form['exposed_fields']['new'][$record_id.'-'.$field_id] = array(
|
|
|
+ '#type' => 'textfield',
|
|
|
+ '#title' => t($field['title']),
|
|
|
+ '#description' => t('Enter the case-sensitive value of this constant for your spreadsheet'),
|
|
|
+ '#default_value' => (isset($node->constants[$record_id][$field_id]['value'])) ? $node->constants[$record_id][$field_id]['value'] : $field['constant value'],
|
|
|
+ );
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ $form['exposed_fields']['new'][$record_id.'-'.$field_id.'-table'] = array(
|
|
|
+ '#type' => 'hidden',
|
|
|
+ '#value' => $record['table'],
|
|
|
+ );
|
|
|
+ $form['exposed_fields']['new'][$record_id.'-'.$field_id.'-field'] = array(
|
|
|
+ '#type' => 'hidden',
|
|
|
+ '#value' => $field['field'],
|
|
|
+ );
|
|
|
+ $form['exposed_fields']['new'][$record_id.'-'.$field_id.'-type'] = array(
|
|
|
+ '#type' => 'hidden',
|
|
|
+ '#value' => $field['type'],
|
|
|
+ );
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $form['template'] = array(
|
|
|
+ '#type' => 'hidden',
|
|
|
+ '#value' => serialize($node->template->template_array)
|
|
|
+ );
|
|
|
+
|
|
|
+ $form['exposed_fields']['new']['indexes'] = array(
|
|
|
+ '#type' => 'hidden',
|
|
|
+ '#value' => serialize($indexes),
|
|
|
+ );
|
|
|
+
|
|
|
+ if (!$exposed_fields) {
|
|
|
+ $form['exposed_fields']['new']['explanation'] = array(
|
|
|
+ '#type' => 'item',
|
|
|
+ '#value' => t('There are no exposed fields for this template.')
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ $form['exposed_fields']['new']['submit-2'] = array(
|
|
|
+ '#type' => 'submit',
|
|
|
+ '#name' => 'add_constant',
|
|
|
+ '#value' => t('Add Constant Set')
|
|
|
+ );
|
|
|
+
|
|
|
+ return $form;
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * Validate that the values entered exist in the database
|
|
|
+ * if indicated in hte template array
|
|
|
+ */
|
|
|
+function tripal_bulk_loader_set_constants_form_validate ($form, $form_state) {
|
|
|
+
|
|
|
+ $template = unserialize($form_state['values']['template']);
|
|
|
+ $indexes = unserialize($form_state['values']['indexes']);
|
|
|
+
|
|
|
+ $op = $form_state['values'][ $form_state['clicked_button']['#name'] ];
|
|
|
+ if (strcmp('Add Constant Set',$op) == 0) {
|
|
|
+ foreach ($indexes as $record_id => $array) {
|
|
|
+ foreach($array as $field_id) {
|
|
|
+ if ($template[$record_id]['fields'][$field_id]['exposed_validate']) {
|
|
|
+ $result = db_fetch_object(db_query(
|
|
|
+ "SELECT 1 as valid FROM %s WHERE %s='%s'",
|
|
|
+ $template[$record_id]['table'],
|
|
|
+ $template[$record_id]['fields'][$field_id]['field'],
|
|
|
+ $form_state['values'][$record_id.'-'.$field_id]
|
|
|
+ ));
|
|
|
+
|
|
|
+ if (!$result->valid) {
|
|
|
+ $msg = 'A '.$form['exposed_fields']['new'][$record_id.'-'.$field_id]['#title'].' of "'.$form['exposed_fields']['new'][$record_id.'-'.$field_id]['#value'].'" must already exist!';
|
|
|
+ form_set_error($record_id.'-'.$field_id, $msg);
|
|
|
+ } else {
|
|
|
+ drupal_set_message('Confirmed a '.$form['exposed_fields']['new'][$record_id.'-'.$field_id]['#title'].' of "'.$form['exposed_fields']['new'][$record_id.'-'.$field_id]['#value'].'" already exists.');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * Insert/update the constants associated with this node
|
|
|
+ */
|
|
|
+function tripal_bulk_loader_set_constants_form_submit ($form, $form_state) {
|
|
|
+
|
|
|
+ // Insert/Update constants
|
|
|
+ $template = unserialize($form_state['values']['template']);
|
|
|
+ $indexes = unserialize($form_state['values']['indexes']);
|
|
|
+
|
|
|
+ $op = $form_state['values'][ $form_state['clicked_button']['#name'] ];
|
|
|
+ if (strcmp('Add Constant Set',$op) == 0) {
|
|
|
+ $max_group = db_fetch_object(db_query("SELECT max(group_id) as value FROM tripal_bulk_loader_constants WHERE nid=%d",$form_state['values']['nid']));
|
|
|
+ foreach ($indexes as $record_id => $array) {
|
|
|
+ foreach($array as $field_id) {
|
|
|
+ tripal_bulk_loader_update_constant(
|
|
|
+ $form_state['values']['nid'],
|
|
|
+ $max_group->value+1,
|
|
|
+ $form_state['values'][$record_id.'-'.$field_id.'-table'],
|
|
|
+ $form_state['values'][$record_id.'-'.$field_id.'-field'],
|
|
|
+ $record_id,
|
|
|
+ $field_id,
|
|
|
+ $form_state['values'][$record_id.'-'.$field_id]
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+function theme_tripal_bulk_loader_set_constants_form ($form) {
|
|
|
+ $output = '';
|
|
|
+
|
|
|
+ $exposed_fields = unserialize($form['exposed_array']['#value']);
|
|
|
+ // need to put in the context of a node so we can use the has_exposed_fields function
|
|
|
+ if ($exposed_fields) {
|
|
|
+ $node->exposed_fields = $exposed_fields;
|
|
|
+ } else {
|
|
|
+ $node->exposed_fields = array();
|
|
|
+ }
|
|
|
+
|
|
|
+ // Add draggable table for constant sets
|
|
|
+ if (tripal_bulk_loader_has_exposed_fields($node)) {
|
|
|
+ $i=1;
|
|
|
+ foreach (element_children($form['exposed_fields']['existing']) as $key) {
|
|
|
+ $element = &$form['exposed_fields']['existing'][$key];
|
|
|
+ $element['group']['#attributes']['class'] = 'weight-group';
|
|
|
+
|
|
|
+ $row = array();
|
|
|
+ foreach ($exposed_fields as $exposed) {
|
|
|
+ if ($i==1) {
|
|
|
+ $header[] = $exposed['title'];
|
|
|
+ }
|
|
|
+ $k = $exposed['record_id'].'-'.$exposed['field_id'];
|
|
|
+ $row[] = drupal_render($element[$k]);
|
|
|
+ }
|
|
|
+ $row[] = drupal_render($element['delete']);
|
|
|
+ $row[] = drupal_render($element['group']) . drupal_render($element['id']);
|
|
|
+ $rows[] = array('data' => $row, 'class' => 'draggable');
|
|
|
+ $i++;
|
|
|
+ }
|
|
|
+ //drupal_add_tabledrag('mytable', 'order', 'sibling', 'weight-group');
|
|
|
+ $form['exposed_fields']['existing'] = array(
|
|
|
+ '#type' => 'markup',
|
|
|
+ '#value' => theme('table', $header, $rows, array('id' => 'mytable')) . '<br />'
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ $output .= drupal_render($form);
|
|
|
+ return $output;
|
|
|
+}
|
|
|
+
|
|
|
+///////////////////////////////////////////////////////////
|
|
|
+// Set Constants Form (on Bulk Loader Node)
|
|
|
+///////////////////////////////////////////////////////////
|
|
|
+
|
|
|
+/**
|
|
|
+ * Edit a constant set (exposed fields in template)
|
|
|
+ *
|
|
|
+ * @param $form_state
|
|
|
+ * The current state of the form
|
|
|
+ * @param $node
|
|
|
+ * The node to set constants for
|
|
|
+ * @param $group_id
|
|
|
+ * The constant set to edit
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ * A form array to be rendered by drupal_get_form()
|
|
|
+ */
|
|
|
+function tripal_bulk_loader_edit_constant_set_form ($form_state, $node, $group_id) {
|
|
|
+ $form = array();
|
|
|
+
|
|
|
+ $form['#redirect'] = 'node/'.$node->nid;
|
|
|
+
|
|
|
+ $form['nid'] = array(
|
|
|
+ '#type' => 'hidden',
|
|
|
+ '#value' => $node->nid,
|
|
|
+ );
|
|
|
+
|
|
|
+ $form['group_id'] = array(
|
|
|
+ '#type' => 'hidden',
|
|
|
+ '#value' => $group_id,
|
|
|
+ );
|
|
|
+
|
|
|
+
|
|
|
+ $form['explanation'] = array(
|
|
|
+ '#type' => 'item',
|
|
|
+ '#value' => t('The following fields are constants in the selected template that you need to set values for.')
|
|
|
+ );
|
|
|
+
|
|
|
+ // Add textifelds for exposed fields of the current template
|
|
|
+ $exposed_fields = FALSE;
|
|
|
+ $indexes = array();
|
|
|
+ if (tripal_bulk_loader_has_exposed_fields($node)) {
|
|
|
+ foreach ($node->exposed_fields as $exposed_index) {
|
|
|
+
|
|
|
+ $record_id = $exposed_index['record_id'];
|
|
|
+ $field_id = $exposed_index['field_id'];
|
|
|
+ $field = $node->template->template_array[$record_id]['fields'][$field_id];
|
|
|
+
|
|
|
+ if ($field['exposed']) {
|
|
|
+ $exposed_fields = TRUE;
|
|
|
+ $indexes[$record_id][] = $field_id;
|
|
|
+
|
|
|
+ switch($field['type']) {
|
|
|
+ case 'table field':
|
|
|
+ $form[$record_id.'-'.$field_id] = array(
|
|
|
+ '#type' => 'textfield',
|
|
|
+ '#title' => t($field['title']),
|
|
|
+ '#description' => t($field['exposed_description']),
|
|
|
+ '#default_value' => (isset($node->constants[$group_id][$record_id][$field_id]['value'])) ? $node->constants[$group_id][$record_id][$field_id]['value'] : $field['constant value'],
|
|
|
+ );
|
|
|
+ break;
|
|
|
+ case 'constant':
|
|
|
+ $form[$record_id.'-'.$field_id] = array(
|
|
|
+ '#type' => 'textfield',
|
|
|
+ '#title' => t($field['title']),
|
|
|
+ '#description' => t('Enter the case-sensitive value of this constant for your spreadsheet'),
|
|
|
+ '#default_value' => (isset($node->constants[$group_id][$record_id][$field_id]['value'])) ? $node->constants[$group_id][$record_id][$field_id]['value'] : $field['constant value'],
|
|
|
+ );
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ $form[$record_id.'-'.$field_id.'-table'] = array(
|
|
|
+ '#type' => 'hidden',
|
|
|
+ '#value' => $record['table'],
|
|
|
+ );
|
|
|
+ $form[$record_id.'-'.$field_id.'-field'] = array(
|
|
|
+ '#type' => 'hidden',
|
|
|
+ '#value' => $field['field'],
|
|
|
+ );
|
|
|
+ $form[$record_id.'-'.$field_id.'-type'] = array(
|
|
|
+ '#type' => 'hidden',
|
|
|
+ '#value' => $field['type'],
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $form['template'] = array(
|
|
|
+ '#type' => 'hidden',
|
|
|
+ '#value' => serialize($node->template->template_array)
|
|
|
+ );
|
|
|
+
|
|
|
+ $form['indexes'] = array(
|
|
|
+ '#type' => 'hidden',
|
|
|
+ '#value' => serialize($indexes),
|
|
|
+ );
|
|
|
+
|
|
|
+ $form['save'] = array(
|
|
|
+ '#type' => 'submit',
|
|
|
+ '#value' => 'Save',
|
|
|
+ );
|
|
|
+
|
|
|
+ $form['cancel'] = array(
|
|
|
+ '#type' => 'submit',
|
|
|
+ '#value' => 'Cancel',
|
|
|
+ );
|
|
|
+
|
|
|
+ return $form;
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * Edit constants in the current constant set
|
|
|
+ */
|
|
|
+function tripal_bulk_loader_edit_constant_set_form_submit ($form, $form_state) {
|
|
|
+
|
|
|
+ // Update constants
|
|
|
+ $template = unserialize($form_state['values']['template']);
|
|
|
+ $indexes = unserialize($form_state['values']['indexes']);
|
|
|
+
|
|
|
+ $op = $form_state['values'][ $form_state['clicked_button']['#name'] ];
|
|
|
+ if (strcmp('Save',$op) == 0) {
|
|
|
+
|
|
|
+ foreach ($indexes as $record_id => $array) {
|
|
|
+ foreach($array as $field_id) {
|
|
|
+ tripal_bulk_loader_update_constant(
|
|
|
+ $form_state['values']['nid'],
|
|
|
+ $form_state['values']['group_id'],
|
|
|
+ $form_state['values'][$record_id.'-'.$field_id.'-table'],
|
|
|
+ $form_state['values'][$record_id.'-'.$field_id.'-field'],
|
|
|
+ $record_id,
|
|
|
+ $field_id,
|
|
|
+ $form_state['values'][$record_id.'-'.$field_id]
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+ drupal_set_message('The constant set was successfully updated.');
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * Delete a constant set (exposed fields in template)
|
|
|
+ *
|
|
|
+ * @param $form_state
|
|
|
+ * The current state of the form
|
|
|
+ * @param $node
|
|
|
+ * The node to set constants for
|
|
|
+ * @param $group_id
|
|
|
+ * The constant set to delete
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ * A form array to be rendered by drupal_get_form()
|
|
|
+ */
|
|
|
+function tripal_bulk_loader_delete_constant_set_form ($form_state, $node, $group_id) {
|
|
|
+ $form = array();
|
|
|
+
|
|
|
+ $form['#redirect'] = 'node/'.$node->nid;
|
|
|
+
|
|
|
+ $form['nid'] = array(
|
|
|
+ '#type' => 'value',
|
|
|
+ '#value' => $node->nid,
|
|
|
+ );
|
|
|
+
|
|
|
+ $form['group_id'] = array(
|
|
|
+ '#type' => 'hidden',
|
|
|
+ '#value' => $group_id,
|
|
|
+ );
|
|
|
+
|
|
|
+ return confirm_form($form,
|
|
|
+ t('Are you sure you want to delete this constant set?'),
|
|
|
+ 'node/'.$node->nid,
|
|
|
+ t('This action cannot be undone.'),
|
|
|
+ t('Delete'),
|
|
|
+ t('Cancel')
|
|
|
+ );
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * Delete the current constant set
|
|
|
+ */
|
|
|
+function tripal_bulk_loader_delete_constant_set_form_submit ($form, $form_state) {
|
|
|
+
|
|
|
+ $group_id = $form_state['values']['group_id'];
|
|
|
+ $nid = $form_state['values']['nid'];
|
|
|
+ if ($nid && $form_state['values']['confirm']) {
|
|
|
+ db_query("DELETE FROM {tripal_bulk_loader_constants} WHERE nid=%d AND group_id=%d",$nid, $group_id);
|
|
|
+ drupal_set_message('Constant set successfully deleted.');
|
|
|
+ }
|
|
|
+
|
|
|
+}
|