You are here

download_file.formatter.inc in DownloadFile 7

File

download_file.formatter.inc
View source
<?php

/**
 * Theming function for displaying the link to direct download the file.
 *
 * @param $element
 *   Element(s) to format.
 * @return
 *   A string containing the HTML ouput.
 */
function theme_download_file_formatter_direct_download($variables) {
  $output = '';
  foreach ($variables['items'] as $delta => $item) {
    if (!empty($item)) {
      $output .= theme('download_file_direct_download_item', array(
        'file' => (object) $item,
      ));
    }
  }
  return $output;
}

/**
 * Theming function for displaying the link to direct download the file with the type icon.
 *
 * @param $element
 *   Element(s) to format.
 * @return
 *   A string containing the HTML ouput.
 */
function theme_download_file_formatter_direct_download_icon($variables) {
  $output = '';
  foreach ($variables['items'] as $delta => $item) {
    if (!empty($item)) {
      $output .= theme('download_file_direct_download_icon_item', array(
        'file' => (object) $item,
      ));
    }
  }
  return $output;
}

/**
 * Theming function for displaying the link accessible to direct download the file.
 *
 * @param $element
 *   Element(s) to format.
 * @return
 *   A string containing the HTML ouput.
 */
function theme_download_file_formatter_direct_download_accessible($variables) {
  $output = '';
  foreach ($variables['items'] as $delta => $item) {
    if (!empty($item)) {
      $output .= theme('download_file_direct_download_item_accessible', array(
        'file' => (object) $item,
      ));
    }
  }
  return $output ? '<ul class="download-file">' . $output . '</ul>' : $output;
}

/**
 * Theming function for displaying the link accessible to direct download the file with the type icon.
 *
 * @param $element
 *   Element(s) to format.
 * @return
 *   A string containing the HTML ouput.
 */
function theme_download_file_formatter_direct_download_accessible_icon($variables) {
  $output = '';
  foreach ($variables['items'] as $delta => $item) {
    if (!empty($item)) {
      $output .= theme('download_file_direct_download_icon_item_accessible', array(
        'file' => (object) $item,
      ));
    }
  }
  return $output ? '<ul class="download-file">' . $output . '</ul>' : $output;
}

/**
 * Theme function for the 'direct_download' multiple file formatter.
 *
 * @param $file
 *   File to format.
 * @return
 *   A string containing the HTML ouput.
 */
function theme_download_file_direct_download_item($variables) {
  $file = $variables['file'];

  // Views may call this function with a NULL value, return an empty string.
  if (empty($file->fid)) {
    return '';
  }
  $url = download_file_path($file->fid);
  $options = array();

  // Use the description or the title as the link text if available.
  if (empty($file->description) && empty($file->title)) {
    $link_text = $file->filename;
  }
  else {
    if (!empty($file->description)) {
      $link_text = $file->description;
    }
    else {
      if (!empty($file->title)) {
        $link_text = $file->title;
      }
    }
    $options['attributes']['title'] = $file->filename;
  }
  return '<div class="download-file clear-block">' . l($link_text, $url, $options) . '</div>';
}

/**
 * Theme function for the 'direct_download_icon' multiple file formatter.
 *
 * @param $file
 *   File to format.
 * @return
 *   A string containing the HTML ouput.
 */
function theme_download_file_direct_download_icon_item($variables) {
  $file = $variables['file'];

  // Views may call this function with a NULL value, return an empty string.
  if (empty($file->fid)) {
    return '';
  }
  $url = download_file_path($file->fid);
  $icon = theme('file_icon', array(
    'file' => $file,
  ));
  $options = array();

  // Use the description or the title as the link text if available.
  if (empty($file->description) && empty($file->title)) {
    $link_text = $file->filename;
  }
  else {
    if (!empty($file->description)) {
      $link_text = $file->description;
    }
    else {
      if (!empty($file->title)) {
        $link_text = $file->title;
      }
    }
    $options['attributes']['title'] = $file->filename;
  }
  return '<div class="download-file clear-block">' . $icon . l($link_text, $url, $options) . '</div>';
}

/**
 * Theme function for the 'direct_download_accessible' multiple file formatter.
 *
 * @param $file
 *   File to format.
 * @return
 *   A string containing the HTML ouput.
 */
