function _webform_render_mailchimp in Webform Mailchimp 6
Same name and namespace in other branches
- 7.4 webform_mailchimp.inc \_webform_render_mailchimp()
- 7 webform_mailchimp.inc \_webform_render_mailchimp()
- 7.2 webform_mailchimp.inc \_webform_render_mailchimp()
Implementation of _webform_render_component().
File
- ./
webform_mailchimp.inc, line 179 - Webform module Mailchimp component.
Code
function _webform_render_mailchimp($component, $value = NULL, $filter = TRUE) {
if ($value[0]) {
$default_value = $value[0];
}
else {
$default_value = _webform_filter_values($component['value']);
}
$element = array(
'#title' => htmlspecialchars($component['name'], ENT_QUOTES),
'#title_display' => $component['extra']['title_display'] ? $component['extra']['title_display'] : 'before',
'#required' => $component['mandatory'],
'#weight' => $component['weight'],
'#prefix' => '<div class="webform-component-' . $component['type'] . '" id="webform-component-' . $component['form_key'] . '">',
'#suffix' => '</div>',
'#webform_component' => $component,
'#theme' => 'webform_mailchimp_email',
'#pre_render' => array(
'webform_element_title_display',
),
'#element_validate' => array(
'_webform_validate_mailchimp_email',
),
);
// Creates a field if the user hasn't chosen another email field.
if ($component['extra']['use_existing_email_field'] == 'mailchimp_field') {
$element['mailchimp_email_address'] = array(
'#type' => 'textfield',
'#description' => $component['extra']['description'],
'#default_value' => _webform_filter_values($component['value']),
'#attributes' => $component['extra']['attributes'],
'#size' => $size,
);
}
else {
// Creates a checkbox to subscribe, or a hidden form element if configured
if ($component['extra']['checkbox_hidden'] == 1) {
$element['mailchimp_signup'] = array(
'#type' => 'hidden',
'#default_value' => !empty($component['extra']['checkbox_checked_by_default']) ? $component['extra']['checkbox_checked_by_default'] : 0,
);
}
else {
$element['mailchimp_signup'] = array(
'#type' => 'checkbox',
'#title' => !empty($component['extra']['checkbox_label']) ? htmlspecialchars($component['extra']['checkbox_label'], ENT_QUOTES) : t('Subscribe to newsletter'),
'#default_value' => !empty($component['extra']['checkbox_checked_by_default']) ? $component['extra']['checkbox_checked_by_default'] : 0,
'#attributes' => $component['extra']['attributes'],
);
}
}
$mailchimp_list = $component['extra']['mailchimp_list'];
$element['mailchimp_list'] = array(
'#prefix' => '',
'#type' => 'value',
'#value' => $mailchimp_list,
);
return $element;
}