View source
<?php
function theme_file_force_formatter_default_ff($element) {
$file = $element['#item'];
$field = content_fields($element['#field_name']);
$output = theme('file_force_item', $file, $field);
return $output;
}
function theme_file_force_formatter_url_plain_ff($element) {
if (empty($element['#item'])) {
return '';
}
$field = content_fields($element['#field_name']);
$item = $element['#item'];
if (empty($item['fid']) && $field['use_default_file']) {
$item = $field['default_file'];
}
if (empty($item['filepath']) && !empty($item['fid'])) {
$item = array_merge($item, field_file_load($item['fid']));
}
if (empty($item['filepath'])) {
return '';
}
return file_force_create_url($item['filepath']) . '?download=1';
}
function theme_file_force_item($file, $field) {
require_once drupal_get_path('module', 'filefield') . '/filefield_formatter.inc';
if (filefield_view_access($field['field_name']) && filefield_file_listed($file, $field)) {
return theme('file_force_file', $file);
}
return '';
}
function theme_file_force_file($file) {
if (empty($file['fid'])) {
return '';
}
$path = $file['filepath'];
$url = file_force_create_url($path);
$icon = theme('filefield_icon', $file);
$options = array(
'attributes' => array(
'type' => $file['filemime'] . '; length=' . $file['filesize'],
),
);
if (empty($file['data']['description'])) {
$link_text = $file['filename'];
}
else {
$link_text = $file['data']['description'];
$options['attributes']['title'] = $file['filename'];
}
$options['query']['download'] = '1';
return '<div class="filefield-file">' . $icon . l($link_text, $url, $options) . '</div>';
}
function theme_file_force_formatter_image_imagelink_ff($element) {
if (empty($element['#item']['fid'])) {
return '';
}
$item = $element['#item'];
$imagetag = theme('imagefield_formatter_image_plain', $element);
$original_image_url = file_force_create_url($item['filepath']);
$class = 'imagefield imagefield-imagelink imagefield-' . $element['#field_name'];
return l($imagetag, $original_image_url, array(
'attributes' => array(
'class' => $class,
),
'html' => TRUE,
'query' => array(
'download' => '1',
),
));
}
function theme_file_force_formatter_imagecache_imagelink_ff($element) {
if (empty($element['#item']['fid'])) {
return '';
}
$presetname = substr($element['#formatter'], 0, strrpos($element['#formatter'], '_imagelink'));
$style = 'imagelink';
$item = $element['#item'];
$item['data']['alt'] = isset($item['data']['alt']) ? $item['data']['alt'] : '';
$item['data']['title'] = isset($item['data']['title']) ? $item['data']['title'] : NULL;
$imagetag = theme('imagecache', $presetname, $item['filepath'], $item['data']['alt'], $item['data']['title']);
$path = file_force_create_url($item['filepath']);
$class = "imagecache imagecache-{$presetname} imagecache-{$style} imagecache-{$element['#formatter']}";
return l($imagetag, $path, array(
'attributes' => array(
'class' => $class,
),
'html' => TRUE,
'query' => array(
'download' => '1',
),
));
}