function _filefield_paths_include_fix_references_filefield_paths_file_postprocess in File (Field) Paths 6.2
@file
File
- includes/
fix_references.inc, line 6
Code
function _filefield_paths_include_fix_references_filefield_paths_file_postprocess($source, $file, $node, $setings) {
// Regular expression to replace old file reference.
$file_directory_path = variable_get('file_downloads', FILE_DOWNLOADS_PUBLIC) == FILE_DOWNLOADS_PUBLIC ? file_directory_path() : 'system/files';
$pattern = array(
'find' => str_replace('/', '\\/', quotemeta($file_directory_path)) . '([^"]*?)' . str_replace('/', '\\/', quotemeta(str_replace(file_directory_path(), '', $source))),
'replace' => $file_directory_path . '$1' . str_replace(file_directory_path(), '', $file['filepath']),
);
if (_filefield_paths_replace_pattern($pattern, $node)) {
// We don't use node_save() here as it triggers hook_nodeapi('save') and
// causes an infinite loop.
global $user;
drupal_write_record('node', $node, 'nid');
_node_save_revision($node, $user->uid, 'vid');
}
}