function elfinder_get_drupal_file_obj in elFinder file manager 8.2
Same name and namespace in other branches
- 6.2 elfinder.module \elfinder_get_drupal_file_obj()
- 7.3 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 src/
Controller/ elFinderVolumeDrupal.php - Create Drupal file object
- elfinder_file_download in ./
elfinder.module
File
- ./
elfinder.module, line 327
Code
function elfinder_get_drupal_file_obj($uri) {
$user = \Drupal::currentUser();
$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_init = array(
'uid' => $user
->id(),
'filename' => basename($uri),
'uri' => $uri,
'filemime' => \Drupal::service('file.mime_type.guesser')
->guess($uri),
'timestamp' => REQUEST_TIME,
'status' => FILE_STATUS_PERMANENT,
);
if (is_file(drupal_realpath($uri))) {
$file_init['filesize'] = filesize($uri);
list($type) = explode("/", $file_init['filemime']);
switch ($type) {
case 'image':
case 'video':
$file_init['type'] = $type;
break;
default:
$file_init['type'] = 'default';
break;
}
}
$file = entity_create('file', $file_init);
}
return $file;
}