50 lines
1.4 KiB
PHP
50 lines
1.4 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @package Advanced Custom Fields
|
|
* @version 2.8.8 Pro
|
|
*
|
|
* @author Tassos Marinos <info@tassos.gr>
|
|
* @link http://www.tassos.gr
|
|
* @copyright Copyright © 2019 Tassos Marinos All Rights Reserved
|
|
* @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
|
|
*/
|
|
|
|
defined('_JEXEC') or die;
|
|
|
|
use Joomla\CMS\Language\Text;
|
|
|
|
// Prepare source
|
|
$audios = ACFHelper::getFileSources($field->value, array('mp3', 'wav','ogg'));
|
|
|
|
if (!is_array($audios) || count($audios) == 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
// Get first audio file only for now. Multiple audios will be supported in the future.
|
|
$audio = $audios[0];
|
|
|
|
// Setup Variables
|
|
$id = 'acf_html5audio_' . $item->id . '_' . $field->id;
|
|
$preload = $fieldParams->get('preload', 'auto');
|
|
|
|
// Prepare HTML attributes
|
|
$attributes = array_filter(array(
|
|
$fieldParams->get('controls', true) ? 'controls' : '',
|
|
$fieldParams->get('loop', false) ? 'loop' : '',
|
|
$fieldParams->get('muted', false) ? 'muted' : '',
|
|
$fieldParams->get('autoplay', false) ? 'autoplay' : ''
|
|
));
|
|
|
|
// Output
|
|
$buffer = '
|
|
<audio id="' . $id . '" preload="' . $preload . '" controlsList="nodownload"
|
|
' . implode(' ', $attributes) . '
|
|
style="max-width:100%;">
|
|
<source src="' . $audio['file'] . '" type="audio/' . $audio['ext'] . '">'
|
|
. Text::sprintf('ACF_UNSUPPORTED_TAG', 'audio') .
|
|
'</audio>';
|
|
|
|
echo $buffer;
|