';
// Arguments for the thumbnail link.
$thumb = $element['#children'];
if (file_entity_access('update', $element['#file'])) {
$target = 'file/' . $element['#file']->fid . '/edit';
$title = t('Click to edit details');
}
else {
$target = 'file/' . $element['#file']->fid;
$title = t('Click to view details');
}
$options = array(
'query' => drupal_get_destination(),
'html' => TRUE,
'attributes' => array('title' => $title),
);
// Element should be a field renderable array. This should be improved.
if (!empty($element['#show_names']) && $element['#name']) {
$label = '';
}
$output = $prefix;
if (!empty($element['#add_link'])) {
$output .= l($thumb, $target, $options);
}
else {
$output .= $thumb;
}
$output .= $label . $suffix;
return $output;
}
/**
* Preprocess the media thumbnail.
*/
function template_preprocess_media_thumbnail(&$variables) {
// Set the name for the thumbnail to be the filename. This is done here so
// that other modules can hijack the name displayed if it should not be the
// filename.
$variables['element']['#name'] = isset($variables['element']['#file']->filename) ? check_plain($variables['element']['#file']->filename) : NULL;
}
/**
* Field formatter for displaying a file as a large icon.
*/
function theme_media_formatter_large_icon($variables) {
$file = $variables['file'];
$icon_dir = variable_get('media_icon_base_directory', 'public://media-icons') . '/' . variable_get('media_icon_set', 'default');
$icon = file_icon_path($file, $icon_dir);
$variables['path'] = $icon;
// theme_image() requires the 'alt' attribute passed as its own variable.
// @see http://drupal.org/node/999338
if (!isset($variables['alt']) && isset($variables['attributes']['alt'])) {
$variables['alt'] = $variables['attributes']['alt'];
}
// Add image height and width for the image theme functions.
if ($info = image_get_info($icon)) {
$variables += $info;
}
if ($variables['style_name']) {
$output = theme('image_style', $variables);
}
else {
$output = theme('image', $variables);
}
return $output;
}
/**
* Add messages to the page.
*/
function template_preprocess_media_dialog_page(&$variables) {
$variables['messages'] = theme('status_messages');
}