You are here

function media_file_displays_alter in D7 Media 7.2

Same name and namespace in other branches
  1. 7.4 media.module \media_file_displays_alter()
  2. 7.3 media.module \media_file_displays_alter()

Implements hook_file_displays_alter().

File

./media.module, line 1170
Media API

Code

function media_file_displays_alter(&$displays, $file, $view_mode) {
  if ($view_mode == 'preview' && empty($displays)) {

    // We re in the media browser and this file has no formatters enabled.
    // Instead of letting it go through theme_file_link(), pass it through
    // theme_media_formatter_large_icon() to get our cool file icon instead.
    $displays['file_field_media_large_icon'] = array(
      'weight' => 0,
      'status' => 1,
      'settings' => NULL,
    );
  }

  // Alt and title are special.
  // @see file_entity_file_load
  $alt = variable_get('file_entity_alt', '[file:field_file_image_alt_text]');
  $title = variable_get('file_entity_title', '[file:field_file_image_title_text]');
  $replace_options = array(
    'clear' => TRUE,
    'sanitize' => FALSE,
  );

  // Load alt and title text from fields.
  if (!empty($alt)) {
    $file->alt = decode_entities(token_replace($alt, array(
      'file' => $file,
    ), $replace_options));
  }
  if (!empty($title)) {
    $file->title = decode_entities(token_replace($title, array(
      'file' => $file,
    ), $replace_options));
  }

  // Reduce memory footprint and response size in media browser.
  $file->file_contents = '';
}