You are here

class ThemeStream in System stream wrapper 8

Defines the read-only theme:// stream wrapper for theme files.

Hierarchy

Expanded class hierarchy of ThemeStream

1 string reference to 'ThemeStream'
system_stream_wrapper.services.yml in ./system_stream_wrapper.services.yml
system_stream_wrapper.services.yml
1 service uses ThemeStream
stream_wrapper.theme in ./system_stream_wrapper.services.yml
Drupal\system_stream_wrapper\StreamWrapper\ThemeStream

File

src/StreamWrapper/ThemeStream.php, line 8

Namespace

Drupal\system_stream_wrapper\StreamWrapper
View source
class ThemeStream extends ExtensionStreamBase {

  /**
   * The theme handler service.
   *
   * @var \Drupal\Core\Extension\ThemeHandlerInterface
   */
  protected $themeHandler;

  /**
   * {@inheritdoc}
   */
  protected function getOwnerName() {
    $name = parent::getOwnerName();
    if (!$this
      ->getThemeHandler()
      ->themeExists($name)) {

      // The theme does not exist or is not installed.
      throw new \InvalidArgumentException("Theme {$name} does not exist or is not installed");
    }
    return $name;
  }

  /**
   * {@inheritdoc}
   */
  protected function getDirectoryPath() {
    return $this
      ->getThemeHandler()
      ->getTheme($this
      ->getOwnerName())
      ->getPath();
  }

  /**
   * {@inheritdoc}
   */
  public function getName() {
    return $this
      ->t('Theme files');
  }

  /**
   * {@inheritdoc}
   */
  public function getDescription() {
    return $this
      ->t('Local files stored under theme directory.');
  }

  /**
   * Returns the theme handler service.
   *
   * @return \Drupal\Core\Extension\ThemeHandlerInterface
   *   The theme handler service.
   */
  protected function getThemeHandler() {
    if (!isset($this->themeHandler)) {
      $this->themeHandler = \Drupal::service('theme_handler');
    }
    return $this->themeHandler;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ExtensionStreamBase::$request protected property The current request object.
ExtensionStreamBase::dirname public function Gets the name of the directory from a given path. Overrides LocalStreamTrait::dirname
ExtensionStreamBase::getExternalUrl public function Returns a web accessible URL for the resource. Overrides StreamWrapperInterface::getExternalUrl
ExtensionStreamBase::getRequest protected function Returns the current request object.
ExtensionStreamBase::getTarget protected function Returns the local writable target of the resource within the stream. Overrides LocalStreamTrait::getTarget
ExtensionStreamBase::getType public static function Returns the type of stream wrapper. Overrides LocalStream::getType
LocalReadOnlyStream::mkdir public function Support for mkdir(). Overrides LocalStream::mkdir
LocalReadOnlyStream::rename public function Support for rename(). Overrides LocalStream::rename
LocalReadOnlyStream::rmdir public function Support for rmdir(). Overrides LocalStream::rmdir
LocalReadOnlyStream::stream_flush public function Support for fflush(). Overrides LocalStream::stream_flush
LocalReadOnlyStream::stream_lock public function Support for flock(). Overrides LocalStream::stream_lock
LocalReadOnlyStream::stream_metadata public function Does not change meta data as this is a read-only stream wrapper. Overrides LocalStream::stream_metadata
LocalReadOnlyStream::stream_open public function Support for fopen(), file_get_contents(), etc. Overrides LocalStream::stream_open
LocalReadOnlyStream::stream_truncate public function Truncate stream. Overrides LocalStream::stream_truncate
LocalReadOnlyStream::stream_write public function Support for fwrite(), file_put_contents() etc. Overrides LocalStream::stream_write
LocalReadOnlyStream::unlink public function Support for unlink(). Overrides LocalStream::unlink
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::realpath public function Returns canonical, absolute path of the resource. Overrides StreamWrapperInterface::realpath
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_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::url_stat public function Support for stat(). Overrides PhpStreamWrapperInterface::url_stat
StreamWrapperBase::$context public property Stream context resource.
StreamWrapperBase::$handle public property A generic resource handle.
StreamWrapperBase::$uri protected property Instance URI (stream).
StreamWrapperBase::getUri function Returns the stream resource URI. Overrides StreamWrapperInterface::getUri
StreamWrapperBase::setUri function Sets the absolute stream resource URI. Overrides StreamWrapperInterface::setUri
StreamWrapperInterface::ALL constant A filter that matches all wrappers.
StreamWrapperInterface::HIDDEN constant Defines the stream wrapper bit flag for a hidden file.
StreamWrapperInterface::LOCAL constant Refers to a local file system location.
StreamWrapperInterface::LOCAL_HIDDEN constant Hidden, readable and writable using local files.
StreamWrapperInterface::LOCAL_NORMAL constant Visible, readable and writable using local files.
StreamWrapperInterface::NORMAL constant This is the default 'type' flag. 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 writable.
StreamWrapperInterface::WRITE_VISIBLE constant Visible, readable and writable.
StringTranslationTrait::$stringTranslation protected property The string translation service. 1
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.
ThemeStream::$themeHandler protected property The theme handler service.
ThemeStream::getDescription public function Returns the description of the stream wrapper for use in the UI. Overrides StreamWrapperInterface::getDescription
ThemeStream::getDirectoryPath protected function Gets the path that the wrapper is responsible for. Overrides LocalStream::getDirectoryPath
ThemeStream::getName public function Returns the name of the stream wrapper for use in the UI. Overrides StreamWrapperInterface::getName
ThemeStream::getOwnerName protected function Gets the module, theme, or profile name of the current URI. Overrides ExtensionStreamBase::getOwnerName
ThemeStream::getThemeHandler protected function Returns the theme handler service.