Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Backdrop CMS: Open PDF and TXT files in new window
<?php
function MYTHEME_file_link($variables) {
$file = $variables['file'];
$icon_directory = $variables['icon_directory'];
$url = file_create_url($file->uri);
$icon = theme('file_icon', array('file' => ($file instanceof File) ? $file : file_load($file->fid), 'icon_directory' => $icon_directory));
// Set options as per anchor format described at
// http://microformats.org/wiki/file-format-examples
$options = array(
'attributes' => array(
'type' => $file->filemime . '; length=' . $file->filesize,
),
);
// Use the description as the link text if available.
if (empty($file->description)) {
$link_text = $file->filename;
} else {
$link_text = $file->description;
$options['attributes']['title'] = check_plain($file->filename);
}
//open files of particular mime types in new window
$new_window_mimetypes = array('application/pdf', 'text/plain');
if (in_array($file->filemime, $new_window_mimetypes)) {
$options['attributes']['target'] = '_blank';
}
return '<span class="file">' . $icon . ' ' . l($link_text, $url, $options) . '</span>';
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment