Mercurial > hg > isophonics-drupal-site
view core/lib/Drupal/Core/StreamWrapper/PrivateStream.php @ 13:5fb285c0d0e3
Update Drupal core to 8.4.7 via Composer. Security update; I *think* we've
been lucky to get away with this so far, as we don't support self-registration
which seems to be used by the so-called "drupalgeddon 2" attack that 8.4.5
was vulnerable to.
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:33:26 +0100 |
parents | 4c8ae668cc8c |
children | 1fec387a4317 |
line wrap: on
line source
<?php namespace Drupal\Core\StreamWrapper; use Drupal\Core\Routing\UrlGeneratorTrait; use Drupal\Core\Site\Settings; /** * Drupal private (private://) stream wrapper class. * * Provides support for storing privately accessible files with the Drupal file * interface. */ 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'); } }