function domain_entity_widget_multiple_values_form_validate in Domain Access Entity 7
Widget form validate.
Handle checkboxes to save it as multiple field values (delta).
1 string reference to 'domain_entity_widget_multiple_values_form_validate'
- domain_entity_field_widget_form in ./
domain_entity.module - Implements hook_field_widget_form().
File
- ./
domain_entity.module, line 604 - Defines field (e.g. domain_entity) for entities, and access query alter.
Code
function domain_entity_widget_multiple_values_form_validate($element, &$form_state, $form) {
global $user;
$user_granted_domain_ids = domain_get_user_domains($user);
$entity_type = isset($element['#entity_type']) ? $element['#entity_type'] : FALSE;
if (!in_array($entity_type, array_keys(domain_entity_allowed_entity_types()))) {
return;
}
$default_values = $element['#default_value'];
$values = $element['#value'];
$active_domain = array();
$domains = domain_domains();
foreach ($domains as $domain) {
if (!in_array($domain['domain_id'], $user_granted_domain_ids) && in_array($domain['domain_id'], $default_values)) {
$active_domain[] = array(
'domain_id' => $domain['domain_id'],
);
}
elseif (in_array($domain['domain_id'], $user_granted_domain_ids) && in_array($domain['domain_id'], $values)) {
$active_domain[] = array(
'domain_id' => $domain['domain_id'],
);
}
}
$items = array();
foreach ($active_domain as $domain) {
$items[] = $domain;
}
// Emulate multivalue field. Unset last parent to prevent errors.
array_pop($element['#parents']);
// Put the value of DOMAIN_ENTITY_SEND_TO_ALL (e.g. 0) to the end of the array.
$items = array_reverse($items);
drupal_alter('domain_entity_widget_multiple_values_form_validate', $items, $form_state, $form, $element);
// Set the domain values.
form_set_value($element, $items, $form_state);
}