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

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

Hierarchy

Expanded class hierarchy of DrupalPublicStreamWrapper

5 string references to 'DrupalPublicStreamWrapper'
hook_stream_wrappers in modules/system/system.api.php
Registers PHP stream wrapper implementations associated with a module.
StreamWrapperTest::testGetClassName in modules/simpletest/tests/file.test
Test the getClassName() function.
StreamWrapperTest::testGetInstanceByScheme in modules/simpletest/tests/file.test
Test the file_stream_wrapper_get_instance_by_scheme() function.
StreamWrapperTest::testUriFunctions in modules/simpletest/tests/file.test
Test the URI and target functions.
system_stream_wrappers in modules/system/system.module
Implements hook_stream_wrappers().

File

includes/stream_wrappers.inc, line 920
Drupal stream wrapper interface.

View source
class DrupalPublicStreamWrapper extends DrupalLocalStreamWrapper {

  /**
   * Implements abstract public function getDirectoryPath()
   */
  public function getDirectoryPath() {
    return variable_get('file_public_path', conf_path() . '/files');
  }

  /**
   * Overrides getExternalUrl().
   *
   * Return the HTML URI of a public file.
   */
  function getExternalUrl() {
    $path = str_replace('\\', '/', $this
      ->getTarget());
    return $GLOBALS['base_url'] . '/' . self::getDirectoryPath() . '/' . drupal_encode_path($path);
  }

  /**
   * {@inheritdoc}
   */
  protected function getLocalPath($uri = NULL) {
    $path = parent::getLocalPath($uri);
    if (variable_get('sa_core_2022_012_override', FALSE)) {
      return $path;
    }
    $private_path = variable_get('file_private_path', FALSE);
    if ($private_path) {
      $private_path = realpath($private_path);
      if ($private_path && strpos($path, $private_path) === 0) {
        return FALSE;
      }
    }
    return $path;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DrupalLocalStreamWrapper::$context public property Stream context resource.
DrupalLocalStreamWrapper::$handle public property A generic resource handle.
DrupalLocalStreamWrapper::$uri protected property Instance URI (stream).
DrupalLocalStreamWrapper::chmod function Base implementation of chmod(). Overrides DrupalStreamWrapperInterface::chmod
DrupalLocalStreamWrapper::dirname public function Gets the name of the directory from a given path. Overrides DrupalStreamWrapperInterface::dirname
DrupalLocalStreamWrapper::dir_closedir public function Support for closedir(). Overrides StreamWrapperInterface::dir_closedir
DrupalLocalStreamWrapper::dir_opendir public function Support for opendir(). Overrides StreamWrapperInterface::dir_opendir
DrupalLocalStreamWrapper::dir_readdir public function Support for readdir(). Overrides StreamWrapperInterface::dir_readdir
DrupalLocalStreamWrapper::dir_rewinddir public function Support for rewinddir(). Overrides StreamWrapperInterface::dir_rewinddir
DrupalLocalStreamWrapper::getMimeType static function Base implementation of getMimeType(). Overrides DrupalStreamWrapperInterface::getMimeType
DrupalLocalStreamWrapper::getTarget protected function Returns the local writable target of the resource within the stream.
DrupalLocalStreamWrapper::getUri function Base implementation of getUri(). Overrides DrupalStreamWrapperInterface::getUri
DrupalLocalStreamWrapper::mkdir public function Support for mkdir(). Overrides StreamWrapperInterface::mkdir
DrupalLocalStreamWrapper::realpath function Base implementation of realpath(). Overrides DrupalStreamWrapperInterface::realpath 1
DrupalLocalStreamWrapper::rename public function Support for rename(). Overrides StreamWrapperInterface::rename
DrupalLocalStreamWrapper::rmdir public function Support for rmdir(). Overrides StreamWrapperInterface::rmdir
DrupalLocalStreamWrapper::setUri function Base implementation of setUri(). Overrides DrupalStreamWrapperInterface::setUri
DrupalLocalStreamWrapper::stream_cast public function Retrieve the underlying stream resource.
DrupalLocalStreamWrapper::stream_close public function Support for fclose(). Overrides StreamWrapperInterface::stream_close
DrupalLocalStreamWrapper::stream_eof public function Support for feof(). Overrides StreamWrapperInterface::stream_eof
DrupalLocalStreamWrapper::stream_flush public function Support for fflush(). Overrides StreamWrapperInterface::stream_flush
DrupalLocalStreamWrapper::stream_lock public function Support for flock(). Overrides StreamWrapperInterface::stream_lock
DrupalLocalStreamWrapper::stream_metadata public function Sets metadata on the stream.
DrupalLocalStreamWrapper::stream_open public function Support for fopen(), file_get_contents(), file_put_contents() etc. Overrides StreamWrapperInterface::stream_open
DrupalLocalStreamWrapper::stream_read public function Support for fread(), file_get_contents() etc. Overrides StreamWrapperInterface::stream_read
DrupalLocalStreamWrapper::stream_seek public function Support for fseek(). Overrides StreamWrapperInterface::stream_seek
DrupalLocalStreamWrapper::stream_set_option public function Change stream options.
DrupalLocalStreamWrapper::stream_stat public function Support for fstat(). Overrides StreamWrapperInterface::stream_stat
DrupalLocalStreamWrapper::stream_tell public function Support for ftell(). Overrides StreamWrapperInterface::stream_tell
DrupalLocalStreamWrapper::stream_truncate public function Truncate stream.
DrupalLocalStreamWrapper::stream_write public function Support for fwrite(), file_put_contents() etc. Overrides StreamWrapperInterface::stream_write
DrupalLocalStreamWrapper::unlink public function Support for unlink(). Overrides StreamWrapperInterface::unlink
DrupalLocalStreamWrapper::url_stat public function Support for stat(). Overrides StreamWrapperInterface::url_stat
DrupalPublicStreamWrapper::getDirectoryPath public function Implements abstract public function getDirectoryPath() Overrides DrupalLocalStreamWrapper::getDirectoryPath
DrupalPublicStreamWrapper::getExternalUrl function Overrides getExternalUrl(). Overrides DrupalStreamWrapperInterface::getExternalUrl
DrupalPublicStreamWrapper::getLocalPath protected function Returns the canonical absolute path of the URI, if possible. Overrides DrupalLocalStreamWrapper::getLocalPath