diff --git a/components/pagebreak.inc b/components/pagebreak.inc index c89524a..30848b3 100644 --- a/components/pagebreak.inc +++ b/components/pagebreak.inc @@ -16,6 +16,8 @@ function _webform_defaults_pagebreak() { 'weight' => 0, 'extra' => array( 'private' => FALSE, + 'next_page_value' => '', + 'prev_page_value' => '', ), ); } @@ -45,6 +47,19 @@ function _webform_edit_pagebreak($component) { $form['display'] = array('#type' => 'markup'); // Hide the display options. + $form['extra']['next_page_value'] = array( + '#type' => 'textfield', + '#title' => t('Next page button text'), + '#description' => t('This is used for the Next Page button on the page before this page break. Default: Next Page >'), + '#default_value' => $component['extra']['next_page_value'], + ); + $form['extra']['prev_page_value'] = array( + '#type' => 'textfield', + '#title' => t('Prev page button text'), + '#description' => t('This is used for the Prev Page button on the page after this page break. Default: '), + '#default_value' => $component['extra']['prev_page_value'], + ); + return $form; } diff --git a/includes/webform.components.inc b/includes/webform.components.inc index d1de2f3..d20324b 100644 --- a/includes/webform.components.inc +++ b/includes/webform.components.inc @@ -567,7 +567,7 @@ function webform_component_edit_form(&$form_state, $node, $component, $clone = F // Merge the additional fields with the current fields: if (isset($additional_form_elements['extra'])) { - $form['extra'] = array_merge($form['extra'], $additional_form_elements['extra']); + $form['extra'] = array_merge((array)$form['extra'], $additional_form_elements['extra']); unset($additional_form_elements['extra']); } if (isset($additional_form_elements['position'])) { diff --git a/webform.module b/webform.module index 734e33c..29cb210 100644 --- a/webform.module +++ b/webform.module @@ -1780,11 +1780,20 @@ function webform_client_form(&$form_state, $node, $submission, $is_draft = FALSE $page_count = $form_state['webform']['page_count']; $page_num = $form_state['webform']['page_num']; + if ($page_count > 1) { + $next_page_value = array(); + $prev_page_value = array(); + } + // Recursively add components to the form. The unfiltered version of the // form (typically used in Form Builder), includes all components. foreach ($component_tree['children'] as $cid => $component) { $component_value = isset($form_state['values']['submitted'][$cid]) ? $form_state['values']['submitted'][$cid] : NULL; if ($filter == FALSE || _webform_client_form_rule_check($node, $component, $page_num, $form_state)) { + if ($component['type'] == 'pagebreak') { + $next_page_value[$component['page_num']-1] = !empty($component['extra']['next_page_value']) ? t($component['extra']['next_page_value']) : t('Next Page >'); + $prev_page_value[$component['page_num']] = !empty($component['extra']['prev_page_value']) ? t($component['extra']['prev_page_value']) : t('< Previous Page'); + } _webform_client_form_add_component($node, $component, $component_value, $form['submitted'], $form, $form_state, $submission, 'form', $page_num, $filter); } } @@ -1835,8 +1844,8 @@ function webform_client_form(&$form_state, $node, $submission, $is_draft = FALSE } if ($page_count > 1) { - $next_page = t('Next Page >'); - $prev_page = t('< Previous Page'); + $next_page = $next_page_value[$page_num]; + $prev_page = $prev_page_value[$page_num]; // Add the submit button(s). if ($page_num > 1) {