function theme_file_entity_file_audio in File Entity (fieldable files) 7.3
Same name and namespace in other branches
- 7.2 file_entity.theme.inc \theme_file_entity_file_audio()
Returns HTML for displaying an HTML5 <audio> tag.
Parameters
array $variables: An associative array containing:
- file: Associative array of file data, which must include "uri".
- controls: Boolean indicating whether or not controls should be displayed.
- autoplay: Boolean indicating whether or not the audio should start playing automatically.
- loop: Boolean indicating whether or not the audio should loop.
1 theme call to theme_file_entity_file_audio()
- file_entity_field_formatter_view in ./
file_entity.field.inc - Implements hook_field_formatter_view().
File
- ./
file_entity.theme.inc, line 130 - Theme callbacks for the file entity module.
Code
function theme_file_entity_file_audio($variables) {
$files = $variables['files'];
$output = '';
$audio_attributes = array();
if ($variables['controls']) {
$audio_attributes['controls'] = 'controls';
if (!empty($variables['controls_list'])) {
$controls_list = array();
foreach ($variables['controls_list'] as $key => $value) {
if (!$value) {
switch ($key) {
case 'download':
$controls_list[] = 'nodownload';
break;
case 'remote_playback':
$controls_list[] = 'noremoteplayback';
break;
}
}
}
$audio_attributes['controlsList'] = implode(' ', $controls_list);
}
}
if ($variables['autoplay']) {
$audio_attributes['autoplay'] = 'autoplay';
}
if ($variables['loop']) {
$audio_attributes['loop'] = 'loop';
}
if (!empty($variables['preload'])) {
$audio_attributes['preload'] = $variables['preload'];
}
$output .= '<audio' . drupal_attributes($audio_attributes) . '>';
foreach ($files as $delta => $file) {
$source_attributes = array(
'src' => file_create_url($file['uri']),
'type' => $file['filemime'],
);
$output .= '<source' . drupal_attributes($source_attributes) . ' />';
}
$output .= '</audio>';
return $output;
}