function file_view in File Entity (fieldable files) 7
Same name and namespace in other branches
- 7.3 file_entity.file_api.inc \file_view()
- 7.2 file_entity.file_api.inc \file_view()
Generate an array for rendering the given file.
Parameters
$file: A file object.
$view_mode: View mode.
$langcode: (optional) A language code to use for rendering. Defaults to the global content language of the current request.
Return value
An array as expected by drupal_render().
6 calls to file_view()
- file_entity_test_edit_form in tests/file_entity_test.pages.inc 
- Form callback; edit a file.
- file_entity_test_preview_page in tests/file_entity_test.pages.inc 
- Page callback; preview a file.
- file_entity_test_view_page in tests/file_entity_test.pages.inc 
- Page callback; view a file.
- file_entity_view_page in ./file_entity.pages.inc 
- Menu callback; view a single file entity.
- file_view_multiple in ./file_entity.file_api.inc 
- Construct a drupal_render() style array from an array of loaded files.
File
- ./file_entity.file_api.inc, line 141 
- API extensions of Drupal core's file.inc.
Code
function file_view($file, $view_mode = 'full', $langcode = NULL) {
  if (!isset($langcode)) {
    $langcode = $GLOBALS['language_content']->language;
  }
  // Populate $file->content with a render() array.
  file_build_content($file, $view_mode, $langcode);
  $build = $file->content;
  // We don't need duplicate rendering info in $file->content.
  unset($file->content);
  $build += array(
    '#theme' => 'file_entity',
    '#file' => $file,
    '#view_mode' => $view_mode,
    '#language' => $langcode,
  );
  // Add contextual links for this file, except when the file is already being
  // displayed on its own page. Modules may alter this behavior (for example,
  // to restrict contextual links to certain view modes) by implementing
  // hook_file_view_alter().
  if (!empty($file->fid) && !($view_mode == 'full' && file_is_page($file))) {
    $build['#contextual_links']['file'] = array(
      'file',
      array(
        $file->fid,
      ),
    );
  }
  // Allow modules to modify the structured file.
  $type = 'file';
  drupal_alter(array(
    'file_view',
    'entity_view',
  ), $build, $type);
  return $build;
}