You are here

function _avatar_selection_uri_to_object in Avatar Selection 7

Create a file object from a file uri.

Parameters

$uri: A file uri of an existing unmanaged file.

$use_existing: Find existing file if possible.

Return value

A file object.

1 call to _avatar_selection_uri_to_object()
_avatar_selection_scan_images in ./avatar_selection.admin.inc
Scan the directory for new files.

File

./avatar_selection.admin.inc, line 79
Administrative page callbacks for the avatar_selection module.

Code

function _avatar_selection_uri_to_object($uri, $use_existing = FALSE) {
  if ($use_existing) {
    $query = db_select('file_managed', 'f')
      ->fields('f', array(
      'fid',
    ))
      ->condition('uri', $uri)
      ->execute()
      ->fetchCol();
    if (!empty($query)) {
      $file = file_load(array_shift($query));
    }
  }
  if (!isset($file)) {
    global $user;
    $uri = file_stream_wrapper_uri_normalize($uri);
    $wrapper = file_stream_wrapper_get_instance_by_uri($uri);
    $file = new stdClass();
    $file->uid = $user->uid;
    $file->filename = basename($uri);
    $file->uri = $uri;
    $file->filemime = file_get_mimetype($uri);

    // This is gagged because some uris will not support it.
    $file->filesize = @filesize($uri);
    $file->timestamp = REQUEST_TIME;
    $file->status = FILE_STATUS_PERMANENT;
    $file->is_new = TRUE;
  }
  return $file;
}