Tripal v1.0 (6.x-1.0)
|
Go to the source code of this file.
Functions | |
tripal_bulk_loader_update_constant ($nid, $group_id, $table, $field, $record_id, $field_id, $value) | |
tripal_bulk_loader_has_exposed_fields ($node) | |
tripal_bulk_loader_set_constants_form ($form_state, $node) | |
tripal_bulk_loader_set_constants_form_validate ($form, $form_state) | |
tripal_bulk_loader_set_constants_form_submit ($form, $form_state) | |
theme_tripal_bulk_loader_set_constants_form ($form) | |
tripal_bulk_loader_edit_constant_set_form ($form_state, $node, $group_id) | |
tripal_bulk_loader_edit_constant_set_form_submit ($form, $form_state) | |
tripal_bulk_loader_delete_constant_set_form ($form_state, $node, $group_id) | |
tripal_bulk_loader_delete_constant_set_form_submit ($form, $form_state) |
Definition in file tripal_bulk_loader.constants.inc.
theme_tripal_bulk_loader_set_constants_form | ( | $ | form | ) |
Definition at line 335 of file tripal_bulk_loader.constants.inc.
{ $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']); if (!empty($row[0])) { $rows[] = array('data' => $row, 'class' => 'draggable'); } $i++; } //drupal_add_tabledrag('mytable', 'order', 'sibling', 'weight-group'); // @coder-ignore: no user input thus don't need to filter $form['exposed_fields']['existing'] = array( '#type' => 'markup', '#value' => theme('table', $header, $rows, array('id' => 'mytable')) . '<br />', ); } $output .= drupal_render($form); return $output; }
tripal_bulk_loader_delete_constant_set_form | ( | $ | form_state, |
$ | node, | ||
$ | group_id | ||
) |
Delete a constant set (exposed fields in template)
$form_state | The current state of the form |
$node | The node to set constants for |
$group_id | The constant set to delete |
Definition at line 536 of file tripal_bulk_loader.constants.inc.
{ $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') ); }
tripal_bulk_loader_delete_constant_set_form_submit | ( | $ | form, |
$ | form_state | ||
) |
Delete the current constant set
Definition at line 564 of file tripal_bulk_loader.constants.inc.
{ $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(t('Constant set successfully deleted.')); } }
tripal_bulk_loader_edit_constant_set_form | ( | $ | form_state, |
$ | node, | ||
$ | group_id | ||
) |
Edit a constant set (exposed fields in template)
$form_state | The current state of the form |
$node | The node to set constants for |
$group_id | The constant set to edit |
Definition at line 398 of file tripal_bulk_loader.constants.inc.
{ $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']; $record = $node->template->template_array[$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('%title', array('%title' => $field['title'])), '#description' => t('%exposed_description', array('%exposed_description' => $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('%title', array('%title' => $field['title'])), '#description' => t('Enter the case-sensitive value of this constant for your data file'), '#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; }
tripal_bulk_loader_edit_constant_set_form_submit | ( | $ | form, |
$ | form_state | ||
) |
Edit constants in the current constant set
Definition at line 495 of file tripal_bulk_loader.constants.inc.
{ // 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(t('The constant set was successfully updated.')); } }
tripal_bulk_loader_has_exposed_fields | ( | $ | node | ) |
Definition at line 71 of file tripal_bulk_loader.constants.inc.
{ // 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; }
tripal_bulk_loader_set_constants_form | ( | $ | form_state, |
$ | node | ||
) |
Set constants (exposed fields in template)
$form_state | The current state of the form |
$node | The node to set constants for |
Definition at line 114 of file tripal_bulk_loader.constants.inc.
{ $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 $first_constant = reset($node->constants); if (sizeof($node->constants) > 0 AND !empty($first_constant)) { $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 data file 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' => filter_xss($field['value']), ); } } $form['exposed_fields']['existing'][$group]['delete'] = array( '#type' => 'markup', '#value' => filter_xss(l(t('Edit'), 'node/' . $node->nid . '/constants/' . $group . '/edit') . ' | ' . l(t('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('%title', array('%title' => $field['title'])), '#description' => t('%exposed_description', array('%exposed_description' => $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('%title', array('%title' => $field['title']) ), '#description' => t('Enter the case-sensitive value of this constant for your data file'), '#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' => $node->template->template_array[$record_id]['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; }
tripal_bulk_loader_set_constants_form_submit | ( | $ | form, |
$ | form_state | ||
) |
Insert/update the constants associated with this node
Definition at line 309 of file tripal_bulk_loader.constants.inc.
{ // 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] ); } } } }
tripal_bulk_loader_set_constants_form_validate | ( | $ | form, |
$ | form_state | ||
) |
Validate that the values entered exist in the database if indicated in hte template array
Definition at line 267 of file tripal_bulk_loader.constants.inc.
{ $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(chado_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( t( 'Confirmed a %title of "%value" already exists.', array( '%title' => $form['exposed_fields']['new'][$record_id . '-' . $field_id]['#title'], '%value' => $form['exposed_fields']['new'][$record_id . '-' . $field_id]['#value'] ) ) ); } } } } } }
tripal_bulk_loader_update_constant | ( | $ | nid, |
$ | group_id, | ||
$ | table, | ||
$ | field, | ||
$ | record_id, | ||
$ | field_id, | ||
$ | value | ||
) |
Inserts/Updates a tripal bulk loading job constant
$nid | The node ID of the the tripal bulk loading job the constant is associated with |
$table | The chado table the constant is associated with |
$field | The chado field the constant is associated with |
$record_id | The index in the template array for this record |
$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.
Definition at line 29 of file tripal_bulk_loader.constants.inc.
{ $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; } } }