function tripal_bulk_loader_duplicate_template_record_form_submit

2.x tripal_bulk_loader.admin.templates.inc tripal_bulk_loader_duplicate_template_record_form_submit($form, &$form_state)
3.x tripal_bulk_loader.admin.templates.inc tripal_bulk_loader_duplicate_template_record_form_submit($form, &$form_state)

Delete Record Form

This form is meant to be called from a bulk loader form

D7 @todo: Needs to be debugged

Parameters

$form_state: Contains the values and storage for the form

Return value

A form array to be rendered by drupal_get_form

Related topics

File

tripal_bulk_loader/includes/tripal_bulk_loader.admin.templates.inc, line 1435
All functions in this file pertain to administrative management of bulk loader templates

Code

function tripal_bulk_loader_duplicate_template_record_form_submit($form, &$form_state) {
  $form_state['rebuild'] = FALSE;
  $template_id = $form_state['storage']['template_id'];
  $form_state['redirect'] = 'admin/tripal/loaders/bulk/template/' . $template_id . '/edit';

  $sql = "SELECT * FROM {tripal_bulk_loader_template} WHERE template_id=:template";
  $result = db_query($sql, array(':template' => $form_state['storage']['template_id']))->fetchObject();
  $form_state['storage']['template'] = unserialize($result->template_array);

  // original record (one to be duplicated)
  $orig_priority = $form_state['storage']['record_id'];
  $record = $form_state['storage']['template'][$orig_priority];

  // new record
  $record['record_id'] = $form_state['values']['new_record_name'];
  $form_state['storage']['template'][] = $record;

  $record = array(
    'template_id' => $form_state['storage']['template_id'],
    'template_array' => serialize($form_state['storage']['template']),
    'changed' => time()
  );
  drupal_write_record('tripal_bulk_loader_template', $record, array('template_id'));
  drupal_set_message(t('Template Saved.'));
}