You are here

function ife_element_get_error in Inline Form Errors 7

Same name and namespace in other branches
  1. 6.2 ife.module \ife_element_get_error()
  2. 6 ife.module \ife_element_get_error()

Function to determine all element errors on a given element.

1 call to ife_element_get_error()
ife_form_validator in ./ife.module
Function to set the general error mesage if set

File

./ife.module, line 294
Drupal hooks

Code

function ife_element_get_error($element, $debug = FALSE) {
  if (!isset($_SESSION['messages'])) {
    return;
  }

  // Recurse through all children.
  foreach (element_children($element) as $key) {
    if (isset($element[$key]) && $element[$key]) {
      ife_element_get_error($element[$key]);
    }
  }

  //check for errors and settings
  $errors = form_get_errors();
  $element_id = implode('][', $element['#parents']);
  if (!empty($errors[$element_id])) {
    $error_message = $errors[$element_id];

    //get error id
    $error_id = array_search($error_message, $_SESSION['messages']['error']);
    if ($error_id !== FALSE) {
      if (isset($element['#display_type']) && $element['#display_type'] != 0) {
        unset($_SESSION['messages']['error'][$error_id]);
        $_SESSION['messages']['error'] = array_values($_SESSION['messages']['error']);
      }
      if (count($_SESSION['messages']['error']) <= 0) {
        unset($_SESSION['messages']['error']);
      }

      // Set error message in session, so it can be used in our theming.
      $_SESSION['ife'][$element['#id']] = $error_message;
    }
  }
}