You are here

class PrintableStream in Printer and PDF versions for Drupal 8+ 2.x

Defines a Drupal stream wrapper base class for files to be embedded in the PDF.

Hierarchy

Expanded class hierarchy of PrintableStream

File

src/StreamWrapper/PrintableStream.php, line 12

Namespace

Drupal\Printable\StreamWrapper
View source
class PrintableStream extends LocalStream implements StreamWrapperInterface {

  /**
  * @inheritDoc
  */
  public function getName() {
    return t('Local file paths for PDF generation');
  }

  /**
   * @inheritDoc
   */
  public function getDescription() {
    return t('Files to be included in a PDF');
  }

  /**
   * @inheritDoc
   */
  public function getExternalUrl() {
    return 'printable://' . $this
      ->getTarget();
  }

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

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

  /**
   * Returns the local writable target of the resource within the stream.
   *
   * This function should be used in place of calls to realpath() or similar
   * functions when attempting to determine the location of a file. While
   * functions like realpath() may return the location of a read-only file, this
   * method may return a URI or path suitable for writing that is completely
   * separate from the URI used for reading.
   *
   * @param string $uri
   *   Optional URI.
   *
   * @return string|bool
   *   Returns a string representing a location suitable for writing of a file,
   *   or FALSE if unable to write to the file such as with read-only streams.
   */
  protected function getTarget($uri = NULL) {
    if (!isset($uri)) {
      $uri = $this->uri;
    }
    [
      ,
      $target,
    ] = explode('://', $uri, 2);
    return $target;
  }

}

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 Close directory handle. Overrides PhpStreamWrapperInterface::dir_closedir
LocalStream::dir_opendir public function Open directory handle. Overrides PhpStreamWrapperInterface::dir_opendir
LocalStream::dir_readdir public function Read entry from directory handle. Overrides PhpStreamWrapperInterface::dir_readdir
LocalStream::dir_rewinddir public function Rewind directory handle. Overrides PhpStreamWrapperInterface::dir_rewinddir
LocalStream::getFileSystem private function Returns file system service.
LocalStream::getLocalPath protected function Returns the canonical absolute path of the URI, if possible.
LocalStream::getType public static function Returns the type of stream wrapper. Overrides StreamWrapperInterface::getType 5
LocalStream::getUri public function Returns the stream resource URI. Overrides StreamWrapperInterface::getUri
LocalStream::mkdir public function Create a directory. Overrides PhpStreamWrapperInterface::mkdir 1
LocalStream::realpath public function Returns canonical, absolute path of the resource. Overrides StreamWrapperInterface::realpath 1
LocalStream::rename public function Renames a file or directory. Overrides PhpStreamWrapperInterface::rename 1
LocalStream::rmdir public function Removes a directory. Overrides PhpStreamWrapperInterface::rmdir 1
LocalStream::setUri public 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 Closes stream. Overrides PhpStreamWrapperInterface::stream_close
LocalStream::stream_eof public function Tests for end-of-file on a file pointer. Overrides PhpStreamWrapperInterface::stream_eof
LocalStream::stream_flush public function Flushes the output. Overrides PhpStreamWrapperInterface::stream_flush 1
LocalStream::stream_lock public function Advisory file locking. 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 Opens file or URL. Overrides PhpStreamWrapperInterface::stream_open 1
LocalStream::stream_read public function Read from stream. 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 Retrieve information about a file resource. Overrides PhpStreamWrapperInterface::stream_stat
LocalStream::stream_tell public function Retrieve the current position of a stream. Overrides PhpStreamWrapperInterface::stream_tell
LocalStream::stream_truncate public function Truncate stream. Overrides PhpStreamWrapperInterface::stream_truncate 1
LocalStream::stream_write public function Write to stream. Overrides PhpStreamWrapperInterface::stream_write 1
LocalStream::unlink public function Delete a file. Overrides PhpStreamWrapperInterface::unlink 1
LocalStream::url_stat public function Retrieve information about a file. Overrides PhpStreamWrapperInterface::url_stat
PrintableStream::basePath public static function
PrintableStream::getDescription public function @inheritDoc Overrides StreamWrapperInterface::getDescription
PrintableStream::getDirectoryPath public function Gets the path that the wrapper is responsible for. Overrides LocalStream::getDirectoryPath
PrintableStream::getExternalUrl public function @inheritDoc Overrides StreamWrapperInterface::getExternalUrl
PrintableStream::getName public function @inheritDoc Overrides StreamWrapperInterface::getName
PrintableStream::getTarget protected function Returns the local writable target of the resource within the stream. Overrides LocalStream::getTarget
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.