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) {