function template_preprocess_ife_form_element in Inline Form Errors 6
Same name and namespace in other branches
- 6.2 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) {
$vars['error_message'] = '';
$element = $vars['element'];
//theme the field
// If there was a theme function apart from ife, theme the element with it.
if (isset($element['#original_theme'])) {
$vars['field'] = theme($element['#original_theme'], $element);
}
elseif (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 (isset($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;
}
}
}
}
// captcha type support
if (module_exists('captcha')) {
if ($element['#field_type'] == 'captcha') {
if (!empty($element['captcha_widgets']['captcha_response'])) {
$element_error = ife_element_get_error($element['captcha_widgets']['captcha_response']);
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;
}
}