You are here

function imagefield_file_insert in ImageField 5

Same name and namespace in other branches
  1. 5.2 imagefield.module \imagefield_file_insert()
  2. 6.3 imagefield_file.inc \imagefield_file_insert()

insert a file into the database.

Parameters

$node: node object file will 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 98
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'];
  $filepath = file_create_path($field['widget']['image_path']) . '/' . $file['filename'];
  if (imagefield_check_directory($field['widget']['image_path']) && ($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']);
    return (array) $file;
  }
  else {

    // Include file name in upload error.
    form_set_error(NULL, t('Image upload was unsuccessful.'));
    return FALSE;
  }
}