function tripal_pub_importer_setup_form_submit

2.x tripal_pub.pub_importers.inc tripal_pub_importer_setup_form_submit($form, &$form_state)
3.x tripal_chado.pub_importers.inc tripal_pub_importer_setup_form_submit($form, &$form_state)
1.x pub_importers.inc tripal_pub_importer_setup_form_submit($form, &$form_state)

File

tripal_pub/includes/pub_importers.inc, line 476

Code

function tripal_pub_importer_setup_form_submit($form, &$form_state) {

  $pub_import_id = $form_state['values']['pub_import_id'];
  $num_criteria = $form_state['values']['num_criteria'];
  $remote_db = $form_state['values']["remote_db"];
  $days = trim($form_state['values']["days"]);
  $loader_name = trim($form_state['values']["loader_name"]);
  $disabled = $form_state['values']["disabled"];
  $do_contact = $form_state['values']["do_contact"];

  // set the session variables
  $_SESSION['tripal_pub_import']['remote_db'] = $remote_db;
  $_SESSION['tripal_pub_import']['days'] = $days;
  $_SESSION['tripal_pub_import']['num_criteria'] = $num_criteria;
  $_SESSION['tripal_pub_import']['loader_name'] = $loader_name;
  $_SESSION['tripal_pub_import']['disabled'] = $disabled;
  $_SESSION['tripal_pub_import']['do_contact'] = $do_contact;
  $_SESSION['tripal_pub_import']['pub_import_id'] = $pub_import_id;
  unset($_SESSION['tripal_pub_import']['criteria']);
  for ($i = 1; $i <= $num_criteria; $i++) {
    $search_terms = trim($form_state['values']["search_terms-$i"]);
    $scope = $form_state['values']["scope-$i"];
    $is_phrase = $form_state['values']["is_phrase-$i"];
    $operation = $form_state['values']["operation-$i"];

    $_SESSION['tripal_pub_import']['criteria'][$i] = array(
      'search_terms' => $search_terms,
      'scope' => $scope,
      'is_phrase' => $is_phrase,
      'operation' => $operation
    );
  }

  // now perform the appropriate action for the button clicked
  if ($form_state['values']['op'] == 'Test Importer') {
    $_SESSION['tripal_pub_import']['perform_search'] = 1;
  }
  if ($form_state['values']['op'] == 'Save Importer' or 
    $form_state['values']['op'] == 'Save & Import Now') {
    $record = array(
      'name' => $loader_name,
      'criteria' => serialize($_SESSION['tripal_pub_import']),
      'disabled' => $disabled,
      'do_contact' => $do_contact
    );
    // first check to see if this pub_import_id is already present. If so,
    // do an update rather than an insert
    $sql = "SELECT * FROM {tripal_pub_import} WHERE pub_import_id = %d";
    $importer = db_fetch_object(db_query($sql, $pub_import_id));
    if ($importer) {
      // do the update
      $record['pub_import_id'] = $pub_import_id;
      if (drupal_write_record('tripal_pub_import', $record, 'pub_import_id')) {
        unset($_SESSION['tripal_pub_import']);
        drupal_set_message('Publication import settings updated.');
        drupal_goto('admin/tripal/tripal_pub/import_list');
      }
      else {
        drupal_set_message('Could not update publication import settings.', 'error');
      }
    }
    else {
      // do the insert
      if (drupal_write_record('tripal_pub_import', $record)) {
        unset($_SESSION['tripal_pub_import']);
        drupal_set_message('Publication import settings saved.');
        // if the user wants to do the import now then do it (may time out
        // for long jobs)
        if ($form_state['values']['op'] == 'Save & Import Now') {
          tripal_pub_import_publications($record['pub_import_id']);
        }
        drupal_goto('admin/tripal/tripal_pub/import_list');
      }
      else {
        drupal_set_message('Could not save publication import settings.', 'error');
      }
    }
  }
  if ($form_state['values']['op'] == 'Delete Importer') {
    $sql = "DELETE FROM {tripal_pub_import} WHERE pub_import_id = %d";
    $success = db_query($sql, $pub_import_id);
    if ($success) {
      drupal_set_message('Publication importer deleted.');
      drupal_goto('admin/tripal/tripal_pub/import_list');
    }
    else {
      drupal_set_message('Could not delete publication importer.', 'error');
    }
  }
}