function node_field_file_node_field_update in Node Field 7.2
Implements hook_node_field_update().
File
- modules/
node_field_file/ node_field_file.module, line 30
Code
function node_field_file_node_field_update($field) {
if (isset($field['value']) && isset($field['type']) && $field['type'] == 'file') {
if (empty($field['value'])) {
$node_field = node_field_load($field['id']);
if ($node_field['value']) {
$file = file_load($node_field['value']);
if ($file) {
file_usage_delete($file, 'node_field_file', 'node_field', $field['id']);
file_delete($file);
}
}
}
else {
$file_system = empty($field['settings']['file_system']) ? 'public' : $field['settings']['file_system'];
$file = file_load($field['value']);
if ($file) {
$file->status = FILE_STATUS_PERMANENT;
$destination = $file_system . '://' . $file->filename;
$destination = file_unmanaged_move($file->uri, $destination, FILE_EXISTS_RENAME);
$file->uri = $destination;
file_save($file);
file_usage_add($file, 'node_field_file', 'node_field', $field['id']);
}
}
}
}