You are here

function form_builder_webform_form_builder_preview_alter in Form Builder 7

Same name and namespace in other branches
  1. 6 modules/webform/form_builder_webform.module \form_builder_webform_form_builder_preview_alter()
  2. 7.2 modules/webform/form_builder_webform.module \form_builder_webform_form_builder_preview_alter()

Implements hook_form_builder_preview_alter().

The most common use of the preview altering is filtering field descriptions via filter_xss() or other functions. Webform has its own filtering function for this purpose.

File

modules/webform/form_builder_webform.module, line 254
Form Builder integration for the Webform module.

Code

function form_builder_webform_form_builder_preview_alter(&$element, $form_type, $form_id) {
  if ($form_type == 'webform') {

    // Filter all descriptions for all components.
    if (isset($element['#description'])) {
      $element['#description'] = _webform_filter_descriptions($element['#description']);
    }
    if (isset($element['#default_value']) && is_string($element['#default_value'])) {
      $element['#value'] = _webform_filter_values($element['#default_value'], NULL, NULL, NULL, FALSE);
    }

    // Let components do any extra filtering if needed.
    $type = isset($element['#webform_component']['type']) ? $element['#webform_component']['type'] : $element['#form_builder']['element_type'];
    if ($new_element = form_builder_webform_component_invoke($type, 'form_builder_preview_alter', $element)) {
      $element = $new_element;
    }

    // A #title_display property of 0 (as stored by Webform) means no setting.
    if (isset($element['#title_display']) && strcmp('0', $element['#title_display']) === 0) {
      unset($element['#title_display']);
    }
  }
}