File: //proc/thread-self/cwd/wp-content/plugins/cornerstone/includes/shortcodes/audio-player.php
<?php
// Audio Player
// =============================================================================
function x_shortcode_audio_player( $atts ) {
extract( shortcode_atts( array(
'id' => '',
'class' => '',
'style' => '',
'src' => '',
'advanced_controls' => '',
'preload' => '',
'autoplay' => '',
'loop' => '',
'mp3' => '',
'oga' => ''
), $atts, 'x_audio_player' ) );
$id = ( $id != '' ) ? 'id="' . esc_attr( $id ) . '"' : '';
$class = ( $class != '' ) ? 'x-audio player ' . esc_attr( $class ) : 'x-audio player';
$style = ( $style != '' ) ? 'style="' . $style . '"' : '';
$src = ( $src != '' ) ? explode( '|', $src ) : array();
$advanced_controls = ( $advanced_controls == 'true' ) ? ' advanced-controls' : '';
$preload = ( $preload != '' ) ? ' preload="' . $preload . '"' : ' preload="metadata"';
$autoplay = ( $autoplay == 'true' ) ? ' autoplay' : '';
$loop = ( $loop == 'true' ) ? ' loop' : '';
//
// Deprecated parameters.
//
$mp3 = ( $mp3 != '' ) ? '<source src="' . $mp3 . '" type="audio/mpeg">' : '';
$oga = ( $oga != '' ) ? '<source src="' . $oga . '" type="audio/ogg">' : '';
//
// Variable markup.
//
$data = cs_generate_data_attributes( 'mejs', [], true );
//
// Enqueue scripts.
//
wp_enqueue_script( 'mediaelement' );
//
// Build sources.
//
$sources = array();
foreach( $src as $file ) {
$mime = wp_check_filetype( $file, wp_get_mime_types() );
$sources[] = '<source src="' . esc_url( $file ) . '" type="' . $mime['type'] . '">';
}
if ( $mp3 != '' ) {
$sources[] = $mp3;
}
if ( $oga != '' ) {
$sources[] = $oga;
}
//
// Markup.
//
if ( ! empty( $sources ) ) {
$sources = implode( '', $sources );
$audio = "<audio class=\"x-mejs{$advanced_controls}\"{$preload}{$autoplay}{$loop}>{$sources}</audio>";
} else {
$audio = '<span class="x-mejs-no-source">' . __( 'Audio source missing', 'cornerstone' ) . '</span>';
}
$output = "<div {$id} class=\"{$class}{$autoplay}{$loop}\" {$data} {$style}>{$audio}</div>";
return $output;
}
add_shortcode( 'x_audio_player', 'x_shortcode_audio_player' );