You are here

class DisplayFile in Filebrowser 3.x

Same name and namespace in other branches
  1. 8.2 src/File/DisplayFile.php \Drupal\filebrowser\File\DisplayFile

Hierarchy

Expanded class hierarchy of DisplayFile

3 files declare their use of DisplayFile
MetadataEventSubscriber.php in src/EventSubscriber/MetadataEventSubscriber.php
MetadataEventSubscriber.php in modules/src/EventSubscriber/MetadataEventSubscriber.php
Presentation.php in src/Presentation.php

File

src/File/DisplayFile.php, line 7

Namespace

Drupal\filebrowser\File
View source
class DisplayFile extends ControllerBase {

  /**
   * @var string
   */
  public $id;

  /**
   * @var integer
   */
  public $nid;

  /**
   * @var integer
   */
  public $fid;

  /**
   * @var string
   */
  public $description;

  /**
   * @var string
   */
  public $displayName;

  //Test_test_test.jpg

  /**
   * @var string
   */
  public $fsRoot;

  /**
   * @var string
   */
  public $relativePath;

  //Test_test_test.jpg

  /**
   * @var string
   */
  public $fullPath;

  //Test_test_test.jpg

  /**
   * @var boolean
   */
  public $status;

  //0

  /**
   * @var  object
   */
  public $file;

  //stdClass Object

  /**
   * @var  object
   */
  public $fileData;

  //stdClass Object

  /**
   * @var string
   */
  public $uri;

  // public://Directory/Test_test_test.jpg

  /**
   * @var string
   */
  public $filename;

  // Test_test_test.jpg

  /**
   * @var string
   */
  public $name;

  // Test_test_test

  /**
   * @var string
   */
  public $url;

  //http://drupalvm.dev/sites/default/files/Directory/Test_test_test.jpg

  /**
   * @var string
   */
  public $mimetype;

  // image/jpeg

  /**
   * @var integer
   */
  public $size;

  // 78527

  /**
   * @var string
   */
  public $type;

  // file

  /**
   * @var integer
   */
  public $timestamp;

  // 1467989263

  /**
   * @var \Drupal\Core\Link
   */
  public $link;

  // Drupal\Core\GeneratedLink Object

  /**
   * @var string
   */
  public $href;

  /**
   * @var array
   */
  public $metadata;
  public function __construct($nid) {
    $this->nid = $nid;
  }

  /**
   * @param $file_relative_path
   * @param \stdClass $fs_file
   * @param $stats
   * @param $db_content
   * @param $root
   * @return array
   */
  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->user->getLastAccessedTime() <
      if ($this
        ->currentUser()
        ->getLastAccessedTime() < $this->fileData->timestamp) {
        $this->status = MARK_NEW;
      }
    }
    return $this;
  }

  /**
   * @function Creates a .. file for the abstracted file system.
   * @param  string $relative_path
   * @return object $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;

    //todo: mark logic
    $this->status = MARK_READ;
    $this->fileData = new \stdClass();
    $this->fileData->mimetype = 'folder/parent';
    $this->fileData->type = 'directory';
    return $this;
  }

  /**
   * @function Creates a . file for the abstracted file system.
   * @param  string $relative_path
   * @return object $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;

    //todo: mark logic
    $this->status = MARK_READ;
    $this->fileData = new \stdClass();
    $this->fileData->mimetype = 'folder';
    $this->fileData->type = 'directory';
    return $this;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ControllerBase::$configFactory protected property The configuration factory.
ControllerBase::$currentUser protected property The current user service. 1
ControllerBase::$entityFormBuilder protected property The entity form builder.
ControllerBase::$entityTypeManager protected property The entity type manager.
ControllerBase::$formBuilder protected property The form builder. 2
ControllerBase::$keyValue protected property The key-value storage. 1
ControllerBase::$languageManager protected property The language manager. 1
ControllerBase::$moduleHandler protected property The module handler. 2
ControllerBase::$stateService protected property The state service.
ControllerBase::cache protected function Returns the requested cache bin.
ControllerBase::config protected function Retrieves a configuration object.
ControllerBase::container private function Returns the service container.
ControllerBase::create public static function Instantiates a new instance of this class. Overrides ContainerInjectionInterface::create 46
ControllerBase::currentUser protected function Returns the current user. 1
ControllerBase::entityFormBuilder protected function Retrieves the entity form builder.
ControllerBase::entityTypeManager protected function Retrieves the entity type manager.
ControllerBase::formBuilder protected function Returns the form builder service. 2
ControllerBase::keyValue protected function Returns a key/value storage collection. 1
ControllerBase::languageManager protected function Returns the language manager service. 1
ControllerBase::moduleHandler protected function Returns the module handler. 2
ControllerBase::redirect protected function Returns a redirect response object for the specified route.
ControllerBase::state protected function Returns the state storage service.
DisplayFile::$description public property
DisplayFile::$displayName public property
DisplayFile::$fid public property
DisplayFile::$file public property
DisplayFile::$fileData public property
DisplayFile::$filename public property
DisplayFile::$fsRoot public property
DisplayFile::$fullPath public property
DisplayFile::$href public property
DisplayFile::$id public property
DisplayFile::$link public property
DisplayFile::$metadata public property
DisplayFile::$mimetype public property
DisplayFile::$name public property
DisplayFile::$nid public property
DisplayFile::$relativePath public property
DisplayFile::$size public property
DisplayFile::$status public property
DisplayFile::$timestamp public property
DisplayFile::$type public property
DisplayFile::$uri public property
DisplayFile::$url public property
DisplayFile::createSubdir public function @function Creates a .. file for the abstracted file system.
DisplayFile::createUpDir public function @function Creates a . file for the abstracted file system.
DisplayFile::fileSetData public function
DisplayFile::__construct public function
LoggerChannelTrait::$loggerFactory protected property The logger channel factory service.
LoggerChannelTrait::getLogger protected function Gets the logger for a specific channel.
LoggerChannelTrait::setLoggerFactory public function Injects the logger channel factory.
MessengerTrait::$messenger protected property The messenger. 27
MessengerTrait::messenger public function Gets the messenger. 27
MessengerTrait::setMessenger public function Sets the messenger.
RedirectDestinationTrait::$redirectDestination protected property The redirect destination service. 1
RedirectDestinationTrait::getDestinationArray protected function Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url.
RedirectDestinationTrait::getRedirectDestination protected function Returns the redirect destination service.
RedirectDestinationTrait::setRedirectDestination public function Sets the redirect destination service.
StringTranslationTrait::$stringTranslation protected property The string translation service. 4
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.