Index: filefield.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/filefield/filefield.module,v retrieving revision 1.193 diff -u -r1.193 filefield.module --- filefield.module 13 Apr 2009 04:15:27 -0000 1.193 +++ filefield.module 13 Apr 2009 05:05:30 -0000 @@ -298,9 +298,6 @@ if (empty($form['#validate']) || !in_array('filefield_node_form_validate', $form['#validate'])) { $form['#validate'][] = 'filefield_node_form_validate'; } - if (empty($form['#submit']) || !in_array('filefield_node_form_submit', $form['#submit'])) { - $form['#submit'][] = 'filefield_node_form_submit'; - } $form['#attributes'] = array('enctype' => 'multipart/form-data'); module_load_include('inc', 'filefield', 'field_widget'); Index: filefield_widget.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/filefield/filefield_widget.inc,v retrieving revision 1.81 diff -u -r1.81 filefield_widget.inc --- filefield_widget.inc 13 Apr 2009 00:27:57 -0000 1.81 +++ filefield_widget.inc 13 Apr 2009 05:05:30 -0000 @@ -280,6 +280,14 @@ // $form_state['clicked_button'] is only available after this #process // callback is finished. if (_form_button_was_clicked($element['filefield_remove'])) { + // Delete the file if it is currently unused. Note that field_file_delete() + // does a reference check in addition to our basic status check. + if (isset($edit['fid'])) { + $removed_file = field_file_load($edit['fid']); + if ($removed_file['status'] == 0) { + field_file_delete($removed_file); + } + } $item = array('fid' => 0, 'list' => $field['list_default'], 'data' => array('description' => '')); } @@ -512,16 +520,3 @@ } } } - -/** - * Additional #submit handler for the node form. - */ -function filefield_node_form_submit($form, &$form_state) { - // Only add additional submit handling on save. - if ($form_state['values']['op'] == t('Save')) { - // TODO: Immediately delete temporary files that were uploaded but never - // saved. This isn't critical to do, since any file not saved with the node - // will by cleaned up by system_cron() after 6 hours. - return; - } -}