function theme_download_file_direct_download_item_accessible($variables) {
  $file = $variables['file'];

  // Views may call this function with a NULL value, return an empty string.
  if (empty($file->fid)) {
    return '';
  }
  $url = download_file_path($file->fid);
  $accessibility = theme('download_file_detail_accessible', array(
    'file' => $file,
  ));
  $options['html'] = TRUE;

  // Use the description or the title as the link text if available.
  if (empty($file->description) && empty($file->title)) {
    $link_text = $file->filename;
  }
  else {
    if (!empty($file->description)) {
      $link_text = $file->description;
    }
    else {
      if (!empty($file->title)) {
        $link_text = $file->title;
      }
    }
    $options['attributes']['title'] = $file->filename;
  }
  return '<li>' . l($link_text . ' ' . $accessibility, $url, $options) . '</li>';
}

/**
 * Theme function for the 'direct_download_accessible_icon' multiple file formatter.
 *
 * @param $file
 *   File to format.
 * @return
 *   A string containing the HTML ouput.
 */
function theme_download_file_direct_download_icon_item_accessible($variables) {
  $file = $variables['file'];

  // Views may call this function with a NULL value, return an empty string.
  if (empty($file->fid)) {
    return '';
  }
  $url = download_file_path($file->fid);
  $icon = theme('file_icon', array(
    'file' => $file,
  ));
  $accessibility = theme('download_file_detail_accessible', array(
    'file' => $file,
  ));
  $options['html'] = TRUE;

  // Use the description or the title as the link text if available.
  if (empty($file->description) && empty($file->title)) {
    $link_text = $file->filename;
  }
  else {
    if (!empty($file->description)) {
      $link_text = $file->description;
    }
    else {
      if (!empty($file->title)) {
        $link_text = $file->title;
      }
    }
    $options['attributes']['title'] = $file->filename;
  }
  return '<li>' . $icon . l($link_text . ' ' . $accessibility, $url, $options) . '</li>';
}

/**
 * Theme function for the link accessible.
 *
 * @param $file
 *   File to format.
 * @return
 *   A string containing the HTML ouput.
 */
function theme_download_file_detail_accessible($variables) {
  $file = $variables['file'];
  $extension = theme('download_file_extension_accessible', array(
    'extension' => download_file_format_extension($file),
  ));
  $file_size = theme('download_file_bytes_accessible', array(
    'filesize' => $file->filesize,
  ));
  $format = variable_get('download_file_accessible_format', '(format !extension / !file_size)');
  return '<span class="detail">' . t($format, array(
    '!extension' => $extension,
    '!file_size' => $file_size,
  )) . '</span>';
}

/**
 * Theme function for the extension accessible.
 *
 * @param $extension
 *   File extension to format.
 * @return
 *   A string containing the HTML ouput.
 */
function theme_download_file_extension_accessible($variables) {
  $extension = $variables['extension'];
  if (is_array($extension)) {
    $extension = '<acronym title="' . $extension['definition'] . '">' . $extension['name'] . '</acronym>';
  }
  return $extension;
}

/**
 * Theme function for the size format accessible.
 *
 * @param $filesize
 *   File size to format.
 * @return
 *   A string containing the HTML ouput.
 */
function theme_download_file_bytes_accessible($variables) {
  $filesize = $variables['filesize'];
  if (empty($filesize)) {
    return '';
  }
  list($size, $unit) = download_file_format_bytes($filesize, 0);
  $acronyms = array(
    t('B') => t('Bytes'),
    t('KB') => t('Kilo Bytes'),
    t('MB') => t('Mega Bytes'),
    t('GB') => t('Giga Bytes'),
    t('TB') => t('Tera Bytes'),
    t('PB') => t('Peta Bytes'),
  );
  return $size . ' <acronym title="' . $acronyms[$unit] . '">' . $unit . '</acronym>';
}

Functions

Namesort descending Description
theme_download_file_bytes_accessible Theme function for the size format accessible.
theme_download_file_detail_accessible Theme function for the link accessible.
theme_download_file_direct_download_icon_item Theme function for the 'direct_download_icon' multiple file formatter.
theme_download_file_direct_download_icon_item_accessible Theme function for the 'direct_download_accessible_icon' multiple file formatter.
theme_download_file_direct_download_item Theme function for the 'direct_download' multiple file formatter.
theme_download_file_direct_download_item_accessible Theme function for the 'direct_download_accessible' multiple file formatter.
theme_download_file_extension_accessible Theme function for the extension accessible.
theme_download_file_formatter_direct_download Theming function for displaying the link to direct download the file.
theme_download_file_formatter_direct_download_accessible Theming function for displaying the link accessible to direct download the file.
theme_download_file_formatter_direct_download_accessible_icon Theming function for displaying the link accessible to direct download the file with the type icon.
theme_download_file_formatter_direct_download_icon Theming function for displaying the link to direct download the file with the type icon.