function imagefield_file_insert in ImageField 5.2
Same name and namespace in other branches
- 5 imagefield.module \imagefield_file_insert()
- 6.3 imagefield_file.inc \imagefield_file_insert()
Insert a file into the database.
Parameters
$node: Node object this file is be associated with.
$file: File to be inserted, passed by reference since fid should be attached.
2 calls to imagefield_file_insert()
- imagefield_field in ./
imagefield.module - Implementation of hook_field().
- imagefield_file_update in ./
imagefield.module - Update the file record if necessary.
File
- ./
imagefield.module, line 221 - Defines an image field type. imagefield uses content.module to store the fid, and the drupal files table to store the actual file data.
Code
function imagefield_file_insert($node, &$file, $field) {
$fieldname = $field['field_name'];
// allow tokenized paths.
if (function_exists('token_replace')) {
global $user;
$widget_image_path = token_replace($field['widget']['image_path'], 'user', $user);
}
else {
$widget_image_path = $field['widget']['image_path'];
}
if (imagefield_check_directory($widget_image_path)) {
$filepath = file_create_path($widget_image_path) . '/' . $file['filename'];
if ($file = file_save_upload((object) $file, $filepath)) {
$file = (array) $file;
$file['fid'] = db_next_id('{files}_fid');
db_query("INSERT into {files} (fid, nid, filename, filepath, filemime, filesize)\n VALUES (%d, %d, '%s','%s','%s',%d)", $file['fid'], $node->nid, $file['filename'], $file['filepath'], $file['filemime'], $file['filesize']);
module_invoke_all('imagefield_file', 'save', $file);
return (array) $file;
}
}
// Either directory creation or the upload failed.
// Include file name in upload error.
form_set_error(null, t('Image upload was unsuccessful.'));
return FALSE;
}