You are here

function hook_s3fs_url_settings_alter in S3 File System 8.3

Same name and namespace in other branches
  1. 8.2 s3fs.api.php \hook_s3fs_url_settings_alter()
  2. 7.3 s3fs.api.php \hook_s3fs_url_settings_alter()
  3. 7 s3fs.api.php \hook_s3fs_url_settings_alter()
  4. 7.2 s3fs.api.php \hook_s3fs_url_settings_alter()
  5. 4.0.x s3fs.api.php \hook_s3fs_url_settings_alter()

Alters the format and options used when creating an external URL.

For example the URL can be a URL directly to the file, or can be a URL to a torrent. In addition, it can be authenticated (time limited), and in that case a save-as can be forced.

Parameters

array $url_settings: Associative array of URL settings:

string $s3_file_path: The path to the file within your S3 bucket. This includes the prefixes which might be added (e.g. s3fs-public/ for public:// files, or the S3FS Root Folder setting).

1 invocation of hook_s3fs_url_settings_alter()
S3fsStream::getExternalUrl in src/StreamWrapper/S3fsStream.php
Returns a web accessible URL for the resource.

File

./s3fs.api.php, line 40
This file contains no working PHP code.

Code

function hook_s3fs_url_settings_alter(array &$url_settings, $s3_file_path) {

  // An example of what you might want to do with this hook.
  if ($s3_file_path == 'myfile.jpg') {
    $url_settings['presigned_url'] = TRUE;
    $url_settings['timeout'] = 10;
  }

  // An example of adding a custom GET argument to all S3 URLs that
  // records the name of the currently logged in user.
  $account = Drupal::currentUser();
  $url_settings['custom_GET_args']['x-user'] = $account
    ->getAccountName();
}