You are here

function required_by_role_field_widget_is_required in Required by role 7.2

Function to find out if an element is required or not.

1 string reference to 'required_by_role_field_widget_is_required'
required_by_role_enable in ./required_by_role.install
Implements hook_enable().

File

./required_by_role.module, line 37
Allows certain user roles to be exempt from required fields

Code

function required_by_role_field_widget_is_required($delta, $field, $instance, $langcode, $form, $form_state) {

  // Speeds up the check for multiple fields.
  if ($delta != 0) {
    return FALSE;
  }
  if (!$instance['required']) {
    global $user;
    $settings = !empty($instance['settings']) ? $instance['settings'] : array();
    $plugin_id = !empty($settings['required_plugin']) ? $settings['required_plugin'] : 'core';
    $context = array(
      'delta' => $delta,
      'field' => $field,
      'instance' => $instance,
      'langcode' => $langcode,
      'form' => $form,
      'form_state' => $form_state,
      'account' => clone $user,
    );
    $plugin = _required_by_role_get_instance($plugin_id);
    return $plugin
      ->isRequired($context);
  }
  return field_widget_is_required($delta, $field, $instance, $langcode, $form, $form_state);
}