function file_resup_field_widget_submit in File Resumable Upload 8
Same name and namespace in other branches
- 7 file_resup.field.inc \file_resup_field_widget_submit()
#submit callback for the upload button of the field widget element.
1 string reference to 'file_resup_field_widget_submit'
- file_resup_field_widget_process in ./
file_resup.field.inc - #process callback for the field widget element.
File
- ./
file_resup.field.inc, line 206 - Written by Henri MEDOT <henri.medot[AT]absyx[DOT]fr> http://www.absyx.fr
Code
function file_resup_field_widget_submit($form, &$form_state) {
$button = $form_state['triggering_element'];
$element = drupal_array_get_nested_value($form, array_slice($button['#array_parents'], 0, -1));
$field_name = $element['#field_name'];
$langcode = $element['#language'];
$parents = $element['#field_parents'];
$field_state = field_form_get_state($parents, $field_name, $langcode, $form_state);
$items = $field_state['items'];
// Remove possible duplicate items.
$fids = array();
foreach ($items as $delta => $item) {
if (in_array($item['fid'], $fids)) {
unset($items[$delta]);
}
else {
$fids[] = $item['fid'];
}
}
$items = array_values($items);
// Append our items.
if (!empty($element['resup']['#value'])) {
$fids = array_diff(explode(',', $element['resup']['#value']), $fids);
$field = field_widget_field($element, $form_state);
foreach ($fids as $fid) {
$item = array(
'fid' => $fid,
);
// Respect display default when available.
if (!empty($field['settings']['display_field'])) {
$item['display'] = $field['settings']['display_default'];
}
$items[] = $item;
}
}
drupal_array_set_nested_value($form_state['values'], array_slice($button['#array_parents'], 0, -2), $items);
$field_state['items'] = $items;
field_form_set_state($parents, $field_name, $langcode, $form_state, $field_state);
}