function template_preprocess_ife_form_element in Inline Form Errors 6.2
Same name and namespace in other branches
- 6 ife.theme.inc \template_preprocess_ife_form_element()
Form element preprocess theming function
File
- ./
ife.theme.inc, line 47 - Theme functions
Code
function template_preprocess_ife_form_element(&$vars) {
$element = $vars['element'];
//theme the field
//some strange things happening here with expandables vs singles
if (in_array($vars['element']['#field_type'], ife_expandable_field_types())) {
$vars['field'] = drupal_render($element);
}
else {
$vars['field'] = theme($element['#field_type'], $element);
}
$errors = array();
//get main ellement error
$element_error = ife_element_get_error($element);
if (trim($element_error)) {
$errors[] = $element_error;
}
//cck type support
if ($element['value']) {
$values = element_children($element['value']);
//get main field error
$element['value']['#display_type'] = $element['#display_type'];
$element_error = ife_element_get_error($element['value']);
if (trim($element_error)) {
$errors[] = $element_error;
}
//get sub errors
if (count($values)) {
foreach ($values as $key) {
//pass along display_type
$element['value'][$key]['#display_type'] = $element['#display_type'];
//get errors
$element_error = ife_element_get_error($element['value'][$key]);
if (trim($element_error)) {
$errors[] = $element_error;
}
}
}
}
if (count($errors)) {
if (count($errors) > 1) {
$vars['error_message'] = theme('item_list', $errors);
}
else {
$vars['error_message'] = $errors[0];
}
$vars['error'] = TRUE;
}
}