DisplayFile.php in Filebrowser 8.2
File
src/File/DisplayFile.php
View source
<?php
namespace Drupal\filebrowser\File;
use Drupal\Core\Controller\ControllerBase;
class DisplayFile extends ControllerBase {
public $id;
public $nid;
public $fid;
public $description;
public $displayName;
public $fsRoot;
public $relativePath;
public $fullPath;
public $status;
public $file;
public $fileData;
public $uri;
public $filename;
public $name;
public $url;
public $mimetype;
public $size;
public $type;
public $timestamp;
public $link;
public $href;
public $metadata;
public function __construct($nid) {
$this->nid = $nid;
}
public function fileSetData($file_relative_path, $fs_file, &$stats, $db_content, $root) {
$this->fid = isset($db_content['fid']) ? $db_content['fid'] : null;
$this->description = isset($db_content['description']) ? $db_content['description'] : null;
$this->displayName = $db_content['display_name'];
$this->name = $db_content['display_name'];
$this->fsRoot = $root;
$this->relativePath = $file_relative_path;
$this->fullPath = rtrim($this->fsRoot, '/') . "/" . $fs_file->filename;
$this->status = MARK_READ;
$this->fileData = $fs_file;
if ($this
->currentUser()
->id() && isset($this->fileData->timestamp)) {
if ($this
->currentUser()
->getLastAccessedTime() < $this->fileData->timestamp) {
$this->status = MARK_NEW;
}
}
return $this;
}
public function createSubdir($relative_path) {
function s3_create_subdir($nid, $fs_root) {
return [
'nid' => $nid,
'display-name' => '..',
'relative-path' => '/',
'full-path' => $fs_root,
'status' => MARK_READ,
'kind' => 2,
'mime-type' => 'folder/parent',
'url' => url('node/' . $nid, [
'absolute' => TRUE,
]),
];
}
$this->nid = $this->fid = null;
$this->description = null;
$this->displayName = '..';
$this->fsRoot = null;
$this->relativePath = $relative_path;
$this->fullPath = $this->fsRoot;
$this->status = MARK_READ;
$this->fileData = new \stdClass();
$this->fileData->mimetype = 'folder/parent';
$this->fileData->type = 'directory';
return $this;
}
public function createUpDir($relative_path) {
$this->fid = null;
$this->description = null;
$this->displayName = '.';
$this->fsRoot = null;
$this->relativePath = $relative_path;
$this->fullPath = $this->fsRoot;
$this->status = MARK_READ;
$this->fileData = new \stdClass();
$this->fileData->mimetype = 'folder';
$this->fileData->type = 'directory';
return $this;
}
}