function tripal_analysis_admin_validate

2.x tripal_analysis.admin.inc tripal_analysis_admin_validate($form, &$form_state)
3.x tripal_analysis.admin.inc tripal_analysis_admin_validate($form, &$form_state)
1.x tripal_analysis.admin.inc tripal_analysis_admin_validate($form, &$form_state)

Validate the administrative form @todo Stephen: Why is validate used rather then submit?

@form_state The user submitted values

Parameters

$form: The form API array of the form to be validated

Related topics

File

tripal_analysis/includes/tripal_analysis.admin.inc, line 314
Contains functions displaying administrative pages and forms

Code

function tripal_analysis_admin_validate($form, &$form_state) {
  global $user; // we need access to the user info
  $job_args = array();

  if ($form_state['values']['op'] == t('Submit Sync Job')) {

    // check to see if the user wants to sync chado and drupal.  If
    // so then we need to register a job to do so with tripal
    $analyses = $form_state['values']['analyses'];
    $do_all = FALSE;
    $to_sync = array();

    foreach ($analyses as $analysis_id) {
      if (preg_match("/^all$/i", $analysis_id)) {
        $do_all = TRUE;
      }
      if ($analysis_id and preg_match("/^\d+$/i", $analysis_id)) {
        // get the list of analyses
        $sql = "SELECT * FROM {analysis} WHERE analysis_id = %d";
        $analysis = db_fetch_object(chado_query($sql, $analysis_id));
        $to_sync[$analysis_id] = $analysis->name;
      }
    }

    // submit the job the tripal job manager
    if ($do_all) {
      tripal_add_job('Sync all analyses', 'tripal_analysis', 'tripal_analysis_sync_analyses', $job_args, $user->uid);
    }
    else {
      foreach ($to_sync as $analysis_id => $name) {
        $job_args[0] = $analysis_id;
        tripal_add_job("Sync analysis: $name", 'tripal_analysis', 'tripal_analysis_sync_analyses', $job_args, $user->uid);
      }
    }
  }
  // -------------------------------------
  // Submit the Reindex Job if selected
  if ($form_state['values']['op'] == t('Reindex Features')) {
    global $user; // we need access to the user info
    $job_args = array();
    $analyses = $form_state['values']['re-analyses'];
    foreach ($analyses as $analysis_id) {
      if ($analysis_id and preg_match("/^\d+$/i", $analysis_id)) {
        // get the analysis info
        $sql = "SELECT * FROM {analysis} WHERE analysis_id = %d";
        $analysis = db_fetch_object(chado_query($sql, $analysis_id));
        $job_args[0] = $analysis_id;
        tripal_add_job("Reindex features for analysis: $analysis->name", 'tripal_analysis', 
        'tripal_analysis_reindex_features', $job_args, $user->uid);
      }
    }
  }

  // -------------------------------------
  // Submit the Taxonomy Job if selected
  if ($form_state['values']['op'] == t('Set Feature Taxonomy')) {
    global $user; // we need access to the user info
    $job_args = array();
    $analyses = $form_state['values']['tx-analyses'];
    foreach ($analyses as $analysis_id) {
      if ($analysis_id and preg_match("/^\d+$/i", $analysis_id)) {
        // get the analysis info
        $sql = "SELECT * FROM {analysis} WHERE analysis_id = %d";
        $analysis = db_fetch_object(chado_query($sql, $analysis_id));
        $job_args[0] = $analysis_id;
        tripal_add_job("Set taxonomy for features in analysis: $analysis->name", 'tripal_analysis', 
        'tripal_analysis_taxonify_features', $job_args, $user->uid);
      }
    }
  }

  // -------------------------------------
  // Submit the Cleanup Job if selected
  if ($form_state['values']['op'] == t('Clean up orphaned analyses')) {
    tripal_add_job('Cleanup orphaned analyses', 'tripal_analysis', 
    'tripal_analyses_cleanup', $job_args, $user->uid);
  }
}