function files_undo_remove_file_process in Files undo remove 7
Process callback on managed_file type.
1 string reference to 'files_undo_remove_file_process'
- files_undo_remove_element_info_alter in ./
files_undo_remove.module - Implements hook_element_info_alter().
File
- ./
files_undo_remove.module, line 32 - Files undo remove.
Code
function files_undo_remove_file_process($element, &$form_state, $form) {
// Do not process on field edit form.
if ($form['#form_id'] == 'field_ui_field_edit_form') {
return $element;
}
if (isset($element['fid']) && !empty($element['fid']['#value']) && !empty($element['#field_name'])) {
$field_info = field_info_field($element['#field_name']);
if ($field_info['cardinality'] == 1) {
return $element;
}
// Change the remove button to one of ours.
$element['remove_button'] = array(
'#name' => $element['remove_button']['#name'],
'#type' => 'submit',
'#value' => t('Remove'),
'#attributes' => array(
'class' => array(
'files-undo-remove',
),
),
'#weight' => -5,
);
// Add a hidden state, defaults to 0.
$values = drupal_array_get_nested_value($form_state['values'], $element['#parents']);
$remove_state = isset($values['remove_state']) ? $values['remove_state'] : 0;
$element['remove_state'] = array(
'#type' => 'hidden',
'#default_value' => $remove_state,
'#attributes' => array(
'class' => array(
'files-undo-remove-hidden-state',
),
),
);
}
return $element;
}