function viewreference_select_process in View reference 7.3
Same name and namespace in other branches
- 6.3 viewreference.module \viewreference_select_process()
- 6 viewreference.module \viewreference_select_process()
- 6.2 viewreference.module \viewreference_select_process()
Process callback for a viewreference_select element.
See also
1 string reference to 'viewreference_select_process'
- viewreference_element_info in ./
viewreference.module - Implements hook_element_info().
File
- ./
viewreference.module, line 985 - Defines a field type for referencing a view from a node.
Code
function viewreference_select_process($element, $form_state, $form) {
$field_name = $element['#field_name'];
$language = $element['#language'];
$field = field_widget_field($element, $form_state);
$instance = field_widget_instance($element, $form_state);
$settings = $field['settings'];
$options = _viewreference_select_widget_options($settings);
if (!$instance['required']) {
$options = array(
0 => '<' . t('none') . '>',
) + $options;
}
$element[$element['#columns'][0]] = array(
'#type' => 'select',
'#multiple' => 0,
'#options' => $options,
'#default_value' => isset($element['#value'][$element['#columns'][0]]) ? $element['#value'][$element['#columns'][0]] : '',
'#field_name' => $field_name,
'#delta' => $element['#delta'],
'#columns' => $element['#columns'],
'#title' => $element['#title'],
'#required' => $instance['required'],
'#description' => isset($instance['description']) ? $instance['description'] : NULL,
);
if ($settings['arguments']['dsv_arguments'] || $settings['arguments']['php_arguments']) {
$element[$element['#columns'][1]] = array(
'#type' => $settings['arguments']['rows'] == 1 ? 'textfield' : 'textarea',
'#default_value' => isset($element['#value'][$element['#columns'][1]]) ? $element['#value'][$element['#columns'][1]] : '',
'#title' => isset($settings['arguments']['label']) ? str_replace('!field_label', $instance['label'], check_plain($settings['arguments']['label'])) : $instance['label'] . ' ' . t('arguments'),
'#rows' => $settings['arguments']['rows'],
'#language' => $language,
'#delta' => $element['#delta'],
'#columns' => $element['#columns'],
);
}
return $element;
}