Unverified Commit e4807870 authored by Alex Pott's avatar Alex Pott
Browse files

Issue #3055474 by Gribnif, Berdir: template_preprocess_file_link will not work...

Issue #3055474 by Gribnif, Berdir: template_preprocess_file_link will not work with a stdClass object, though it tries to

(cherry picked from commit 070e49b1)
parent 7724bc3f
Loading
Loading
Loading
Loading
+4 −5
Changes for core/modules/file/file.module: 4 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -1446,7 +1446,7 @@ function template_preprocess_file_managed_file(&$variables) {
 *
 * @param array $variables
 *   An associative array containing:
 *   - file: A file object to which the link will be created.
 *   - file: A File entity to which the link will be created.
 *   - icon_directory: (optional) A path to a directory of icons to be used for
 *     files. Defaults to the value of the "icon.directory" variable.
 *   - description: A description to be displayed instead of the filename.
@@ -1456,13 +1456,12 @@ function template_preprocess_file_link(&$variables) {
  $file = $variables['file'];
  $options = [];

  $file_entity = ($file instanceof File) ? $file : File::load($file->fid);
  // @todo Wrap in file_url_transform_relative(). This is currently
  // impossible. As a work-around, we currently add the 'url.site' cache context
  // to ensure different file URLs are generated for different sites in a
  // multisite setup, including HTTP and HTTPS versions of the same site.
  // Fix in https://www.drupal.org/node/2646744.
  $url = $file_entity->createFileUrl(FALSE);
  $url = $file->createFileUrl(FALSE);
  $variables['#cache']['contexts'][] = 'url.site';

  $mime_type = $file->getMimeType();
@@ -1472,11 +1471,11 @@ function template_preprocess_file_link(&$variables) {

  // Use the description as the link text if available.
  if (empty($variables['description'])) {
    $link_text = $file_entity->getFilename();
    $link_text = $file->getFilename();
  }
  else {
    $link_text = $variables['description'];
    $options['attributes']['title'] = $file_entity->getFilename();
    $options['attributes']['title'] = $file->getFilename();
  }

  // Classes to add to the file field for icons.