You are here

function uc_extra_fields_pane_form_submit in Extra Fields Checkout Pane 6

File

./uc_extra_fields_pane.module, line 179

Code

function uc_extra_fields_pane_form_submit($form, &$form_state) {
  $post_data = $form_state['values']['ucxf']['add_one_more_field'];
  $field = new stdClass();
  $field->field_name = $post_data['label'];
  $field->field_description = $post_data['description'];
  $field->field_db_name = $post_data['field_name'];
  $field->field_required = $post_data['required'];
  if (drupal_write_record('uc_extra_fields', $field) != FALSE) {
    $billing_field_value_name = $field->field_db_name . '_billing';
    $delivery_field_value_name = $field->field_db_name . '_delivery';
    $created = array();
    $spec = array(
      'type' => 'varchar',
      'length' => '255',
      'not null' => FALSE,
    );
    db_add_field($created, 'uc_extra_fields_values', $billing_field_value_name, $spec);
    db_add_field($created, 'uc_extra_fields_values', $delivery_field_value_name, $spec);
    $success = TRUE;
    foreach ($created as $check) {
      if (!$check['success']) {
        $success = FALSE;
      }
    }
    if ($success) {
      drupal_set_message(t('Field saved'));
    }
    else {
      drupal_set_message(t('Error creating new field'));
    }
  }
  else {
    drupal_set_message(t('Error creating new field'));
  }
}