You are here

function webform_results_download_form_submit in Webform 7.4

Same name and namespace in other branches
  1. 5.2 webform_report.inc \webform_results_download_form_submit()
  2. 6.3 includes/webform.report.inc \webform_results_download_form_submit()
  3. 6.2 webform_report.inc \webform_results_download_form_submit()
  4. 7.3 includes/webform.report.inc \webform_results_download_form_submit()

Submit handler for webform_results_download_form().

File

includes/webform.report.inc, line 855
This file includes helper functions for creating reports for webform.module.

Code

function webform_results_download_form_submit(&$form, &$form_state) {
  $node = $form_state['values']['node'];
  $format = $form_state['values']['format'];
  $options = array(
    'delimiter' => $form_state['values']['delimiter'],
    'components' => array_keys(array_filter($form_state['values']['components'])),
    'header_keys' => $form_state['values']['header_keys'],
    'select_keys' => $form_state['values']['select_keys'],
    'select_format' => $form_state['values']['select_format'],
    'range' => $form_state['values']['range'],
    'download' => $form_state['values']['download'],
  );
  $defaults = webform_results_download_default_options($node, $format);
  $options += $defaults;
  $options['range'] += $defaults['range'];

  // Determine an appropriate batch size based on the form and server specs.
  if (!isset($options['range']['batch_size'])) {
    $options['range']['batch_size'] = webform_export_batch_size($node);
  }
  $options['file_name'] = _webform_export_tempname();

  // Set up a batch to export the results.
  $batch = webform_results_export_batch($node, $format, $options);
  batch_set($batch);

  // Disable progressive batch process.
  if (!webform_variable_get('webform_export_use_progressive_batch')) {
    $batch =& batch_get();
    $batch['progressive'] = FALSE;
    batch_process();
  }
}