You are here

function webform_steps_navigation_callback in Webform steps 7.3

Same name and namespace in other branches
  1. 7 webform_steps.module \webform_steps_navigation_callback()
  2. 7.2 webform_steps.module \webform_steps_navigation_callback()

Submit callback for the step button

We simulate next and previous button clicks for

See also

webform_client_form_pages().

1 string reference to 'webform_steps_navigation_callback'
webform_steps_form_webform_client_form_alter in ./webform_steps.module
Implements hook_form_FORM_ID_alter().

File

./webform_steps.module, line 90

Code

function webform_steps_navigation_callback(&$form, &$form_state) {
  $button =& $form_state['clicked_button'];
  if (!isset($button['#page'])) {
    return;
  }
  $new_page = (int) $button['#page'];
  $old_page =& $form_state['webform']['page_num'];

  // prohibit jumps of more than one step forward at once, after the user
  // jumped back, otherwise one could skip the validations of a step.
  $new_page = min($new_page, $old_page + 1);
  if ($new_page > $old_page) {

    // simulate click on next.
    $button['#parents'][] = 'next';
    $old_page = $new_page - 1;
  }
  else {

    // simulate click on previous.
    $button['#parents'][] = 'previous';
    $old_page = $new_page + 1;
  }
  $form_state['values']['op'] = 'next';
  return $form;
}