You are here

class PrivateStream in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/lib/Drupal/Core/StreamWrapper/PrivateStream.php \Drupal\Core\StreamWrapper\PrivateStream

Drupal private (private://) stream wrapper class.

Provides support for storing privately accessible files with the Drupal file interface.

Hierarchy

Expanded class hierarchy of PrivateStream

3 files declare their use of PrivateStream
file.inc in core/includes/file.inc
API for handling file uploads and server file management.
FileSystemForm.php in core/modules/system/src/Form/FileSystemForm.php
Contains \Drupal\system\Form\FileSystemForm.
system.install in core/modules/system/system.install
Install, update and uninstall functions for the system module.

File

core/lib/Drupal/Core/StreamWrapper/PrivateStream.php, line 19
Contains \Drupal\Core\StreamWrapper\PrivateStream.

Namespace

Drupal\Core\StreamWrapper
View source
class PrivateStream extends LocalStream {
  use UrlGeneratorTrait;

  /**
   * {@inheritdoc}
   */
  public static function getType() {
    return StreamWrapperInterface::LOCAL_NORMAL;
  }

  /**
   * {@inheritdoc}
   */
  public function getName() {
    return t('Private files');
  }

  /**
   * {@inheritdoc}
   */
  public function getDescription() {
    return t('Private local files served by Drupal.');
  }

  /**
   * {@inheritdoc}
   */
  public function getDirectoryPath() {
    return static::basePath();
  }

  /**
   * {@inheritdoc}
   */
  public function getExternalUrl() {
    $path = str_replace('\\', '/', $this
      ->getTarget());
    return $this
      ->url('system.private_file_download', [
      'filepath' => $path,
    ], [
      'absolute' => TRUE,
    ]);
  }

  /**
   * Returns the base path for private://.
   *
   * Note that this static method is used by \Drupal\system\Form\FileSystemForm
   * so you should alter that form or substitute a different form if you change
   * the class providing the stream_wrapper.private service.
   *
   * @return string
   *   The base path for private://.
   */
  public static function basePath() {
    return Settings::get('file_private_path');
  }

}

Members

Namesort descending Modifiers Type Description Overrides
LocalStream::$context public property Stream context resource.
LocalStream::$handle public property A generic resource handle.
LocalStream::$uri protected property Instance URI (stream).
LocalStream::dirname public function Gets the name of the directory from a given path. Overrides StreamWrapperInterface::dirname
LocalStream::dir_closedir public function Support for closedir(). Overrides PhpStreamWrapperInterface::dir_closedir
LocalStream::dir_opendir public function Support for opendir(). Overrides PhpStreamWrapperInterface::dir_opendir
LocalStream::dir_readdir public function Support for readdir(). Overrides PhpStreamWrapperInterface::dir_readdir
LocalStream::dir_rewinddir public function Support for rewinddir(). Overrides PhpStreamWrapperInterface::dir_rewinddir
LocalStream::getLocalPath protected function Returns the canonical absolute path of the URI, if possible.
LocalStream::getTarget protected function Returns the local writable target of the resource within the stream.
LocalStream::getUri function Returns the stream resource URI. Overrides StreamWrapperInterface::getUri
LocalStream::mkdir public function Support for mkdir(). Overrides PhpStreamWrapperInterface::mkdir 1
LocalStream::realpath function Returns canonical, absolute path of the resource. Overrides StreamWrapperInterface::realpath 1
LocalStream::rename public function Support for rename(). Overrides PhpStreamWrapperInterface::rename 1
LocalStream::rmdir public function Support for rmdir(). Overrides PhpStreamWrapperInterface::rmdir 1
LocalStream::setUri function Sets the absolute stream resource URI. Overrides StreamWrapperInterface::setUri
LocalStream::stream_cast public function Retrieve the underlying stream resource. Overrides PhpStreamWrapperInterface::stream_cast
LocalStream::stream_close public function Support for fclose(). Overrides PhpStreamWrapperInterface::stream_close
LocalStream::stream_eof public function Support for feof(). Overrides PhpStreamWrapperInterface::stream_eof
LocalStream::stream_flush public function Support for fflush(). Overrides PhpStreamWrapperInterface::stream_flush 1
LocalStream::stream_lock public function Support for flock(). Overrides PhpStreamWrapperInterface::stream_lock 1
LocalStream::stream_metadata public function Sets metadata on the stream. Overrides PhpStreamWrapperInterface::stream_metadata 1
LocalStream::stream_open public function Support for fopen(), file_get_contents(), file_put_contents() etc. Overrides PhpStreamWrapperInterface::stream_open 1
LocalStream::stream_read public function Support for fread(), file_get_contents() etc. Overrides PhpStreamWrapperInterface::stream_read
LocalStream::stream_seek public function Seeks to specific location in a stream. Overrides PhpStreamWrapperInterface::stream_seek
LocalStream::stream_set_option public function Since Windows systems do not allow it and it is not needed for most use cases anyway, this method is not supported on local files and will trigger an error and return false. If needed, custom subclasses can provide OS-specific implementations for… Overrides PhpStreamWrapperInterface::stream_set_option
LocalStream::stream_stat public function Support for fstat(). Overrides PhpStreamWrapperInterface::stream_stat
LocalStream::stream_tell public function Support for ftell(). Overrides PhpStreamWrapperInterface::stream_tell
LocalStream::stream_truncate public function Truncate stream. Overrides PhpStreamWrapperInterface::stream_truncate 1
LocalStream::stream_write public function Support for fwrite(), file_put_contents() etc. Overrides PhpStreamWrapperInterface::stream_write 1
LocalStream::unlink public function Support for unlink(). Overrides PhpStreamWrapperInterface::unlink 1
LocalStream::url_stat public function Support for stat(). Overrides PhpStreamWrapperInterface::url_stat
PrivateStream::basePath public static function Returns the base path for private://.
PrivateStream::getDescription public function Returns the description of the stream wrapper for use in the UI. Overrides StreamWrapperInterface::getDescription
PrivateStream::getDirectoryPath public function Gets the path that the wrapper is responsible for. Overrides LocalStream::getDirectoryPath
PrivateStream::getExternalUrl public function Returns a web accessible URL for the resource. Overrides StreamWrapperInterface::getExternalUrl
PrivateStream::getName public function Returns the name of the stream wrapper for use in the UI. Overrides StreamWrapperInterface::getName
PrivateStream::getType public static function Returns the type of stream wrapper. Overrides LocalStream::getType
StreamWrapperInterface::ALL constant A filter that matches all wrappers.
StreamWrapperInterface::HIDDEN constant Not visible in the UI or accessible via web, but readable and writable. E.g. the temporary directory for uploads.
StreamWrapperInterface::LOCAL constant Refers to a local file system location.
StreamWrapperInterface::LOCAL_HIDDEN constant Hidden, readable and writeable using local files.
StreamWrapperInterface::LOCAL_NORMAL constant Visible, readable and writeable using local files.
StreamWrapperInterface::NORMAL constant This is the default 'type' falg. This does not include StreamWrapperInterface::LOCAL, because PHP grants a greater trust level to local files (for example, they can be used in an "include" statement, regardless of the…
StreamWrapperInterface::READ constant Wrapper is readable (almost always true).
StreamWrapperInterface::READ_VISIBLE constant Visible and read-only.
StreamWrapperInterface::VISIBLE constant Exposed in the UI and potentially web accessible.
StreamWrapperInterface::WRITE constant Wrapper is writeable.
StreamWrapperInterface::WRITE_VISIBLE constant Visible, readable and writeable.
UrlGeneratorTrait::$urlGenerator protected property The url generator.
UrlGeneratorTrait::getUrlGenerator protected function Returns the URL generator service.
UrlGeneratorTrait::redirect protected function Returns a redirect response object for the specified route.
UrlGeneratorTrait::setUrlGenerator public function Sets the URL generator service.
UrlGeneratorTrait::url protected function Generates a URL or path for a specific route based on the given parameters.