function elfinder_get_drupal_file_obj in elFinder file manager 7.3
Same name and namespace in other branches
- 8.2 elfinder.module \elfinder_get_drupal_file_obj()
- 6.2 elfinder.module \elfinder_get_drupal_file_obj()
- 7.2 elfinder.module \elfinder_get_drupal_file_obj()
2 calls to elfinder_get_drupal_file_obj()
- elFinderVolumeDrupal::_drupalfileobject in inc/
elfinder.drupalfs.driver.inc - Create Drupal file object
- elfinder_file_download in ./
elfinder.module
File
- ./
elfinder.module, line 1013
Code
function elfinder_get_drupal_file_obj($uri) {
global $user;
$file = NULL;
$fid = db_select('file_managed', 'f')
->condition('uri', rawurldecode($uri))
->fields('f', array(
'fid',
))
->execute()
->fetchField();
if ($fid) {
$file = file_load($fid);
}
else {
$file = new StdClass();
$file->uid = $user->uid;
$file->filename = basename($uri);
$file->uri = $uri;
$file->filemime = file_get_mimetype($uri);
if (is_file(drupal_realpath($uri))) {
$file->filesize = filesize($uri);
// Use the file_entity module's mimetype to entity type
// functionality if we have that method available.
if (function_exists('file_entity_file_type')) {
$types = file_entity_file_type($file);
if (count($types) > 0) {
$file->type = $types[0];
}
else {
$file->type = 'default';
}
}
else {
list($type) = explode("/", $file->filemime);
switch ($type) {
case 'image':
case 'video':
$file->type = $type;
break;
default:
$file->type = 'default';
break;
}
}
}
$file->timestamp = REQUEST_TIME;
$file->status = FILE_STATUS_PERMANENT;
}
return $file;
}