You are here

function _webform_render_phone in Webform Phone Number 7.2

Same name and namespace in other branches
  1. 7 webform_phone.components.inc \_webform_render_phone()

Render a Webform component to be part of a form.

Parameters

$component: A Webform component array.

$value: If editing an existing submission or resuming a draft, this will contain an array of values to be shown instead of the default in the component configuration. This value will always be an array, keyed numerically for each value saved in this field.

$filter: Whether or not to filter the contents of descriptions and values when rendering the component. Values need to be unfiltered to be editable by Form Builder.

See also

_webform_client_form_add_component()

File

./webform_phone.components.inc, line 187
Webform Component information for a phone number field type

Code

function _webform_render_phone($component, $value = NULL, $filter = TRUE) {
  require_once PHONE_MODULE_PATH . '/includes/phone.element.inc';
  drupal_add_css(drupal_get_path('module', 'webform_phone') . '/webform_phone.css');
  $phone_settings = array_merge($component['extra']['widget_settings'], $component['extra']['field_settings']);
  $phone_element = array(
    '#phone_settings' => $phone_settings,
    '#value' => $value,
    '#required' => $component['required'] || $component['mandatory'],
    '#delta' => 0,
  );
  $form_state = array();
  $form_item = phone_element_process($phone_element, $form_state, array());
  $form_item['#element_validate'] = array(
    'webform_validate_phone',
  );
  $form_item['#theme_wrappers'] = array(
    'webform_element',
  );
  $form_item['#title'] = $filter ? _webform_filter_xss($component['name']) : $component['name'];
  $form_item['#title_display'] = $component['extra']['title_display'] ? $component['extra']['title_display'] : 'before';
  $form_item['#weight'] = $component['weight'];
  $form_item['#description'] = $filter ? _webform_filter_descriptions($component['extra']['description']) : $component['extra']['description'];
  return $form_item;
}