function theme_webform_display_select in Webform 7.4
Same name and namespace in other branches
- 6.3 components/select.inc \theme_webform_display_select()
- 7.3 components/select.inc \theme_webform_display_select()
Format the text output for this component.
1 theme call to theme_webform_display_select()
- _webform_display_select in components/
select.inc - Implements _webform_display_component().
File
- components/
select.inc, line 582 - Webform module multiple select component.
Code
function theme_webform_display_select($variables) {
$element = $variables['element'];
// Flatten the list of options so we can get values easily. These options
// may be translated by hook_webform_display_component_alter().
$options = array();
foreach ($element['#options'] as $key => $value) {
if (is_array($value)) {
foreach ($value as $subkey => $subvalue) {
$options[$subkey] = $subvalue;
}
}
else {
$options[$key] = $value;
}
}
$items = array();
if ($element['#multiple']) {
foreach ((array) $element['#value'] as $option_value) {
if ($option_value !== '') {
// Administer provided values.
if (isset($options[$option_value])) {
$items[] = $element['#format'] == 'html' ? webform_filter_xss($options[$option_value]) : $options[$option_value];
}
else {
$items[] = $element['#format'] == 'html' ? check_plain($option_value) : $option_value;
}
}
}
}
else {
if (isset($element['#value'][0]) && $element['#value'][0] !== '') {
// Administer provided values.
if (isset($options[$element['#value'][0]])) {
$items[] = $element['#format'] == 'html' ? webform_filter_xss($options[$element['#value'][0]]) : $options[$element['#value'][0]];
}
else {
$items[] = $element['#format'] == 'html' ? check_plain($element['#value'][0]) : $element['#value'][0];
}
}
}
if ($element['#format'] == 'html') {
$output = count($items) > 1 ? theme('item_list', array(
'items' => $items,
)) : (isset($items[0]) ? $items[0] : ' ');
}
else {
if (count($items) > 1) {
foreach ($items as $key => $item) {
$items[$key] = ' - ' . $item;
}
$output = implode("\n", $items);
}
else {
$output = isset($items[0]) ? $items[0] : ' ';
}
}
return $output;
}